@scion/workbench 17.0.0-beta.9 → 18.0.0-beta.1

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 (168) hide show
  1. package/esm2022/lib/activation-instant.provider.mjs +3 -3
  2. package/esm2022/lib/common/asserts.util.mjs +1 -1
  3. package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
  4. package/esm2022/lib/common/dom.util.mjs +1 -1
  5. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
  6. package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
  7. package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +4 -4
  8. package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
  9. package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
  10. package/esm2022/lib/common/null-if-empty.pipe.mjs +4 -4
  11. package/esm2022/lib/common/observables.mjs +1 -1
  12. package/esm2022/lib/common/stringify-error.util.mjs +1 -1
  13. package/esm2022/lib/common/typeof.pipe.mjs +3 -3
  14. package/esm2022/lib/common//311/265destroy-ref.mjs +1 -1
  15. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  16. package/esm2022/lib/content-projection/content-projection.directive.mjs +4 -4
  17. package/esm2022/lib/content-projection/view-container.reference.mjs +1 -1
  18. package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
  19. package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  20. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +3 -3
  21. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +3 -3
  22. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
  23. package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +3 -3
  24. package/esm2022/lib/dialog/movable.directive.mjs +4 -4
  25. package/esm2022/lib/dialog/resizable.directive.mjs +4 -4
  26. package/esm2022/lib/dialog/workbench-dialog.component.mjs +4 -4
  27. package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
  28. package/esm2022/lib/dialog/workbench-dialog.service.mjs +3 -3
  29. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +2 -2
  30. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +4 -4
  31. package/esm2022/lib/executor/single-task-executor.mjs +1 -1
  32. package/esm2022/lib/filter-field/filter-field.component.mjs +4 -4
  33. package/esm2022/lib/glass-pane/glass-pane.directive.mjs +4 -4
  34. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +4 -4
  35. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +3 -3
  36. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
  37. package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +4 -4
  38. package/esm2022/lib/layout/workbench-layout.component.mjs +3 -3
  39. package/esm2022/lib/layout/workbench-layout.factory.mjs +3 -3
  40. package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
  41. package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -1
  42. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +4 -6
  43. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +3 -3
  44. package/esm2022/lib/layout//311/265workbench-layout.mjs +7 -7
  45. package/esm2022/lib/logging/console-appender.service.mjs +4 -4
  46. package/esm2022/lib/logging/logger.mjs +3 -3
  47. package/esm2022/lib/logging/logging.model.mjs +3 -3
  48. package/esm2022/lib/logging//311/265logger.mjs +4 -4
  49. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +4 -4
  50. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  51. package/esm2022/lib/message-box/workbench-message-box.component.mjs +4 -4
  52. package/esm2022/lib/message-box/workbench-message-box.service.mjs +3 -3
  53. package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +4 -4
  54. package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +1 -1
  55. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +4 -4
  56. package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
  57. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +3 -3
  58. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +4 -4
  59. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +4 -4
  60. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +3 -3
  61. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +4 -4
  62. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +4 -4
  63. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
  64. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +4 -4
  65. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +4 -4
  66. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +4 -4
  67. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +4 -4
  68. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +6 -6
  69. package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
  70. package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
  71. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -4
  72. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +4 -4
  73. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +4 -4
  74. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  75. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +4 -4
  76. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +4 -4
  77. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +4 -4
  78. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +4 -4
  79. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +4 -4
  80. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +1 -1
  81. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +4 -4
  82. package/esm2022/lib/migration/workbench-migrator.mjs +1 -1
  83. package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
  84. package/esm2022/lib/notification/notification-list.component.mjs +3 -3
  85. package/esm2022/lib/notification/notification.component.mjs +4 -4
  86. package/esm2022/lib/notification/notification.service.mjs +4 -4
  87. package/esm2022/lib/notification/text-notification.component.mjs +3 -3
  88. package/esm2022/lib/notification//311/265notification.mjs +1 -1
  89. package/esm2022/lib/page-not-found/format-url.pipe.mjs +3 -3
  90. package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
  91. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
  92. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
  93. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  94. package/esm2022/lib/part/part-bar/part-bar.component.mjs +4 -4
  95. package/esm2022/lib/part/part-portal.pipe.mjs +4 -4
  96. package/esm2022/lib/part/part.component.mjs +3 -3
  97. package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +4 -4
  98. package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
  99. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -4
  100. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
  101. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +4 -4
  102. package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
  103. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +4 -4
  104. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +3 -3
  105. package/esm2022/lib/part/view-tab/view-tab.component.mjs +4 -4
  106. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -3
  107. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +3 -3
  108. package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
  109. package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
  110. package/esm2022/lib/part//311/265workbench-part.model.mjs +1 -1
  111. package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +4 -4
  112. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +4 -4
  113. package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +4 -4
  114. package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +4 -4
  115. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
  116. package/esm2022/lib/perspective/workbench-perspective.service.mjs +4 -4
  117. package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +4 -4
  118. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +1 -1
  119. package/esm2022/lib/popup/popup.component.mjs +3 -3
  120. package/esm2022/lib/popup/popup.service.mjs +4 -4
  121. package/esm2022/lib/portal/wb-component-portal.mjs +1 -1
  122. package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +4 -4
  123. package/esm2022/lib/registry/workbench-object-registry.mjs +1 -1
  124. package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +3 -3
  125. package/esm2022/lib/routing/router.util.mjs +1 -1
  126. package/esm2022/lib/routing/url-segment-matcher.mjs +1 -1
  127. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +4 -4
  128. package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
  129. package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -3
  130. package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
  131. package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
  132. package/esm2022/lib/routing/workbench-router-link.directive.mjs +5 -5
  133. package/esm2022/lib/routing/workbench-router.service.mjs +3 -3
  134. package/esm2022/lib/routing/workbench-url-observer.service.mjs +5 -5
  135. package/esm2022/lib/routing//311/265location.mjs +3 -3
  136. package/esm2022/lib/routing//311/265workbench-router.service.mjs +4 -4
  137. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  138. package/esm2022/lib/startup/workbench-initializer.mjs +1 -1
  139. package/esm2022/lib/startup/workbench-launcher.service.mjs +7 -7
  140. package/esm2022/lib/storage/workbench-storage.mjs +3 -3
  141. package/esm2022/lib/testing/workbench-testing.module.mjs +4 -4
  142. package/esm2022/lib/testing/workbench.provider.mjs +3 -3
  143. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +4 -4
  144. package/esm2022/lib/view/view-move-handler.service.mjs +4 -4
  145. package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
  146. package/esm2022/lib/view/view.component.mjs +4 -4
  147. package/esm2022/lib/view/workbench-view-route-guards.mjs +1 -1
  148. package/esm2022/lib/view/workbench-view.registry.mjs +3 -3
  149. package/esm2022/lib/view//311/265workbench-view.model.mjs +1 -1
  150. package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +1 -1
  151. package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +4 -4
  152. package/esm2022/lib/view-dnd/view-drag.service.mjs +4 -4
  153. package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
  154. package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
  155. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +5 -5
  156. package/esm2022/lib/workbench.component.mjs +4 -4
  157. package/esm2022/lib/workbench.module.mjs +4 -4
  158. package/esm2022/lib/workbench.provider.mjs +1 -1
  159. package/esm2022/lib/workbench.service.mjs +3 -3
  160. package/esm2022/lib//311/265workbench.service.mjs +3 -3
  161. package/fesm2022/scion-workbench.mjs +422 -480
  162. package/fesm2022/scion-workbench.mjs.map +1 -1
  163. package/lib/common/objects.util.d.ts +2 -2
  164. package/package.json +9 -9
  165. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +0 -11
  166. package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +0 -59
  167. package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +0 -16
  168. package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +0 -13
@@ -124,10 +124,10 @@ export class MicrofrontendPopupIntentHandler {
124
124
  viewCapabilityId: view.adapt(MicrofrontendWorkbenchView)?.capability.metadata.id,
125
125
  };
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendPopupIntentHandler, deps: [{ token: i1.PopupService }, { token: i2.WorkbenchViewRegistry }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendPopupIntentHandler }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendPopupIntentHandler, deps: [{ token: i1.PopupService }, { token: i2.WorkbenchViewRegistry }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
128
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendPopupIntentHandler }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendPopupIntentHandler, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendPopupIntentHandler, decorators: [{
131
131
  type: Injectable
132
132
  }], ctorParameters: () => [{ type: i1.PopupService }, { type: i2.WorkbenchViewRegistry }, { type: i3.Logger }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1wb3B1cC1pbnRlbnQtaGFuZGxlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1wb3B1cC9taWNyb2Zyb250ZW5kLXBvcHVwLWludGVudC1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUE2QyxTQUFTLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JLLE9BQU8sRUFBQyxxQkFBcUIsRUFBbUUsa0JBQWtCLEVBQXlCLE1BQU0seUJBQXlCLENBQUM7QUFDM0ssT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFTLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJakQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7O0FBRXBHOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sK0JBQStCO0lBSTFDLFlBQW9CLGFBQTJCLEVBQzNCLGFBQW9DLEVBQ3BDLE9BQWU7UUFGZixrQkFBYSxHQUFiLGFBQWEsQ0FBYztR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T0FFRztJQUNLLG1CQUFtQixDQUFDLE9BQStCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQWMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFDLE9BQStCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUM1QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFTLENBQUMsRUFBRTtTQUNsRixDQUFDO0lBQ0osQ0FBQzs4R0F6R1UsK0JBQStCO2tIQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FQUF9JREVOVElUWSwgSGFuZGxlciwgSW50ZW50SW50ZXJjZXB0b3IsIEludGVudE1lc3NhZ2UsIG1hcFRvQm9keSwgTWVzc2FnZUNsaWVudCwgTWVzc2FnZUhlYWRlcnMsIFJlc3BvbnNlU3RhdHVzQ29kZXN9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7V29ya2JlbmNoQ2FwYWJpbGl0aWVzLCBXb3JrYmVuY2hQb3B1cENhcGFiaWxpdHksIFdvcmtiZW5jaFBvcHVwUmVmZXJyZXIsIMm1UG9wdXBDb250ZXh0LCDJtVdvcmtiZW5jaENvbW1hbmRzLCDJtVdvcmtiZW5jaFBvcHVwQ29tbWFuZH0gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaC1jbGllbnQnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kUG9wdXBDb21wb25lbnR9IGZyb20gJy4vbWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJOYW1lc30gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5pbXBvcnQge0JlYW5zfSBmcm9tICdAc2Npb24vdG9vbGtpdC9iZWFuLW1hbmFnZXInO1xuaW1wb3J0IHtzdHJpbmdpZnlFcnJvcn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0cmluZ2lmeS1lcnJvci51dGlsJztcbmltcG9ydCB7QXJyYXlzLCBNYXBzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7UG9wdXBTZXJ2aWNlfSBmcm9tICcuLi8uLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcbmltcG9ydCB7UG9wdXBPcmlnaW59IGZyb20gJy4uLy4uL3BvcHVwL3BvcHVwLm9yaWdpbic7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdSZWdpc3RyeX0gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRIb3N0UG9wdXBDb21wb25lbnR9IGZyb20gJy4uL21pY3JvZnJvbnRlbmQtaG9zdC1wb3B1cC9taWNyb2Zyb250ZW5kLWhvc3QtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7TWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXd9IGZyb20gJy4uL21pY3JvZnJvbnRlbmQtdmlldy9taWNyb2Zyb250ZW5kLXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuLyoqXG4gKiBIYW5kbGVzIHBvcHVwIGludGVudHMsIGluc3RydWN0aW5nIHRoZSB3b3JrYmVuY2ggdG8gb3BlbiBhIHBvcHVwIHdpdGggdGhlIG1pY3JvZnJvbnRlbmQgZGVjbGFyZWQgb24gdGhlIHJlc29sdmVkIGNhcGFiaWxpdHkuXG4gKlxuICogTWljcm9mcm9udGVuZHMgb2YgdGhlIGhvc3QgYXJlIGRpc3BsYXllZCBpbiB7QGxpbmsgTWljcm9mcm9udGVuZEhvc3RQb3B1cENvbXBvbmVudH0sIG1pY3JvZnJvbnRlbmRzIG9mIG90aGVyIGFwcGxpY2F0aW9ucyBpbiB7QGxpbmsgTWljcm9mcm9udGVuZFBvcHVwQ29tcG9uZW50fS5cbiAqXG4gKiBQb3B1cCBpbnRlbnRzIGFyZSBoYW5kbGVkIGluIHRoaXMgaW50ZXJjZXB0b3IgYW5kIGFyZSBub3QgdHJhbnNwb3J0ZWQgdG8gdGhlIHByb3ZpZGluZyBhcHBsaWNhdGlvbiwgZW5hYmxpbmcgc3VwcG9ydCBmb3IgYXBwbGljYXRpb25zXG4gKiB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIHRoZSBTQ0lPTiBXb3JrYmVuY2guXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgb25seSByZWdpc3RlcmVkIGlmIG1pY3JvZnJvbnRlbmQgc3VwcG9ydCBpcyBlbmFibGVkLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kUG9wdXBJbnRlbnRIYW5kbGVyIGltcGxlbWVudHMgSW50ZW50SW50ZXJjZXB0b3Ige1xuXG4gIHByaXZhdGUgX29wZW5lZFBvcHVwcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwU2VydmljZTogUG9wdXBTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3UmVnaXN0cnk6IFdvcmtiZW5jaFZpZXdSZWdpc3RyeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9nZ2VyOiBMb2dnZXIpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBQb3B1cCBpbnRlbnRzIGFyZSBoYW5kbGVkIGluIHRoaXMgaW50ZXJjZXB0b3IgYW5kIHRoZW4gc3dhbGxvd2VkLlxuICAgKi9cbiAgcHVibGljIGludGVyY2VwdChpbnRlbnRNZXNzYWdlOiBJbnRlbnRNZXNzYWdlLCBuZXh0OiBIYW5kbGVyPEludGVudE1lc3NhZ2U+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGludGVudE1lc3NhZ2UuaW50ZW50LnR5cGUgPT09IFdvcmtiZW5jaENhcGFiaWxpdGllcy5Qb3B1cCkge1xuICAgICAgLy8gRG8gbm90IGJsb2NrIHRoZSBjYWxsIHVudGlsIHRoZSBwb3B1cCBpcyBjbG9zZWQuXG4gICAgICAvLyBPdGhlcndpc2UsIHRoZSBjYWxsZXIgbWF5IHJlY2VpdmUgYSB0aW1lb3V0IGVycm9yIGlmIG5vdCBjbG9zaW5nIHRoZSBwb3B1cCBiZWZvcmUgZGVsaXZlcnkgY29uZmlybWF0aW9uIGV4cGlyZXMuXG4gICAgICB0aGlzLmNvbnN1bWVQb3B1cEludGVudChpbnRlbnRNZXNzYWdlKS5jYXRjaChlcnJvciA9PiB0aGlzLl9sb2dnZXIuZXJyb3IoJ1tQb3B1cE9wZW5FcnJvcl0gRmFpbGVkIHRvIG9wZW4gcG9wdXAuJywgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORCwgaW50ZW50TWVzc2FnZSwgZXJyb3IpKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUoaW50ZW50TWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb25zdW1lUG9wdXBJbnRlbnQobWVzc2FnZTogSW50ZW50TWVzc2FnZTzJtVdvcmtiZW5jaFBvcHVwQ29tbWFuZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwb3B1cElkID0gbWVzc2FnZS5ib2R5IS5wb3B1cElkO1xuICAgIGNvbnN0IHJlcGx5VG8gPSBtZXNzYWdlLmhlYWRlcnMuZ2V0KE1lc3NhZ2VIZWFkZXJzLlJlcGx5VG8pO1xuXG4gICAgLy8gSWdub3JlIHN1YnNlcXVlbnQgaW50ZW50cyBpZiBhIHBvcHVwIGlzIGFscmVhZHkgb3BlbiwgYXMgaXQgd291bGQgbGVhZCB0byB0aGUgZmlyc3QgcG9wdXAgYmVpbmcgY2xvc2VkLlxuICAgIGlmICh0aGlzLl9vcGVuZWRQb3B1cHMuaGFzKHBvcHVwSWQpKSB7XG4gICAgICB0aGlzLl9sb2dnZXIud2FybignSWdub3JpbmcgcG9wdXAgaW50ZW50IGJlY2F1c2UgbXVsdGlwbGUgcG9wdXAgcHJvdmlkZXJzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIHBvcHVwIGludGVudC4gTW9zdCBsaWtlbHkgdGhpcyBpcyBub3QgaW50ZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBhbiBpbmNvcnJlY3QgbWFuaWZlc3QgY29uZmlndXJhdGlvbi4nLCBtZXNzYWdlLmludGVudCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fb3BlbmVkUG9wdXBzLmFkZChwb3B1cElkKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5vcGVuUG9wdXAobWVzc2FnZSk7XG4gICAgICAvLyBVc2UgJ0JlYW5zLm9wdCcgdG8gbm90IGVycm9yIGlmIHRoZSBwbGF0Zm9ybSBpcyBkZXN0cm95ZWQsIGUuZy4sIGluIHRlc3RzIGlmIG5vdCBjbG9zaW5nIHBvcHVwcy5cbiAgICAgIGF3YWl0IEJlYW5zLm9wdChNZXNzYWdlQ2xpZW50KT8ucHVibGlzaChyZXBseVRvLCByZXN1bHQsIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5URVJNSU5BTCl9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBVc2UgJ0JlYW5zLm9wdCcgdG8gbm90IGVycm9yIGlmIHRoZSBwbGF0Zm9ybSBpcyBkZXN0cm95ZWQsIGUuZy4sIGluIHRlc3RzIGlmIG5vdCBjbG9zaW5nIHBvcHVwcy5cbiAgICAgIGF3YWl0IEJlYW5zLm9wdChNZXNzYWdlQ2xpZW50KT8ucHVibGlzaChyZXBseVRvLCBzdHJpbmdpZnlFcnJvcihlcnJvciksIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5FUlJPUil9KTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLl9vcGVuZWRQb3B1cHMuZGVsZXRlKHBvcHVwSWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgbWljcm9mcm9udGVuZCBkZWNsYXJlZCBieSB0aGUgcmVzb2x2ZWQgY2FwYWJpbGl0eSBpbiBhIHBvcHVwLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBvcGVuUG9wdXAobWVzc2FnZTogSW50ZW50TWVzc2FnZTzJtVdvcmtiZW5jaFBvcHVwQ29tbWFuZD4pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBtZXNzYWdlLmJvZHkhO1xuICAgIGNvbnN0IGNhcGFiaWxpdHkgPSBtZXNzYWdlLmNhcGFiaWxpdHkgYXMgV29ya2JlbmNoUG9wdXBDYXBhYmlsaXR5O1xuICAgIGNvbnN0IGlzSG9zdFByb3ZpZGVyID0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lID09PSBCZWFucy5nZXQoQVBQX0lERU5USVRZKTtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gJ0hhbmRsaW5nIG1pY3JvZnJvbnRlbmQgcG9wdXAgY29tbWFuZCcsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQsIGNvbW1hbmQpO1xuXG4gICAgY29uc3QgcG9wdXBDb250ZXh0OiDJtVBvcHVwQ29udGV4dCA9IHtcbiAgICAgIHBvcHVwSWQ6IGNvbW1hbmQucG9wdXBJZCxcbiAgICAgIGNhcGFiaWxpdHk6IGNhcGFiaWxpdHksXG4gICAgICBwYXJhbXM6IG5ldyBNYXAoW1xuICAgICAgICAuLi5NYXBzLmNvZXJjZShtZXNzYWdlLmludGVudC5wYXJhbXMpLFxuICAgICAgICAuLi5NYXBzLmNvZXJjZShtZXNzYWdlLmludGVudC5xdWFsaWZpZXIpLFxuICAgICAgXSksXG4gICAgICBjbG9zZU9uRm9jdXNMb3N0OiBjb21tYW5kLmNsb3NlU3RyYXRlZ3k/Lm9uRm9jdXNMb3N0ID8/IHRydWUsXG4gICAgICByZWZlcnJlcjogdGhpcy5nZXRSZWZlcnJlcihjb21tYW5kKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX3BvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgIGlkOiBjb21tYW5kLnBvcHVwSWQsXG4gICAgICBjb21wb25lbnQ6IGlzSG9zdFByb3ZpZGVyID8gTWljcm9mcm9udGVuZEhvc3RQb3B1cENvbXBvbmVudCA6IE1pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudCxcbiAgICAgIGlucHV0OiBwb3B1cENvbnRleHQsXG4gICAgICBhbmNob3I6IHRoaXMub2JzZXJ2ZVBvcHVwT3JpZ2luJChjb21tYW5kKSxcbiAgICAgIGNvbnRleHQ6IGNvbW1hbmQuY29udGV4dCxcbiAgICAgIGFsaWduOiBjb21tYW5kLmFsaWduLFxuICAgICAgc2l6ZTogY2FwYWJpbGl0eS5wcm9wZXJ0aWVzPy5zaXplLFxuICAgICAgY2xvc2VTdHJhdGVneTogaXNIb3N0UHJvdmlkZXIgPyBjb21tYW5kLmNsb3NlU3RyYXRlZ3kgOiB7XG4gICAgICAgIC4uLmNvbW1hbmQuY2xvc2VTdHJhdGVneSxcbiAgICAgICAgb25Gb2N1c0xvc3Q6IGZhbHNlLCAvLyBDbG9zaW5nIHRoZSBwb3B1cCBvbiBmb2N1cyBsb3NzIGlzIGhhbmRsZWQgaW4ge01pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudH1cbiAgICAgIH0sXG4gICAgICBjc3NDbGFzczogQXJyYXlzLmNvZXJjZShjYXBhYmlsaXR5LnByb3BlcnRpZXM/LmNzc0NsYXNzKS5jb25jYXQoQXJyYXlzLmNvZXJjZShjb21tYW5kLmNzc0NsYXNzKSksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhbiBPYnNlcnZhYmxlIHRoYXQsIHVwb24gc3Vic2NyaXB0aW9uLCBlbWl0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGFuY2hvciwgYW5kIHRoZW4gZWFjaCB0aW1lIGl0IGlzIHJlcG9zaXRpb25lZC5cbiAgICovXG4gIHByaXZhdGUgb2JzZXJ2ZVBvcHVwT3JpZ2luJChjb21tYW5kOiDJtVdvcmtiZW5jaFBvcHVwQ29tbWFuZCk6IE9ic2VydmFibGU8UG9wdXBPcmlnaW4+IHtcbiAgICByZXR1cm4gQmVhbnMuZ2V0KE1lc3NhZ2VDbGllbnQpLm9ic2VydmUkPFBvcHVwT3JpZ2luPijJtVdvcmtiZW5jaENvbW1hbmRzLnBvcHVwT3JpZ2luVG9waWMoY29tbWFuZC5wb3B1cElkKSkucGlwZShtYXBUb0JvZHkoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29udGV4dCBpbiB3aGljaCBhIHBvcHVwIHdhcyBvcGVuZWQuXG4gICAqL1xuICBwcml2YXRlIGdldFJlZmVycmVyKGNvbW1hbmQ6IMm1V29ya2JlbmNoUG9wdXBDb21tYW5kKTogV29ya2JlbmNoUG9wdXBSZWZlcnJlciB7XG4gICAgaWYgKCFjb21tYW5kLmNvbnRleHQ/LnZpZXdJZCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3UmVnaXN0cnkuZ2V0KGNvbW1hbmQuY29udGV4dC52aWV3SWQpO1xuICAgIHJldHVybiB7XG4gICAgICB2aWV3SWQ6IHZpZXcuaWQsXG4gICAgICB2aWV3Q2FwYWJpbGl0eUlkOiB2aWV3LmFkYXB0KE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KT8uY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQsXG4gICAgfTtcbiAgfVxufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1wb3B1cC1pbnRlbnQtaGFuZGxlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC1wb3B1cC9taWNyb2Zyb250ZW5kLXBvcHVwLWludGVudC1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUE2QyxTQUFTLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JLLE9BQU8sRUFBQyxxQkFBcUIsRUFBbUUsa0JBQWtCLEVBQXlCLE1BQU0seUJBQXlCLENBQUM7QUFDM0ssT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFTLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJakQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7O0FBRXBHOzs7Ozs7O0dBT0c7QUFFSCxNQUFNLE9BQU8sK0JBQStCO0lBSTFDLFlBQW9CLGFBQTJCLEVBQzNCLGFBQW9DLEVBQ3BDLE9BQWU7UUFGZixrQkFBYSxHQUFiLGFBQWEsQ0FBYztR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QUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2pHLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQixDQUFDLE9BQStCO1FBQ3pELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQWMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVyxDQUFDLE9BQStCO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUyxDQUFDLEVBQUU7U0FDbEYsQ0FBQztJQUNKLENBQUM7OEdBekdVLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBUFBfSURFTlRJVFksIEhhbmRsZXIsIEludGVudEludGVyY2VwdG9yLCBJbnRlbnRNZXNzYWdlLCBtYXBUb0JvZHksIE1lc3NhZ2VDbGllbnQsIE1lc3NhZ2VIZWFkZXJzLCBSZXNwb25zZVN0YXR1c0NvZGVzfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge1dvcmtiZW5jaENhcGFiaWxpdGllcywgV29ya2JlbmNoUG9wdXBDYXBhYmlsaXR5LCBXb3JrYmVuY2hQb3B1cFJlZmVycmVyLCDJtVBvcHVwQ29udGV4dCwgybVXb3JrYmVuY2hDb21tYW5kcywgybVXb3JrYmVuY2hQb3B1cENvbW1hbmR9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7TWljcm9mcm9udGVuZFBvcHVwQ29tcG9uZW50fSBmcm9tICcuL21pY3JvZnJvbnRlbmQtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtCZWFuc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvYmVhbi1tYW5hZ2VyJztcbmltcG9ydCB7c3RyaW5naWZ5RXJyb3J9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHJpbmdpZnktZXJyb3IudXRpbCc7XG5pbXBvcnQge0FycmF5cywgTWFwc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1BvcHVwU2VydmljZX0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAuc2VydmljZSc7XG5pbXBvcnQge1BvcHVwT3JpZ2lufSBmcm9tICcuLi8uLi9wb3B1cC9wb3B1cC5vcmlnaW4nO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3UmVnaXN0cnl9IGZyb20gJy4uLy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcucmVnaXN0cnknO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kSG9zdFBvcHVwQ29tcG9uZW50fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLWhvc3QtcG9wdXAvbWljcm9mcm9udGVuZC1ob3N0LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLXZpZXcvbWljcm9mcm9udGVuZC13b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogSGFuZGxlcyBwb3B1cCBpbnRlbnRzLCBpbnN0cnVjdGluZyB0aGUgd29ya2JlbmNoIHRvIG9wZW4gYSBwb3B1cCB3aXRoIHRoZSBtaWNyb2Zyb250ZW5kIGRlY2xhcmVkIG9uIHRoZSByZXNvbHZlZCBjYXBhYmlsaXR5LlxuICpcbiAqIE1pY3JvZnJvbnRlbmRzIG9mIHRoZSBob3N0IGFyZSBkaXNwbGF5ZWQgaW4ge0BsaW5rIE1pY3JvZnJvbnRlbmRIb3N0UG9wdXBDb21wb25lbnR9LCBtaWNyb2Zyb250ZW5kcyBvZiBvdGhlciBhcHBsaWNhdGlvbnMgaW4ge0BsaW5rIE1pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudH0uXG4gKlxuICogUG9wdXAgaW50ZW50cyBhcmUgaGFuZGxlZCBpbiB0aGlzIGludGVyY2VwdG9yIGFuZCBhcmUgbm90IHRyYW5zcG9ydGVkIHRvIHRoZSBwcm92aWRpbmcgYXBwbGljYXRpb24sIGVuYWJsaW5nIHN1cHBvcnQgZm9yIGFwcGxpY2F0aW9uc1xuICogdGhhdCBhcmUgbm90IGNvbm5lY3RlZCB0byB0aGUgU0NJT04gV29ya2JlbmNoLlxuICovXG5ASW5qZWN0YWJsZSgvKiBETyBOT1QgUFJPVklERSB2aWEgJ3Byb3ZpZGVkSW4nIG1ldGFkYXRhIGFzIG9ubHkgcmVnaXN0ZXJlZCBpZiBtaWNyb2Zyb250ZW5kIHN1cHBvcnQgaXMgZW5hYmxlZC4gKi8pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZFBvcHVwSW50ZW50SGFuZGxlciBpbXBsZW1lbnRzIEludGVudEludGVyY2VwdG9yIHtcblxuICBwcml2YXRlIF9vcGVuZWRQb3B1cHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wb3B1cFNlcnZpY2U6IFBvcHVwU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyKSB7XG4gIH1cblxuICAvKipcbiAgICogUG9wdXAgaW50ZW50cyBhcmUgaGFuZGxlZCBpbiB0aGlzIGludGVyY2VwdG9yIGFuZCB0aGVuIHN3YWxsb3dlZC5cbiAgICovXG4gIHB1YmxpYyBpbnRlcmNlcHQoaW50ZW50TWVzc2FnZTogSW50ZW50TWVzc2FnZSwgbmV4dDogSGFuZGxlcjxJbnRlbnRNZXNzYWdlPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChpbnRlbnRNZXNzYWdlLmludGVudC50eXBlID09PSBXb3JrYmVuY2hDYXBhYmlsaXRpZXMuUG9wdXApIHtcbiAgICAgIC8vIERvIG5vdCBibG9jayB0aGUgY2FsbCB1bnRpbCB0aGUgcG9wdXAgaXMgY2xvc2VkLlxuICAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgY2FsbGVyIG1heSByZWNlaXZlIGEgdGltZW91dCBlcnJvciBpZiBub3QgY2xvc2luZyB0aGUgcG9wdXAgYmVmb3JlIGRlbGl2ZXJ5IGNvbmZpcm1hdGlvbiBleHBpcmVzLlxuICAgICAgdGhpcy5jb25zdW1lUG9wdXBJbnRlbnQoaW50ZW50TWVzc2FnZSkuY2F0Y2goZXJyb3IgPT4gdGhpcy5fbG9nZ2VyLmVycm9yKCdbUG9wdXBPcGVuRXJyb3JdIEZhaWxlZCB0byBvcGVuIHBvcHVwLicsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQsIGludGVudE1lc3NhZ2UsIGVycm9yKSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGludGVudE1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uc3VtZVBvcHVwSW50ZW50KG1lc3NhZ2U6IEludGVudE1lc3NhZ2U8ybVXb3JrYmVuY2hQb3B1cENvbW1hbmQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcG9wdXBJZCA9IG1lc3NhZ2UuYm9keSEucG9wdXBJZDtcbiAgICBjb25zdCByZXBseVRvID0gbWVzc2FnZS5oZWFkZXJzLmdldChNZXNzYWdlSGVhZGVycy5SZXBseVRvKTtcblxuICAgIC8vIElnbm9yZSBzdWJzZXF1ZW50IGludGVudHMgaWYgYSBwb3B1cCBpcyBhbHJlYWR5IG9wZW4sIGFzIGl0IHdvdWxkIGxlYWQgdG8gdGhlIGZpcnN0IHBvcHVwIGJlaW5nIGNsb3NlZC5cbiAgICBpZiAodGhpcy5fb3BlbmVkUG9wdXBzLmhhcyhwb3B1cElkKSkge1xuICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oJ0lnbm9yaW5nIHBvcHVwIGludGVudCBiZWNhdXNlIG11bHRpcGxlIHBvcHVwIHByb3ZpZGVycyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBwb3B1cCBpbnRlbnQuIE1vc3QgbGlrZWx5IHRoaXMgaXMgbm90IGludGVuZGVkIGFuZCBtYXkgaW5kaWNhdGUgYW4gaW5jb3JyZWN0IG1hbmlmZXN0IGNvbmZpZ3VyYXRpb24uJywgbWVzc2FnZS5pbnRlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29wZW5lZFBvcHVwcy5hZGQocG9wdXBJZCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMub3BlblBvcHVwKG1lc3NhZ2UpO1xuICAgICAgLy8gVXNlICdCZWFucy5vcHQnIHRvIG5vdCBlcnJvciBpZiB0aGUgcGxhdGZvcm0gaXMgZGVzdHJveWVkLCBlLmcuLCBpbiB0ZXN0cyBpZiBub3QgY2xvc2luZyBwb3B1cHMuXG4gICAgICBhd2FpdCBCZWFucy5vcHQoTWVzc2FnZUNsaWVudCk/LnB1Ymxpc2gocmVwbHlUbywgcmVzdWx0LCB7aGVhZGVyczogbmV3IE1hcCgpLnNldChNZXNzYWdlSGVhZGVycy5TdGF0dXMsIFJlc3BvbnNlU3RhdHVzQ29kZXMuVEVSTUlOQUwpfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gVXNlICdCZWFucy5vcHQnIHRvIG5vdCBlcnJvciBpZiB0aGUgcGxhdGZvcm0gaXMgZGVzdHJveWVkLCBlLmcuLCBpbiB0ZXN0cyBpZiBub3QgY2xvc2luZyBwb3B1cHMuXG4gICAgICBhd2FpdCBCZWFucy5vcHQoTWVzc2FnZUNsaWVudCk/LnB1Ymxpc2gocmVwbHlUbywgc3RyaW5naWZ5RXJyb3IoZXJyb3IpLCB7aGVhZGVyczogbmV3IE1hcCgpLnNldChNZXNzYWdlSGVhZGVycy5TdGF0dXMsIFJlc3BvbnNlU3RhdHVzQ29kZXMuRVJST1IpfSk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5fb3BlbmVkUG9wdXBzLmRlbGV0ZShwb3B1cElkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG1pY3JvZnJvbnRlbmQgZGVjbGFyZWQgYnkgdGhlIHJlc29sdmVkIGNhcGFiaWxpdHkgaW4gYSBwb3B1cC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgb3BlblBvcHVwKG1lc3NhZ2U6IEludGVudE1lc3NhZ2U8ybVXb3JrYmVuY2hQb3B1cENvbW1hbmQ+KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBjb21tYW5kID0gbWVzc2FnZS5ib2R5ITtcbiAgICBjb25zdCBjYXBhYmlsaXR5ID0gbWVzc2FnZS5jYXBhYmlsaXR5IGFzIFdvcmtiZW5jaFBvcHVwQ2FwYWJpbGl0eTtcbiAgICBjb25zdCBpc0hvc3RQcm92aWRlciA9IGNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSA9PT0gQmVhbnMuZ2V0KEFQUF9JREVOVElUWSk7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+ICdIYW5kbGluZyBtaWNyb2Zyb250ZW5kIHBvcHVwIGNvbW1hbmQnLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5ELCBjb21tYW5kKTtcblxuICAgIGNvbnN0IHBvcHVwQ29udGV4dDogybVQb3B1cENvbnRleHQgPSB7XG4gICAgICBwb3B1cElkOiBjb21tYW5kLnBvcHVwSWQsXG4gICAgICBjYXBhYmlsaXR5OiBjYXBhYmlsaXR5LFxuICAgICAgcGFyYW1zOiBuZXcgTWFwKFtcbiAgICAgICAgLi4uTWFwcy5jb2VyY2UobWVzc2FnZS5pbnRlbnQucGFyYW1zKSxcbiAgICAgICAgLi4uTWFwcy5jb2VyY2UobWVzc2FnZS5pbnRlbnQucXVhbGlmaWVyKSxcbiAgICAgIF0pLFxuICAgICAgY2xvc2VPbkZvY3VzTG9zdDogY29tbWFuZC5jbG9zZVN0cmF0ZWd5Py5vbkZvY3VzTG9zdCA/PyB0cnVlLFxuICAgICAgcmVmZXJyZXI6IHRoaXMuZ2V0UmVmZXJyZXIoY29tbWFuZCksXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9wb3B1cFNlcnZpY2Uub3Blbih7XG4gICAgICBpZDogY29tbWFuZC5wb3B1cElkLFxuICAgICAgY29tcG9uZW50OiBpc0hvc3RQcm92aWRlciA/IE1pY3JvZnJvbnRlbmRIb3N0UG9wdXBDb21wb25lbnQgOiBNaWNyb2Zyb250ZW5kUG9wdXBDb21wb25lbnQsXG4gICAgICBpbnB1dDogcG9wdXBDb250ZXh0LFxuICAgICAgYW5jaG9yOiB0aGlzLm9ic2VydmVQb3B1cE9yaWdpbiQoY29tbWFuZCksXG4gICAgICBjb250ZXh0OiBjb21tYW5kLmNvbnRleHQsXG4gICAgICBhbGlnbjogY29tbWFuZC5hbGlnbixcbiAgICAgIHNpemU6IGNhcGFiaWxpdHkucHJvcGVydGllcz8uc2l6ZSxcbiAgICAgIGNsb3NlU3RyYXRlZ3k6IGlzSG9zdFByb3ZpZGVyID8gY29tbWFuZC5jbG9zZVN0cmF0ZWd5IDoge1xuICAgICAgICAuLi5jb21tYW5kLmNsb3NlU3RyYXRlZ3ksXG4gICAgICAgIG9uRm9jdXNMb3N0OiBmYWxzZSwgLy8gQ2xvc2luZyB0aGUgcG9wdXAgb24gZm9jdXMgbG9zcyBpcyBoYW5kbGVkIGluIHtNaWNyb2Zyb250ZW5kUG9wdXBDb21wb25lbnR9XG4gICAgICB9LFxuICAgICAgY3NzQ2xhc3M6IEFycmF5cy5jb2VyY2UoY2FwYWJpbGl0eS5wcm9wZXJ0aWVzPy5jc3NDbGFzcykuY29uY2F0KEFycmF5cy5jb2VyY2UoY29tbWFuZC5jc3NDbGFzcykpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYW4gT2JzZXJ2YWJsZSB0aGF0LCB1cG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBhbmNob3IsIGFuZCB0aGVuIGVhY2ggdGltZSBpdCBpcyByZXBvc2l0aW9uZWQuXG4gICAqL1xuICBwcml2YXRlIG9ic2VydmVQb3B1cE9yaWdpbiQoY29tbWFuZDogybVXb3JrYmVuY2hQb3B1cENvbW1hbmQpOiBPYnNlcnZhYmxlPFBvcHVwT3JpZ2luPiB7XG4gICAgcmV0dXJuIEJlYW5zLmdldChNZXNzYWdlQ2xpZW50KS5vYnNlcnZlJDxQb3B1cE9yaWdpbj4oybVXb3JrYmVuY2hDb21tYW5kcy5wb3B1cE9yaWdpblRvcGljKGNvbW1hbmQucG9wdXBJZCkpLnBpcGUobWFwVG9Cb2R5KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnRleHQgaW4gd2hpY2ggYSBwb3B1cCB3YXMgb3BlbmVkLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRSZWZlcnJlcihjb21tYW5kOiDJtVdvcmtiZW5jaFBvcHVwQ29tbWFuZCk6IFdvcmtiZW5jaFBvcHVwUmVmZXJyZXIge1xuICAgIGlmICghY29tbWFuZC5jb250ZXh0Py52aWV3SWQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCB2aWV3ID0gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldChjb21tYW5kLmNvbnRleHQudmlld0lkKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmlld0lkOiB2aWV3LmlkLFxuICAgICAgdmlld0NhcGFiaWxpdHlJZDogdmlldy5hZGFwdChNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyk/LmNhcGFiaWxpdHkubWV0YWRhdGEhLmlkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -111,10 +111,10 @@ export class MicrofrontendPopupComponent {
111
111
  ngOnDestroy() {
112
112
  this._outletRouter.navigate(null, { outlet: this.popup.id }).then();
113
113
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendPopupComponent, deps: [{ token: i1.ɵPopup }, { token: i0.ElementRef }, { token: i2.OutletRouter }, { token: i2.ManifestService }, { token: i2.MessageClient }, { token: i0.DestroyRef }, { token: i3.WorkbenchLayoutService }, { token: i0.Injector }, { token: i4.Logger }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: MicrofrontendPopupComponent, isStandalone: true, selector: "wb-microfrontend-popup", host: { properties: { "class.workbench-drag": "this.isWorkbenchDrag" } }, viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<sci-router-outlet #router_outlet\n [name]=\"popup.id\"\n [attr.data-capabilityid]=\"popupCapability.metadata!.id\"\n [attr.data-app]=\"popupCapability.metadata!.appSymbolicName\"\n [ngClass]=\"popup.cssClasses\" class=\"e2e-popup\"\n keystrokes=\"keydown.escape\"\n (focuswithin)=\"onFocusWithin($event)\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n</sci-router-outlet>\n", styles: [":host{display:grid}:host.workbench-drag>sci-router-outlet{pointer-events:none}:host>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendPopupComponent, deps: [{ token: i1.ɵPopup }, { token: i0.ElementRef }, { token: i2.OutletRouter }, { token: i2.ManifestService }, { token: i2.MessageClient }, { token: i0.DestroyRef }, { token: i3.WorkbenchLayoutService }, { token: i0.Injector }, { token: i4.Logger }], target: i0.ɵɵFactoryTarget.Component }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendPopupComponent, isStandalone: true, selector: "wb-microfrontend-popup", host: { properties: { "class.workbench-drag": "this.isWorkbenchDrag" } }, viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<sci-router-outlet #router_outlet\n [name]=\"popup.id\"\n [attr.data-capabilityid]=\"popupCapability.metadata!.id\"\n [attr.data-app]=\"popupCapability.metadata!.appSymbolicName\"\n [ngClass]=\"popup.cssClasses\" class=\"e2e-popup\"\n keystrokes=\"keydown.escape\"\n (focuswithin)=\"onFocusWithin($event)\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n</sci-router-outlet>\n", styles: [":host{display:grid}:host.workbench-drag>sci-router-outlet{pointer-events:none}:host>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendPopupComponent, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendPopupComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: 'wb-microfrontend-popup', standalone: true, imports: [NgClass, NgComponentOutlet], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<sci-router-outlet #router_outlet\n [name]=\"popup.id\"\n [attr.data-capabilityid]=\"popupCapability.metadata!.id\"\n [attr.data-app]=\"popupCapability.metadata!.appSymbolicName\"\n [ngClass]=\"popup.cssClasses\" class=\"e2e-popup\"\n keystrokes=\"keydown.escape\"\n (focuswithin)=\"onFocusWithin($event)\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n</sci-router-outlet>\n", styles: [":host{display:grid}:host.workbench-drag>sci-router-outlet{pointer-events:none}:host>sci-router-outlet::part(splash){display:grid}\n"] }]
120
120
  }], ctorParameters: () => [{ type: i1.ɵPopup }, { type: i0.ElementRef }, { type: i2.OutletRouter }, { type: i2.ManifestService }, { type: i2.MessageClient }, { type: i0.DestroyRef }, { type: i3.WorkbenchLayoutService }, { type: i0.Injector }, { type: i4.Logger }], propDecorators: { isWorkbenchDrag: [{
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
124
124
  type: ViewChild,
125
125
  args: ['router_outlet', { static: true }]
126
126
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtcG9wdXAvbWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtcG9wdXAvbWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQTBCLFdBQVcsRUFBRSxNQUFNLEVBQStCLHFCQUFxQixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1SyxPQUFPLEVBQThDLDJCQUEyQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzdKLE9BQU8sRUFBUyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUEyQixjQUFjLEVBQWlCLGtCQUFrQixFQUFFLDZCQUE2QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkosT0FBTyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRzlELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBRTVEOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFtQixLQUE0QixFQUMzQixLQUE4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LENBQUMsZUFBZSxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDOzhHQS9HVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnU0NuQ3hDLHdmQVNBLDZMRHVCWSxPQUFPLG9GQUFFLGlCQUFpQjs7MkZBR3pCLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSx3QkFBd0IsY0FHdEIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLFdBQzVCLENBQUMsc0JBQXNCLENBQUM7bVNBWTFCLGVBQWU7c0JBRHJCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVM1QixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHBsaWNhdGlvbiwgTWFuaWZlc3RTZXJ2aWNlLCBNZXNzYWdlQ2xpZW50LCBNaWNyb2Zyb250ZW5kUGxhdGZvcm1Db25maWcsIE91dGxldFJvdXRlciwgU2NpUm91dGVyT3V0bGV0RWxlbWVudH0gZnJvbSAnQHNjaW9uL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0nO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlck5hbWVzfSBmcm9tICcuLi8uLi9sb2dnaW5nJztcbmltcG9ydCB7V29ya2JlbmNoUG9wdXBDYXBhYmlsaXR5LCDJtVBPUFVQX0NPTlRFWFQsIMm1UG9wdXBDb250ZXh0LCDJtVdvcmtiZW5jaENvbW1hbmRzLCDJtVdvcmtiZW5jaFBvcHVwTWVzc2FnZUhlYWRlcnN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7ybVQb3B1cH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAuY29uZmlnJztcbmltcG9ydCB7TmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRTcGxhc2hDb21wb25lbnR9IGZyb20gJy4uL21pY3JvZnJvbnRlbmQtc3BsYXNoL21pY3JvZnJvbnRlbmQtc3BsYXNoLmNvbXBvbmVudCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgbWljcm9mcm9udGVuZCBvZiBhIGdpdmVuIHtAbGluayBXb3JrYmVuY2hQb3B1cENhcGFiaWxpdHl9LlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGJlIGRpc3BsYXllZCBpbiBhIHdvcmtiZW5jaCBwb3B1cC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC1wb3B1cCcsXG4gIHN0eWxlVXJsczogWycuL21pY3JvZnJvbnRlbmQtcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sIC8vIHJlcXVpcmVkIGJlY2F1c2UgPHNjaS1yb3V0ZXItb3V0bGV0PiBpcyBhIGN1c3RvbSBlbGVtZW50XG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9wb3B1cENvbnRleHQ6IMm1UG9wdXBDb250ZXh0O1xuXG4gIHB1YmxpYyBwb3B1cENhcGFiaWxpdHk6IFdvcmtiZW5jaFBvcHVwQ2FwYWJpbGl0eTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MsIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud29ya2JlbmNoLWRyYWcnKVxuICBwdWJsaWMgaXNXb3JrYmVuY2hEcmFnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNwbGFzaCB0byBkaXNwbGF5IHVudGlsIHRoZSBtaWNyb2Zyb250ZW5kIHNpZ25hbHMgcmVhZGluZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNwbGFzaDogQ29tcG9uZW50VHlwZTx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdyb3V0ZXJfb3V0bGV0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyByb3V0ZXJPdXRsZXRFbGVtZW50ITogRWxlbWVudFJlZjxTY2lSb3V0ZXJPdXRsZXRFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9wdXA6IMm1UG9wdXA8ybVQb3B1cENvbnRleHQ+LFxuICAgICAgICAgICAgICBwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfb3V0bGV0Um91dGVyOiBPdXRsZXRSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21hbmlmZXN0U2VydmljZTogTWFuaWZlc3RTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tZXNzYWdlQ2xpZW50OiBNZXNzYWdlQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIF9kZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlOiBXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyKSB7XG4gICAgdGhpcy5fcG9wdXBDb250ZXh0ID0gdGhpcy5wb3B1cC5pbnB1dCE7XG4gICAgdGhpcy5wb3B1cENhcGFiaWxpdHkgPSB0aGlzLl9wb3B1cENvbnRleHQuY2FwYWJpbGl0eTtcbiAgICB0aGlzLmluc3RhbGxXb3JrYmVuY2hEcmFnRGV0ZWN0b3IoKTtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gJ0NvbnN0cnVjdGluZyBNaWNyb2Zyb250ZW5kUG9wdXBDb21wb25lbnQuJywgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORCk7XG4gICAgdGhpcy5zcGxhc2ggPSBpbmplY3QoTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnKS5zcGxhc2ggPz8gTWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBPYnRhaW4gdGhlIGNhcGFiaWxpdHkgcHJvdmlkZXIuXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSB0aGlzLmxvb2t1cEFwcGxpY2F0aW9uKHRoaXMucG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUpO1xuICAgIGlmICghYXBwbGljYXRpb24pIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2VXaXRoRXJyb3IoYFtOdWxsQXBwbGljYXRpb25FcnJvcl0gVW5leHBlY3RlZC4gQ2Fubm90IHJlc29sdmUgYXBwbGljYXRpb24gJyR7dGhpcy5wb3B1cENhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZX0nLmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiB0byBwb3B1cCBjbG9zZSByZXF1ZXN0cy5cbiAgICB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9ic2VydmUkPGFueT4oybVXb3JrYmVuY2hDb21tYW5kcy5wb3B1cENsb3NlVG9waWModGhpcy5wb3B1cC5pZCkpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKGNsb3NlUmVxdWVzdCA9PiB7XG4gICAgICAgIGlmIChjbG9zZVJlcXVlc3QuaGVhZGVycy5nZXQoybVXb3JrYmVuY2hQb3B1cE1lc3NhZ2VIZWFkZXJzLkNMT1NFX1dJVEhfRVJST1IpID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5wb3B1cC5jbG9zZVdpdGhFcnJvcihjbG9zZVJlcXVlc3QuYm9keSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5wb3B1cC5jbG9zZShjbG9zZVJlcXVlc3QuYm9keSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gTWFrZSB0aGUgcG9wdXAgY29udGV4dCBhdmFpbGFibGUgdG8gZW1iZWRkZWQgY29udGVudC5cbiAgICB0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRDb250ZXh0VmFsdWUoybVQT1BVUF9DT05URVhULCB0aGlzLl9wb3B1cENvbnRleHQpO1xuXG4gICAgLy8gUHJvcGFnYXRlIHdvcmtiZW5jaCBhbmQgY29sb3IgdGhlbWUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgdGhpcy5wcm9wYWdhdGVXb3JrYmVuY2hUaGVtZSgpO1xuXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nIG1pY3JvZnJvbnRlbmQgaW50byB3b3JrYmVuY2ggcG9wdXAgW2FwcD0ke3RoaXMucG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWV9LCBiYXNlVXJsPSR7YXBwbGljYXRpb24uYmFzZVVybH0sIHBhdGg9JHsodGhpcy5wb3B1cENhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoKX1dLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQsIHRoaXMuX3BvcHVwQ29udGV4dC5wYXJhbXMsIHRoaXMucG9wdXBDYXBhYmlsaXR5KTtcbiAgICB0aGlzLl9vdXRsZXRSb3V0ZXIubmF2aWdhdGUodGhpcy5wb3B1cENhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7XG4gICAgICBvdXRsZXQ6IHRoaXMucG9wdXAuaWQsXG4gICAgICByZWxhdGl2ZVRvOiBhcHBsaWNhdGlvbi5iYXNlVXJsLFxuICAgICAgcGFyYW1zOiB0aGlzLl9wb3B1cENvbnRleHQucGFyYW1zLFxuICAgICAgcHVzaFN0YXRlVG9TZXNzaW9uSGlzdG9yeVN0YWNrOiBmYWxzZSxcbiAgICAgIHNob3dTcGxhc2g6IHRoaXMucG9wdXBDYXBhYmlsaXR5LnByb3BlcnRpZXMuc2hvd1NwbGFzaCxcbiAgICB9KS50aGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1c1dpdGhpbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB7ZGV0YWlsOiBmb2N1c1dpdGhpbn0gPSBldmVudCBhcyBDdXN0b21FdmVudDxib29sZWFuPjtcblxuICAgIC8vIENsb3NlIHRoZSBwb3B1cCBvbiBmb2N1cyBsb3NzLlxuICAgIGlmICh0aGlzLl9wb3B1cENvbnRleHQuY2xvc2VPbkZvY3VzTG9zdCAmJiAhZm9jdXNXaXRoaW4pIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoZm9jdXNXaXRoaW4pIHtcbiAgICAgIHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnc2NpLW1pY3JvZnJvbnRlbmQtZm9jdXNpbicsIHtidWJibGVzOiB0cnVlfSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rcyB1cCB0aGUgYXBwbGljYXRpb24gcmVnaXN0ZXJlZCB1bmRlciB0aGUgZ2l2ZW4gc3ltYm9saWMgbmFtZS4gUmV0dXJucyBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwcml2YXRlIGxvb2t1cEFwcGxpY2F0aW9uKHN5bWJvbGljTmFtZTogc3RyaW5nKTogQXBwbGljYXRpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tYW5pZmVzdFNlcnZpY2UuYXBwbGljYXRpb25zLmZpbmQoYXBwID0+IGFwcC5zeW1ib2xpY05hbWUgPT09IHN5bWJvbGljTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUge0BsaW5rIGlzV29ya2JlbmNoRHJhZ30gcHJvcGVydHkgd2hlbiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBkZXRlY3RlZCxcbiAgICogc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UuZHJhZ2dpbmckXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2JlbmNoRHJhZyA9IChldmVudCA9PT0gJ3N0YXJ0Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTogdm9pZCB7XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBNaWNyb2Zyb250ZW5kcy5wcm9wYWdhdGVUaGVtZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZShudWxsLCB7b3V0bGV0OiB0aGlzLnBvcHVwLmlkfSkudGhlbigpO1xuICB9XG59XG4iLCI8c2NpLXJvdXRlci1vdXRsZXQgI3JvdXRlcl9vdXRsZXRcbiAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJwb3B1cC5pZFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXBhYmlsaXR5aWRdPVwicG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hcHBdPVwicG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcIlxuICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInBvcHVwLmNzc0NsYXNzZXNcIiBjbGFzcz1cImUyZS1wb3B1cFwiXG4gICAgICAgICAgICAgICAgICAga2V5c3Ryb2tlcz1cImtleWRvd24uZXNjYXBlXCJcbiAgICAgICAgICAgICAgICAgICAoZm9jdXN3aXRoaW4pPVwib25Gb2N1c1dpdGhpbigkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCI+PC9uZy1jb250YWluZXI+XG48L3NjaS1yb3V0ZXItb3V0bGV0PlxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtcG9wdXAvbWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtcG9wdXAvbWljcm9mcm9udGVuZC1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQTBCLFdBQVcsRUFBRSxNQUFNLEVBQStCLHFCQUFxQixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1SyxPQUFPLEVBQThDLDJCQUEyQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzdKLE9BQU8sRUFBUyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUEyQixjQUFjLEVBQWlCLGtCQUFrQixFQUFFLDZCQUE2QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkosT0FBTyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRzlELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBRTVEOzs7O0dBSUc7QUFTSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFtQixLQUE0QixFQUMzQixLQUE4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RUFBRSxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDOzhHQS9HVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnU0NuQ3hDLHdmQVNBLDZMRHVCWSxPQUFPLG9GQUFFLGlCQUFpQjs7MkZBR3pCLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDRSx3QkFBd0IsY0FHdEIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLFdBQzVCLENBQUMsc0JBQXNCLENBQUM7bVNBWTFCLGVBQWU7c0JBRHJCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVM1QixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcHBsaWNhdGlvbiwgTWFuaWZlc3RTZXJ2aWNlLCBNZXNzYWdlQ2xpZW50LCBNaWNyb2Zyb250ZW5kUGxhdGZvcm1Db25maWcsIE91dGxldFJvdXRlciwgU2NpUm91dGVyT3V0bGV0RWxlbWVudH0gZnJvbSAnQHNjaW9uL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0nO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlck5hbWVzfSBmcm9tICcuLi8uLi9sb2dnaW5nJztcbmltcG9ydCB7V29ya2JlbmNoUG9wdXBDYXBhYmlsaXR5LCDJtVBPUFVQX0NPTlRFWFQsIMm1UG9wdXBDb250ZXh0LCDJtVdvcmtiZW5jaENvbW1hbmRzLCDJtVdvcmtiZW5jaFBvcHVwTWVzc2FnZUhlYWRlcnN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7ybVQb3B1cH0gZnJvbSAnLi4vLi4vcG9wdXAvcG9wdXAuY29uZmlnJztcbmltcG9ydCB7TmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRTcGxhc2hDb21wb25lbnR9IGZyb20gJy4uL21pY3JvZnJvbnRlbmQtc3BsYXNoL21pY3JvZnJvbnRlbmQtc3BsYXNoLmNvbXBvbmVudCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRzfSBmcm9tICcuLi9jb21tb24vbWljcm9mcm9udGVuZC51dGlsJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgbWljcm9mcm9udGVuZCBvZiBhIGdpdmVuIHtAbGluayBXb3JrYmVuY2hQb3B1cENhcGFiaWxpdHl9LlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIGJlIGRpc3BsYXllZCBpbiBhIHdvcmtiZW5jaCBwb3B1cC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC1wb3B1cCcsXG4gIHN0eWxlVXJsczogWycuL21pY3JvZnJvbnRlbmQtcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sIC8vIHJlcXVpcmVkIGJlY2F1c2UgPHNjaS1yb3V0ZXItb3V0bGV0PiBpcyBhIGN1c3RvbSBlbGVtZW50XG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9wb3B1cENvbnRleHQ6IMm1UG9wdXBDb250ZXh0O1xuXG4gIHB1YmxpYyBwb3B1cENhcGFiaWxpdHk6IFdvcmtiZW5jaFBvcHVwQ2FwYWJpbGl0eTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MsIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud29ya2JlbmNoLWRyYWcnKVxuICBwdWJsaWMgaXNXb3JrYmVuY2hEcmFnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNwbGFzaCB0byBkaXNwbGF5IHVudGlsIHRoZSBtaWNyb2Zyb250ZW5kIHNpZ25hbHMgcmVhZGluZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNwbGFzaDogQ29tcG9uZW50VHlwZTx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdyb3V0ZXJfb3V0bGV0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyByb3V0ZXJPdXRsZXRFbGVtZW50ITogRWxlbWVudFJlZjxTY2lSb3V0ZXJPdXRsZXRFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9wdXA6IMm1UG9wdXA8ybVQb3B1cENvbnRleHQ+LFxuICAgICAgICAgICAgICBwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfb3V0bGV0Um91dGVyOiBPdXRsZXRSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21hbmlmZXN0U2VydmljZTogTWFuaWZlc3RTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tZXNzYWdlQ2xpZW50OiBNZXNzYWdlQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIF9kZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlOiBXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyKSB7XG4gICAgdGhpcy5fcG9wdXBDb250ZXh0ID0gdGhpcy5wb3B1cC5pbnB1dCE7XG4gICAgdGhpcy5wb3B1cENhcGFiaWxpdHkgPSB0aGlzLl9wb3B1cENvbnRleHQuY2FwYWJpbGl0eTtcbiAgICB0aGlzLmluc3RhbGxXb3JrYmVuY2hEcmFnRGV0ZWN0b3IoKTtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gJ0NvbnN0cnVjdGluZyBNaWNyb2Zyb250ZW5kUG9wdXBDb21wb25lbnQuJywgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORCk7XG4gICAgdGhpcy5zcGxhc2ggPSBpbmplY3QoTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnKS5zcGxhc2ggPz8gTWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBPYnRhaW4gdGhlIGNhcGFiaWxpdHkgcHJvdmlkZXIuXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSB0aGlzLmxvb2t1cEFwcGxpY2F0aW9uKHRoaXMucG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUpO1xuICAgIGlmICghYXBwbGljYXRpb24pIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2VXaXRoRXJyb3IoYFtOdWxsQXBwbGljYXRpb25FcnJvcl0gVW5leHBlY3RlZC4gQ2Fubm90IHJlc29sdmUgYXBwbGljYXRpb24gJyR7dGhpcy5wb3B1cENhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZX0nLmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiB0byBwb3B1cCBjbG9zZSByZXF1ZXN0cy5cbiAgICB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9ic2VydmUkPGFueT4oybVXb3JrYmVuY2hDb21tYW5kcy5wb3B1cENsb3NlVG9waWModGhpcy5wb3B1cC5pZCkpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKGNsb3NlUmVxdWVzdCA9PiB7XG4gICAgICAgIGlmIChjbG9zZVJlcXVlc3QuaGVhZGVycy5nZXQoybVXb3JrYmVuY2hQb3B1cE1lc3NhZ2VIZWFkZXJzLkNMT1NFX1dJVEhfRVJST1IpID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhpcy5wb3B1cC5jbG9zZVdpdGhFcnJvcihjbG9zZVJlcXVlc3QuYm9keSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5wb3B1cC5jbG9zZShjbG9zZVJlcXVlc3QuYm9keSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgLy8gTWFrZSB0aGUgcG9wdXAgY29udGV4dCBhdmFpbGFibGUgdG8gZW1iZWRkZWQgY29udGVudC5cbiAgICB0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRDb250ZXh0VmFsdWUoybVQT1BVUF9DT05URVhULCB0aGlzLl9wb3B1cENvbnRleHQpO1xuXG4gICAgLy8gUHJvcGFnYXRlIHdvcmtiZW5jaCBhbmQgY29sb3IgdGhlbWUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgdGhpcy5wcm9wYWdhdGVXb3JrYmVuY2hUaGVtZSgpO1xuXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nIG1pY3JvZnJvbnRlbmQgaW50byB3b3JrYmVuY2ggcG9wdXAgW2FwcD0ke3RoaXMucG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWV9LCBiYXNlVXJsPSR7YXBwbGljYXRpb24uYmFzZVVybH0sIHBhdGg9JHsodGhpcy5wb3B1cENhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoKX1dLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkQsIHRoaXMuX3BvcHVwQ29udGV4dC5wYXJhbXMsIHRoaXMucG9wdXBDYXBhYmlsaXR5KTtcbiAgICB0aGlzLl9vdXRsZXRSb3V0ZXIubmF2aWdhdGUodGhpcy5wb3B1cENhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7XG4gICAgICBvdXRsZXQ6IHRoaXMucG9wdXAuaWQsXG4gICAgICByZWxhdGl2ZVRvOiBhcHBsaWNhdGlvbi5iYXNlVXJsLFxuICAgICAgcGFyYW1zOiB0aGlzLl9wb3B1cENvbnRleHQucGFyYW1zLFxuICAgICAgcHVzaFN0YXRlVG9TZXNzaW9uSGlzdG9yeVN0YWNrOiBmYWxzZSxcbiAgICAgIHNob3dTcGxhc2g6IHRoaXMucG9wdXBDYXBhYmlsaXR5LnByb3BlcnRpZXMuc2hvd1NwbGFzaCxcbiAgICB9KS50aGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1c1dpdGhpbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB7ZGV0YWlsOiBmb2N1c1dpdGhpbn0gPSBldmVudCBhcyBDdXN0b21FdmVudDxib29sZWFuPjtcblxuICAgIC8vIENsb3NlIHRoZSBwb3B1cCBvbiBmb2N1cyBsb3NzLlxuICAgIGlmICh0aGlzLl9wb3B1cENvbnRleHQuY2xvc2VPbkZvY3VzTG9zdCAmJiAhZm9jdXNXaXRoaW4pIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoZm9jdXNXaXRoaW4pIHtcbiAgICAgIHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnc2NpLW1pY3JvZnJvbnRlbmQtZm9jdXNpbicsIHtidWJibGVzOiB0cnVlfSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb29rcyB1cCB0aGUgYXBwbGljYXRpb24gcmVnaXN0ZXJlZCB1bmRlciB0aGUgZ2l2ZW4gc3ltYm9saWMgbmFtZS4gUmV0dXJucyBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwcml2YXRlIGxvb2t1cEFwcGxpY2F0aW9uKHN5bWJvbGljTmFtZTogc3RyaW5nKTogQXBwbGljYXRpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tYW5pZmVzdFNlcnZpY2UuYXBwbGljYXRpb25zLmZpbmQoYXBwID0+IGFwcC5zeW1ib2xpY05hbWUgPT09IHN5bWJvbGljTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUge0BsaW5rIGlzV29ya2JlbmNoRHJhZ30gcHJvcGVydHkgd2hlbiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBkZXRlY3RlZCxcbiAgICogc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UuZHJhZ2dpbmckXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2JlbmNoRHJhZyA9IChldmVudCA9PT0gJ3N0YXJ0Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTogdm9pZCB7XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBNaWNyb2Zyb250ZW5kcy5wcm9wYWdhdGVUaGVtZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZShudWxsLCB7b3V0bGV0OiB0aGlzLnBvcHVwLmlkfSkudGhlbigpO1xuICB9XG59XG4iLCI8c2NpLXJvdXRlci1vdXRsZXQgI3JvdXRlcl9vdXRsZXRcbiAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJwb3B1cC5pZFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXBhYmlsaXR5aWRdPVwicG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hcHBdPVwicG9wdXBDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcIlxuICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInBvcHVwLmNzc0NsYXNzZXNcIiBjbGFzcz1cImUyZS1wb3B1cFwiXG4gICAgICAgICAgICAgICAgICAga2V5c3Ryb2tlcz1cImtleWRvd24uZXNjYXBlXCJcbiAgICAgICAgICAgICAgICAgICAoZm9jdXN3aXRoaW4pPVwib25Gb2N1c1dpdGhpbigkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCI+PC9uZy1jb250YWluZXI+XG48L3NjaS1yb3V0ZXItb3V0bGV0PlxuIl19
@@ -11,10 +11,10 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
11
11
  import { SciThrobberComponent } from '@scion/components/throbber';
12
12
  import * as i0 from "@angular/core";
13
13
  export class MicrofrontendSplashComponent {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendSplashComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: MicrofrontendSplashComponent, isStandalone: true, selector: "wb-microfrontend-splash", ngImport: i0, template: "<sci-throbber type=\"ellipsis\"></sci-throbber>\n", styles: [":host{display:grid;place-items:center;grid-template-rows:minmax(3em,150px);overflow:hidden}:host>sci-throbber{--sci-throbber-size: 64px}\n"], dependencies: [{ kind: "component", type: SciThrobberComponent, selector: "sci-throbber", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendSplashComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendSplashComponent, isStandalone: true, selector: "wb-microfrontend-splash", ngImport: i0, template: "<sci-throbber type=\"ellipsis\"></sci-throbber>\n", styles: [":host{display:grid;place-items:center;grid-template-rows:minmax(3em,150px);overflow:hidden}:host>sci-throbber{--sci-throbber-size: 64px}\n"], dependencies: [{ kind: "component", type: SciThrobberComponent, selector: "sci-throbber", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendSplashComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendSplashComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'wb-microfrontend-splash', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [SciThrobberComponent], template: "<sci-throbber type=\"ellipsis\"></sci-throbber>\n", styles: [":host{display:grid;place-items:center;grid-template-rows:minmax(3em,150px);overflow:hidden}:host>sci-throbber{--sci-throbber-size: 64px}\n"] }]
20
20
  }] });
@@ -119,10 +119,10 @@ export class MicrofrontendViewCommandHandler {
119
119
  ngOnDestroy() {
120
120
  this._subscriptions.forEach(subscription => subscription.unsubscribe());
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCommandHandler, deps: [{ token: i1.MessageClient }, { token: i2.WorkbenchViewRegistry }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
123
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCommandHandler }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCommandHandler, deps: [{ token: i1.MessageClient }, { token: i2.WorkbenchViewRegistry }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCommandHandler }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCommandHandler, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCommandHandler, decorators: [{
126
126
  type: Injectable
127
127
  }], ctorParameters: () => [{ type: i1.MessageClient }, { type: i2.WorkbenchViewRegistry }, { type: i3.Logger }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNvbW1hbmQtaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9taWNyb2Zyb250ZW5kLXZpZXcvbWljcm9mcm9udGVuZC12aWV3LWNvbW1hbmQtaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQXlCLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSXJGLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFFaEY7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywrQkFBK0I7SUFJMUMsWUFBb0IsY0FBNkIsRUFDN0IsYUFBb0MsRUFDcEMsT0FBZTtRQUZmLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBSjNCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWdCLENBQUM7UUFLL0MsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQztRQUMvRCxJ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RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUyxDQUFDLGVBQWUsS0FBSyxNQUFNLEVBQUU7WUFDM0YsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hCO2FBQ0k7WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO1NBQ3BHO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQTVHVSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZXNzYWdlLCBNZXNzYWdlQ2xpZW50LCBNZXNzYWdlSGVhZGVyc30gZnJvbSAnQHNjaW9uL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0nO1xuaW1wb3J0IHtMb2dnZXJ9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtWaWV3SWQsIFdvcmtiZW5jaFZpZXd9IGZyb20gJy4uLy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3UmVnaXN0cnl9IGZyb20gJy4uLy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcucmVnaXN0cnknO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaENvbW1hbmRzfSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge21lcmdlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXd9IGZyb20gJy4vbWljcm9mcm9udGVuZC13b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogSGFuZGxlcyBjb21tYW5kcyBvZiBtaWNyb2Zyb250ZW5kcyBsb2FkZWQgaW50byB3b3JrYmVuY2ggdmlld3MsIHN1Y2ggYXMgc2V0dGluZyB2aWV3IHRhYiBwcm9wZXJ0aWVzIG9yIGNsb3NpbmcgdGhlIHZpZXcuXG4gKlxuICogVGhpcyBjbGFzcyBpcyBjb25zdHJ1Y3RlZCBhZnRlciBjb25uZWN0ZWQgdG8gdGhlIFNDSU9OIE1pY3JvZnJvbnRlbmQgUGxhdGZvcm0gdmlhIHtAbGluayBNSUNST0ZST05URU5EX1BMQVRGT1JNX1BPU1RfU1RBUlRVUH0gREkgdG9rZW4uXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgcmVnaXN0ZXJlZCB2aWEgd29ya2JlbmNoIHN0YXJ0dXAgaG9vay4gKi8pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZFZpZXdDb21tYW5kSGFuZGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTZXQ8U3Vic2NyaXB0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX21lc3NhZ2VDbGllbnQ6IE1lc3NhZ2VDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdSZWdpc3RyeTogV29ya2JlbmNoVmlld1JlZ2lzdHJ5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2dnZXI6IExvZ2dlcikge1xuICAgIHRoaXMuaW5zdGFsbFZpZXdBY3RpdmVTdGF0ZVB1Ymxpc2hlcigpO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5pbnN0YWxsVmlld1RpdGxlQ29tbWFuZEhhbmRsZXIoKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5pbnN0YWxsVmlld0hlYWRpbmdDb21tYW5kSGFuZGxlcigpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmluc3RhbGxWaWV3RGlydHlDb21tYW5kSGFuZGxlcigpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmluc3RhbGxWaWV3Q2xvc2FibGVDb21tYW5kSGFuZGxlcigpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmluc3RhbGxWaWV3Q2xvc2VDb21tYW5kSGFuZGxlcigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyBtaWNyb2Zyb250ZW5kcyBhYm91dCB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoZSBlbWJlZGRpbmcgdmlldy5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFZpZXdBY3RpdmVTdGF0ZVB1Ymxpc2hlcigpOiB2b2lkIHtcbiAgICB0aGlzLl92aWV3UmVnaXN0cnkudmlld3MkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHZpZXdzID0+IG1lcmdlKC4uLnZpZXdzLm1hcCh2aWV3ID0+IHZpZXcuYWN0aXZlJC5waXBlKG1hcCgoKSA9PiB2aWV3KSkpKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmlldzogV29ya2JlbmNoVmlldykgPT4ge1xuICAgICAgICBjb25zdCBjb21tYW5kVG9waWMgPSDJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdBY3RpdmVUb3BpYyh2aWV3LmlkKTtcbiAgICAgICAgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKGNvbW1hbmRUb3BpYywgdmlldy5hY3RpdmUsIHtyZXRhaW46IHRydWV9KS50aGVuKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNvbW1hbmRzIHRvIHVwZGF0ZSB0aGUgdGl0bGUgb2YgYSB2aWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld1RpdGxlQ29tbWFuZEhhbmRsZXIoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUNsaWVudC5vbk1lc3NhZ2UoybVXb3JrYmVuY2hDb21tYW5kcy52aWV3VGl0bGVUb3BpYygnOnZpZXdJZCcpLCBtZXNzYWdlID0+IHtcbiAgICAgIGNvbnN0IHZpZXdJZCA9IG1lc3NhZ2UucGFyYW1zIS5nZXQoJ3ZpZXdJZCcpIGFzIFZpZXdJZDtcbiAgICAgIHRoaXMucnVuSWZQcml2aWxlZ2VkKHZpZXdJZCwgbWVzc2FnZSwgdmlldyA9PiB7XG4gICAgICAgIHZpZXcudGl0bGUgPSBtZXNzYWdlLmJvZHk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNvbW1hbmRzIHRvIHVwZGF0ZSB0aGUgaGVhZGluZyBvZiBhIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxWaWV3SGVhZGluZ0NvbW1hbmRIYW5kbGVyKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VDbGllbnQub25NZXNzYWdlKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0hlYWRpbmdUb3BpYygnOnZpZXdJZCcpLCBtZXNzYWdlID0+IHtcbiAgICAgIGNvbnN0IHZpZXdJZCA9IG1lc3NhZ2UucGFyYW1zIS5nZXQoJ3ZpZXdJZCcpIGFzIFZpZXdJZDtcbiAgICAgIHRoaXMucnVuSWZQcml2aWxlZ2VkKHZpZXdJZCwgbWVzc2FnZSwgdmlldyA9PiB7XG4gICAgICAgIHZpZXcuaGVhZGluZyA9IG1lc3NhZ2UuYm9keTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY29tbWFuZHMgdG8gdXBkYXRlIHRoZSBkaXJ0eSBzdGF0ZSBvZiBhIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxWaWV3RGlydHlDb21tYW5kSGFuZGxlcigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9uTWVzc2FnZSjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdEaXJ0eVRvcGljKCc6dmlld0lkJyksIG1lc3NhZ2UgPT4ge1xuICAgICAgY29uc3Qgdmlld0lkID0gbWVzc2FnZS5wYXJhbXMhLmdldCgndmlld0lkJykgYXMgVmlld0lkO1xuICAgICAgdGhpcy5ydW5JZlByaXZpbGVnZWQodmlld0lkLCBtZXNzYWdlLCB2aWV3ID0+IHtcbiAgICAgICAgdmlldy5kaXJ0eSA9IG1lc3NhZ2UuYm9keTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY29tbWFuZHMgdG8gdXBkYXRlIHRoZSBjbG9zYWJsZSBwcm9wZXJ0eSBvZiBhIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxWaWV3Q2xvc2FibGVDb21tYW5kSGFuZGxlcigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9uTWVzc2FnZSjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdDbG9zYWJsZVRvcGljKCc6dmlld0lkJyksIG1lc3NhZ2UgPT4ge1xuICAgICAgY29uc3Qgdmlld0lkID0gbWVzc2FnZS5wYXJhbXMhLmdldCgndmlld0lkJykgYXMgVmlld0lkO1xuICAgICAgdGhpcy5ydW5JZlByaXZpbGVnZWQodmlld0lkLCBtZXNzYWdlLCB2aWV3ID0+IHtcbiAgICAgICAgdmlldy5jbG9zYWJsZSA9IG1lc3NhZ2UuYm9keTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY29tbWFuZHMgdG8gY2xvc2UgYSB2aWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld0Nsb3NlQ29tbWFuZEhhbmRsZXIoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUNsaWVudC5vbk1lc3NhZ2UoybVXb3JrYmVuY2hDb21tYW5kcy52aWV3Q2xvc2VUb3BpYygnOnZpZXdJZCcpLCBtZXNzYWdlID0+IHtcbiAgICAgIGNvbnN0IHZpZXdJZCA9IG1lc3NhZ2UucGFyYW1zIS5nZXQoJ3ZpZXdJZCcpIGFzIFZpZXdJZDtcbiAgICAgIHRoaXMucnVuSWZQcml2aWxlZ2VkKHZpZXdJZCwgbWVzc2FnZSwgdmlldyA9PiB7XG4gICAgICAgIHZpZXcuY2xvc2UoKS50aGVuKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHRoZSBnaXZlbiBydW5uYWJsZSBvbmx5IGlmIHRoZSBtaWNyb2Zyb250ZW5kIGRpc3BsYXllZCBpbiB0aGUgdmlldyBpcyBhY3R1YWxseSBwcm92aWRlZCBieSB0aGUgc2VuZGVyLFxuICAgKiB0aHVzIHByZXZlbnRpbmcgb3RoZXIgYXBwcyBmcm9tIHVwZGF0aW5nIG90aGVyIGFwcHMnIHZpZXdzLlxuICAgKi9cbiAgcHJpdmF0ZSBydW5JZlByaXZpbGVnZWQodmlld0lkOiBWaWV3SWQsIG1lc3NhZ2U6IE1lc3NhZ2UsIHJ1bm5hYmxlOiAodmlldzogV29ya2JlbmNoVmlldykgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl92aWV3UmVnaXN0cnkuZ2V0KHZpZXdJZCk7XG4gICAgY29uc3Qgc2VuZGVyID0gbWVzc2FnZS5oZWFkZXJzLmdldChNZXNzYWdlSGVhZGVycy5BcHBTeW1ib2xpY05hbWUpO1xuICAgIGlmICh2aWV3LmFkYXB0KE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KT8uY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lID09PSBzZW5kZXIpIHtcbiAgICAgIHJ1bm5hYmxlKHZpZXcpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX2xvZ2dlci53YXJuKCdbTm90UHJpdmlsZWdlZEVycm9yXSBNaWNyb2Zyb250ZW5kIG5vdCBhbGxvd2VkIHRvIHVwZGF0ZSB2aWV3cyBvZiBvdGhlciBhcHBzLicpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxufVxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNvbW1hbmQtaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9taWNyb2Zyb250ZW5kLXZpZXcvbWljcm9mcm9udGVuZC12aWV3LWNvbW1hbmQtaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQXlCLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSXJGLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFFaEY7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywrQkFBK0I7SUFJMUMsWUFBb0IsY0FBNkIsRUFDN0IsYUFBb0MsRUFDcEMsT0FBZTtRQUZmLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBSjNCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWdCLENBQUM7UUFLL0MsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQztRQUMvRCxJ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RSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUyxDQUFDLGVBQWUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1RixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO1FBQ3JHLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBNUdVLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lc3NhZ2UsIE1lc3NhZ2VDbGllbnQsIE1lc3NhZ2VIZWFkZXJzfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0xvZ2dlcn0gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5pbXBvcnQge1ZpZXdJZCwgV29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdSZWdpc3RyeX0gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge8m1V29ya2JlbmNoQ29tbWFuZHN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7bWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlld30gZnJvbSAnLi9taWNyb2Zyb250ZW5kLXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuLyoqXG4gKiBIYW5kbGVzIGNvbW1hbmRzIG9mIG1pY3JvZnJvbnRlbmRzIGxvYWRlZCBpbnRvIHdvcmtiZW5jaCB2aWV3cywgc3VjaCBhcyBzZXR0aW5nIHZpZXcgdGFiIHByb3BlcnRpZXMgb3IgY2xvc2luZyB0aGUgdmlldy5cbiAqXG4gKiBUaGlzIGNsYXNzIGlzIGNvbnN0cnVjdGVkIGFmdGVyIGNvbm5lY3RlZCB0byB0aGUgU0NJT04gTWljcm9mcm9udGVuZCBQbGF0Zm9ybSB2aWEge0BsaW5rIE1JQ1JPRlJPTlRFTkRfUExBVEZPUk1fUE9TVF9TVEFSVFVQfSBESSB0b2tlbi5cbiAqL1xuQEluamVjdGFibGUoLyogRE8gTk9UIFBST1ZJREUgdmlhICdwcm92aWRlZEluJyBtZXRhZGF0YSBhcyByZWdpc3RlcmVkIHZpYSB3b3JrYmVuY2ggc3RhcnR1cCBob29rLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0NvbW1hbmRIYW5kbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFNldDxTdWJzY3JpcHRpb24+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfbWVzc2FnZUNsaWVudDogTWVzc2FnZUNsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyKSB7XG4gICAgdGhpcy5pbnN0YWxsVmlld0FjdGl2ZVN0YXRlUHVibGlzaGVyKCk7XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmluc3RhbGxWaWV3VGl0bGVDb21tYW5kSGFuZGxlcigpKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmluc3RhbGxWaWV3SGVhZGluZ0NvbW1hbmRIYW5kbGVyKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuaW5zdGFsbFZpZXdEaXJ0eUNvbW1hbmRIYW5kbGVyKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuaW5zdGFsbFZpZXdDbG9zYWJsZUNvbW1hbmRIYW5kbGVyKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMuaW5zdGFsbFZpZXdDbG9zZUNvbW1hbmRIYW5kbGVyKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWVzIG1pY3JvZnJvbnRlbmRzIGFib3V0IHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGVtYmVkZGluZyB2aWV3LlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsVmlld0FjdGl2ZVN0YXRlUHVibGlzaGVyKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZpZXdSZWdpc3RyeS52aWV3cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodmlld3MgPT4gbWVyZ2UoLi4udmlld3MubWFwKHZpZXcgPT4gdmlldy5hY3RpdmUkLnBpcGUobWFwKCgpID0+IHZpZXcpKSkpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2aWV3OiBXb3JrYmVuY2hWaWV3KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRUb3BpYyA9IMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0FjdGl2ZVRvcGljKHZpZXcuaWQpO1xuICAgICAgICB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goY29tbWFuZFRvcGljLCB2aWV3LmFjdGl2ZSwge3JldGFpbjogdHJ1ZX0pLnRoZW4oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY29tbWFuZHMgdG8gdXBkYXRlIHRoZSB0aXRsZSBvZiBhIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxWaWV3VGl0bGVDb21tYW5kSGFuZGxlcigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9uTWVzc2FnZSjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdUaXRsZVRvcGljKCc6dmlld0lkJyksIG1lc3NhZ2UgPT4ge1xuICAgICAgY29uc3Qgdmlld0lkID0gbWVzc2FnZS5wYXJhbXMhLmdldCgndmlld0lkJykgYXMgVmlld0lkO1xuICAgICAgdGhpcy5ydW5JZlByaXZpbGVnZWQodmlld0lkLCBtZXNzYWdlLCB2aWV3ID0+IHtcbiAgICAgICAgdmlldy50aXRsZSA9IG1lc3NhZ2UuYm9keTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgY29tbWFuZHMgdG8gdXBkYXRlIHRoZSBoZWFkaW5nIG9mIGEgdmlldy5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFZpZXdIZWFkaW5nQ29tbWFuZEhhbmRsZXIoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZUNsaWVudC5vbk1lc3NhZ2UoybVXb3JrYmVuY2hDb21tYW5kcy52aWV3SGVhZGluZ1RvcGljKCc6dmlld0lkJyksIG1lc3NhZ2UgPT4ge1xuICAgICAgY29uc3Qgdmlld0lkID0gbWVzc2FnZS5wYXJhbXMhLmdldCgndmlld0lkJykgYXMgVmlld0lkO1xuICAgICAgdGhpcy5ydW5JZlByaXZpbGVnZWQodmlld0lkLCBtZXNzYWdlLCB2aWV3ID0+IHtcbiAgICAgICAgdmlldy5oZWFkaW5nID0gbWVzc2FnZS5ib2R5O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjb21tYW5kcyB0byB1cGRhdGUgdGhlIGRpcnR5IHN0YXRlIG9mIGEgdmlldy5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFZpZXdEaXJ0eUNvbW1hbmRIYW5kbGVyKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VDbGllbnQub25NZXNzYWdlKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0RpcnR5VG9waWMoJzp2aWV3SWQnKSwgbWVzc2FnZSA9PiB7XG4gICAgICBjb25zdCB2aWV3SWQgPSBtZXNzYWdlLnBhcmFtcyEuZ2V0KCd2aWV3SWQnKSBhcyBWaWV3SWQ7XG4gICAgICB0aGlzLnJ1bklmUHJpdmlsZWdlZCh2aWV3SWQsIG1lc3NhZ2UsIHZpZXcgPT4ge1xuICAgICAgICB2aWV3LmRpcnR5ID0gbWVzc2FnZS5ib2R5O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjb21tYW5kcyB0byB1cGRhdGUgdGhlIGNsb3NhYmxlIHByb3BlcnR5IG9mIGEgdmlldy5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFZpZXdDbG9zYWJsZUNvbW1hbmRIYW5kbGVyKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2VDbGllbnQub25NZXNzYWdlKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0Nsb3NhYmxlVG9waWMoJzp2aWV3SWQnKSwgbWVzc2FnZSA9PiB7XG4gICAgICBjb25zdCB2aWV3SWQgPSBtZXNzYWdlLnBhcmFtcyEuZ2V0KCd2aWV3SWQnKSBhcyBWaWV3SWQ7XG4gICAgICB0aGlzLnJ1bklmUHJpdmlsZWdlZCh2aWV3SWQsIG1lc3NhZ2UsIHZpZXcgPT4ge1xuICAgICAgICB2aWV3LmNsb3NhYmxlID0gbWVzc2FnZS5ib2R5O1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBjb21tYW5kcyB0byBjbG9zZSBhIHZpZXcuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxWaWV3Q2xvc2VDb21tYW5kSGFuZGxlcigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9uTWVzc2FnZSjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdDbG9zZVRvcGljKCc6dmlld0lkJyksIG1lc3NhZ2UgPT4ge1xuICAgICAgY29uc3Qgdmlld0lkID0gbWVzc2FnZS5wYXJhbXMhLmdldCgndmlld0lkJykgYXMgVmlld0lkO1xuICAgICAgdGhpcy5ydW5JZlByaXZpbGVnZWQodmlld0lkLCBtZXNzYWdlLCB2aWV3ID0+IHtcbiAgICAgICAgdmlldy5jbG9zZSgpLnRoZW4oKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgdGhlIGdpdmVuIHJ1bm5hYmxlIG9ubHkgaWYgdGhlIG1pY3JvZnJvbnRlbmQgZGlzcGxheWVkIGluIHRoZSB2aWV3IGlzIGFjdHVhbGx5IHByb3ZpZGVkIGJ5IHRoZSBzZW5kZXIsXG4gICAqIHRodXMgcHJldmVudGluZyBvdGhlciBhcHBzIGZyb20gdXBkYXRpbmcgb3RoZXIgYXBwcycgdmlld3MuXG4gICAqL1xuICBwcml2YXRlIHJ1bklmUHJpdmlsZWdlZCh2aWV3SWQ6IFZpZXdJZCwgbWVzc2FnZTogTWVzc2FnZSwgcnVubmFibGU6ICh2aWV3OiBXb3JrYmVuY2hWaWV3KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX3ZpZXdSZWdpc3RyeS5nZXQodmlld0lkKTtcbiAgICBjb25zdCBzZW5kZXIgPSBtZXNzYWdlLmhlYWRlcnMuZ2V0KE1lc3NhZ2VIZWFkZXJzLkFwcFN5bWJvbGljTmFtZSk7XG4gICAgaWYgKHZpZXcuYWRhcHQoTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcpPy5jYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUgPT09IHNlbmRlcikge1xuICAgICAgcnVubmFibGUodmlldyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oJ1tOb3RQcml2aWxlZ2VkRXJyb3JdIE1pY3JvZnJvbnRlbmQgbm90IGFsbG93ZWQgdG8gdXBkYXRlIHZpZXdzIG9mIG90aGVyIGFwcHMuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iXX0=
@@ -248,12 +248,12 @@ export class MicrofrontendViewComponent {
248
248
  this._outletRouter.navigate(null, { outlet: this.view.id }).then();
249
249
  this.view.unregisterAdapter(MicrofrontendWorkbenchView);
250
250
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewComponent, deps: [{ token: i0.ElementRef }, { token: i1.ActivatedRoute }, { token: i2.OutletRouter }, { token: i2.ManifestService }, { token: i2.MessageClient }, { token: i0.DestroyRef }, { token: i3.Logger }, { token: i4.ViewMenuService }, { token: i5.WorkbenchLayoutService }, { token: i6.WorkbenchRouter }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i7.ɵWorkbenchView }, { token: IFRAME_HOST }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: MicrofrontendViewComponent, isStandalone: true, selector: "wb-microfrontend-view", viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<wb-content-as-overlay [overlayHost]=\"iframeHostRef.ref$ | async\">\n <div class=\"microfrontend-view\"\n [class.workbench-drag]=\"isWorkbenchDrag\"\n [attr.data-viewid]=\"view.id\"\n wbGlassPane>\n <sci-router-outlet #router_outlet\n [name]=\"view.id\"\n [attr.data-capabilityid]=\"capability?.metadata!.id\"\n [attr.data-app]=\"capability?.metadata!.appSymbolicName\"\n [ngClass]=\"view.classList.value\"\n (focuswithin)=\"onFocusWithin($event)\"\n [keystrokes]=\"keystrokesToBubble$ | async\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n </sci-router-outlet>\n </div>\n</wb-content-as-overlay>\n", styles: [":host{display:grid}div.microfrontend-view{display:grid}div.microfrontend-view.workbench-drag{pointer-events:none}div.microfrontend-view>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ContentAsOverlayComponent, selector: "wb-content-as-overlay", inputs: ["overlayHost"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: GlassPaneDirective, selector: "[wbGlassPane]" }], viewProviders: [
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewComponent, deps: [{ token: i0.ElementRef }, { token: i1.ActivatedRoute }, { token: i2.OutletRouter }, { token: i2.ManifestService }, { token: i2.MessageClient }, { token: i0.DestroyRef }, { token: i3.Logger }, { token: i4.ViewMenuService }, { token: i5.WorkbenchLayoutService }, { token: i6.WorkbenchRouter }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i7.ɵWorkbenchView }, { token: IFRAME_HOST }], target: i0.ɵɵFactoryTarget.Component }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendViewComponent, isStandalone: true, selector: "wb-microfrontend-view", viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<wb-content-as-overlay [overlayHost]=\"iframeHostRef.ref$ | async\">\n <div class=\"microfrontend-view\"\n [class.workbench-drag]=\"isWorkbenchDrag\"\n [attr.data-viewid]=\"view.id\"\n wbGlassPane>\n <sci-router-outlet #router_outlet\n [name]=\"view.id\"\n [attr.data-capabilityid]=\"capability?.metadata!.id\"\n [attr.data-app]=\"capability?.metadata!.appSymbolicName\"\n [ngClass]=\"view.classList.value\"\n (focuswithin)=\"onFocusWithin($event)\"\n [keystrokes]=\"keystrokesToBubble$ | async\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n </sci-router-outlet>\n </div>\n</wb-content-as-overlay>\n", styles: [":host{display:grid}div.microfrontend-view{display:grid}div.microfrontend-view.workbench-drag{pointer-events:none}div.microfrontend-view>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ContentAsOverlayComponent, selector: "wb-content-as-overlay", inputs: ["overlayHost"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: GlassPaneDirective, selector: "[wbGlassPane]" }], viewProviders: [
253
253
  configureMicrofrontendGlassPane(),
254
254
  ] }); }
255
255
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewComponent, decorators: [{
257
257
  type: Component,
258
258
  args: [{ selector: 'wb-microfrontend-view', standalone: true, imports: [
259
259
  NgClass,
@@ -286,4 +286,4 @@ function configureMicrofrontendGlassPane() {
286
286
  },
287
287
  ];
288
288
  }
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC12aWV3L21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtdmlldy9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQW9CLFNBQVMsRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSxFQUFFLE1BQU0sRUFBeUMscUJBQXFCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXBNLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBa0IsU0FBUyxFQUFpQixjQUFjLEVBQUUsMkJBQTJCLEVBQWdCLG1CQUFtQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzlNLE9BQU8sRUFBMEIseUJBQXlCLEVBQUUsb0JBQW9CLEVBQTRCLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0osT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQVMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQXlCLE1B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QixxTkMzRHZDLGd4QkFnQkEsaVBEZ0NJLE9BQU8sK0VBQ1AsU0FBUyw4Q0FDVCx5QkFBeUIsMkZBQ3pCLGlCQUFpQixvUEFDakIsa0JBQWtCLCtDQUVMO1lBQ2IsK0JBQStCLEVBQUU7U0FDbEM7OzJGQUdVLDBCQUEwQjtrQkFqQnRDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBR3JCLElBQUksV0FDUDt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDbkIsaUJBQ2M7d0JBQ2IsK0JBQStCLEVBQUU7cUJBQ2xDLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBMENwQixNQUFNOzJCQUFDLFdBQVc7eUNBekJ4QixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzs7QUF5UDVDOztHQUVHO0FBQ0gsU0FBUywrQkFBK0I7SUFDdEMsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixXQUFXLEVBQUUsY0FBYztTQUM1QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsR0FBcUIsRUFBRSxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUUsRUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBQyxFQUFDLENBQUM7U0FDOUY7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBQcm92aWRlciwgcnVuSW5JbmplY3Rpb25Db250ZXh0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0LCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtNYW5pZmVzdFNlcnZpY2UsIG1hcFRvQm9keSwgTWVzc2FnZUNsaWVudCwgTWVzc2FnZUhlYWRlcnMsIE1pY3JvZnJvbnRlbmRQbGF0Zm9ybUNvbmZpZywgT3V0bGV0Um91dGVyLCBSZXNwb25zZVN0YXR1c0NvZGVzLCBTY2lSb3V0ZXJPdXRsZXRFbGVtZW50LCBUb3BpY01lc3NhZ2V9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7V29ya2JlbmNoVmlld0NhcGFiaWxpdHksIMm1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLCDJtVZJRVdfSURfQ09OVEVYVF9LRVksIMm1Vmlld1BhcmFtc1VwZGF0ZUNvbW1hbmQsIMm1V29ya2JlbmNoQ29tbWFuZHN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7RGljdGlvbmFyaWVzLCBNYXBzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJOYW1lc30gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5pbXBvcnQge0NhbkNsb3NlfSBmcm9tICcuLi8uLi93b3JrYmVuY2gubW9kZWwnO1xuaW1wb3J0IHtJRlJBTUVfSE9TVCwgVmlld0NvbnRhaW5lclJlZmVyZW5jZX0gZnJvbSAnLi4vLi4vY29udGVudC1wcm9qZWN0aW9uL3ZpZXctY29udGFpbmVyLnJlZmVyZW5jZSc7XG5pbXBvcnQge3NlcmlhbGl6ZUV4ZWN1dGlvbn0gZnJvbSAnLi4vLi4vY29tbW9uL29wZXJhdG9ycyc7XG5pbXBvcnQge8m1V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy/JtXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7ZmlsdGVyQXJyYXksIG1hcEFycmF5fSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWaWV3TWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL3BhcnQvdmlldy1jb250ZXh0LW1lbnUvdmlldy1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4uLy4uL3JvdXRpbmcvd29ya2JlbmNoLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7c3RyaW5naWZ5RXJyb3J9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHJpbmdpZnktZXJyb3IudXRpbCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRWaWV3Um91dGVzfSBmcm9tICcuLi9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1yb3V0ZXMnO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb250ZW50QXNPdmVybGF5Q29tcG9uZW50fSBmcm9tICcuLi8uLi9jb250ZW50LXByb2plY3Rpb24vY29udGVudC1hcy1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi8uLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRTcGxhc2hDb21wb25lbnR9IGZyb20gJy4uL21pY3JvZnJvbnRlbmQtc3BsYXNoL21pY3JvZnJvbnRlbmQtc3BsYXNoLmNvbXBvbmVudCc7XG5pbXBvcnQge0dMQVNTX1BBTkVfQkxPQ0tBQkxFLCBHTEFTU19QQU5FX09QVElPTlMsIEdsYXNzUGFuZURpcmVjdGl2ZSwgR2xhc3NQYW5lT3B0aW9uc30gZnJvbSAnLi4vLi4vZ2xhc3MtcGFuZS9nbGFzcy1wYW5lLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3fSBmcm9tICcuL21pY3JvZnJvbnRlbmQtd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kc30gZnJvbSAnLi4vY29tbW9uL21pY3JvZnJvbnRlbmQudXRpbCc7XG5pbXBvcnQge09iamVjdHN9IGZyb20gJy4uLy4uL2NvbW1vbi9vYmplY3RzLnV0aWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi8uLi92aWV3L3dvcmtiZW5jaC12aWV3Lm1vZGVsJztcblxuLyoqXG4gKiBFbWJlZHMgdGhlIG1pY3JvZnJvbnRlbmQgb2YgYSB2aWV3IGNhcGFiaWxpdHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLW1pY3JvZnJvbnRlbmQtdmlldycsXG4gIHN0eWxlVXJsczogWycuL21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nQ2xhc3MsXG4gICAgQXN5bmNQaXBlLFxuICAgIENvbnRlbnRBc092ZXJsYXlDb21wb25lbnQsXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXG4gICAgR2xhc3NQYW5lRGlyZWN0aXZlLFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgY29uZmlndXJlTWljcm9mcm9udGVuZEdsYXNzUGFuZSgpLFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sIC8vIHJlcXVpcmVkIGJlY2F1c2UgPHNjaS1yb3V0ZXItb3V0bGV0PiBpcyBhIGN1c3RvbSBlbGVtZW50XG59KVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIENhbkNsb3NlIHtcblxuICBwcml2YXRlIF91bnN1YnNjcmliZVBhcmFtc1VwZGF0ZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfdW5pdmVyc2FsS2V5c3Ryb2tlcyA9IFtcbiAgICAna2V5ZG93bi5lc2NhcGUnLCAvLyBhbGxvd3MgY2xvc2luZyBub3RpZmljYXRpb25zXG4gIF07XG5cbiAgcHJvdGVjdGVkIGNhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGxhc2ggdG8gZGlzcGxheSB1bnRpbCB0aGUgbWljcm9mcm9udGVuZCBzaWduYWxzIHJlYWRpbmVzcy5cbiAgICovXG4gIHByb3RlY3RlZCBzcGxhc2g6IENvbXBvbmVudFR5cGU8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgncm91dGVyX291dGxldCcsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgcm91dGVyT3V0bGV0RWxlbWVudCE6IEVsZW1lbnRSZWY8U2NpUm91dGVyT3V0bGV0RWxlbWVudD47XG5cbiAgLyoqXG4gICAqIEtleXN0cm9rZXMgd2hpY2ggdG8gYnViYmxlIGFjcm9zcyBpZnJhbWUgYm91bmRhcmllcyBvZiBlbWJlZGRlZCBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIGtleXN0cm9rZXNUb0J1YmJsZSQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcywgc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHVibGljIGlzV29ya2JlbmNoRHJhZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX291dGxldFJvdXRlcjogT3V0bGV0Um91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tYW5pZmVzdFNlcnZpY2U6IE1hbmlmZXN0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbWVzc2FnZUNsaWVudDogTWVzc2FnZUNsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGVzdHJveVJlZjogRGVzdHJveVJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9nZ2VyOiBMb2dnZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdDb250ZXh0TWVudVNlcnZpY2U6IFZpZXdNZW51U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd29ya2JlbmNoTGF5b3V0U2VydmljZTogV29ya2JlbmNoTGF5b3V0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd29ya2JlbmNoUm91dGVyOiBXb3JrYmVuY2hSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgdmlldzogybVXb3JrYmVuY2hWaWV3LFxuICAgICAgICAgICAgICBASW5qZWN0KElGUkFNRV9IT1NUKSBwcm90ZWN0ZWQgaWZyYW1lSG9zdFJlZjogVmlld0NvbnRhaW5lclJlZmVyZW5jZSkge1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiBgQ29uc3RydWN0aW5nIE1pY3JvZnJvbnRlbmRWaWV3Q29tcG9uZW50LiBbdmlld0lkPSR7dGhpcy52aWV3LmlkfV1gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5EX1JPVVRJTkcpO1xuICAgIHRoaXMua2V5c3Ryb2tlc1RvQnViYmxlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMudmlld0NvbnRleHRNZW51S2V5c3Ryb2tlcyQoKSwgb2YodGhpcy5fdW5pdmVyc2FsS2V5c3Ryb2tlcyldKVxuICAgICAgLnBpcGUobWFwKGtleXN0cm9rZXMgPT4gbmV3IEFycmF5PHN0cmluZz4oKS5jb25jYXQoLi4ua2V5c3Ryb2tlcykpKTtcbiAgICB0aGlzLmluc3RhbGxXb3JrYmVuY2hEcmFnRGV0ZWN0b3IoKTtcbiAgICB0aGlzLnNwbGFzaCA9IGluamVjdChNaWNyb2Zyb250ZW5kUGxhdGZvcm1Db25maWcpLnNwbGFzaCA/PyBNaWNyb2Zyb250ZW5kU3BsYXNoQ29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyT3V0bGV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNldENvbnRleHRWYWx1ZSjJtVZJRVdfSURfQ09OVEVYVF9LRVksIHRoaXMudmlldy5pZCk7XG4gICAgdGhpcy5wcm9wYWdhdGVXb3JrYmVuY2hUaGVtZSgpO1xuICAgIHRoaXMuaW5zdGFsbE1lbnVJdGVtQWNjZWxlcmF0b3JzJCgpO1xuICAgIHRoaXMuaW5zdGFsbE5hdmlnYXRvcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsTmF2aWdhdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3JvdXRlLnBhcmFtc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChwYXJhbXMgPT4gdGhpcy5mZXRjaENhcGFiaWxpdHkkKHBhcmFtc1vJtU1pY3JvZnJvbnRlbmRSb3V0ZVBhcmFtcy7JtVZJRVdfQ0FQQUJJTElUWV9JRF0pLnBpcGUobWFwKGNhcGFiaWxpdHkgPT4gKHtjYXBhYmlsaXR5LCBwYXJhbXN9KSkpKSxcbiAgICAgICAgc2VyaWFsaXplRXhlY3V0aW9uKCh7Y2FwYWJpbGl0eSwgcGFyYW1zfSkgPT4gdGhpcy5vbk5hdmlnYXRlKHRoaXMuY2FwYWJpbGl0eSwgY2FwYWJpbGl0eSwgcGFyYW1zKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25OYXZpZ2F0ZShwcmV2Q2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHkgfCB1bmRlZmluZWQsIGNhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkLCBwYXJhbXM6IFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghY2FwYWJpbGl0eSkge1xuICAgICAgdGhpcy5fbG9nZ2VyLndhcm4oKCkgPT4gYFtOdWxsQ2FwYWJpbGl0eUVycm9yXSBObyBhcHBsaWNhdGlvbiBmb3VuZCB0byBwcm92aWRlIGEgdmlldyBjYXBhYmlsaXR5IG9mIGlkICcke3BhcmFtc1vJtU1pY3JvZnJvbnRlbmRSb3V0ZVBhcmFtcy7JtVZJRVdfQ0FQQUJJTElUWV9JRF19Jy4gTWF5YmUsIHRoZSByZXF1ZXN0ZWQgdmlldyBpcyBub3QgcHVibGljIEFQSSBvciB0aGUgcHJvdmlkaW5nIGFwcGxpY2F0aW9uIG5vdCBhdmFpbGFibGUuYCwgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORF9ST1VUSU5HKTtcbiAgICAgIGF3YWl0IHRoaXMudmlldy5jbG9zZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2FwYWJpbGl0eSA9IGNhcGFiaWxpdHk7XG4gICAgdGhpcy52aWV3LnJlZ2lzdGVyQWRhcHRlcihNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldywgbmV3IE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KGNhcGFiaWxpdHksIHBhcmFtcykpO1xuXG4gICAgLy8gQ2hlY2sgaWYgbmF2aWdhdGluZyB0byBhIG5ldyBtaWNyb2Zyb250ZW5kLlxuICAgIGlmICghcHJldkNhcGFiaWxpdHkgfHwgcHJldkNhcGFiaWxpdHkubWV0YWRhdGEhLmlkICE9PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCkge1xuICAgICAgdGhpcy5zZXRWaWV3UHJvcGVydGllcyhjYXBhYmlsaXR5LCBwYXJhbXMpO1xuICAgICAgdGhpcy5pbnN0YWxsUGFyYW1zVXBkYXRlcihjYXBhYmlsaXR5KTtcbiAgICB9XG5cbiAgICAvLyBTaWduYWwgdGhlIGN1cnJlbnRseSBsb2FkZWQgYXBwbGljYXRpb24gdG8gdW5sb2FkLlxuICAgIGlmIChwcmV2Q2FwYWJpbGl0eSAmJiBwcmV2Q2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lICE9PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUpIHtcbiAgICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaCjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdVbmxvYWRpbmdUb3BpYyh0aGlzLnZpZXcuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBQYXNzIHBhcmFtZXRlcnMgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgYXdhaXQgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1BhcmFtc1RvcGljKHRoaXMudmlldy5pZCksIE1hcHMuY29lcmNlKHBhcmFtcyksIHtyZXRhaW46IHRydWV9KTtcblxuICAgIC8vIFdoZW4gbmF2aWdhdGluZyB0byBhbm90aGVyIHZpZXcgY2FwYWJpbGl0eSBvZiB0aGUgc2FtZSBhcHAsIHdhaXQgdW50aWwgdHJhbnNwb3J0ZWQgdGhlIHBhcmFtcyB0byB0aGUgbWljcm9mcm9udGVuZCBiZWZvcmUgbG9hZGluZyB0aGVcbiAgICAvLyBuZXcgbWljcm9mcm9udGVuZCBpbnRvIHRoZSBpZnJhbWUsIGFsbG93aW5nIHRoZSBjdXJyZW50bHkgbG9hZGVkIG1pY3JvZnJvbnRlbmQgdG8gY2xlYW4gdXAgc3Vic2NyaXB0aW9ucy5cbiAgICBpZiAocHJldkNhcGFiaWxpdHlcbiAgICAgICYmIHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUgPT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZVxuICAgICAgJiYgcHJldkNhcGFiaWxpdHkubWV0YWRhdGEhLmlkICE9PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCkge1xuICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yQ2FwYWJpbGl0eVBhcmFtKGNhcGFiaWxpdHkubWV0YWRhdGEhLmlkKTtcbiAgICB9XG5cbiAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgbWljcm9mcm9udGVuZC5cbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IHRoaXMuX21hbmlmZXN0U2VydmljZS5hcHBsaWNhdGlvbnMuZmluZChhcHAgPT4gYXBwLnN5bWJvbGljTmFtZSA9PT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lKSE7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBMb2FkaW5nIG1pY3JvZnJvbnRlbmQgaW50byB3b3JrYmVuY2ggdmlldyBbdmlld0lkPSR7dGhpcy52aWV3LmlkfSwgYXBwPSR7Y2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lfSwgYmFzZVVybD0ke2FwcGxpY2F0aW9uLmJhc2VVcmx9LCBwYXRoPSR7KGNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoKX1dLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkRfUk9VVElORywgcGFyYW1zLCBjYXBhYmlsaXR5KTtcbiAgICBhd2FpdCB0aGlzLl9vdXRsZXRSb3V0ZXIubmF2aWdhdGUoY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnBhdGgsIHtcbiAgICAgIG91dGxldDogdGhpcy52aWV3LmlkLFxuICAgICAgcmVsYXRpdmVUbzogYXBwbGljYXRpb24uYmFzZVVybCxcbiAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgcHVzaFN0YXRlVG9TZXNzaW9uSGlzdG9yeVN0YWNrOiBmYWxzZSxcbiAgICAgIHNob3dTcGxhc2g6IGNhcGFiaWxpdHkucHJvcGVydGllcy5zaG93U3BsYXNoLFxuICAgICAgybVjYXBhYmlsaXR5SWQ6IGNhcGFiaWxpdHkubWV0YWRhdGEhLmlkLFxuICAgIH0pO1xuXG4gICAgLy8gSW5hY3RpdmUgdmlld3MgYXJlIGRldGFjaGVkIGZyb20gdGhlIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiB0cmVlLlxuICAgIC8vIFRoZXJlZm9yZSwgbWFudWFsbHkgZGV0ZWN0IHRoaXMgY29tcG9uZW50IGZvciBjaGFuZ2VzIGZvciB1cGRhdGluZyBhdHRyaWJ1dGVzIG9uIHRoZSBgc2NpLXJvdXRlci1vdXRsZXRgLlxuICAgIGlmICghdGhpcy52aWV3LmFjdGl2ZSkge1xuICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hDYXBhYmlsaXR5JChjYXBhYmlsaXR5SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8V29ya2JlbmNoVmlld0NhcGFiaWxpdHkgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fbWFuaWZlc3RTZXJ2aWNlLmxvb2t1cENhcGFiaWxpdGllcyQ8V29ya2JlbmNoVmlld0NhcGFiaWxpdHk+KHtpZDogY2FwYWJpbGl0eUlkfSkucGlwZShtYXAoY2FwYWJpbGl0aWVzID0+IGNhcGFiaWxpdGllcy5hdCgwKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsTWVudUl0ZW1BY2NlbGVyYXRvcnMkKCk6IHZvaWQge1xuICAgIC8vIFNpbmNlIHRoZSBpZnJhbWUgaXMgYWRkZWQgYXQgYSB0b3AtbGV2ZWwgbG9jYXRpb24gaW4gdGhlIERPTSwgdGhhdCBpcywgbm90IGFzIGEgY2hpbGQgZWxlbWVudCBvZiB0aGlzIGNvbXBvbmVudCxcbiAgICAvLyB0aGUgd29ya2JlbmNoIHZpZXcgbWlzc2VzIGtleWJvYXJkIGV2ZW50cyBmcm9tIGVtYmVkZGVkIGNvbnRlbnQuIEFzIGEgcmVzdWx0LCBtZW51IGl0ZW0gYWNjZWxlcmF0b3JzIG9mIHRoZSBjb250ZXh0XG4gICAgLy8gbWVudSBvZiB0aGlzIHZpZXcgZG8gbm90IHdvcmssIHNvIHdlIGluc3RhbGwgdGhlIGFjY2VsZXJhdG9ycyBvbiB0aGUgcm91dGVyIG91dGxldCBhcyB3ZWxsLlxuICAgIHRoaXMuX3ZpZXdDb250ZXh0TWVudVNlcnZpY2UuaW5zdGFsbE1lbnVJdGVtQWNjZWxlcmF0b3JzJCh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy52aWV3KVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gcmVxdWVzdHMgZnJvbSB0aGUgY3VycmVudGx5IGxvYWRlZCBtaWNyb2Zyb250ZW5kIHRvIHVwZGF0ZSBpdHMgcGFyYW1ldGVycy5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFBhcmFtc1VwZGF0ZXIodmlld0NhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5KTogdm9pZCB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmVQYXJhbXNVcGRhdGVyJC5uZXh0KCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5fbWVzc2FnZUNsaWVudC5vYnNlcnZlJDzJtVZpZXdQYXJhbXNVcGRhdGVDb21tYW5kPijJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdQYXJhbXNVcGRhdGVUb3BpYyh0aGlzLnZpZXcuaWQsIHZpZXdDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVQYXJhbXNVcGRhdGVyJCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKHJlcXVlc3Q6IFRvcGljTWVzc2FnZTzJtVZpZXdQYXJhbXNVcGRhdGVDb21tYW5kPikgPT4geyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJ4anMvbm8tYXN5bmMtc3Vic2NyaWJlXG4gICAgICAgIC8vIFdlIERPIE5PVCBuYXZpZ2F0ZSBpZiB0aGUgc3Vic2NyaXB0aW9uIHdhcyBjbG9zZWQsIGUuZy4sIGJlY2F1c2UgY2xvc2VkIHRoZSB2aWV3IG9yIG5hdmlnYXRlZCB0byBhbm90aGVyIGNhcGFiaWxpdHkuXG4gICAgICAgIGNvbnN0IHJlcGx5VG8gPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KE1lc3NhZ2VIZWFkZXJzLlJlcGx5VG8pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHRoaXMuX3dvcmtiZW5jaFJvdXRlci5uYXZpZ2F0ZShsYXlvdXQgPT4ge1xuICAgICAgICAgICAgLy8gQ2FuY2VsIHBlbmRpbmcgbmF2aWdhdGlvbiBpZiB0aGUgc3Vic2NyaXB0aW9uIHdhcyBjbG9zZWQsIGUuZy4sIGJlY2F1c2UgY2xvc2VkIHRoZSB2aWV3IG9yIG5hdmlnYXRlZCB0byBhbm90aGVyIGNhcGFiaWxpdHlcbiAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXNIYW5kbGluZyA9IHJlcXVlc3QuYm9keSEucGFyYW1zSGFuZGxpbmc7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5fcm91dGUuc25hcHNob3QucGFyYW1zO1xuICAgICAgICAgICAgY29uc3QgbmV3UGFyYW1zID0gRGljdGlvbmFyaWVzLmNvZXJjZShyZXF1ZXN0LmJvZHkhLnBhcmFtcyk7IC8vIGNvZXJjZSBwYXJhbXMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZFBhcmFtcyA9IE9iamVjdHMud2l0aG91dFVuZGVmaW5lZEVudHJpZXMocGFyYW1zSGFuZGxpbmcgPT09ICdtZXJnZScgPyB7Li4uY3VycmVudFBhcmFtcywgLi4ubmV3UGFyYW1zfSA6IG5ld1BhcmFtcyk7XG4gICAgICAgICAgICBjb25zdCB7dXJsUGFyYW1zLCB0cmFuc2llbnRQYXJhbXN9ID0gTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuc3BsaXRQYXJhbXMobWVyZ2VkUGFyYW1zLCB2aWV3Q2FwYWJpbGl0eSk7XG5cbiAgICAgICAgICAgIHJldHVybiBsYXlvdXQubmF2aWdhdGVWaWV3KHRoaXMudmlldy5pZCwgW3VybFBhcmFtc10sIHtcbiAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcm91dGUsXG4gICAgICAgICAgICAgIHN0YXRlOiBPYmplY3RzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzKHtcbiAgICAgICAgICAgICAgICBbTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuU1RBVEVfVFJBTlNJRU5UX1BBUkFNU106IHRyYW5zaWVudFBhcmFtcyxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaChyZXBseVRvLCBzdWNjZXNzLCB7aGVhZGVyczogbmV3IE1hcCgpLnNldChNZXNzYWdlSGVhZGVycy5TdGF0dXMsIFJlc3BvbnNlU3RhdHVzQ29kZXMuVEVSTUlOQUwpfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKHJlcGx5VG8sIHN0cmluZ2lmeUVycm9yKGVycm9yKSwge2hlYWRlcnM6IG5ldyBNYXAoKS5zZXQoTWVzc2FnZUhlYWRlcnMuU3RhdHVzLCBSZXNwb25zZVN0YXR1c0NvZGVzLkVSUk9SKX0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgdmlldywgc3VjaCBhcyB0aGUgdmlldyB0aXRsZSwgYXMgZGVmaW5lZCBieSB0aGUgY2FwYWJpbGl0eS5cbiAgICovXG4gIHByaXZhdGUgc2V0Vmlld1Byb3BlcnRpZXModmlld0NhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5LCBwYXJhbXM6IFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMudmlldy50aXRsZSA9IE1pY3JvZnJvbnRlbmRzLnN1YnN0aXR1dGVOYW1lZFBhcmFtZXRlcnModmlld0NhcGFiaWxpdHkucHJvcGVydGllcy50aXRsZSwgTWFwcy5jb2VyY2UocGFyYW1zKSkgPz8gbnVsbDtcbiAgICB0aGlzLnZpZXcuaGVhZGluZyA9IE1pY3JvZnJvbnRlbmRzLnN1YnN0aXR1dGVOYW1lZFBhcmFtZXRlcnModmlld0NhcGFiaWxpdHkucHJvcGVydGllcy5oZWFkaW5nLCBNYXBzLmNvZXJjZShwYXJhbXMpKSA/PyBudWxsO1xuICAgIHRoaXMudmlldy5jbGFzc0xpc3Quc2V0KHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMuY3NzQ2xhc3MsIHtzY29wZTogJ2FwcGxpY2F0aW9uJ30pO1xuICAgIHRoaXMudmlldy5jbG9zYWJsZSA9IHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMuY2xvc2FibGUgPz8gdHJ1ZTtcbiAgICB0aGlzLnZpZXcuZGlydHkgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSBwYXJhbXMgY29udGFpbiB0aGUgZ2l2ZW4gY2FwYWJpbGl0eSBpZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgd2FpdEZvckNhcGFiaWxpdHlQYXJhbSh2aWV3Q2FwYWJpbGl0eUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2aWV3UGFyYW1zJCA9IHRoaXMuX21lc3NhZ2VDbGllbnQub2JzZXJ2ZSQ8TWFwPHN0cmluZywgc3RyaW5nPj4oybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVG9waWModGhpcy52aWV3LmlkKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXBUb0JvZHkoKSxcbiAgICAgICAgZmlyc3QocGFyYW1zID0+IHBhcmFtcy5nZXQoybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMuybVWSUVXX0NBUEFCSUxJVFlfSUQpID09PSB2aWV3Q2FwYWJpbGl0eUlkKSxcbiAgICAgICk7XG4gICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odmlld1BhcmFtcyQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhc3luYyBjYW5DbG9zZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYW5DbG9zZVRvcGljID0gybVXb3JrYmVuY2hDb21tYW5kcy5jYW5DbG9zZVRvcGljKHRoaXMudmlldy5pZCk7XG4gICAgY29uc3QgbGVnYWN5Q2FuQ2xvc2VUb3BpYyA9IMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0Nsb3NpbmdUb3BpYyh0aGlzLnZpZXcuaWQpO1xuXG4gICAgLy8gSW5pdGlhdGUgYSByZXF1ZXN0LXJlc3BvbnNlIGNvbW11bmljYXRpb24gb25seSBpZiB0aGUgZW1iZWRkZWQgbWljcm9mcm9udGVuZCBpbXBsZW1lbnRzIGBDYW5DbG9zZWAgZ3VhcmQuXG4gICAgY29uc3QgaGFzQ2FuQ2xvc2VHdWFyZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX21lc3NhZ2VDbGllbnQuc3Vic2NyaWJlckNvdW50JChjYW5DbG9zZVRvcGljKSkgPiAwO1xuICAgIGNvbnN0IGhhc0xlZ2FjeUNhbkNsb3NlR3VhcmQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9tZXNzYWdlQ2xpZW50LnN1YnNjcmliZXJDb3VudCQobGVnYWN5Q2FuQ2xvc2VUb3BpYykpID4gMDtcbiAgICBpZiAoIWhhc0NhbkNsb3NlR3VhcmQgJiYgIWhhc0xlZ2FjeUNhbkNsb3NlR3VhcmQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5fbWVzc2FnZUNsaWVudC5yZXF1ZXN0JDxib29sZWFuPihoYXNDYW5DbG9zZUd1YXJkID8gY2FuQ2xvc2VUb3BpYyA6IGxlZ2FjeUNhbkNsb3NlVG9waWMpLnBpcGUobWFwVG9Cb2R5KCkpLCB7ZGVmYXVsdFZhbHVlOiB0cnVlfSk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1c1dpdGhpbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB7ZGV0YWlsOiBmb2N1c1dpdGhpbn0gPSBldmVudCBhcyBDdXN0b21FdmVudDxib29sZWFuPjtcbiAgICBpZiAoZm9jdXNXaXRoaW4pIHtcbiAgICAgIHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnc2NpLW1pY3JvZnJvbnRlbmQtZm9jdXNpbicsIHtidWJibGVzOiB0cnVlfSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgdGhlIGtleXN0cm9rZXMgcmVnaXN0ZXJlZCB3aXRoIG1lbnUgaXRlbXMgb2YgdGhpcyB2aWV3J3MgY29udGV4dCBtZW51LFxuICAgKiBhbmQgdGhlbiBjb250aW51b3VzbHkgd2hlbiB0aGV5IGNoYW5nZS4gVGhlIG9ic2VydmFibGUgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcHJpdmF0ZSB2aWV3Q29udGV4dE1lbnVLZXlzdHJva2VzJCgpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudmlldy5tZW51SXRlbXMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyQXJyYXkobWVudUl0ZW0gPT4gISFtZW51SXRlbS5hY2NlbGVyYXRvciksXG4gICAgICAgIG1hcEFycmF5KG1lbnVJdGVtID0+IG1lbnVJdGVtLmFjY2VsZXJhdG9yIS5tYXAoYWNjZWxlcmF0b3IgPT4ge1xuICAgICAgICAgIC8vIE5vcm1hbGl6ZSBrZXlzdHJva2VzIGFjY29yZGluZyB0byBgU2NpUm91dGVyT3V0bGV0RWxlbWVudCNrZXlzdHJva2VzYFxuICAgICAgICAgIHN3aXRjaCAoYWNjZWxlcmF0b3IpIHtcbiAgICAgICAgICAgIGNhc2UgJ2N0cmwnOlxuICAgICAgICAgICAgICByZXR1cm4gJ2NvbnRyb2wnO1xuICAgICAgICAgICAgY2FzZSAnLic6XG4gICAgICAgICAgICAgIHJldHVybiAnZG90JztcbiAgICAgICAgICAgIGNhc2UgJyAnOlxuICAgICAgICAgICAgICByZXR1cm4gJ3NwYWNlJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBhY2NlbGVyYXRvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKSxcbiAgICAgICAgbWFwQXJyYXkoYWNjZWxlcmF0b3IgPT4gWydrZXlkb3duJ10uY29uY2F0KGFjY2VsZXJhdG9yKS5qb2luKCcuJykpLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB7QGxpbmsgaXNXb3JrYmVuY2hEcmFnfSBwcm9wZXJ0eSB3aGVuIGEgd29ya2JlbmNoIGRyYWcgb3BlcmF0aW9uIGlzIGRldGVjdGVkLFxuICAgKiBzdWNoIGFzIHdoZW4gZHJhZ2dpbmcgYSB2aWV3IG9yIG1vdmluZyBhIHNhc2guXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxXb3JrYmVuY2hEcmFnRGV0ZWN0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5fd29ya2JlbmNoTGF5b3V0U2VydmljZS5kcmFnZ2luZyRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIHRoaXMuaXNXb3JrYmVuY2hEcmFnID0gKGV2ZW50ID09PSAnc3RhcnQnKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcm9wYWdhdGVXb3JrYmVuY2hUaGVtZSgpOiB2b2lkIHtcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IE1pY3JvZnJvbnRlbmRzLnByb3BhZ2F0ZVRoZW1lKHRoaXMucm91dGVyT3V0bGV0RWxlbWVudC5uYXRpdmVFbGVtZW50KSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gSW5zdHJ1Y3QgdGhlIG1lc3NhZ2UgYnJva2VyIHRvIGRlbGV0ZSByZXRhaW5lZCBtZXNzYWdlcyB0byBmcmVlIHJlc291cmNlcy5cbiAgICB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3QWN0aXZlVG9waWModGhpcy52aWV3LmlkKSwgdW5kZWZpbmVkLCB7cmV0YWluOiB0cnVlfSkudGhlbigpO1xuICAgIHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaCjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdQYXJhbXNUb3BpYyh0aGlzLnZpZXcuaWQpLCB1bmRlZmluZWQsIHtyZXRhaW46IHRydWV9KS50aGVuKCk7XG4gICAgdGhpcy5fb3V0bGV0Um91dGVyLm5hdmlnYXRlKG51bGwsIHtvdXRsZXQ6IHRoaXMudmlldy5pZH0pLnRoZW4oKTtcbiAgICB0aGlzLnZpZXcudW5yZWdpc3RlckFkYXB0ZXIoTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcpO1xuICB9XG59XG5cbi8qKlxuICogQmxvY2tzIHRoZSBtaWNyb2Zyb250ZW5kIG91dGxldCB3aGVuIGRpYWxvZyhzKSBvdmVybGF5IHRoaXMgdmlldy5cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlTWljcm9mcm9udGVuZEdsYXNzUGFuZSgpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBHTEFTU19QQU5FX0JMT0NLQUJMRSxcbiAgICAgIHVzZUV4aXN0aW5nOiDJtVdvcmtiZW5jaFZpZXcsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBHTEFTU19QQU5FX09QVElPTlMsXG4gICAgICB1c2VGYWN0b3J5OiAoKTogR2xhc3NQYW5lT3B0aW9ucyA9PiAoe2F0dHJpYnV0ZXM6IHsnZGF0YS12aWV3aWQnOiBpbmplY3QoV29ya2JlbmNoVmlldykuaWR9fSksXG4gICAgfSxcbiAgXTtcbn1cbiIsIjx3Yi1jb250ZW50LWFzLW92ZXJsYXkgW292ZXJsYXlIb3N0XT1cImlmcmFtZUhvc3RSZWYucmVmJCB8IGFzeW5jXCI+XG4gIDxkaXYgY2xhc3M9XCJtaWNyb2Zyb250ZW5kLXZpZXdcIlxuICAgICAgIFtjbGFzcy53b3JrYmVuY2gtZHJhZ109XCJpc1dvcmtiZW5jaERyYWdcIlxuICAgICAgIFthdHRyLmRhdGEtdmlld2lkXT1cInZpZXcuaWRcIlxuICAgICAgIHdiR2xhc3NQYW5lPlxuICAgIDxzY2ktcm91dGVyLW91dGxldCAjcm91dGVyX291dGxldFxuICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJ2aWV3LmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1jYXBhYmlsaXR5aWRdPVwiY2FwYWJpbGl0eT8ubWV0YWRhdGEhLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hcHBdPVwiY2FwYWJpbGl0eT8ubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInZpZXcuY2xhc3NMaXN0LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGZvY3Vzd2l0aGluKT1cIm9uRm9jdXNXaXRoaW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtrZXlzdHJva2VzXT1cImtleXN0cm9rZXNUb0J1YmJsZSQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzcGxhc2hcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NjaS1yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvd2ItY29udGVudC1hcy1vdmVybGF5PlxuIl19
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC12aWV3L21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtdmlldy9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQW9CLFNBQVMsRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSxFQUFFLE1BQU0sRUFBeUMscUJBQXFCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXBNLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBa0IsU0FBUyxFQUFpQixjQUFjLEVBQUUsMkJBQTJCLEVBQWdCLG1CQUFtQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzlNLE9BQU8sRUFBMEIseUJBQXlCLEVBQUUsb0JBQW9CLEVBQTRCLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0osT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQVMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQXlCLE1B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LENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBcFFVLDBCQUEwQiw2WUF3Q2pCLFdBQVc7a0dBeENwQiwwQkFBMEIscU5DM0R2QyxneEJBZ0JBLGlQRGdDSSxPQUFPLCtFQUNQLFNBQVMsOENBQ1QseUJBQXlCLDJGQUN6QixpQkFBaUIsb1BBQ2pCLGtCQUFrQiwrQ0FFTDtZQUNiLCtCQUErQixFQUFFO1NBQ2xDOzsyRkFHVSwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CLGlCQUNjO3dCQUNiLCtCQUErQixFQUFFO3FCQUNsQyxXQUNRLENBQUMsc0JBQXNCLENBQUM7OzBCQTBDcEIsTUFBTTsyQkFBQyxXQUFXO3lDQXpCeEIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7O0FBeVA1Qzs7R0FFRztBQUNILFNBQVMsK0JBQStCO0lBQ3RDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsV0FBVyxFQUFFLGNBQWM7U0FDNUI7UUFDRDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsVUFBVSxFQUFFLEdBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLEVBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUMsRUFBQyxDQUFDO1NBQzlGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUHJvdmlkZXIsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWFuaWZlc3RTZXJ2aWNlLCBtYXBUb0JvZHksIE1lc3NhZ2VDbGllbnQsIE1lc3NhZ2VIZWFkZXJzLCBNaWNyb2Zyb250ZW5kUGxhdGZvcm1Db25maWcsIE91dGxldFJvdXRlciwgUmVzcG9uc2VTdGF0dXNDb2RlcywgU2NpUm91dGVyT3V0bGV0RWxlbWVudCwgVG9waWNNZXNzYWdlfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdDYXBhYmlsaXR5LCDJtU1pY3JvZnJvbnRlbmRSb3V0ZVBhcmFtcywgybVWSUVXX0lEX0NPTlRFWFRfS0VZLCDJtVZpZXdQYXJhbXNVcGRhdGVDb21tYW5kLCDJtVdvcmtiZW5jaENvbW1hbmRzfSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge0RpY3Rpb25hcmllcywgTWFwc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtDYW5DbG9zZX0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7SUZSQU1FX0hPU1QsIFZpZXdDb250YWluZXJSZWZlcmVuY2V9IGZyb20gJy4uLy4uL2NvbnRlbnQtcHJvamVjdGlvbi92aWV3LWNvbnRhaW5lci5yZWZlcmVuY2UnO1xuaW1wb3J0IHtzZXJpYWxpemVFeGVjdXRpb259IGZyb20gJy4uLy4uL2NvbW1vbi9vcGVyYXRvcnMnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFZpZXd9IGZyb20gJy4uLy4uL3ZpZXcvybV3b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge2ZpbHRlckFycmF5LCBtYXBBcnJheX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7Vmlld01lbnVTZXJ2aWNlfSBmcm9tICcuLi8uLi9wYXJ0L3ZpZXctY29udGV4dC1tZW51L3ZpZXctbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7V29ya2JlbmNoUm91dGVyfSBmcm9tICcuLi8uLi9yb3V0aW5nL3dvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge3N0cmluZ2lmeUVycm9yfSBmcm9tICcuLi8uLi9jb21tb24vc3RyaW5naWZ5LWVycm9yLnV0aWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kVmlld1JvdXRlc30gZnJvbSAnLi4vcm91dGluZy9taWNyb2Zyb250ZW5kLXZpZXctcm91dGVzJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0NvbXBvbmVudE91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29udGVudEFzT3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29udGVudC1wcm9qZWN0aW9uL2NvbnRlbnQtYXMtb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V29ya2JlbmNoTGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kU3BsYXNoQ29tcG9uZW50fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLXNwbGFzaC9taWNyb2Zyb250ZW5kLXNwbGFzaC5jb21wb25lbnQnO1xuaW1wb3J0IHtHTEFTU19QQU5FX0JMT0NLQUJMRSwgR0xBU1NfUEFORV9PUFRJT05TLCBHbGFzc1BhbmVEaXJlY3RpdmUsIEdsYXNzUGFuZU9wdGlvbnN9IGZyb20gJy4uLy4uL2dsYXNzLXBhbmUvZ2xhc3MtcGFuZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlld30gZnJvbSAnLi9taWNyb2Zyb250ZW5kLXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZHN9IGZyb20gJy4uL2NvbW1vbi9taWNyb2Zyb250ZW5kLnV0aWwnO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi9jb21tb24vb2JqZWN0cy51dGlsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogRW1iZWRzIHRoZSBtaWNyb2Zyb250ZW5kIG9mIGEgdmlldyBjYXBhYmlsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1taWNyb2Zyb250ZW5kLXZpZXcnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZSxcbiAgICBDb250ZW50QXNPdmVybGF5Q29tcG9uZW50LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgIEdsYXNzUGFuZURpcmVjdGl2ZSxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIGNvbmZpZ3VyZU1pY3JvZnJvbnRlbmRHbGFzc1BhbmUoKSxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLCAvLyByZXF1aXJlZCBiZWNhdXNlIDxzY2ktcm91dGVyLW91dGxldD4gaXMgYSBjdXN0b20gZWxlbWVudFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5DbG9zZSB7XG5cbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVQYXJhbXNVcGRhdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3VuaXZlcnNhbEtleXN0cm9rZXMgPSBbXG4gICAgJ2tleWRvd24uZXNjYXBlJywgLy8gYWxsb3dzIGNsb3Npbmcgbm90aWZpY2F0aW9uc1xuICBdO1xuXG4gIHByb3RlY3RlZCBjYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BsYXNoIHRvIGRpc3BsYXkgdW50aWwgdGhlIG1pY3JvZnJvbnRlbmQgc2lnbmFscyByZWFkaW5lc3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3BsYXNoOiBDb21wb25lbnRUeXBlPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3JvdXRlcl9vdXRsZXQnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHJvdXRlck91dGxldEVsZW1lbnQhOiBFbGVtZW50UmVmPFNjaVJvdXRlck91dGxldEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBLZXlzdHJva2VzIHdoaWNoIHRvIGJ1YmJsZSBhY3Jvc3MgaWZyYW1lIGJvdW5kYXJpZXMgb2YgZW1iZWRkZWQgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBrZXlzdHJva2VzVG9CdWJibGUkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MsIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIHB1YmxpYyBpc1dvcmtiZW5jaERyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9vdXRsZXRSb3V0ZXI6IE91dGxldFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbWFuaWZlc3RTZXJ2aWNlOiBNYW5pZmVzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21lc3NhZ2VDbGllbnQ6IE1lc3NhZ2VDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGV4dE1lbnVTZXJ2aWNlOiBWaWV3TWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaExheW91dFNlcnZpY2U6IFdvcmtiZW5jaExheW91dFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaFJvdXRlcjogV29ya2JlbmNoUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHVibGljIHZpZXc6IMm1V29ya2JlbmNoVmlldyxcbiAgICAgICAgICAgICAgQEluamVjdChJRlJBTUVfSE9TVCkgcHJvdGVjdGVkIGlmcmFtZUhvc3RSZWY6IFZpZXdDb250YWluZXJSZWZlcmVuY2UpIHtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gYENvbnN0cnVjdGluZyBNaWNyb2Zyb250ZW5kVmlld0NvbXBvbmVudC4gW3ZpZXdJZD0ke3RoaXMudmlldy5pZH1dYCwgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORF9ST1VUSU5HKTtcbiAgICB0aGlzLmtleXN0cm9rZXNUb0J1YmJsZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZpZXdDb250ZXh0TWVudUtleXN0cm9rZXMkKCksIG9mKHRoaXMuX3VuaXZlcnNhbEtleXN0cm9rZXMpXSlcbiAgICAgIC5waXBlKG1hcChrZXlzdHJva2VzID0+IG5ldyBBcnJheTxzdHJpbmc+KCkuY29uY2F0KC4uLmtleXN0cm9rZXMpKSk7XG4gICAgdGhpcy5pbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk7XG4gICAgdGhpcy5zcGxhc2ggPSBpbmplY3QoTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnKS5zcGxhc2ggPz8gTWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRDb250ZXh0VmFsdWUoybVWSUVXX0lEX0NPTlRFWFRfS0VZLCB0aGlzLnZpZXcuaWQpO1xuICAgIHRoaXMucHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTtcbiAgICB0aGlzLmluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQoKTtcbiAgICB0aGlzLmluc3RhbGxOYXZpZ2F0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE5hdmlnYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9yb3V0ZS5wYXJhbXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocGFyYW1zID0+IHRoaXMuZmV0Y2hDYXBhYmlsaXR5JChwYXJhbXNbybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMuybVWSUVXX0NBUEFCSUxJVFlfSURdKS5waXBlKG1hcChjYXBhYmlsaXR5ID0+ICh7Y2FwYWJpbGl0eSwgcGFyYW1zfSkpKSksXG4gICAgICAgIHNlcmlhbGl6ZUV4ZWN1dGlvbigoe2NhcGFiaWxpdHksIHBhcmFtc30pID0+IHRoaXMub25OYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHksIGNhcGFiaWxpdHksIHBhcmFtcykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uTmF2aWdhdGUocHJldkNhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkLCBjYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZCwgcGFyYW1zOiBQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWNhcGFiaWxpdHkpIHtcbiAgICAgIHRoaXMuX2xvZ2dlci53YXJuKCgpID0+IGBbTnVsbENhcGFiaWxpdHlFcnJvcl0gTm8gYXBwbGljYXRpb24gZm91bmQgdG8gcHJvdmlkZSBhIHZpZXcgY2FwYWJpbGl0eSBvZiBpZCAnJHtwYXJhbXNbybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMuybVWSUVXX0NBUEFCSUxJVFlfSURdfScuIE1heWJlLCB0aGUgcmVxdWVzdGVkIHZpZXcgaXMgbm90IHB1YmxpYyBBUEkgb3IgdGhlIHByb3ZpZGluZyBhcHBsaWNhdGlvbiBub3QgYXZhaWxhYmxlLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkRfUk9VVElORyk7XG4gICAgICBhd2FpdCB0aGlzLnZpZXcuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNhcGFiaWxpdHkgPSBjYXBhYmlsaXR5O1xuICAgIHRoaXMudmlldy5yZWdpc3RlckFkYXB0ZXIoTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcsIG5ldyBNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyhjYXBhYmlsaXR5LCBwYXJhbXMpKTtcblxuICAgIC8vIENoZWNrIGlmIG5hdmlnYXRpbmcgdG8gYSBuZXcgbWljcm9mcm9udGVuZC5cbiAgICBpZiAoIXByZXZDYXBhYmlsaXR5IHx8IHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpIHtcbiAgICAgIHRoaXMuc2V0Vmlld1Byb3BlcnRpZXMoY2FwYWJpbGl0eSwgcGFyYW1zKTtcbiAgICAgIHRoaXMuaW5zdGFsbFBhcmFtc1VwZGF0ZXIoY2FwYWJpbGl0eSk7XG4gICAgfVxuXG4gICAgLy8gU2lnbmFsIHRoZSBjdXJyZW50bHkgbG9hZGVkIGFwcGxpY2F0aW9uIHRvIHVubG9hZC5cbiAgICBpZiAocHJldkNhcGFiaWxpdHkgJiYgcHJldkNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lKSB7XG4gICAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3VW5sb2FkaW5nVG9waWModGhpcy52aWV3LmlkKSk7XG4gICAgfVxuXG4gICAgLy8gUGFzcyBwYXJhbWV0ZXJzIHRvIHRoZSBtaWNyb2Zyb250ZW5kLlxuICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaCjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdQYXJhbXNUb3BpYyh0aGlzLnZpZXcuaWQpLCBNYXBzLmNvZXJjZShwYXJhbXMpLCB7cmV0YWluOiB0cnVlfSk7XG5cbiAgICAvLyBXaGVuIG5hdmlnYXRpbmcgdG8gYW5vdGhlciB2aWV3IGNhcGFiaWxpdHkgb2YgdGhlIHNhbWUgYXBwLCB3YWl0IHVudGlsIHRyYW5zcG9ydGVkIHRoZSBwYXJhbXMgdG8gdGhlIG1pY3JvZnJvbnRlbmQgYmVmb3JlIGxvYWRpbmcgdGhlXG4gICAgLy8gbmV3IG1pY3JvZnJvbnRlbmQgaW50byB0aGUgaWZyYW1lLCBhbGxvd2luZyB0aGUgY3VycmVudGx5IGxvYWRlZCBtaWNyb2Zyb250ZW5kIHRvIGNsZWFuIHVwIHN1YnNjcmlwdGlvbnMuXG4gICAgaWYgKHByZXZDYXBhYmlsaXR5XG4gICAgICAmJiBwcmV2Q2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lID09PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcbiAgICAgICYmIHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpIHtcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvckNhcGFiaWxpdHlQYXJhbShjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCk7XG4gICAgfVxuXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSB0aGlzLl9tYW5pZmVzdFNlcnZpY2UuYXBwbGljYXRpb25zLmZpbmQoYXBwID0+IGFwcC5zeW1ib2xpY05hbWUgPT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSkhO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiBgTG9hZGluZyBtaWNyb2Zyb250ZW5kIGludG8gd29ya2JlbmNoIHZpZXcgW3ZpZXdJZD0ke3RoaXMudmlldy5pZH0sIGFwcD0ke2NhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZX0sIGJhc2VVcmw9JHthcHBsaWNhdGlvbi5iYXNlVXJsfSwgcGF0aD0keyhjYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aCl9XS5gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5EX1JPVVRJTkcsIHBhcmFtcywgY2FwYWJpbGl0eSk7XG4gICAgYXdhaXQgdGhpcy5fb3V0bGV0Um91dGVyLm5hdmlnYXRlKGNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7XG4gICAgICBvdXRsZXQ6IHRoaXMudmlldy5pZCxcbiAgICAgIHJlbGF0aXZlVG86IGFwcGxpY2F0aW9uLmJhc2VVcmwsXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIHB1c2hTdGF0ZVRvU2Vzc2lvbkhpc3RvcnlTdGFjazogZmFsc2UsXG4gICAgICBzaG93U3BsYXNoOiBjYXBhYmlsaXR5LnByb3BlcnRpZXMuc2hvd1NwbGFzaCxcbiAgICAgIMm1Y2FwYWJpbGl0eUlkOiBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCxcbiAgICB9KTtcblxuICAgIC8vIEluYWN0aXZlIHZpZXdzIGFyZSBkZXRhY2hlZCBmcm9tIHRoZSBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gdHJlZS5cbiAgICAvLyBUaGVyZWZvcmUsIG1hbnVhbGx5IGRldGVjdCB0aGlzIGNvbXBvbmVudCBmb3IgY2hhbmdlcyBmb3IgdXBkYXRpbmcgYXR0cmlidXRlcyBvbiB0aGUgYHNjaS1yb3V0ZXItb3V0bGV0YC5cbiAgICBpZiAoIXRoaXMudmlldy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZldGNoQ2FwYWJpbGl0eSQoY2FwYWJpbGl0eUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hbmlmZXN0U2VydmljZS5sb29rdXBDYXBhYmlsaXRpZXMkPFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5Pih7aWQ6IGNhcGFiaWxpdHlJZH0pLnBpcGUobWFwKGNhcGFiaWxpdGllcyA9PiBjYXBhYmlsaXRpZXMuYXQoMCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE1lbnVJdGVtQWNjZWxlcmF0b3JzJCgpOiB2b2lkIHtcbiAgICAvLyBTaW5jZSB0aGUgaWZyYW1lIGlzIGFkZGVkIGF0IGEgdG9wLWxldmVsIGxvY2F0aW9uIGluIHRoZSBET00sIHRoYXQgaXMsIG5vdCBhcyBhIGNoaWxkIGVsZW1lbnQgb2YgdGhpcyBjb21wb25lbnQsXG4gICAgLy8gdGhlIHdvcmtiZW5jaCB2aWV3IG1pc3NlcyBrZXlib2FyZCBldmVudHMgZnJvbSBlbWJlZGRlZCBjb250ZW50LiBBcyBhIHJlc3VsdCwgbWVudSBpdGVtIGFjY2VsZXJhdG9ycyBvZiB0aGUgY29udGV4dFxuICAgIC8vIG1lbnUgb2YgdGhpcyB2aWV3IGRvIG5vdCB3b3JrLCBzbyB3ZSBpbnN0YWxsIHRoZSBhY2NlbGVyYXRvcnMgb24gdGhlIHJvdXRlciBvdXRsZXQgYXMgd2VsbC5cbiAgICB0aGlzLl92aWV3Q29udGV4dE1lbnVTZXJ2aWNlLmluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQodGhpcy5yb3V0ZXJPdXRsZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMudmlldylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHJlcXVlc3RzIGZyb20gdGhlIGN1cnJlbnRseSBsb2FkZWQgbWljcm9mcm9udGVuZCB0byB1cGRhdGUgaXRzIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxQYXJhbXNVcGRhdGVyKHZpZXdDYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSk6IHZvaWQge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlUGFyYW1zVXBkYXRlciQubmV4dCgpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX21lc3NhZ2VDbGllbnQub2JzZXJ2ZSQ8ybVWaWV3UGFyYW1zVXBkYXRlQ29tbWFuZD4oybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVXBkYXRlVG9waWModGhpcy52aWV3LmlkLCB2aWV3Q2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlUGFyYW1zVXBkYXRlciQpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChyZXF1ZXN0OiBUb3BpY01lc3NhZ2U8ybVWaWV3UGFyYW1zVXBkYXRlQ29tbWFuZD4pID0+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByeGpzL25vLWFzeW5jLXN1YnNjcmliZVxuICAgICAgICAvLyBXZSBETyBOT1QgbmF2aWdhdGUgaWYgdGhlIHN1YnNjcmlwdGlvbiB3YXMgY2xvc2VkLCBlLmcuLCBiZWNhdXNlIGNsb3NlZCB0aGUgdmlldyBvciBuYXZpZ2F0ZWQgdG8gYW5vdGhlciBjYXBhYmlsaXR5LlxuICAgICAgICBjb25zdCByZXBseVRvID0gcmVxdWVzdC5oZWFkZXJzLmdldChNZXNzYWdlSGVhZGVycy5SZXBseVRvKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUobGF5b3V0ID0+IHtcbiAgICAgICAgICAgIC8vIENhbmNlbCBwZW5kaW5nIG5hdmlnYXRpb24gaWYgdGhlIHN1YnNjcmlwdGlvbiB3YXMgY2xvc2VkLCBlLmcuLCBiZWNhdXNlIGNsb3NlZCB0aGUgdmlldyBvciBuYXZpZ2F0ZWQgdG8gYW5vdGhlciBjYXBhYmlsaXR5XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGFyYW1zSGFuZGxpbmcgPSByZXF1ZXN0LmJvZHkhLnBhcmFtc0hhbmRsaW5nO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFBhcmFtcyA9IHRoaXMuX3JvdXRlLnNuYXBzaG90LnBhcmFtcztcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhcmFtcyA9IERpY3Rpb25hcmllcy5jb2VyY2UocmVxdWVzdC5ib2R5IS5wYXJhbXMpOyAvLyBjb2VyY2UgcGFyYW1zIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICAgICAgICBjb25zdCBtZXJnZWRQYXJhbXMgPSBPYmplY3RzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzKHBhcmFtc0hhbmRsaW5nID09PSAnbWVyZ2UnID8gey4uLmN1cnJlbnRQYXJhbXMsIC4uLm5ld1BhcmFtc30gOiBuZXdQYXJhbXMpO1xuICAgICAgICAgICAgY29uc3Qge3VybFBhcmFtcywgdHJhbnNpZW50UGFyYW1zfSA9IE1pY3JvZnJvbnRlbmRWaWV3Um91dGVzLnNwbGl0UGFyYW1zKG1lcmdlZFBhcmFtcywgdmlld0NhcGFiaWxpdHkpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0Lm5hdmlnYXRlVmlldyh0aGlzLnZpZXcuaWQsIFt1cmxQYXJhbXNdLCB7XG4gICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuX3JvdXRlLFxuICAgICAgICAgICAgICBzdGF0ZTogT2JqZWN0cy53aXRob3V0VW5kZWZpbmVkRW50cmllcyh7XG4gICAgICAgICAgICAgICAgW01pY3JvZnJvbnRlbmRWaWV3Um91dGVzLlNUQVRFX1RSQU5TSUVOVF9QQVJBTVNdOiB0cmFuc2llbnRQYXJhbXMsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2gocmVwbHlUbywgc3VjY2Vzcywge2hlYWRlcnM6IG5ldyBNYXAoKS5zZXQoTWVzc2FnZUhlYWRlcnMuU3RhdHVzLCBSZXNwb25zZVN0YXR1c0NvZGVzLlRFUk1JTkFMKX0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaChyZXBseVRvLCBzdHJpbmdpZnlFcnJvcihlcnJvciksIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5FUlJPUil9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIHZpZXcsIHN1Y2ggYXMgdGhlIHZpZXcgdGl0bGUsIGFzIGRlZmluZWQgYnkgdGhlIGNhcGFiaWxpdHkuXG4gICAqL1xuICBwcml2YXRlIHNldFZpZXdQcm9wZXJ0aWVzKHZpZXdDYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSwgcGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcudGl0bGUgPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMudGl0bGUsIE1hcHMuY29lcmNlKHBhcmFtcykpID8/IG51bGw7XG4gICAgdGhpcy52aWV3LmhlYWRpbmcgPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMuaGVhZGluZywgTWFwcy5jb2VyY2UocGFyYW1zKSkgPz8gbnVsbDtcbiAgICB0aGlzLnZpZXcuY2xhc3NMaXN0LnNldCh2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmNzc0NsYXNzLCB7c2NvcGU6ICdhcHBsaWNhdGlvbid9KTtcbiAgICB0aGlzLnZpZXcuY2xvc2FibGUgPSB2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmNsb3NhYmxlID8/IHRydWU7XG4gICAgdGhpcy52aWV3LmRpcnR5ID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUHJvbWlzZSB0aGF0IHJlc29sdmVzIG9uY2UgcGFyYW1zIGNvbnRhaW4gdGhlIGdpdmVuIGNhcGFiaWxpdHkgaWQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHdhaXRGb3JDYXBhYmlsaXR5UGFyYW0odmlld0NhcGFiaWxpdHlJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgdmlld1BhcmFtcyQgPSB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9ic2VydmUkPE1hcDxzdHJpbmcsIHN0cmluZz4+KMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1BhcmFtc1RvcGljKHRoaXMudmlldy5pZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwVG9Cb2R5KCksXG4gICAgICAgIGZpcnN0KHBhcmFtcyA9PiBwYXJhbXMuZ2V0KMm1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLsm1VklFV19DQVBBQklMSVRZX0lEKSA9PT0gdmlld0NhcGFiaWxpdHlJZCksXG4gICAgICApO1xuICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHZpZXdQYXJhbXMkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYXN5bmMgY2FuQ2xvc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FuQ2xvc2VUb3BpYyA9IMm1V29ya2JlbmNoQ29tbWFuZHMuY2FuQ2xvc2VUb3BpYyh0aGlzLnZpZXcuaWQpO1xuICAgIGNvbnN0IGxlZ2FjeUNhbkNsb3NlVG9waWMgPSDJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdDbG9zaW5nVG9waWModGhpcy52aWV3LmlkKTtcblxuICAgIC8vIEluaXRpYXRlIGEgcmVxdWVzdC1yZXNwb25zZSBjb21tdW5pY2F0aW9uIG9ubHkgaWYgdGhlIGVtYmVkZGVkIG1pY3JvZnJvbnRlbmQgaW1wbGVtZW50cyBgQ2FuQ2xvc2VgIGd1YXJkLlxuICAgIGNvbnN0IGhhc0NhbkNsb3NlR3VhcmQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9tZXNzYWdlQ2xpZW50LnN1YnNjcmliZXJDb3VudCQoY2FuQ2xvc2VUb3BpYykpID4gMDtcbiAgICBjb25zdCBoYXNMZWdhY3lDYW5DbG9zZUd1YXJkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fbWVzc2FnZUNsaWVudC5zdWJzY3JpYmVyQ291bnQkKGxlZ2FjeUNhbkNsb3NlVG9waWMpKSA+IDA7XG4gICAgaWYgKCFoYXNDYW5DbG9zZUd1YXJkICYmICFoYXNMZWdhY3lDYW5DbG9zZUd1YXJkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX21lc3NhZ2VDbGllbnQucmVxdWVzdCQ8Ym9vbGVhbj4oaGFzQ2FuQ2xvc2VHdWFyZCA/IGNhbkNsb3NlVG9waWMgOiBsZWdhY3lDYW5DbG9zZVRvcGljKS5waXBlKG1hcFRvQm9keSgpKSwge2RlZmF1bHRWYWx1ZTogdHJ1ZX0pO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXNXaXRoaW4oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qge2RldGFpbDogZm9jdXNXaXRoaW59ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8Ym9vbGVhbj47XG4gICAgaWYgKGZvY3VzV2l0aGluKSB7XG4gICAgICB0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ3NjaS1taWNyb2Zyb250ZW5kLWZvY3VzaW4nLCB7YnViYmxlczogdHJ1ZX0pKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBrZXlzdHJva2VzIHJlZ2lzdGVyZWQgd2l0aCBtZW51IGl0ZW1zIG9mIHRoaXMgdmlldydzIGNvbnRleHQgbWVudSxcbiAgICogYW5kIHRoZW4gY29udGludW91c2x5IHdoZW4gdGhleSBjaGFuZ2UuIFRoZSBvYnNlcnZhYmxlIG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHByaXZhdGUgdmlld0NvbnRleHRNZW51S2V5c3Ryb2tlcyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXcubWVudUl0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlckFycmF5KG1lbnVJdGVtID0+ICEhbWVudUl0ZW0uYWNjZWxlcmF0b3IpLFxuICAgICAgICBtYXBBcnJheShtZW51SXRlbSA9PiBtZW51SXRlbS5hY2NlbGVyYXRvciEubWFwKGFjY2VsZXJhdG9yID0+IHtcbiAgICAgICAgICAvLyBOb3JtYWxpemUga2V5c3Ryb2tlcyBhY2NvcmRpbmcgdG8gYFNjaVJvdXRlck91dGxldEVsZW1lbnQja2V5c3Ryb2tlc2BcbiAgICAgICAgICBzd2l0Y2ggKGFjY2VsZXJhdG9yKSB7XG4gICAgICAgICAgICBjYXNlICdjdHJsJzpcbiAgICAgICAgICAgICAgcmV0dXJuICdjb250cm9sJztcbiAgICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgICByZXR1cm4gJ2RvdCc7XG4gICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgICAgcmV0dXJuICdzcGFjZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gYWNjZWxlcmF0b3I7XG4gICAgICAgICAgfVxuICAgICAgICB9KSksXG4gICAgICAgIG1hcEFycmF5KGFjY2VsZXJhdG9yID0+IFsna2V5ZG93biddLmNvbmNhdChhY2NlbGVyYXRvcikuam9pbignLicpKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUge0BsaW5rIGlzV29ya2JlbmNoRHJhZ30gcHJvcGVydHkgd2hlbiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBkZXRlY3RlZCxcbiAgICogc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UuZHJhZ2dpbmckXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2JlbmNoRHJhZyA9IChldmVudCA9PT0gJ3N0YXJ0Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTogdm9pZCB7XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBNaWNyb2Zyb250ZW5kcy5wcm9wYWdhdGVUaGVtZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIEluc3RydWN0IHRoZSBtZXNzYWdlIGJyb2tlciB0byBkZWxldGUgcmV0YWluZWQgbWVzc2FnZXMgdG8gZnJlZSByZXNvdXJjZXMuXG4gICAgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0FjdGl2ZVRvcGljKHRoaXMudmlldy5pZCksIHVuZGVmaW5lZCwge3JldGFpbjogdHJ1ZX0pLnRoZW4oKTtcbiAgICB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVG9waWModGhpcy52aWV3LmlkKSwgdW5kZWZpbmVkLCB7cmV0YWluOiB0cnVlfSkudGhlbigpO1xuICAgIHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZShudWxsLCB7b3V0bGV0OiB0aGlzLnZpZXcuaWR9KS50aGVuKCk7XG4gICAgdGhpcy52aWV3LnVucmVnaXN0ZXJBZGFwdGVyKE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KTtcbiAgfVxufVxuXG4vKipcbiAqIEJsb2NrcyB0aGUgbWljcm9mcm9udGVuZCBvdXRsZXQgd2hlbiBkaWFsb2cocykgb3ZlcmxheSB0aGlzIHZpZXcuXG4gKi9cbmZ1bmN0aW9uIGNvbmZpZ3VyZU1pY3JvZnJvbnRlbmRHbGFzc1BhbmUoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR0xBU1NfUEFORV9CTE9DS0FCTEUsXG4gICAgICB1c2VFeGlzdGluZzogybVXb3JrYmVuY2hWaWV3LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogR0xBU1NfUEFORV9PUFRJT05TLFxuICAgICAgdXNlRmFjdG9yeTogKCk6IEdsYXNzUGFuZU9wdGlvbnMgPT4gKHthdHRyaWJ1dGVzOiB7J2RhdGEtdmlld2lkJzogaW5qZWN0KFdvcmtiZW5jaFZpZXcpLmlkfX0pLFxuICAgIH0sXG4gIF07XG59XG4iLCI8d2ItY29udGVudC1hcy1vdmVybGF5IFtvdmVybGF5SG9zdF09XCJpZnJhbWVIb3N0UmVmLnJlZiQgfCBhc3luY1wiPlxuICA8ZGl2IGNsYXNzPVwibWljcm9mcm9udGVuZC12aWV3XCJcbiAgICAgICBbY2xhc3Mud29ya2JlbmNoLWRyYWddPVwiaXNXb3JrYmVuY2hEcmFnXCJcbiAgICAgICBbYXR0ci5kYXRhLXZpZXdpZF09XCJ2aWV3LmlkXCJcbiAgICAgICB3YkdsYXNzUGFuZT5cbiAgICA8c2NpLXJvdXRlci1vdXRsZXQgI3JvdXRlcl9vdXRsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwidmlldy5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY2FwYWJpbGl0eWlkXT1cImNhcGFiaWxpdHk/Lm1ldGFkYXRhIS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXBwXT1cImNhcGFiaWxpdHk/Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ2aWV3LmNsYXNzTGlzdC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c3dpdGhpbik9XCJvbkZvY3VzV2l0aGluKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICBba2V5c3Ryb2tlc109XCJrZXlzdHJva2VzVG9CdWJibGUkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zY2ktcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L3diLWNvbnRlbnQtYXMtb3ZlcmxheT5cbiJdfQ==
@@ -16,10 +16,10 @@ export class MicrofrontendViewCapabilityIdAssigner {
16
16
  metadata: { ...capability.metadata, id: stableIdentifier },
17
17
  };
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, decorators: [{
23
23
  type: Injectable
24
24
  }] });
25
25
  /**
@@ -38,4 +38,4 @@ async function createStableViewIdentifier(capability) {
38
38
  // Use the first 7 digits of the hash.
39
39
  return identifierHash.substring(0, 7);
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL3JvdXRpbmcvbWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRTdDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFDQUFxQztJQUV6QyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQXNCO1FBQzNDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUU7WUFDbEQsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEUsT0FBTztZQUNMLEdBQUcsVUFBVTtZQUNiLFFBQVEsRUFBRSxFQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUM7U0FDMUQsQ0FBQztJQUNKLENBQUM7OEdBWlUscUNBQXFDO2tIQUFyQyxxQ0FBcUM7OzJGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVU7O0FBZ0JYOztHQUVHO0FBQ0gsS0FBSyxVQUFVLDBCQUEwQixDQUFDLFVBQXNCO0lBQzlELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFVLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFFBQVMsQ0FBQyxlQUFlLENBQUM7SUFFcEQsdUVBQXVFO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3RDLElBQUksRUFBRTtTQUNOLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDcEYsQ0FBQyxNQUFNLENBQUMsQ0FDVDtTQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUViLHVCQUF1QjtJQUN2QixNQUFNLGNBQWMsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsc0NBQXNDO0lBQ3RDLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDYXBhYmlsaXR5LCBDYXBhYmlsaXR5SW50ZXJjZXB0b3J9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaENhcGFiaWxpdGllc30gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaC1jbGllbnQnO1xuaW1wb3J0IHtDcnlwdG99IGZyb20gJ0BzY2lvbi90b29sa2l0L2NyeXB0byc7XG5cbi8qKlxuICogQXNzaWducyBlYWNoIHZpZXcgY2FwYWJpbGl0eSBhIHN0YWJsZSBpZGVudGlmZXIgcmVxdWlyZWQgZm9yIHBlcnNpc3RlbnQgbmF2aWdhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoLyogRE8gTk9UIFBST1ZJREUgdmlhICdwcm92aWRlZEluJyBtZXRhZGF0YSBhcyBvbmx5IHJlZ2lzdGVyZWQgaWYgbWljcm9mcm9udGVuZCBzdXBwb3J0IGlzIGVuYWJsZWQuICovKVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRWaWV3Q2FwYWJpbGl0eUlkQXNzaWduZXIgaW1wbGVtZW50cyBDYXBhYmlsaXR5SW50ZXJjZXB0b3Ige1xuXG4gIHB1YmxpYyBhc3luYyBpbnRlcmNlcHQoY2FwYWJpbGl0eTogQ2FwYWJpbGl0eSk6IFByb21pc2U8Q2FwYWJpbGl0eT4ge1xuICAgIGlmIChjYXBhYmlsaXR5LnR5cGUgIT09IFdvcmtiZW5jaENhcGFiaWxpdGllcy5WaWV3KSB7XG4gICAgICByZXR1cm4gY2FwYWJpbGl0eTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFibGVJZGVudGlmaWVyID0gYXdhaXQgY3JlYXRlU3RhYmxlVmlld0lkZW50aWZpZXIoY2FwYWJpbGl0eSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNhcGFiaWxpdHksXG4gICAgICBtZXRhZGF0YTogey4uLmNhcGFiaWxpdHkubWV0YWRhdGEhLCBpZDogc3RhYmxlSWRlbnRpZmllcn0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGFibGUgaWRlbnRpZmllciBmb3IgZ2l2ZW4gdmlldyBjYXBhYmlsaXR5LlxuICovXG5hc3luYyBmdW5jdGlvbiBjcmVhdGVTdGFibGVWaWV3SWRlbnRpZmllcihjYXBhYmlsaXR5OiBDYXBhYmlsaXR5KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgcXVhbGlmaWVyID0gY2FwYWJpbGl0eS5xdWFsaWZpZXIhO1xuICBjb25zdCB2ZW5kb3IgPSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWU7XG5cbiAgLy8gQ3JlYXRlIGlkZW50aWZpZXIgY29uc2lzdGluZyBvZiB2ZW5kb3IgYW5kIHNvcnRlZCBxdWFsaWZpZXIgZW50cmllcy5cbiAgY29uc3QgaWRlbnRpZmllciA9IE9iamVjdC5rZXlzKHF1YWxpZmllcilcbiAgICAuc29ydCgpXG4gICAgLnJlZHVjZShcbiAgICAgIChhY2MsIHF1YWxpZmllcktleSkgPT4gYWNjLmNvbmNhdChxdWFsaWZpZXJLZXkpLmNvbmNhdChgJHtxdWFsaWZpZXJbcXVhbGlmaWVyS2V5XX1gKSxcbiAgICAgIFt2ZW5kb3JdLFxuICAgIClcbiAgICAuam9pbignOycpO1xuXG4gIC8vIEhhc2ggdGhlIGlkZW50aWZpZXIuXG4gIGNvbnN0IGlkZW50aWZpZXJIYXNoID0gYXdhaXQgQ3J5cHRvLmRpZ2VzdChpZGVudGlmaWVyKTtcbiAgLy8gVXNlIHRoZSBmaXJzdCA3IGRpZ2l0cyBvZiB0aGUgaGFzaC5cbiAgcmV0dXJuIGlkZW50aWZpZXJIYXNoLnN1YnN0cmluZygwLCA3KTtcbn1cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL3JvdXRpbmcvbWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRTdDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFDQUFxQztJQUV6QyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQXNCO1FBQzNDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU87WUFDTCxHQUFHLFVBQVU7WUFDYixRQUFRLEVBQUUsRUFBQyxHQUFHLFVBQVUsQ0FBQyxRQUFTLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFDO1NBQzFELENBQUM7SUFDSixDQUFDOzhHQVpVLHFDQUFxQztrSEFBckMscUNBQXFDOzsyRkFBckMscUNBQXFDO2tCQURqRCxVQUFVOztBQWdCWDs7R0FFRztBQUNILEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxVQUFzQjtJQUM5RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBVSxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFTLENBQUMsZUFBZSxDQUFDO0lBRXBELHVFQUF1RTtJQUN2RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN0QyxJQUFJLEVBQUU7U0FDTixNQUFNLENBQ0wsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ3BGLENBQUMsTUFBTSxDQUFDLENBQ1Q7U0FDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYix1QkFBdUI7SUFDdkIsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELHNDQUFzQztJQUN0QyxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2FwYWJpbGl0eSwgQ2FwYWJpbGl0eUludGVyY2VwdG9yfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hDYXBhYmlsaXRpZXN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7Q3J5cHRvfSBmcm9tICdAc2Npb24vdG9vbGtpdC9jcnlwdG8nO1xuXG4vKipcbiAqIEFzc2lnbnMgZWFjaCB2aWV3IGNhcGFiaWxpdHkgYSBzdGFibGUgaWRlbnRpZmVyIHJlcXVpcmVkIGZvciBwZXJzaXN0ZW50IG5hdmlnYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgb25seSByZWdpc3RlcmVkIGlmIG1pY3JvZnJvbnRlbmQgc3VwcG9ydCBpcyBlbmFibGVkLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0NhcGFiaWxpdHlJZEFzc2lnbmVyIGltcGxlbWVudHMgQ2FwYWJpbGl0eUludGVyY2VwdG9yIHtcblxuICBwdWJsaWMgYXN5bmMgaW50ZXJjZXB0KGNhcGFiaWxpdHk6IENhcGFiaWxpdHkpOiBQcm9taXNlPENhcGFiaWxpdHk+IHtcbiAgICBpZiAoY2FwYWJpbGl0eS50eXBlICE9PSBXb3JrYmVuY2hDYXBhYmlsaXRpZXMuVmlldykge1xuICAgICAgcmV0dXJuIGNhcGFiaWxpdHk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhYmxlSWRlbnRpZmllciA9IGF3YWl0IGNyZWF0ZVN0YWJsZVZpZXdJZGVudGlmaWVyKGNhcGFiaWxpdHkpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXBhYmlsaXR5LFxuICAgICAgbWV0YWRhdGE6IHsuLi5jYXBhYmlsaXR5Lm1ldGFkYXRhISwgaWQ6IHN0YWJsZUlkZW50aWZpZXJ9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RhYmxlIGlkZW50aWZpZXIgZm9yIGdpdmVuIHZpZXcgY2FwYWJpbGl0eS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3RhYmxlVmlld0lkZW50aWZpZXIoY2FwYWJpbGl0eTogQ2FwYWJpbGl0eSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHF1YWxpZmllciA9IGNhcGFiaWxpdHkucXVhbGlmaWVyITtcbiAgY29uc3QgdmVuZG9yID0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lO1xuXG4gIC8vIENyZWF0ZSBpZGVudGlmaWVyIGNvbnNpc3Rpbmcgb2YgdmVuZG9yIGFuZCBzb3J0ZWQgcXVhbGlmaWVyIGVudHJpZXMuXG4gIGNvbnN0IGlkZW50aWZpZXIgPSBPYmplY3Qua2V5cyhxdWFsaWZpZXIpXG4gICAgLnNvcnQoKVxuICAgIC5yZWR1Y2UoXG4gICAgICAoYWNjLCBxdWFsaWZpZXJLZXkpID0+IGFjYy5jb25jYXQocXVhbGlmaWVyS2V5KS5jb25jYXQoYCR7cXVhbGlmaWVyW3F1YWxpZmllcktleV19YCksXG4gICAgICBbdmVuZG9yXSxcbiAgICApXG4gICAgLmpvaW4oJzsnKTtcblxuICAvLyBIYXNoIHRoZSBpZGVudGlmaWVyLlxuICBjb25zdCBpZGVudGlmaWVySGFzaCA9IGF3YWl0IENyeXB0by5kaWdlc3QoaWRlbnRpZmllcik7XG4gIC8vIFVzZSB0aGUgZmlyc3QgNyBkaWdpdHMgb2YgdGhlIGhhc2guXG4gIHJldHVybiBpZGVudGlmaWVySGFzaC5zdWJzdHJpbmcoMCwgNyk7XG59XG4iXX0=
@@ -21,10 +21,10 @@ export class MicrofrontendViewCapabilityValidator {
21
21
  }
22
22
  return capability;
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityValidator }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: MicrofrontendViewCapabilityValidator, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator, decorators: [{
28
28
  type: Injectable
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktdmFsaWRhdG9yLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1jYXBhYmlsaXR5LXZhbGlkYXRvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxxQkFBcUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFdkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0NBQW9DO0lBRXhDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBc0I7UUFDM0MsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLElBQUksRUFBRTtZQUNsRCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELE1BQU0sY0FBYyxHQUFHLFVBQXFDLENBQUM7UUFDN0Qsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQzlFLE1BQU0sS0FBSyxDQUFDLHlFQUF5RSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6SDtRQUVELGlEQUFpRDtRQUNqRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztRQUM3QyxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUN2QyxNQUFNLEtBQUssQ0FBQyxzR0FBc0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEo7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQXBCVSxvQ0FBb0M7a0hBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDYXBhYmlsaXR5LCBDYXBhYmlsaXR5SW50ZXJjZXB0b3J9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaENhcGFiaWxpdGllcywgV29ya2JlbmNoVmlld0NhcGFiaWxpdHl9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcblxuLyoqXG4gKiBBc3NlcnRzIHZpZXcgY2FwYWJpbGl0aWVzIHRvIGhhdmUgcmVxdWlyZWQgcHJvcGVydGllcyBhbmQgYXNzaWducyBlYWNoIHZpZXcgY2FwYWJpbGl0eSBhIHN0YWJsZSBpZGVudGlmZXIgcmVxdWlyZWQgZm9yIHBlcnNpc3RlbnQgbmF2aWdhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoLyogRE8gTk9UIFBST1ZJREUgdmlhICdwcm92aWRlZEluJyBtZXRhZGF0YSBhcyBvbmx5IHJlZ2lzdGVyZWQgaWYgbWljcm9mcm9udGVuZCBzdXBwb3J0IGlzIGVuYWJsZWQuICovKVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRWaWV3Q2FwYWJpbGl0eVZhbGlkYXRvciBpbXBsZW1lbnRzIENhcGFiaWxpdHlJbnRlcmNlcHRvciB7XG5cbiAgcHVibGljIGFzeW5jIGludGVyY2VwdChjYXBhYmlsaXR5OiBDYXBhYmlsaXR5KTogUHJvbWlzZTxDYXBhYmlsaXR5PiB7XG4gICAgaWYgKGNhcGFiaWxpdHkudHlwZSAhPT0gV29ya2JlbmNoQ2FwYWJpbGl0aWVzLlZpZXcpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5O1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdDYXBhYmlsaXR5ID0gY2FwYWJpbGl0eSBhcyBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eTtcbiAgICAvLyBBc3NlcnQgdGhlIHZpZXcgY2FwYWJpbGl0eSB0byBoYXZlIGEgcXVhbGlmaWVyIHNldC5cbiAgICBpZiAoIXZpZXdDYXBhYmlsaXR5LnF1YWxpZmllciB8fCAhT2JqZWN0LmtleXModmlld0NhcGFiaWxpdHkucXVhbGlmaWVyKS5sZW5ndGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFF1YWxpZmllckVycm9yXSBWaWV3IGNhcGFiaWxpdHkgcmVxdWlyZXMgYSBxdWFsaWZpZXIgW2NhcGFiaWxpdHk9JHtKU09OLnN0cmluZ2lmeSh2aWV3Q2FwYWJpbGl0eSl9XWApO1xuICAgIH1cblxuICAgIC8vIEFzc2VydCB0aGUgdmlldyBjYXBhYmlsaXR5IHRvIGhhdmUgYSBwYXRoIHNldC5cbiAgICBjb25zdCBwYXRoID0gdmlld0NhcGFiaWxpdHkucHJvcGVydGllcz8ucGF0aDtcbiAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFBhdGhFcnJvcl0gVmlldyBjYXBhYmlsaXR5IHJlcXVpcmVzIGEgcGF0aCB0byB0aGUgbWljcm9mcm9udGVuZCBpbiBpdHMgcHJvcGVydGllcyBbY2FwYWJpbGl0eT0ke0pTT04uc3RyaW5naWZ5KHZpZXdDYXBhYmlsaXR5KX1dYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhcGFiaWxpdHk7XG4gIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktdmFsaWRhdG9yLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1jYXBhYmlsaXR5LXZhbGlkYXRvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxxQkFBcUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFdkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0NBQW9DO0lBRXhDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBc0I7UUFDM0MsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25ELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxVQUFxQyxDQUFDO1FBQzdELHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9FLE1BQU0sS0FBSyxDQUFDLHlFQUF5RSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxSCxDQUFDO1FBRUQsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQzdDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxLQUFLLENBQUMsc0dBQXNHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZKLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQXBCVSxvQ0FBb0M7a0hBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDYXBhYmlsaXR5LCBDYXBhYmlsaXR5SW50ZXJjZXB0b3J9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaENhcGFiaWxpdGllcywgV29ya2JlbmNoVmlld0NhcGFiaWxpdHl9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcblxuLyoqXG4gKiBBc3NlcnRzIHZpZXcgY2FwYWJpbGl0aWVzIHRvIGhhdmUgcmVxdWlyZWQgcHJvcGVydGllcyBhbmQgYXNzaWducyBlYWNoIHZpZXcgY2FwYWJpbGl0eSBhIHN0YWJsZSBpZGVudGlmZXIgcmVxdWlyZWQgZm9yIHBlcnNpc3RlbnQgbmF2aWdhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoLyogRE8gTk9UIFBST1ZJREUgdmlhICdwcm92aWRlZEluJyBtZXRhZGF0YSBhcyBvbmx5IHJlZ2lzdGVyZWQgaWYgbWljcm9mcm9udGVuZCBzdXBwb3J0IGlzIGVuYWJsZWQuICovKVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRWaWV3Q2FwYWJpbGl0eVZhbGlkYXRvciBpbXBsZW1lbnRzIENhcGFiaWxpdHlJbnRlcmNlcHRvciB7XG5cbiAgcHVibGljIGFzeW5jIGludGVyY2VwdChjYXBhYmlsaXR5OiBDYXBhYmlsaXR5KTogUHJvbWlzZTxDYXBhYmlsaXR5PiB7XG4gICAgaWYgKGNhcGFiaWxpdHkudHlwZSAhPT0gV29ya2JlbmNoQ2FwYWJpbGl0aWVzLlZpZXcpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5O1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdDYXBhYmlsaXR5ID0gY2FwYWJpbGl0eSBhcyBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eTtcbiAgICAvLyBBc3NlcnQgdGhlIHZpZXcgY2FwYWJpbGl0eSB0byBoYXZlIGEgcXVhbGlmaWVyIHNldC5cbiAgICBpZiAoIXZpZXdDYXBhYmlsaXR5LnF1YWxpZmllciB8fCAhT2JqZWN0LmtleXModmlld0NhcGFiaWxpdHkucXVhbGlmaWVyKS5sZW5ndGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFF1YWxpZmllckVycm9yXSBWaWV3IGNhcGFiaWxpdHkgcmVxdWlyZXMgYSBxdWFsaWZpZXIgW2NhcGFiaWxpdHk9JHtKU09OLnN0cmluZ2lmeSh2aWV3Q2FwYWJpbGl0eSl9XWApO1xuICAgIH1cblxuICAgIC8vIEFzc2VydCB0aGUgdmlldyBjYXBhYmlsaXR5IHRvIGhhdmUgYSBwYXRoIHNldC5cbiAgICBjb25zdCBwYXRoID0gdmlld0NhcGFiaWxpdHkucHJvcGVydGllcz8ucGF0aDtcbiAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFBhdGhFcnJvcl0gVmlldyBjYXBhYmlsaXR5IHJlcXVpcmVzIGEgcGF0aCB0byB0aGUgbWljcm9mcm9udGVuZCBpbiBpdHMgcHJvcGVydGllcyBbY2FwYWJpbGl0eT0ke0pTT04uc3RyaW5naWZ5KHZpZXdDYXBhYmlsaXR5KX1dYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhcGFiaWxpdHk7XG4gIH1cbn1cbiJdfQ==