@coolon/angular-ui-powerups 16.1.0-aplpha.164 → 16.1.0-aplpha.165
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/exports.mjs +5 -4
- package/esm2022/lib/place/place-auth-service.mjs +3 -2
- package/esm2022/lib/place/place-router.mjs +6 -4
- package/fesm2022/coolon-angular-ui-powerups.mjs +7 -4
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/exports.d.ts +4 -3
- package/package.json +1 -1
|
@@ -78,15 +78,16 @@ export * from "./tables/renderer/default-cell-renderer/default-cell-renderer.com
|
|
|
78
78
|
export * from "./tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component";
|
|
79
79
|
export * from "./tables/renderer/select-header-cell/selection-header-cell.component";
|
|
80
80
|
export * from "./tables/renderer/selection-cell/selection-cell.component";
|
|
81
|
+
export * from "./tables/renderer/table-action-column/menu-builder";
|
|
82
|
+
export * from "./tables/renderer/table-action-column/table-action-column.component";
|
|
81
83
|
export * from "./tables/renderer/table-body/table-body.component";
|
|
82
84
|
export * from "./tables/renderer/table-cell/table-cell.component";
|
|
85
|
+
export * from "./tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component";
|
|
86
|
+
export * from "./tables/renderer/table-custom-more-menu/table-custom-more-menu.component";
|
|
83
87
|
export * from "./tables/renderer/table-footer-row/table-footer-row.component";
|
|
84
88
|
export * from "./tables/renderer/table-header-cell/table-header-cell.component";
|
|
85
|
-
export * from "./tables/renderer/table-custom-more-menu/table-custom-more-menu.component";
|
|
86
|
-
export * from "./tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component";
|
|
87
89
|
export * from "./tables/table/table-model";
|
|
88
90
|
export * from "./tables/table/table.component";
|
|
89
|
-
export * from "./tables/renderer/table-action-column/table-action-column.component";
|
|
90
91
|
export * from "./tables/tree-table/decorated-tree-node";
|
|
91
92
|
export * from "./tables/tree-table/flattened-tree-list-model";
|
|
92
93
|
export * from "./tables/tree-table/tree-expansion-model";
|
|
@@ -101,4 +102,4 @@ export * from "./types/dimension.class";
|
|
|
101
102
|
export * from "./types/loadable";
|
|
102
103
|
export * from "./types/point.class";
|
|
103
104
|
export * from "./vertical-focus-container/vertical-focus-container.component";
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFFQUFxRSxDQUFDO0FBQ3BGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrREFBK0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1c2FibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2FkYWJsZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc2l6ZS1hd2FyZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXN5LW92ZXJsYXkvYnVzeS1vdmVybGF5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FyZHMvYWJzdHJhY3QtY2FyZC1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXJkcy9jYXJkLWNvbnRhaW5lci9jYXJkLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQtZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZmxleC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL3NlcGFyYXRvci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2J1dHRvbi1yZW5kZXJlci9idXR0b24tcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9jb21tYW5kL2NvbW1hbmQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9jb21tYW5kLWZhY2UvY29tbWFuZC1mYWNlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvY29tbWFuZC1jb250YWluZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLWF3YXJlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtY29udGFpbmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L2Fic3RyYWN0LXBvcHVwLW1lbnUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L21vcmUtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvcG9wdXAtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvcG9wdXAtbWVudS1yZW5kZXJlci9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvdG9vbC1iYXIvdG9vbC1iYXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbXB0eS1zdGF0ZS9lbXB0eS1zdGF0ZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbGUvZmlsZS1kb3dubG9hZC9maWxlLWRvd25sb2FkLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9jdXMtY29udGFpbmVyL2ZvY3VzLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2Fic3RyYWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtbGlzdC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2Fic3RyYWN0LXZhbHVlLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvZm9ybS1maWVsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYXV0b2NvbXBsZXRlLWlucHV0L2F1dG9jb21wbGV0ZS1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL2NoZWNrYm94LWlucHV0L2NoZWNrYm94LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvbXVsdGlwbGUtc2VsZWN0LWlucHV0L211bHRpcGxlLXNlbGVjdC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvc3RyaW5nLWlucHV0L3N0cmluZy1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhYmVsbGVkLXZhbHVlL2xhYmVsbGVkLXZhbHVlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9hZGluZy1jb250YWluZXIvbG9hZGluZy1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub29wL25vb3AuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zY3JvbGwtY29udGFpbmVyL3Njcm9sbC1jb250YWluZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWN0aW9uLWhlYWRlci9zZWN0aW9uLWhlYWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N3aXRjaC1jYXNlL3N3aXRjaC1jYXNlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvYWJzdHJhY3QtdGFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tb3JkZXItbWFuYWdlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tdGV4dC1wcm9wZXJ0aWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2N1c3RvbS10ZW1wbGF0ZS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY3VzdG9tLXZhbHVlLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9lZGl0b3ItY29udHJvbHMtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2xpc3QtcHJvcGVyeS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vcHJvcGVydHktY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL3NlbGVjdGlvbi1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLXRlbXBsYXRlL2NvbHVtbi10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZWRpdG9yL2VkaXRhYmxlLWNlbGwtcmVuZGVyZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdC1yb3ctY29udHJvbHMvZWRpdC1yb3ctY29udHJvbHMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2ZpbHRlci90ZXh0LXNlYXJjaC1wcmVkaWNhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9mb290ZXIvZm9vdGVyLXJvdy1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvYWJzdHJhY3QtY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2NlbGwtZWRpdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci9zZWxlY3QtaGVhZGVyLWNlbGwvc2VsZWN0aW9uLWhlYWRlci1jZWxsLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3NlbGVjdGlvbi1jZWxsL3NlbGVjdGlvbi1jZWxsLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWJvZHkvdGFibGUtYm9keS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtZm9vdGVyLXJvdy90YWJsZS1mb290ZXItcm93LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWhlYWRlci1jZWxsL3RhYmxlLWhlYWRlci1jZWxsLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWN1c3RvbS1tb3JlLW1lbnUvdGFibGUtY3VzdG9tLW1vcmUtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jdXN0b20tbW9yZS1tZW51L3RhYmxlLWN1c3RvbS1tb3JlLW1lbnUtcG9wdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdGFibGUvdGFibGUtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90YWJsZS90YWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1hY3Rpb24tY29sdW1uL3RhYmxlLWFjdGlvbi1jb2x1bW4uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS9kZWNvcmF0ZWQtdHJlZS1ub2RlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS9mbGF0dGVuZWQtdHJlZS1saXN0LW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWV4cGFuc2lvbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1sYWJlbC1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtdGFibGUtY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLWluaGVyaXRhbmNlLWljb24vdHJlZS1pbmhlcml0YW5jZS1pY29uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1sYWJlbC1jZWxsLXJlbmRlcmVyL3RyZWUtbGFiZWwtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RleHQvbWFya2Rvd24vbWFya2Rvd24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9ib3VuZHMuY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL2RpbWVuc2lvbi5jbGFzc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvbG9hZGFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL3BvaW50LmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC1mb2N1cy1jb250YWluZXIvdmVydGljYWwtZm9jdXMtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuIl19
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxpRkFBaUYsQ0FBQztBQUNoRyxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyRUFBMkUsQ0FBQztBQUMxRixjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtEQUErRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWxpZ25tZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZvY3VzYWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvYWRhYmxlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzaXplLWF3YXJlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJhY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXJkcy9hYnN0cmFjdC1jYXJkLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcmRzL2NhcmQtY29udGFpbmVyL2NhcmQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvY29tbWFuZC1mYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9mbGV4LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvc2VwYXJhdG9yLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvYnV0dG9uLXJlbmRlcmVyL2J1dHRvbi1yZW5kZXJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2NvbW1hbmQtZmFjZS9jb21tYW5kLWZhY2UuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9jb21tYW5kLWNvbnRhaW5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtYXdhcmUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC9wb3B1cC1jb250YWluZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LXJlbmRlcmVyL3BvcHVwLW1lbnUtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21tYW5kcy9ncm91cC90b29sLWJhci90b29sLWJhci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1cy1jb250YWluZXIvZm9jdXMtY29udGFpbmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9hYnN0cmFjdC1saXN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvYWJzdHJhY3QtdmFsdWUtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9mb3JtLWZpZWxkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9hdXRvY29tcGxldGUtaW5wdXQvYXV0b2NvbXBsZXRlLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvY2hlY2tib3gtaW5wdXQvY2hlY2tib3gtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9tdWx0aXBsZS1zZWxlY3QtaW5wdXQvbXVsdGlwbGUtc2VsZWN0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3Bhc3N3b3JkLWlucHV0L3Bhc3N3b3JkLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvcm1zL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9zdHJpbmctaW5wdXQvc3RyaW5nLWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGFiZWxsZWQtdmFsdWUvbGFiZWxsZWQtdmFsdWUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2FkaW5nLWNvbnRhaW5lci9sb2FkaW5nLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vb3Avbm9vcC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Njcm9sbC1jb250YWluZXIvc2Nyb2xsLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlY3Rpb24taGVhZGVyL3NlY3Rpb24taGVhZGVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3dpdGNoLWNhc2Uvc3dpdGNoLWNhc2UuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9hYnN0cmFjdC10YWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi1vcmRlci1tYW5hZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2NvbHVtbi10ZXh0LXByb3BlcnRpZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jdXN0b20tdmFsdWUtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvY29sdW1uL2VkaXRvci1jb250cm9scy1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vbGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9wcm9wZXJ0eS1jb2x1bW4tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9jb2x1bW4vc2VsZWN0aW9uLWNvbHVtbi1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2NvbHVtbi9jb2x1bW4tdGVtcGxhdGUvY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2VkaXRvci9lZGl0LXJvdy1jb250cm9scy9lZGl0LXJvdy1jb250cm9scy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvY29sdW1uLXRleHQtc2VhcmNoLWZvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2ZpbHRlci9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9maWx0ZXIvdGFibGUtZmlsdGVyLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvZmlsdGVyL3RleHQtc2VhcmNoLXByZWRpY2F0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL2Zvb3Rlci9mb290ZXItcm93LW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci9hYnN0cmFjdC1jZWxsLXJlbmRlcmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1lZGl0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1oZWFkZXItY2VsbC1yZW5kZXJlci9kZWZhdWx0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3NlbGVjdC1oZWFkZXItY2VsbC9zZWxlY3Rpb24taGVhZGVyLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvc2VsZWN0aW9uLWNlbGwvc2VsZWN0aW9uLWNlbGwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtYWN0aW9uLWNvbHVtbi9tZW51LWJ1aWxkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1hY3Rpb24tY29sdW1uL3RhYmxlLWFjdGlvbi1jb2x1bW4uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWNlbGwvdGFibGUtY2VsbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1jdXN0b20tbW9yZS1tZW51L3RhYmxlLWN1c3RvbS1tb3JlLW1lbnUtcG9wdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvcmVuZGVyZXIvdGFibGUtY3VzdG9tLW1vcmUtbWVudS90YWJsZS1jdXN0b20tbW9yZS1tZW51LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3JlbmRlcmVyL3RhYmxlLWZvb3Rlci1yb3cvdGFibGUtZm9vdGVyLXJvdy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy9yZW5kZXJlci90YWJsZS1oZWFkZXItY2VsbC90YWJsZS1oZWFkZXItY2VsbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RhYmxlL3RhYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvZGVjb3JhdGVkLXRyZWUtbm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvZmxhdHRlbmVkLXRyZWUtbGlzdC1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1leHBhbnNpb24tbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtbGFiZWwtY29sdW1uLW1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS10YWJsZS1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFibGVzL3RyZWUtdGFibGUvdHJlZS1pbmhlcml0YW5jZS1pY29uL3RyZWUtaW5oZXJpdGFuY2UtaWNvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtbGFiZWwtY2VsbC1yZW5kZXJlci90cmVlLWxhYmVsLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXh0L21hcmtkb3duL21hcmtkb3duLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMvYm91bmRzLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9kaW1lbnNpb24uY2xhc3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzL2xvYWRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy9wb2ludC5jbGFzc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwtZm9jdXMtY29udGFpbmVyL3ZlcnRpY2FsLWZvY3VzLWNvbnRhaW5lci5jb21wb25lbnRcIjtcbiJdfQ==
|
|
@@ -108,7 +108,8 @@ export class PlaceAuthService extends GarbageCollector {
|
|
|
108
108
|
enablePlace(placeDefinition, options) {
|
|
109
109
|
const { chain } = Dsl.disposeWith(this);
|
|
110
110
|
const when$ = options.when$ ? options.when$ : chain(options.unless$).isFalsey();
|
|
111
|
-
|
|
111
|
+
// NOTE: we're wrapping the when$ so callers can pass in the same model multiple times (pectin doesn't support depending on multiples of the same model yet)
|
|
112
|
+
this.enabledPlaceChecker.enableWhen(PlaceComponent.getDefinition(placeDefinition), chain(when$).isTruthy(), options);
|
|
112
113
|
}
|
|
113
114
|
async waitUntilAuthenticationReady() {
|
|
114
115
|
await toPromise(this, this._authNReady$);
|
|
@@ -148,4 +149,4 @@ export class PlaceAuthService extends GarbageCollector {
|
|
|
148
149
|
}
|
|
149
150
|
PlaceAuthService.AccessGuard = AccessGuard;
|
|
150
151
|
})(PlaceAuthService || (PlaceAuthService = {}));
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtYXV0aC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2UtYXV0aC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxhQUFhLEVBR2Isb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFHaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUc5QixTQUFTLFNBQVMsQ0FBQyxZQUFrQyxFQUFFLFVBQStCO0lBQ3BGLGtGQUFrRjtJQUNsRixNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDekYsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBSSxVQUFnQyxFQUFFLE9BQStDLEVBQUUsUUFBNEM7SUFDM0osNENBQTRDO0lBQzVDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7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Q0FBQyxTQUF3QztRQUNuRixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hELENBQUM7Q0FDRjtBQUVELFdBQWlCLGdCQUFnQjtJQXNCL0IsTUFBYSxXQUFXO1FBRUg7UUFDQTtRQUZuQixZQUNtQixhQUFzQixFQUN0QixTQUE2QjtZQUQ3QixrQkFBYSxHQUFiLGFBQWEsQ0FBUztZQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUVoRCxDQUFDO1FBRUQsZUFBZTtZQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1QixDQUFDO1FBRUQsWUFBWSxDQUFDLGVBQWdDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxDQUFDO0tBRUY7SUFmWSw0QkFBVyxjQWV2QixDQUFBO0FBRUgsQ0FBQyxFQXZDZ0IsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQXVDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3R9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gIEFuZFZhbHVlTW9kZWwsXG4gIENvbXB1dGVkTW9kZWxNZWNoYW5pY3MsXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIEhhc1ZhbHVlLFxuICBNdWx0aU1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVMaXN0TW9kZWwsXG4gIFJlZHVjaW5nVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7UGxhY2VBY2Nlc3NHdWFyZH0gZnJvbSBcIi4vcGxhY2UtYWNjZXNzLWd1YXJkXCI7XG5pbXBvcnQge1BsYWNlQ29tcG9uZW50fSBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmltcG9ydCB7UGxhY2VEZWZpbml0aW9ufSBmcm9tIFwiLi9wbGFjZS1kZWZpbml0aW9uXCI7XG5pbXBvcnQge1Zpc2l0fSBmcm9tIFwiLi92aXNpdFwiO1xuXG5cbmZ1bmN0aW9uIHRvUHJvbWlzZShkaXNwb3NlZFdpdGg6IERpc3Bvc2FibGUuQ29sbGVjdG9yLCBjb25kaXRpb24kOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gIC8vIFRPRE86IG1vdmUgdGhpcyBmdW5jdGlvbmFsaXR5IHRvIHBlY3RpbiB3aXRoIGEgd2FpdFVuaXQobW9kZWwkKS5pc1RydXRoeSgpIERTTC5cbiAgY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKGRpc3Bvc2VkV2l0aCk7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIHdoZW4oY29uZGl0aW9uJCkuYmVjb21lc1RydXRoeSgoKSA9PiByZXNvbHZlKCksIHtvbmNlOiB0cnVlLCBpbml0aWFsVmFsdWU6IFwiZXZhbHVhdGVcIn0pXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3aXRoUG9zdHBvbmVVbnRpbDxUPihkaXNwb3NhYmxlOiBEaXNwb3NhYmxlLkNvbGxlY3Rvciwgb3B0aW9uczogQ29tcHV0ZWRNb2RlbE1lY2hhbmljcy5Qb3N0cG9uZU9wdGlvbnMsIGNhbGxiYWNrOiAodmFsdWUkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSA9PiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gIC8vIFRPRE86IG1vdmUgdGhpcyBmdW5jdGlvbmFsaXR5IHRvIHBvd2VydXBzXG4gIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgoZGlzcG9zYWJsZSk7XG4gIGlmIChvcHRpb25zLnBvc3Rwb25lVW50aWwpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sob3B0aW9ucy5wb3N0cG9uZVVudGlsKTtcbiAgfSBlbHNlIGlmIChvcHRpb25zLnBvc3Rwb25lV2hpbGUpIHtcbiAgICByZXR1cm4gY2FsbGJhY2soY2hhaW4ob3B0aW9ucy5wb3N0cG9uZVdoaWxlKS5pc0ZhbHNleSgpKVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cblxuY2xhc3MgUGxhY2VBdXRoR3VhcmQgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeVByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGVuYWJsZWQkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+LFxuICAgICAgICAgICAgICBvcHRpb25zOiBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLlBvc3Rwb25lT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnJlYWR5UHJvbWlzZSA9IHdpdGhQb3N0cG9uZVVudGlsKHRoaXMsIG9wdGlvbnMsIGNvbmRpdGlvbiQgPT4ge1xuICAgICAgcmV0dXJuIHRvUHJvbWlzZSh0aGlzLCBjb25kaXRpb24kKVxuICAgIH0pID8/IFByb21pc2UucmVzb2x2ZSgpXG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxSZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlYWR5UHJvbWlzZTtcbiAgfVxufVxuXG5cbmNsYXNzIEVuYWJsZWRQbGFjZUNoZWNrZXIgZXh0ZW5kcyBSZWR1Y2luZ1ZhbHVlTW9kZWw8UGxhY2VBdXRoU2VydmljZS5BdXRob3Jpc2F0aW9uQ2hlY2ssIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlR3VhcmRzJCA9IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFBsYWNlQXV0aEd1YXJkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlR3VhcmRzQnlQbGFjZURlZiQ6IE11bHRpTWFwTW9kZWxDaGFpbjxQbGFjZURlZmluaXRpb24sIFBsYWNlQXV0aEd1YXJkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihbXSk7XG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLnBsYWNlR3VhcmRzQnlQbGFjZURlZiQgPSBjaGFpbih0aGlzLnBsYWNlR3VhcmRzJCkuaW5kZXhNYW55QnkoXCJwbGFjZURlZmluaXRpb25cIik7XG4gIH1cblxuICBlbmFibGVXaGVuKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLCBjb25kaXRpb24kOiBWYWx1ZU1vZGVsPGJvb2xlYW4+LCBvcHRpb25zOiBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLlBvc3Rwb25lT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5wbGFjZUd1YXJkcyQucHVzaChuZXcgUGxhY2VBdXRoR3VhcmQocGxhY2VEZWZpbml0aW9uLCBjb25kaXRpb24kLCBvcHRpb25zKSk7XG4gICAgdGhpcy50cmFja1NvdXJjZShjb25kaXRpb24kKTtcbiAgfVxuXG4gIGlzQXV0aG9yaXNlZChwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUocGxhY2VEZWYpO1xuICB9XG5cbiAgY29tcHV0ZSh2YWx1ZXM6IHZvaWRbXSk6IChwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gKGRlZikgPT4gdGhpcy5jaGVja1ByZWRpY2F0ZXNCeVBsYWNlKGRlZilcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tQcmVkaWNhdGVzQnlQbGFjZShkZWY6IFBsYWNlRGVmaW5pdGlvbikge1xuICAgIGNvbnN0IHBsYWNlUHJlZGljYXRlcyA9IHRoaXMucGxhY2VHdWFyZHNCeVBsYWNlRGVmJC5nZXQoZGVmKTtcbiAgICBpZiAoIXBsYWNlUHJlZGljYXRlcyB8fCBwbGFjZVByZWRpY2F0ZXMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwbGFjZVByZWRpY2F0ZXMucmVkdWNlKChzdW0sIG1vZGVsKSA9PiB7XG4gICAgICAgIHJldHVybiBzdW0gJiYgbW9kZWwuZW5hYmxlZCQudmFsdWU7XG4gICAgICB9LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxSZWFkeShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGxhY2VBdXRoR3VhcmRzID0gdGhpcy5wbGFjZUd1YXJkc0J5UGxhY2VEZWYkLmdldChwbGFjZURlZik7XG4gICAgaWYgKHBsYWNlQXV0aEd1YXJkcz8ubGVuZ3RoID4gMCkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwocGxhY2VBdXRoR3VhcmRzLm1hcChpdCA9PiBpdC53YWl0VW50aWxSZWFkeSgpKSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQbGFjZUF1dGhTZXJ2aWNlIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG5cblxuICBwcml2YXRlIGF1dGhaT3B0aW9uczogUGxhY2VBdXRoU2VydmljZS5BdXRob3Jpc2F0aW9uT3B0aW9ucztcbiAgcHJpdmF0ZSBhdXRoTk9wdGlvbnM6IFBsYWNlQXV0aFNlcnZpY2UuQXV0aGVudGljYXRpb25PcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dGhOUmVhZHkkID0gbmV3IEFuZFZhbHVlTW9kZWwoKS5zZXREZWZhdWx0KHRydWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRoWlJlYWR5JCA9IG5ldyBBbmRWYWx1ZU1vZGVsKCkuc2V0RGVmYXVsdCh0cnVlKTtcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGVkJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPikud2l0aERlZmF1bHQodHJ1ZSk7XG4gIHByaXZhdGUgYXV0aENoZWNrZXIkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFBsYWNlQXV0aFNlcnZpY2UuQXV0aG9yaXNhdGlvbkNoZWNrPikud2l0aERlZmF1bHQoKCkgPT4gdHJ1ZSk7XG4gIHByaXZhdGUgZW5hYmxlZFBsYWNlQ2hlY2tlciA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBFbmFibGVkUGxhY2VDaGVja2VyKCkpO1xuXG4gIHJlYWRvbmx5IGFjY2Vzc0d1YXJkJDogVmFsdWVNb2RlbDxQbGFjZUF1dGhTZXJ2aWNlLkFjY2Vzc0d1YXJkPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5hY2Nlc3NHdWFyZCQgPSBjaGFpbi5yZWR1Y2UodGhpcy5hdXRoZW50aWNhdGVkJCxcbiAgICAgIHRoaXMuYXV0aENoZWNrZXIkLFxuICAgICAgdGhpcy5lbmFibGVkUGxhY2VDaGVja2VyLFxuICAgICAgKGF1dGhlbnRpY2F0ZWQsIGF1dGhDaGVjaywgZW5hYmxlZFBsYWNlQ2hlY2spID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQbGFjZUF1dGhTZXJ2aWNlLkFjY2Vzc0d1YXJkKGF1dGhlbnRpY2F0ZWQsIGRlZiA9PiBhdXRoQ2hlY2soZGVmKSAmJiBlbmFibGVkUGxhY2VDaGVjayhkZWYpKTtcbiAgICAgIH0pXG4gIH1cblxuICBjb25maWd1cmVBdXRoZW50aWNhdGlvbihvcHRpb25zOiBQbGFjZUF1dGhTZXJ2aWNlLkF1dGhlbnRpY2F0aW9uT3B0aW9ucykge1xuICAgIHRoaXMuYXV0aE5PcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWQkLnNldERlbGVnYXRlKG9wdGlvbnMuaXNBdXRoZW50aWNhdGVkJClcbiAgICB3aXRoUG9zdHBvbmVVbnRpbCh0aGlzLCBvcHRpb25zLCBjb25kaXRpb24kID0+IHRoaXMuX2F1dGhOUmVhZHkkLmFkZFNvdXJjZShjb25kaXRpb24kKSlcbiAgfVxuXG4gIGNvbmZpZ3VyZUF1dGhvcmlzYXRpb24ob3B0aW9uczogUGxhY2VBdXRoU2VydmljZS5BdXRob3Jpc2F0aW9uT3B0aW9ucykge1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5hdXRoWk9wdGlvbnMgPSBvcHRpb25zO1xuICAgIGxldCBhdXRoQ2hlY2tlciQgPSBWYWx1ZU1vZGVsLmNvbnN0YW50KGRlZiA9PiBvcHRpb25zLmlzQXV0aG9yaXNlZChkZWYpKTtcbiAgICBpZiAob3B0aW9ucy5kZXBlbmRzT24kKSB7XG4gICAgICAvLyBoYXZlIHRvIHJldHVybiBhIG5ldyBmdW50aW9uIG9yIHRoZSB2YWx1ZSBtb2RlbCB3b24ndCBmaXJlIGEgY2hhbmdlIGV2ZW50XG4gICAgICBhdXRoQ2hlY2tlciQgPSBjaGFpbihhdXRoQ2hlY2tlciQpLm1hcChpdCA9PiBkZWYgPT4gaXQoZGVmKSwge2RlcGVuZHNPbjogb3B0aW9ucy5kZXBlbmRzT24kfSlcbiAgICB9XG4gICAgdGhpcy5hdXRoQ2hlY2tlciQuc2V0RGVsZWdhdGUoYXV0aENoZWNrZXIkKTtcbiAgICB3aXRoUG9zdHBvbmVVbnRpbCh0aGlzLCBvcHRpb25zLCBjb25kaXRpb24kID0+IHRoaXMuX2F1dGhaUmVhZHkkLmFkZFNvdXJjZShjb25kaXRpb24kKSlcbiAgfVxuXG4gIGVuYWJsZVBsYWNlKHBsYWNlRGVmaW5pdGlvbjogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIG9wdGlvbnM6IFBsYWNlQXV0aFNlcnZpY2UuQXV0aFBsYWNlT3B0aW9ucykge1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgY29uc3Qgd2hlbiQgPSBvcHRpb25zLndoZW4kID8gb3B0aW9ucy53aGVuJCA6IGNoYWluKG9wdGlvbnMudW5sZXNzJCkuaXNGYWxzZXkoKVxuICAgIHRoaXMuZW5hYmxlZFBsYWNlQ2hlY2tlci5lbmFibGVXaGVuKFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24ocGxhY2VEZWZpbml0aW9uKSwgd2hlbiQsIG9wdGlvbnMpO1xuICB9XG5cblxuICBhc3luYyB3YWl0VW50aWxBdXRoZW50aWNhdGlvblJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRvUHJvbWlzZSh0aGlzLCB0aGlzLl9hdXRoTlJlYWR5JCk7XG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxBdXRob3Jpc2F0aW9uUmVhZHlGb3IocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRvUHJvbWlzZSh0aGlzLCB0aGlzLl9hdXRoWlJlYWR5JClcbiAgICBhd2FpdCB0aGlzLmVuYWJsZWRQbGFjZUNoZWNrZXIud2FpdFVudGlsUmVhZHkocGxhY2VEZWYpXG4gIH1cblxuICBhc3luYyBnZXRBdXRoZW50aWNhdGlvbkZhaWx1cmVSZWRpcmVjdChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPFZpc2l0PiB7XG4gICAgY29uc3QgcmVkaXJlY3QgPSBhd2FpdCB0aGlzLmF1dGhOT3B0aW9ucy5yZWRpcmVjdFRvKGFjdGl2YXRlZFJvdXRlLCBzdGF0ZSk7XG4gICAgcmV0dXJuIHJlZGlyZWN0IGluc3RhbmNlb2YgVmlzaXQgPyByZWRpcmVjdCA6IFZpc2l0LmdvdG8ocmVkaXJlY3QpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QXV0aG9yaXNhdGlvbkZhaWx1cmVSZWRpcmVjdE9wdGlvbnMoY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IFByb21pc2U8VmlzaXRbXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5hdXRoWk9wdGlvbnMucmVkaXJlY3RUbyhjb21wb25lbnQpKS5tYXAoaXQgPT4gaXQgaW5zdGFuY2VvZiBWaXNpdCA/IGl0IDogVmlzaXQuZ290byhpdCkpO1xuICB9XG5cbiAgaXNBdXRoZW50aWNhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmFjY2Vzc0d1YXJkJC52YWx1ZS5pc0F1dGhlbnRpY2F0ZWQoKVxuICB9XG5cbiAgaXNBdXRob3Jpc2VkKGM6IFBsYWNlRGVmaW5pdGlvbikge1xuICAgIHJldHVybiB0aGlzLmFjY2Vzc0d1YXJkJC52YWx1ZS5pc0F1dGhvcmlzZWQoYylcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQXV0aFNlcnZpY2Uge1xuXG4gIGV4cG9ydCB0eXBlIEF1dGhvcmlzYXRpb25DaGVjayA9IChkZWY6IFBsYWNlRGVmaW5pdGlvbikgPT4gYm9vbGVhbjtcblxuICBleHBvcnQgaW50ZXJmYWNlIEF1dGhlbnRpY2F0aW9uT3B0aW9ucyBleHRlbmRzIENvbXB1dGVkTW9kZWxNZWNoYW5pY3MuUG9zdHBvbmVPcHRpb25zIHtcbiAgICBpc0F1dGhlbnRpY2F0ZWQkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gICAgcmVkaXJlY3RUbyhhY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBQcm9taXNlPFZpc2l0PiB8IFByb21pc2U8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBdXRob3Jpc2F0aW9uT3B0aW9ucyBleHRlbmRzIENvbXB1dGVkTW9kZWxNZWNoYW5pY3MuUG9zdHBvbmVPcHRpb25zIHtcbiAgICBpc0F1dGhvcmlzZWQ6IEF1dGhvcmlzYXRpb25DaGVjaztcbiAgICBkZXBlbmRzT24kPzogSGFzVmFsdWU8YW55PjtcblxuICAgIHJlZGlyZWN0VG8oY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IChDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiB8IFZpc2l0KVtdIHwgUHJvbWlzZTwoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXT47XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEF1dGhQbGFjZU9wdGlvbnMgZXh0ZW5kcyBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLlBvc3Rwb25lT3B0aW9ucyB7XG4gICAgd2hlbiQ/OiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuICAgIHVubGVzcyQ/OiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEFjY2Vzc0d1YXJkIGltcGxlbWVudHMgUGxhY2VBY2Nlc3NHdWFyZCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZWQ6IGJvb2xlYW4sXG4gICAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrQXV0aDogQXV0aG9yaXNhdGlvbkNoZWNrXG4gICAgKSB7XG4gICAgfVxuXG4gICAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRlZDtcbiAgICB9XG5cbiAgICBpc0F1dGhvcmlzZWQocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrQXV0aChwbGFjZURlZmluaXRpb24pO1xuICAgIH1cblxuICB9XG5cbn1cbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtYXV0aC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2UtYXV0aC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxhQUFhLEVBR2Isb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFHaEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUc5QixTQUFTLFNBQVMsQ0FBQyxZQUFrQyxFQUFFLFVBQStCO0lBQ3BGLGtGQUFrRjtJQUNsRixNQUFNLEVBQUMsSUFBSSxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUE7SUFDekYsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBSSxVQUFnQyxFQUFFLE9BQStDLEVBQUUsUUFBNEM7SUFDM0osNENBQTRDO0lBQzVDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtRQUN6QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7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Q0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLLENBQUMsc0NBQXNDLENBQUMsU0FBd0M7UUFDbkYsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDbEQsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFrQjtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0NBQ0Y7QUFFRCxXQUFpQixnQkFBZ0I7SUFzQi9CLE1BQWEsV0FBVztRQUVIO1FBQ0E7UUFGbkIsWUFDbUIsYUFBc0IsRUFDdEIsU0FBNkI7WUFEN0Isa0JBQWEsR0FBYixhQUFhLENBQVM7WUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFFaEQsQ0FBQztRQUVELGVBQWU7WUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUIsQ0FBQztRQUVELFlBQVksQ0FBQyxlQUFnQztZQUMzQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUVGO0lBZlksNEJBQVcsY0FldkIsQ0FBQTtBQUVILENBQUMsRUF2Q2dCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUF1Q2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90fSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1xuICBBbmRWYWx1ZU1vZGVsLFxuICBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBIYXNWYWx1ZSxcbiAgTXVsdGlNYXBNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBSZWR1Y2luZ1ZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge1BsYWNlQWNjZXNzR3VhcmR9IGZyb20gXCIuL3BsYWNlLWFjY2Vzcy1ndWFyZFwiO1xuaW1wb3J0IHtQbGFjZUNvbXBvbmVudH0gZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtWaXNpdH0gZnJvbSBcIi4vdmlzaXRcIjtcblxuXG5mdW5jdGlvbiB0b1Byb21pc2UoZGlzcG9zZWRXaXRoOiBEaXNwb3NhYmxlLkNvbGxlY3RvciwgY29uZGl0aW9uJDogVmFsdWVNb2RlbDxib29sZWFuPikge1xuICAvLyBUT0RPOiBtb3ZlIHRoaXMgZnVuY3Rpb25hbGl0eSB0byBwZWN0aW4gd2l0aCBhIHdhaXRVbml0KG1vZGVsJCkuaXNUcnV0aHkoKSBEU0wuXG4gIGNvbnN0IHt3aGVufSA9IERzbC5kaXNwb3NlV2l0aChkaXNwb3NlZFdpdGgpO1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICB3aGVuKGNvbmRpdGlvbiQpLmJlY29tZXNUcnV0aHkoKCkgPT4gcmVzb2x2ZSgpLCB7b25jZTogdHJ1ZSwgaW5pdGlhbFZhbHVlOiBcImV2YWx1YXRlXCJ9KVxuICB9KTtcbn1cblxuZnVuY3Rpb24gd2l0aFBvc3Rwb25lVW50aWw8VD4oZGlzcG9zYWJsZTogRGlzcG9zYWJsZS5Db2xsZWN0b3IsIG9wdGlvbnM6IENvbXB1dGVkTW9kZWxNZWNoYW5pY3MuUG9zdHBvbmVPcHRpb25zLCBjYWxsYmFjazogKHZhbHVlJDogVmFsdWVNb2RlbDxib29sZWFuPikgPT4gVCk6IFQgfCB1bmRlZmluZWQge1xuICAvLyBUT0RPOiBtb3ZlIHRoaXMgZnVuY3Rpb25hbGl0eSB0byBwb3dlcnVwc1xuICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKGRpc3Bvc2FibGUpO1xuICBpZiAob3B0aW9ucy5wb3N0cG9uZVVudGlsKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG9wdGlvbnMucG9zdHBvbmVVbnRpbCk7XG4gIH0gZWxzZSBpZiAob3B0aW9ucy5wb3N0cG9uZVdoaWxlKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKGNoYWluKG9wdGlvbnMucG9zdHBvbmVXaGlsZSkuaXNGYWxzZXkoKSlcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5cbmNsYXNzIFBsYWNlQXV0aEd1YXJkIGV4dGVuZHMgR2FyYmFnZUNvbGxlY3RvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLFxuICAgICAgICAgICAgICByZWFkb25seSBlbmFibGVkJDogVmFsdWVNb2RlbDxib29sZWFuPixcbiAgICAgICAgICAgICAgb3B0aW9uczogQ29tcHV0ZWRNb2RlbE1lY2hhbmljcy5Qb3N0cG9uZU9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5yZWFkeVByb21pc2UgPSB3aXRoUG9zdHBvbmVVbnRpbCh0aGlzLCBvcHRpb25zLCBjb25kaXRpb24kID0+IHtcbiAgICAgIHJldHVybiB0b1Byb21pc2UodGhpcywgY29uZGl0aW9uJClcbiAgICB9KSA/PyBQcm9taXNlLnJlc29sdmUoKVxuICB9XG5cbiAgYXN5bmMgd2FpdFVudGlsUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5yZWFkeVByb21pc2U7XG4gIH1cbn1cblxuXG5jbGFzcyBFbmFibGVkUGxhY2VDaGVja2VyIGV4dGVuZHMgUmVkdWNpbmdWYWx1ZU1vZGVsPFBsYWNlQXV0aFNlcnZpY2UuQXV0aG9yaXNhdGlvbkNoZWNrLCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZUd1YXJkcyQgPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxQbGFjZUF1dGhHdWFyZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZUd1YXJkc0J5UGxhY2VEZWYkOiBNdWx0aU1hcE1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uLCBQbGFjZUF1dGhHdWFyZD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoW10pO1xuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5wbGFjZUd1YXJkc0J5UGxhY2VEZWYkID0gY2hhaW4odGhpcy5wbGFjZUd1YXJkcyQpLmluZGV4TWFueUJ5KFwicGxhY2VEZWZpbml0aW9uXCIpO1xuICB9XG5cbiAgZW5hYmxlV2hlbihwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbiwgY29uZGl0aW9uJDogVmFsdWVNb2RlbDxib29sZWFuPiwgb3B0aW9uczogQ29tcHV0ZWRNb2RlbE1lY2hhbmljcy5Qb3N0cG9uZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMucGxhY2VHdWFyZHMkLnB1c2gobmV3IFBsYWNlQXV0aEd1YXJkKHBsYWNlRGVmaW5pdGlvbiwgY29uZGl0aW9uJCwgb3B0aW9ucykpO1xuICAgIHRoaXMudHJhY2tTb3VyY2UoY29uZGl0aW9uJCk7XG4gIH1cblxuICBpc0F1dGhvcmlzZWQocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlKHBsYWNlRGVmKTtcbiAgfVxuXG4gIGNvbXB1dGUodmFsdWVzOiB2b2lkW10pOiAocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbikgPT4gYm9vbGVhbiB7XG4gICAgcmV0dXJuIChkZWYpID0+IHRoaXMuY2hlY2tQcmVkaWNhdGVzQnlQbGFjZShkZWYpXG4gIH1cblxuICBwcml2YXRlIGNoZWNrUHJlZGljYXRlc0J5UGxhY2UoZGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICBjb25zdCBwbGFjZVByZWRpY2F0ZXMgPSB0aGlzLnBsYWNlR3VhcmRzQnlQbGFjZURlZiQuZ2V0KGRlZik7XG4gICAgaWYgKCFwbGFjZVByZWRpY2F0ZXMgfHwgcGxhY2VQcmVkaWNhdGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGxhY2VQcmVkaWNhdGVzLnJlZHVjZSgoc3VtLCBtb2RlbCkgPT4ge1xuICAgICAgICByZXR1cm4gc3VtICYmIG1vZGVsLmVuYWJsZWQkLnZhbHVlO1xuICAgICAgfSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgd2FpdFVudGlsUmVhZHkocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBsYWNlQXV0aEd1YXJkcyA9IHRoaXMucGxhY2VHdWFyZHNCeVBsYWNlRGVmJC5nZXQocGxhY2VEZWYpO1xuICAgIGlmIChwbGFjZUF1dGhHdWFyZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHBsYWNlQXV0aEd1YXJkcy5tYXAoaXQgPT4gaXQud2FpdFVudGlsUmVhZHkoKSkpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGxhY2VBdXRoU2VydmljZSBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG5cbiAgcHJpdmF0ZSBhdXRoWk9wdGlvbnM6IFBsYWNlQXV0aFNlcnZpY2UuQXV0aG9yaXNhdGlvbk9wdGlvbnM7XG4gIHByaXZhdGUgYXV0aE5PcHRpb25zOiBQbGFjZUF1dGhTZXJ2aWNlLkF1dGhlbnRpY2F0aW9uT3B0aW9ucztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRoTlJlYWR5JCA9IG5ldyBBbmRWYWx1ZU1vZGVsKCkuc2V0RGVmYXVsdCh0cnVlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFpSZWFkeSQgPSBuZXcgQW5kVmFsdWVNb2RlbCgpLnNldERlZmF1bHQodHJ1ZSk7XG4gIHByaXZhdGUgYXV0aGVudGljYXRlZCQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4pLndpdGhEZWZhdWx0KHRydWUpO1xuICBwcml2YXRlIGF1dGhDaGVja2VyJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxQbGFjZUF1dGhTZXJ2aWNlLkF1dGhvcmlzYXRpb25DaGVjaz4pLndpdGhEZWZhdWx0KCgpID0+IHRydWUpO1xuICBwcml2YXRlIGVuYWJsZWRQbGFjZUNoZWNrZXIgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRW5hYmxlZFBsYWNlQ2hlY2tlcigpKTtcblxuICByZWFkb25seSBhY2Nlc3NHdWFyZCQ6IFZhbHVlTW9kZWw8UGxhY2VBdXRoU2VydmljZS5BY2Nlc3NHdWFyZD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuYWNjZXNzR3VhcmQkID0gY2hhaW4ucmVkdWNlKHRoaXMuYXV0aGVudGljYXRlZCQsXG4gICAgICB0aGlzLmF1dGhDaGVja2VyJCxcbiAgICAgIHRoaXMuZW5hYmxlZFBsYWNlQ2hlY2tlcixcbiAgICAgIChhdXRoZW50aWNhdGVkLCBhdXRoQ2hlY2ssIGVuYWJsZWRQbGFjZUNoZWNrKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUGxhY2VBdXRoU2VydmljZS5BY2Nlc3NHdWFyZChhdXRoZW50aWNhdGVkLCBkZWYgPT4gYXV0aENoZWNrKGRlZikgJiYgZW5hYmxlZFBsYWNlQ2hlY2soZGVmKSk7XG4gICAgICB9KVxuICB9XG5cbiAgY29uZmlndXJlQXV0aGVudGljYXRpb24ob3B0aW9uczogUGxhY2VBdXRoU2VydmljZS5BdXRoZW50aWNhdGlvbk9wdGlvbnMpIHtcbiAgICB0aGlzLmF1dGhOT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5hdXRoZW50aWNhdGVkJC5zZXREZWxlZ2F0ZShvcHRpb25zLmlzQXV0aGVudGljYXRlZCQpXG4gICAgd2l0aFBvc3Rwb25lVW50aWwodGhpcywgb3B0aW9ucywgY29uZGl0aW9uJCA9PiB0aGlzLl9hdXRoTlJlYWR5JC5hZGRTb3VyY2UoY29uZGl0aW9uJCkpXG4gIH1cblxuICBjb25maWd1cmVBdXRob3Jpc2F0aW9uKG9wdGlvbnM6IFBsYWNlQXV0aFNlcnZpY2UuQXV0aG9yaXNhdGlvbk9wdGlvbnMpIHtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuYXV0aFpPcHRpb25zID0gb3B0aW9ucztcbiAgICBsZXQgYXV0aENoZWNrZXIkID0gVmFsdWVNb2RlbC5jb25zdGFudChkZWYgPT4gb3B0aW9ucy5pc0F1dGhvcmlzZWQoZGVmKSk7XG4gICAgaWYgKG9wdGlvbnMuZGVwZW5kc09uJCkge1xuICAgICAgLy8gaGF2ZSB0byByZXR1cm4gYSBuZXcgZnVudGlvbiBvciB0aGUgdmFsdWUgbW9kZWwgd29uJ3QgZmlyZSBhIGNoYW5nZSBldmVudFxuICAgICAgYXV0aENoZWNrZXIkID0gY2hhaW4oYXV0aENoZWNrZXIkKS5tYXAoaXQgPT4gZGVmID0+IGl0KGRlZiksIHtkZXBlbmRzT246IG9wdGlvbnMuZGVwZW5kc09uJH0pXG4gICAgfVxuICAgIHRoaXMuYXV0aENoZWNrZXIkLnNldERlbGVnYXRlKGF1dGhDaGVja2VyJCk7XG4gICAgd2l0aFBvc3Rwb25lVW50aWwodGhpcywgb3B0aW9ucywgY29uZGl0aW9uJCA9PiB0aGlzLl9hdXRoWlJlYWR5JC5hZGRTb3VyY2UoY29uZGl0aW9uJCkpXG4gIH1cblxuICBlbmFibGVQbGFjZShwbGFjZURlZmluaXRpb246IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBvcHRpb25zOiBQbGFjZUF1dGhTZXJ2aWNlLkF1dGhQbGFjZU9wdGlvbnMpIHtcbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGNvbnN0IHdoZW4kID0gb3B0aW9ucy53aGVuJCA/IG9wdGlvbnMud2hlbiQgOiBjaGFpbihvcHRpb25zLnVubGVzcyQpLmlzRmFsc2V5KClcbiAgICAvLyBOT1RFOiB3ZSdyZSB3cmFwcGluZyB0aGUgd2hlbiQgc28gY2FsbGVycyBjYW4gcGFzcyBpbiB0aGUgc2FtZSBtb2RlbCBtdWx0aXBsZSB0aW1lcyAocGVjdGluIGRvZXNuJ3Qgc3VwcG9ydCBkZXBlbmRpbmcgb24gbXVsdGlwbGVzIG9mIHRoZSBzYW1lIG1vZGVsIHlldClcbiAgICB0aGlzLmVuYWJsZWRQbGFjZUNoZWNrZXIuZW5hYmxlV2hlbihQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHBsYWNlRGVmaW5pdGlvbiksIGNoYWluKHdoZW4kKS5pc1RydXRoeSgpLCBvcHRpb25zKTtcbiAgfVxuXG5cbiAgYXN5bmMgd2FpdFVudGlsQXV0aGVudGljYXRpb25SZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0b1Byb21pc2UodGhpcywgdGhpcy5fYXV0aE5SZWFkeSQpO1xuICB9XG5cbiAgYXN5bmMgd2FpdFVudGlsQXV0aG9yaXNhdGlvblJlYWR5Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0b1Byb21pc2UodGhpcywgdGhpcy5fYXV0aFpSZWFkeSQpXG4gICAgYXdhaXQgdGhpcy5lbmFibGVkUGxhY2VDaGVja2VyLndhaXRVbnRpbFJlYWR5KHBsYWNlRGVmKVxuICB9XG5cbiAgYXN5bmMgZ2V0QXV0aGVudGljYXRpb25GYWlsdXJlUmVkaXJlY3QoYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxWaXNpdD4ge1xuICAgIGNvbnN0IHJlZGlyZWN0ID0gYXdhaXQgdGhpcy5hdXRoTk9wdGlvbnMucmVkaXJlY3RUbyhhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpO1xuICAgIHJldHVybiByZWRpcmVjdCBpbnN0YW5jZW9mIFZpc2l0ID8gcmVkaXJlY3QgOiBWaXNpdC5nb3RvKHJlZGlyZWN0KTtcbiAgfVxuXG4gIGFzeW5jIGdldEF1dGhvcmlzYXRpb25GYWlsdXJlUmVkaXJlY3RPcHRpb25zKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBQcm9taXNlPFZpc2l0W10+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXV0aFpPcHRpb25zLnJlZGlyZWN0VG8oY29tcG9uZW50KSkubWFwKGl0ID0+IGl0IGluc3RhbmNlb2YgVmlzaXQgPyBpdCA6IFZpc2l0LmdvdG8oaXQpKTtcbiAgfVxuXG4gIGlzQXV0aGVudGljYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY2Nlc3NHdWFyZCQudmFsdWUuaXNBdXRoZW50aWNhdGVkKClcbiAgfVxuXG4gIGlzQXV0aG9yaXNlZChjOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5hY2Nlc3NHdWFyZCQudmFsdWUuaXNBdXRob3Jpc2VkKGMpXG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQbGFjZUF1dGhTZXJ2aWNlIHtcblxuICBleHBvcnQgdHlwZSBBdXRob3Jpc2F0aW9uQ2hlY2sgPSAoZGVmOiBQbGFjZURlZmluaXRpb24pID0+IGJvb2xlYW47XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGlvbk9wdGlvbnMgZXh0ZW5kcyBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLlBvc3Rwb25lT3B0aW9ucyB7XG4gICAgaXNBdXRoZW50aWNhdGVkJDogVmFsdWVNb2RlbDxib29sZWFuPjtcblxuICAgIHJlZGlyZWN0VG8oYWN0aXZhdGVkUm91dGU/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOiBWaXNpdCB8IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHwgUHJvbWlzZTxWaXNpdD4gfCBQcm9taXNlPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaXNhdGlvbk9wdGlvbnMgZXh0ZW5kcyBDb21wdXRlZE1vZGVsTWVjaGFuaWNzLlBvc3Rwb25lT3B0aW9ucyB7XG4gICAgaXNBdXRob3Jpc2VkOiBBdXRob3Jpc2F0aW9uQ2hlY2s7XG4gICAgZGVwZW5kc09uJD86IEhhc1ZhbHVlPGFueT47XG5cbiAgICByZWRpcmVjdFRvKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiAoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXSB8IFByb21pc2U8KENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHwgVmlzaXQpW10+O1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBdXRoUGxhY2VPcHRpb25zIGV4dGVuZHMgQ29tcHV0ZWRNb2RlbE1lY2hhbmljcy5Qb3N0cG9uZU9wdGlvbnMge1xuICAgIHdoZW4kPzogVmFsdWVNb2RlbDxib29sZWFuPjtcbiAgICB1bmxlc3MkPzogVmFsdWVNb2RlbDxib29sZWFuPjtcbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBBY2Nlc3NHdWFyZCBpbXBsZW1lbnRzIFBsYWNlQWNjZXNzR3VhcmQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoZW50aWNhdGVkOiBib29sZWFuLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGVja0F1dGg6IEF1dGhvcmlzYXRpb25DaGVja1xuICAgICkge1xuICAgIH1cblxuICAgIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZWQ7XG4gICAgfVxuXG4gICAgaXNBdXRob3Jpc2VkKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja0F1dGgocGxhY2VEZWZpbml0aW9uKTtcbiAgICB9XG5cbiAgfVxuXG59XG4iXX0=
|
|
@@ -202,9 +202,11 @@ export class PlaceRouter extends GarbageCollector {
|
|
|
202
202
|
});
|
|
203
203
|
lang.illegalState("Navigation already in progress");
|
|
204
204
|
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
else {
|
|
206
|
+
const navigation = this.createNavigationSession(this.urlService.getCurrentRouterUrl());
|
|
207
|
+
navigation.initialiseVisitSegments(visit);
|
|
208
|
+
this.transitionTo(navigation);
|
|
209
|
+
}
|
|
208
210
|
try {
|
|
209
211
|
await runNavigationCommands(this.angularRouter);
|
|
210
212
|
}
|
|
@@ -330,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
330
332
|
providedIn: "root"
|
|
331
333
|
}]
|
|
332
334
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }, { type: i3.InteractionService }, { type: i4.UrlService }, { type: i5.PlaceHistory }]; } });
|
|
333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2Utcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBQ2YsTUFBTSxFQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQUUsb0JBQW9CLEVBQ2xDLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLE1BQU0sRUFDTixpQkFBaUIsRUFHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUM1RyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0sMkVBQTJFLENBQUM7QUFDbkYsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLGtGQUFrRixDQUFDO0FBQzFGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sU0FBUyxDQUFDOzs7Ozs7O0FBRzlCLDRDQUE0QztBQUM1QyxnREFBZ0Q7QUFDaEQsSUFBSTtBQUtKLE1BQU0sT0FBTyxXQUFZLFNBQVEsZ0JBQWdCO0lBbUJsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBckJwQixrQkFBa0IsR0FBRyxJQUFJLGlCQUFpQixFQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixDQUEyQjtJQUNoRCxzQkFBc0IsQ0FBMEIsQ0FBQyxnQkFBZ0I7SUFDakUsMEJBQTBCLENBQXNCO0lBRXhDLGlCQUFpQixDQUF5QjtJQUUxQyxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsRUFBUyxDQUFDO0lBQy9DLHdCQUF3QixDQUFtQztJQUNwRSxtQkFBbUIsR0FBbUIsRUFBRSxDQUFDO0lBRXhDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFFN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBR3pDLFlBQTZCLGFBQXFCLEVBQ3JCLGVBQXlCLEVBQ3pCLGtCQUFzQyxFQUN0QyxVQUFzQixFQUN0QixZQUEwQjtRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQUxtQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUN6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFHckQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdFLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQ2pELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLHdCQUF3QixFQUM3QixDQUFDLFdBQXdCLEVBQUUsT0FBZ0MsRUFBRSxFQUFFO1lBQzdELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsUUFBUSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTVHLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7YUFDekQsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUNiLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU1QixZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUVoRSxvRkFBb0Y7UUFDcEYsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixnR0FBZ0c7WUFDaEcsaUZBQWlGO1lBQ2pGLGtGQUFrRjtZQUNsRiwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQywrRkFBK0Y7Z0JBQy9GLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLFVBQVUsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDeEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDN0I7Z0JBQ0QsK0ZBQStGO2FBQ2hHO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNsQyxnRUFBZ0U7Z0JBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLGdFQUFnRTthQUNqRTtZQUNELElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDcEMsa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixrRUFBa0U7YUFDbkU7WUFDRCxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTtnQkFDckMsbUVBQW1FO2dCQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLG1FQUFtRTthQUNwRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsNEdBQTRHO1FBQzVHLCtCQUErQjtRQUMvQixlQUFlLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTdELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUErQjtRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLGNBQXNDLEVBQUUsS0FBMEI7UUFDdkcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGdDQUFnQyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBRUQsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLFNBQXdDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CO1FBQ3hCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsMEJBQTBCO1FBQzlCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ2hFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVLENBQUMsS0FBc0I7UUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2xELElBQUksbUNBQW1DLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDckcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUdELFdBQVc7SUFDWCxlQUFlLENBQUMsS0FBc0I7UUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDeEQsNERBQTREO1FBQzVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gsWUFBWSxDQUFDLE1BQWM7UUFDekIsMEZBQTBGO1FBQzFGLDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUMxRTtRQUNELG1DQUFtQztJQUNyQyxDQUFDO0lBRUQsV0FBVztJQUNYLGlCQUFpQixDQUFDLEtBQXVCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7SUFDWCxhQUFhLENBQUMsS0FBc0I7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVc7SUFDWCxXQUFXLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUtELEtBQUssQ0FBQyxRQUFRLENBQUMscUJBQTRELEVBQUUsTUFBZ0M7UUFDM0csTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZHLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDekMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7SUFDWCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQVksRUFBRSxxQkFBOEM7UUFDN0UsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUU7Z0JBQ25ELEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQ2hDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNyRDtRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUN2RixVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QixJQUFJO1lBQ0YsTUFBTSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDakQ7Z0JBQVM7WUFDUix1R0FBdUc7WUFDdkcsZ0RBQWdEO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbkc7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsV0FBd0IsRUFBRSxnQkFBbUM7UUFDekUsMkVBQTJFO1FBQzNFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsRUFBZ0IsRUFBRSxHQUFpQjtRQUNqRSxpR0FBaUc7UUFDakcsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6Qyw2REFBNkQ7UUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakMsaUVBQWlFO1lBQ2pFLHdDQUF3QztZQUN4QyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqSCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFHTyx1QkFBdUIsQ0FBQyxnQkFBd0I7UUFDdEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pELE9BQU8sYUFBYSxDQUFDLENBQUM7WUFDcEIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzNFLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxXQUFXO0lBRUQsWUFBWSxDQUFDLElBQXVCO1FBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztTQUM3QztRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLDBIQUEwSDtRQUMxSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLFFBQVEsRUFBRTtZQUNaLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQjtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztJQUVILHNCQUFzQixDQUFDLEtBQWE7UUFDMUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELGtFQUFrRTtZQUNsRSwwRUFBMEU7WUFDMUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLHFDQUFxQztTQUN0QztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDcEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFHTyw4QkFBOEIsQ0FBQyxJQUFnQjtRQUNyRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxXQUFXO0lBQ1gsbUNBQW1DLENBQUMsaUJBQTZCLEdBQUcsRUFBRTtRQUNwRSxPQUFPO0lBQ1QsQ0FBQztRQUNDLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLDBHQUEwRztZQUMxRywwQ0FBMEM7WUFDMUMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxFQUFFO29CQUN2QyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxFQUFFO3dCQUN2QyxjQUFjLEVBQUUsQ0FBQzt3QkFDakIsT0FBTyxFQUFFLENBQUM7b0JBQ1osQ0FBQyxDQUFDLENBQUM7b0JBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUN4SSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNwQywwRUFBMEU7Z0JBQzFFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLEVBQUU7b0JBQ3ZDLGNBQWMsRUFBRSxDQUFDO29CQUNqQixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLHlDQUF5QyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUVMO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxxQkFBNEQsRUFBRSxNQUFnQztRQUM1RyxJQUFJLHFCQUFxQixZQUFZLEtBQUssRUFBRTtZQUMxQyxPQUFPLHFCQUFxQixDQUFDO1NBQzlCO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO3VHQXZWVSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIE5hdmlnYXRpb25DYW5jZWwsXG4gIE5hdmlnYXRpb25FbmQsXG4gIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvbkV4dHJhcyxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBEZWJ1Z0NvbnRleHQsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIGxhbmcsXG4gIExvZ2dlcixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsIFRyYW5zYWN0aW9uT2JzZXJ2ZXIsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7Q29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXJ9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlclwiO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gXCIuLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge05hdmlnYXRpbmdEdXJpbmdJbnRlcmFjdGlvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9uYXZpZ2F0aW5nLWR1cmluZy1pbnRlcmFjdGlvblwiO1xuaW1wb3J0IHtcbiAgUG9wU3RhdGVEdXJpbmdJbnRlcmFjdGlvbk5hdmlnYXRpb25cbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9wb3Atc3RhdGUtZHVyaW5nLWludGVyYWN0aW9uLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlXG59IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZVwiO1xuaW1wb3J0IHtOYXZpZ2F0aW5nfSBmcm9tIFwiLi9uYXZpZ2F0aW9uL3Nlc3Npb24vbmF2aWdhdGluZ1wiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tY29udGV4dFwiO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbn0gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvblwiO1xuaW1wb3J0IHtQb3BTdGF0ZU5hdmlnYXRpb259IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9wb3Atc3RhdGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtQbGFjZUF1dGhTZXJ2aWNlfSBmcm9tIFwiLi9wbGFjZS1hdXRoLXNlcnZpY2VcIjtcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gXCIuL3BsYWNlLWhpc3RvcnlcIjtcbmltcG9ydCB7VXJsU2VydmljZX0gZnJvbSBcIi4vdXJsLXNlcnZpY2VcIjtcbmltcG9ydCB7VXJsU25hcHNob3R9IGZyb20gXCIuL3VybC1zbmFwc2hvdFwiO1xuaW1wb3J0IHtWaXNpdH0gZnJvbSBcIi4vdmlzaXRcIjtcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tIFwiLi92aXNpdC1zZWdtZW50XCI7XG5cbi8vIGZ1bmN0aW9uIGFzQXJyYXk8VD4oaXRlbTogVCB8IFRbXSk6IFRbXSB7XG4vLyAgIHJldHVybiBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbSA6IFtpdGVtXTtcbi8vIH1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZVJvdXRlciBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxOYXZpZ2F0aW9uU2Vzc2lvbj4oKTtcbiAgcmVhZG9ubHkgbmF2aWdhdGlvbkluUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uTmFtZSQ6IFZhbHVlTW9kZWxDaGFpbjxzdHJpbmc+OyAvLyB1c2VkIGJ5IHRlc3RzXG4gIHJlYWRvbmx5IGludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvbkNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LkltcGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZlVmlzaXQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlckludGVyYWN0aW9uQWRhcHRlcjogSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXI7XG4gIHByaXZhdGUgc2Vzc2lvbkZpbmlzaGVkSm9iczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICByZWFkb25seSBhdXRoU2VydmljZSA9IG5ldyBQbGFjZUF1dGhTZXJ2aWNlKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVhZHkkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQodHJ1ZSkpO1xuICByZWFkb25seSByZWFkeSQgPSB0aGlzLl9yZWFkeSQucmVhZG9ubHkkO1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhbmd1bGFyUm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvblNlcnZpY2U6IEludGVyYWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh3aW5kb3dbXCJDeXByZXNzXCJdKSB7XG4gICAgICB3aW5kb3dbXCJhdXAuUGxhY2VSb3V0ZXJcIl0gPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyID0gaW50ZXJhY3Rpb25TZXJ2aWNlLnJlZ2lzdGVyUGxhY2VSb3V0ZXIodGhpcyk7XG5cbiAgICAvLyBUT0RPOiBNYWtlIHRoaXMgYW4gaW50ZXJmYWNlIGFuZCB1c2UgJ3RoaXMnIGluc3RlYWQuXG4gICAgdGhpcy5uYXZpZ2F0aW9uQ29udGV4dCA9IG5ldyBOYXZpZ2F0aW9uQ29udGV4dC5JbXBsKFxuICAgICAgdGhpcy51cmxTZXJ2aWNlLFxuICAgICAgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIsXG4gICAgICAodXJsU25hcHNob3Q6IFVybFNuYXBzaG90LCBvcHRpb25zOiB7IHJlcGxhY2VVcmw6IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LCBvcHRpb25zKTtcbiAgICAgIH0sXG4gICAgICBzdGF0ZSA9PiB7XG4gICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN0YXRlKTtcbiAgICAgIH0sXG4gICAgICBzZWdtZW50cyA9PiB7XG4gICAgICAgIHRoaXMucm91dGluZ1Nlc3Npb25GaW5pc2hlZChzZWdtZW50cyk7XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQgPSBjaGFpbih0aGlzLm5hdmlnYXRpb25TZXNzaW9uJCkuaXNOb3ROaWwoKTtcbiAgICB0aGlzLmludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkID0gY2hhaW4odGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQpLnBsdWNrKFwiaXNJbnRlcmFjdGlvblN5bmNcIikub3RoZXJ3aXNlKGZhbHNlKVxuXG4gICAgY29uc3QgaWRsZVN0YXRlTmFtZSA9IGNoYWluKHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmFjdGl2ZSkubWFwKGFjdGl2ZSA9PiBhY3RpdmUgPyBcIklkbGVEdXJpbmdJbnRlcmFjdGlvblwiIDogXCJJZGxlXCIpO1xuICAgIHRoaXMubmF2aWdhdGlvblNlc3Npb25OYW1lJCA9IGNoYWluKHRoaXMubmF2aWdhdGlvblNlc3Npb24kKVxuICAgICAgLnBsdWNrKFwibmFtZVwiKVxuICAgICAgLm90aGVyd2lzZShpZGxlU3RhdGVOYW1lKTtcblxuICAgIERlYnVnQ29udGV4dC50YWcodGhpcy5fYWN0aXZlVmlzaXQkLCBcIlBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0XCIpO1xuXG4gICAgLy8gVE9ETzogbWFrZSBzZXR1cCB0aGUgY2FsbGJhY2tzIGluIGR1cmluZyBtb2R1bGUgaW5pdGlhdGlvbiB0byBtYWtlIHRoaXMgdGVzdGFibGUuXG4gICAgYW5ndWxhclJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIC8vIFJvdXRpbmcgZXZlbnQgc2VxdWVuY2VcbiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIC8vIE5hdmlnYXRpb25TdGFydCAtPiAuLi4uIC0+IE5hdmlnYXRpb25DYW5jZWwgLS0+IHJlZGlyZWN0LCBnbyBhcm91bmQgYWdhaW4gaW4gdGhlIHNhbWUgc2Vzc2lvblxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVuZCAtLT4gbmF2aWdhdGlvbiBjb21wbGV0ZSwgZW5kIHNlc3Npb24uXG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uRXJyb3IgLS0+IG5hdmlnYXRpb24gYWJvcnRlZCwgZW5kIHNlc3Npb24uXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25TdGFydFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfSAoJHtldmVudC5uYXZpZ2F0aW9uVHJpZ2dlcn0pYCk7XG4gICAgICAgIGlmIChldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gXCJwb3BzdGF0ZVwiKSB7XG4gICAgICAgICAgdGhpcy5vblBvcFN0YXRlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvblN0YXJ0WyR7ZXZlbnQuaWR9XTogJHtldmVudC51cmx9ICgke2V2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyfSlgKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRW5kKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkVuZFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25FcnJvclske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyRXJyb3IoZXZlbnQpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBOYXZpZ2F0aW9uRXJyb3JbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYC0tLT4gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgICB0aGlzLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkNhbmNlbFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVGhlIHJvdXRlciBuZWVkcyB0byBrbm93IGFib3V0IHVybCBjaGFuZ2VzIGFuZCBpbiBzb21lIGNhc2VzIHRoZXkgYXJlIHRoZSBvbmx5IHdheSB0aGUgcm91dGVyIGNhbiBrbm93IGlmXG4gICAgLy8gdGhlIGJhY2sgYnV0dG9uIHdhcyBjbGlja2VkLlxuICAgIGFuZ3VsYXJMb2NhdGlvbi5vblVybENoYW5nZSh1cmwgPT4gdGhpcy5vblVybENoYW5nZWQodXJsKSk7XG5cbiAgfVxuXG4gIHBvc3Rwb25lUm91dGluZ1VudGlsKGNvbmRpdGlvbiQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9yZWFkeSQuc2V0RGVsZWdhdGUoY29uZGl0aW9uJClcbiAgfVxuXG4gIGFzeW5jIGdldEF1dGhlbnRpY2F0aW9uRmFpbHVyZVJlZGlyZWN0KGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8VmlzaXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoZW50aWNhdGlvbkZhaWx1cmVSZWRpcmVjdChhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUpXG4gIH1cblxuICBhc3luYyBnZXRBdXRob3Jpc2F0aW9uRmFpbHVyZVJlZGlyZWN0T3B0aW9ucyhjb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUHJvbWlzZTxWaXNpdFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXNhdGlvbkZhaWx1cmVSZWRpcmVjdE9wdGlvbnMoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uU2Vzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQudmFsdWU7XG4gIH1cblxuICBnZXQgY3VycmVudFNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICB9XG5cbiAgaXNOYXZpZ2F0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJC52YWx1ZTtcbiAgfVxuXG4gIGFzeW5jIHdhaXRVbnRpbFJvdXRlclJlYWR5KCkge1xuICAgIGNvbnN0IHt3YWl0VW50aWx9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGF3YWl0IHdhaXRVbnRpbCh0aGlzLnJlYWR5JCkuYmVjb21lc1RydXRoeSgpXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxJZGxlKCk6IFByb21pc2U8dGhpcz4ge1xuICAgIGNvbnN0IHt3YWl0VW50aWx9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGF3YWl0IHdhaXRVbnRpbCh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJCkuYmVjb21lc0ZhbHNleSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYXN5bmMgd2FpdEFjdGl2aXRpZXNTeW5jaHJvbmlzZWQoKTogUHJvbWlzZTx0aGlzPiB7XG4gICAgY29uc3Qge3dhaXRVbnRpbH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgYXdhaXQgd2FpdFVudGlsKHRoaXMuaW50ZXJhY3Rpb25TeW5jSW5Qcm9ncmVzcyQpLmJlY29tZXNGYWxzZXkoKVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUG9wU3RhdGUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb3BwZWRIaXN0b3J5VXJsID0gZXZlbnQudXJsO1xuICAgICAgY29uc3QgY3VycmVudFJvdXRlclVybCA9IHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCk7XG4gICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKSA/XG4gICAgICAgIG5ldyBQb3BTdGF0ZUR1cmluZ0ludGVyYWN0aW9uTmF2aWdhdGlvbih0aGlzLm5hdmlnYXRpb25Db250ZXh0LCBjdXJyZW50Um91dGVyVXJsLCBwb3BwZWRIaXN0b3J5VXJsKSA6XG4gICAgICAgIG5ldyBQb3BTdGF0ZU5hdmlnYXRpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCwgcG9wcGVkSGlzdG9yeVVybCk7XG4gICAgICB0aGlzLnRyYW5zaXRpb25UbyhzZXNzaW9uKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KGV2ZW50Lm5hdmlnYXRpb25UcmlnZ2VyID09PSBcInBvcHN0YXRlXCIpO1xuICAgIC8vIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyU3RhcnRlZChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHJhbnNpdGlvblRvKHRoaXMuY3JlYXRlTmF2aWdhdGlvblNlc3Npb24odGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uVXJsQ2hhbmdlZChuZXdVcmw6IHN0cmluZykge1xuICAgIC8vIHRoZSBiYWNrIGJ1dHRvbiBjYW4gdHJpZ2dlciBhIHVybCBjaGFuZ2Ugd2l0aG91dCBhIG5hdmlnYXRpb24gc2Vzc2lvbiBpbiBwcm9ncmVzcyBzbyB3ZVxuICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IFVybCBDaGFuZ2VkICR7bmV3VXJsfWApO1xuICAgIGlmICh0aGlzLmN1cnJlbnRTZXNzaW9uKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uVXJsQ2hhbmdlKG5ld1VybCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiRllJOiB1cmwgY2hhbmdlZCB3aXRob3V0IGEgbmF2aWdhdGlvbiBzZXNzaW9uIGluIHByb2dyZXNzXCIpO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBVcmwgQ2hhbmdlZGApO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcikge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFcnJvcihldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCkge1xuICAgIHRoaXMuY3VycmVudFNlc3Npb24ub25Sb3V0ZXJFbmQoZXZlbnQpO1xuICB9XG5cblxuICBhc3luYyBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQpXG4gIGFzeW5jIG5hdmlnYXRlKHBsYWNlQ29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gIGFzeW5jIG5hdmlnYXRlKHZpc2l0T3JQbGFjZUNvbXBvbmVudDogVmlzaXQgfCBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMudG9WaXNpdCh2aXNpdE9yUGxhY2VDb21wb25lbnQsIHBhcmFtcykuY29weVdpdGhEZWZhdWx0c0Zyb20odGhpcy5hY3RpdmVWaXNpdCQudmFsdWUpXG4gICAgcmV0dXJuIHRoaXMuZG9OYXZpZ2F0aW9uKHZpc2l0LCBhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmFuZ3VsYXJSb3V0ZXIubmF2aWdhdGUodmlzaXQuZ2V0Um91dGVyQ29tbWFuZHMoKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBkb05hdmlnYXRpb24odmlzaXQ6IFZpc2l0LCBydW5OYXZpZ2F0aW9uQ29tbWFuZHM6IChyb3V0ZXI6IFJvdXRlcikgPT4gYW55KSB7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkLnZhbHVlKSB7XG4gICAgICBMb2dnZXIuZ2V0KCkuZXJyb3IoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIiwge1xuICAgICAgICB2aXNpdDogdmlzaXQsXG4gICAgICAgIHNlc3Npb246IHRoaXMubmF2aWdhdGlvblNlc3Npb25cbiAgICAgIH0pO1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoXCJOYXZpZ2F0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIGNvbnN0IG5hdmlnYXRpb24gPSB0aGlzLmNyZWF0ZU5hdmlnYXRpb25TZXNzaW9uKHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCkpO1xuICAgIG5hdmlnYXRpb24uaW5pdGlhbGlzZVZpc2l0U2VnbWVudHModmlzaXQpXG4gICAgdGhpcy50cmFuc2l0aW9uVG8obmF2aWdhdGlvbik7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJ1bk5hdmlnYXRpb25Db21tYW5kcyh0aGlzLmFuZ3VsYXJSb3V0ZXIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGUgcm91dGVyIGhhcyBmaW5pc2hlZCAoaW4gdGhlIGNhc2Ugd2hlcmUgbm8gcm91dGVyIGNoYW5nZSByZXF1aXJlZCkgYW5kIHdlJ3JlIHN0aWxsIGluICBhXG4gICAgICAvLyB0cmFuc2llbnQgc3RhdGUgYW5kIGZpbmlzaCBvZiB0aGUgdHJhbnNpdGlvbi5cbiAgICAgIGlmICghdGhpcy5hbmd1bGFyUm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCkgJiYgdGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRW5kKG5ldyBOYXZpZ2F0aW9uRW5kKC0xLCBcIlwiLCB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdDogVXJsU25hcHNob3QsIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBuYXZpZ2F0aW9uQnlVcmwgLT4gJHt1cmxTbmFwc2hvdC51cmxUcmVlLnRvU3RyaW5nKCl9YCk7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhclJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LnVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXMpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVZpc2l0JCgpOiBWYWx1ZU1vZGVsPFZpc2l0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVZpc2l0JC5yZWFkb25seSQ7XG4gIH1cblxuICBhc3luYyBub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzOiBWaXNpdFNlZ21lbnQsIHdhczogVmlzaXRTZWdtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZVJvdXRlci5ub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkXCIsIGlzLnRvRGVidWdTdHJpbmcoKSwgd2FzLnRvRGVidWdTdHJpbmcoKSk7XG4gICAgdGhpcy5wbGFjZUhpc3RvcnkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcblxuICAgIC8vIEZJWE1FOiBubyByb3V0ZSBpZCAtPiByb3V0ZSBpZCBkdXBsaWNhdGVzIHJvdXRlIHBhcmFtZXRlcnNcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMuYWN0aXZlVmlzaXQkLnZhbHVlLmNvcHlBbmRSZXBsYWNlU2VnbWVudChpcyk7XG4gICAgaWYgKGlzLmhhc1JvdXRpbmdDaGFuZ2VkRnJvbSh3YXMpKSB7XG4gICAgICAvLyBUT0RPOiBjYW4gSSBqdXN0IGRvIGEgcmVndWxhciBuYXZpZ2F0ZSB1c2luZyBhbiB1cGRhdGVkIHZpc2l0P1xuICAgICAgLy8gY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgYXdhaXQgdGhpcy5kb05hdmlnYXRpb24odmlzaXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwodGhpcy5hbmd1bGFyUm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlTmF2aWdhdGlvblNlc3Npb24oY3VycmVudFJvdXRlclVybDogc3RyaW5nKTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIHJldHVybiBpbkludGVyYWN0aW9uID9cbiAgICAgIG5ldyBOYXZpZ2F0aW5nRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCkgOlxuICAgICAgbmV3IE5hdmlnYXRpbmcodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByb3RlY3RlZCB0cmFuc2l0aW9uVG8obmV4dDogTmF2aWdhdGlvblNlc3Npb24pIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHRoaXMucGxhY2VIaXN0b3J5Lm5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCk7XG4gICAgfVxuICAgIGFzc2VydC5pc1RydXRoeShuZXh0ICE9PSBwcmV2aW91cyk7XG4gICAgLy8gTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGAjIyMgUm91dGVyIFN0YXRlIFRyYW5zaXRpb246ICR7cHJldmlvdXMgPyBwcmV2aW91cy50b1N0cmluZygpIDogJ251bGwnfSAtPiAke25leHQudG9TdHJpbmcoKX1gKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICBwcmV2aW91cy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIG5leHQubm90aWZ5QWN0aXZlKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByaXZhdGUgcm91dGluZ1Nlc3Npb25GaW5pc2hlZCh2aXNpdD86IFZpc2l0KSB7XG4gICAgaWYgKHZpc2l0KSB7XG4gICAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWUpO1xuICAgICAgdGhpcy5wbGFjZUhpc3Rvcnkubm90aWZ5TmF2aWdhdGlvbkZpbmlzaGVkKHZpc2l0KTtcbiAgICAgIC8vIFdlIHVwZGF0ZSB0aGUgYWN0aXZlIHZpc2l0cyBiZWZvcmUgd2UgZmluaXNoIHRoZSBzZXNzaW9uIHNvIHRoZVxuICAgICAgLy8gcGxhY2Ugb3V0bGV0cyBjYW4gaWdub3JlIHRoZSBpbmNvbWluZyBjaGFuZ2VzIHVudGlsIHRoaW5ncyBhcmUgc2V0dGxlZC5cbiAgICAgIHRoaXMuX2FjdGl2ZVZpc2l0JC52YWx1ZSA9IHZpc2l0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlzaXQudG9EZWJ1Z1N0cmluZygpKVxuICAgIH1cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcbiAgICBzZXNzaW9uLmRpc3Bvc2UoKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG51bGw7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzICR7c2Vzc2lvbi50b1N0cmluZygpfSlgKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMuZm9yRWFjaChqb2IgPT4gam9iKCkpO1xuICAgIHRoaXMuc2Vzc2lvbkZpbmlzaGVkSm9icyA9IFtdO1xuICB9XG5cblxuICBwcml2YXRlIHJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcyhmdW5jOiAoKSA9PiB2b2lkKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMucHVzaChmdW5jKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFN5bmMncyB0aGUgY3VycmVudCBpbnRlcmFjdGlvbiBzdGF0ZSB3aXRoIHRoZSBVUkwuICBXZSBuZWVkIHRvIHB1c2ggc29tZXRoaW5nIGluIHRoZSBVUkwgaW4gb3JkZXJcbiAgICogdG8gYmUgYWJsZSB0byBjYXB0dXJlIHRoZSBiYWNrIGJ1dHRvbiBvbiB0aGUgZmlyc3QgcGFnZS4gIElmIHdlIGRvbid0IHRoZW4gdGhlIGJhY2sgY2xpY2sgd2lsbCBleGl0XG4gICAqIHRoZSBhcHAgZGlyZWN0bHkgYW5kIHdlIGRvbid0IGdldCB0byBhc2suXG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBzeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcihvblN5bmNDb21wbGV0ZTogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvLyBub29wXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbikge1xuICAgICAgLy8gY29uc29sZS5sb2coYE5hdmlnYXRpb24gYWN0aXZlIC0+ICR7dGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi50b1N0cmluZygpfSwgc3luYyBkZWxheWVkIHVudGlsIGZpbmlzaGVkLmApO1xuICAgICAgLy8gY29uc3Qgc2Vzc2lvbiA9IHRoaXMubmF2aWdhdGlvblNlc3Npb247XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5ydW5BZnRlclJvdXRpbmdTZXNzaW9uRmluaXNoZXMoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucnVuQWZ0ZXJSb3V0aW5nU2Vzc2lvbkZpbmlzaGVzKCgpID0+IHtcbiAgICAgICAgICAgIG9uU3luY0NvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgc3luY1Nlc3Npb24gPSBuZXcgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSwgZmFsc2UpO1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN5bmNTZXNzaW9uKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KCgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTm8gbmF2aWdhdGlvbiBpbiBwcm9ncmVzcywgc3RhcnRpbmcgc3luY2hyb25pc2F0aW9uIGpvYmApO1xuICAgICAgICB0aGlzLnJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcygoKSA9PiB7XG4gICAgICAgICAgb25TeW5jQ29tcGxldGUoKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMubmF2aWdhdGlvbkNvbnRleHQsIHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCksIGZhbHNlKTtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgICB9KSk7XG5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvVmlzaXQodmlzaXRPclBsYWNlQ29tcG9uZW50OiBWaXNpdCB8IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGlmICh2aXNpdE9yUGxhY2VDb21wb25lbnQgaW5zdGFuY2VvZiBWaXNpdCkge1xuICAgICAgcmV0dXJuIHZpc2l0T3JQbGFjZUNvbXBvbmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFZpc2l0LmdvdG8odmlzaXRPclBsYWNlQ29tcG9uZW50LCBwYXJhbXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlUm91dGVyIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIFJlZGlyZWN0aW9ucyB7XG4gICAgLyoqXG4gICAgICogTk9URTogZm9yIG5vdyB0aGlzIG9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIHBsYWNlcy4gIFN1cHBvcnQgZm9yIGNoaWxkIHBsYWNlcyB3aWxsIHJlcXVpcmUgYSBtb3JlIGZ1bmRhbWVudGFsXG4gICAgICogY2hhbmdlIHRvIHZpc2l0cyB0byBzdXBwb3J0IG5lc3RpbmdcbiAgICAgKi9cbiAgICBvbkF1dGhlbnRpY2F0aW9uRmFpbHVyZShhY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBOT1RFOiBmb3Igbm93IHRoaXMgb25seSBzdXBwb3J0cyB0b3AgbGV2ZWwgcGxhY2VzLiAgU3VwcG9ydCBmb3IgY2hpbGQgcGxhY2VzIHdpbGwgcmVxdWlyZSBhIG1vcmUgZnVuZGFtZW50YWxcbiAgICAgKiBjaGFuZ2UgdG8gdmlzaXRzIHRvIHN1cHBvcnQgbmVzdGluZ1xuICAgICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBvbkF1dGhvcmlzYXRpb25GYWlsdXJlKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiAoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXTtcbiAgfVxufVxuIl19
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utcm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvcGxhY2Utcm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFFZixlQUFlLEVBQ2YsTUFBTSxFQUVQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQUUsb0JBQW9CLEVBQ2xDLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLE1BQU0sRUFDTixpQkFBaUIsRUFHbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUM1RyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0sMkVBQTJFLENBQUM7QUFDbkYsT0FBTyxFQUNMLHlDQUF5QyxFQUMxQyxNQUFNLGtGQUFrRixDQUFDO0FBQzFGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sU0FBUyxDQUFDOzs7Ozs7O0FBRzlCLDRDQUE0QztBQUM1QyxnREFBZ0Q7QUFDaEQsSUFBSTtBQUtKLE1BQU0sT0FBTyxXQUFZLFNBQVEsZ0JBQWdCO0lBbUJsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBckJwQixrQkFBa0IsR0FBRyxJQUFJLGlCQUFpQixFQUFxQixDQUFDO0lBQ2hFLHFCQUFxQixDQUEyQjtJQUNoRCxzQkFBc0IsQ0FBMEIsQ0FBQyxnQkFBZ0I7SUFDakUsMEJBQTBCLENBQXNCO0lBRXhDLGlCQUFpQixDQUF5QjtJQUUxQyxhQUFhLEdBQUcsSUFBSSxpQkFBaUIsRUFBUyxDQUFDO0lBQy9DLHdCQUF3QixDQUFtQztJQUNwRSxtQkFBbUIsR0FBbUIsRUFBRSxDQUFDO0lBRXhDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFFN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBR3pDLFlBQTZCLGFBQXFCLEVBQ3JCLGVBQXlCLEVBQ3pCLGtCQUFzQyxFQUN0QyxVQUFzQixFQUN0QixZQUEwQjtRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQUxtQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUN6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFHckQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdFLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQ2pELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLHdCQUF3QixFQUM3QixDQUFDLFdBQXdCLEVBQUUsT0FBZ0MsRUFBRSxFQUFFO1lBQzdELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsUUFBUSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQywwQkFBMEIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRTVHLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7YUFDekQsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUNiLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU1QixZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUVoRSxvRkFBb0Y7UUFDcEYsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckMseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixnR0FBZ0c7WUFDaEcsaUZBQWlGO1lBQ2pGLGtGQUFrRjtZQUNsRiwwQkFBMEI7WUFDMUIsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFO2dCQUNwQywrRkFBK0Y7Z0JBQy9GLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLFVBQVUsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDeEI7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDN0I7Z0JBQ0QsK0ZBQStGO2FBQ2hHO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNsQyxnRUFBZ0U7Z0JBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLGdFQUFnRTthQUNqRTtZQUNELElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDcEMsa0VBQWtFO2dCQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixrRUFBa0U7YUFDbkU7WUFDRCxJQUFJLEtBQUssWUFBWSxnQkFBZ0IsRUFBRTtnQkFDckMsbUVBQW1FO2dCQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLG1FQUFtRTthQUNwRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsNEdBQTRHO1FBQzVHLCtCQUErQjtRQUMvQixlQUFlLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTdELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUErQjtRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLGNBQXNDLEVBQUUsS0FBMEI7UUFDdkcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGdDQUFnQyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBRUQsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLFNBQXdDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CO1FBQ3hCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYTtRQUNqQixNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsMEJBQTBCO1FBQzlCLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ2hFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVLENBQUMsS0FBc0I7UUFDL0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2xELElBQUksbUNBQW1DLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDckcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUdELFdBQVc7SUFDWCxlQUFlLENBQUMsS0FBc0I7UUFDcEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDeEQsNERBQTREO1FBQzVELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gsWUFBWSxDQUFDLE1BQWM7UUFDekIsMEZBQTBGO1FBQzFGLDZDQUE2QztRQUM3QyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUMxRTtRQUNELG1DQUFtQztJQUNyQyxDQUFDO0lBRUQsV0FBVztJQUNYLGlCQUFpQixDQUFDLEtBQXVCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7SUFDWCxhQUFhLENBQUMsS0FBc0I7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFdBQVc7SUFDWCxXQUFXLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUtELEtBQUssQ0FBQyxRQUFRLENBQUMscUJBQTRELEVBQUUsTUFBZ0M7UUFDM0csTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZHLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDekMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7SUFDWCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQVksRUFBRSxxQkFBOEM7UUFDN0UsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFO1lBQ3BDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUU7Z0JBQ25ELEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQ2hDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsSUFBSTtZQUNGLE1BQU0scUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2pEO2dCQUFTO1lBQ1IsdUdBQXVHO1lBQ3ZHLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ25HO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLFdBQXdCLEVBQUUsZ0JBQW1DO1FBQ3pFLDJFQUEyRTtRQUMzRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEVBQWdCLEVBQUUsR0FBaUI7UUFDakUsaUdBQWlHO1FBQ2pHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekMsNkRBQTZEO1FBQzdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksRUFBRSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLGlFQUFpRTtZQUNqRSx3Q0FBd0M7WUFDeEMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakgsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBR08sdUJBQXVCLENBQUMsZ0JBQXdCO1FBQ3RELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxPQUFPLGFBQWEsQ0FBQyxDQUFDO1lBQ3BCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMzRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVztJQUVELFlBQVksQ0FBQyxJQUF1QjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUM7U0FDN0M7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztRQUNuQywwSEFBMEg7UUFDMUgsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxRQUFRLEVBQUU7WUFDWixRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7SUFFSCxzQkFBc0IsQ0FBQyxLQUFhO1FBQzFDLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxrRUFBa0U7WUFDbEUsMEVBQTBFO1lBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNqQyxxQ0FBcUM7U0FDdEM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNyQywwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBR08sOEJBQThCLENBQUMsSUFBZ0I7UUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsV0FBVztJQUNYLG1DQUFtQyxDQUFDLGlCQUE2QixHQUFHLEVBQUU7UUFDcEUsT0FBTztJQUNULENBQUM7UUFDQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQiwwR0FBMEc7WUFDMUcsMENBQTBDO1lBQzFDLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsRUFBRTt3QkFDdkMsY0FBYyxFQUFFLENBQUM7d0JBQ2pCLE9BQU8sRUFBRSxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO29CQUNILE1BQU0sV0FBVyxHQUFHLElBQUkseUNBQXlDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDeEksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDakMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDcEMsMEVBQTBFO2dCQUMxRSxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxFQUFFO29CQUN2QyxjQUFjLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FFTDtJQUNILENBQUM7SUFFTyxPQUFPLENBQUMscUJBQTRELEVBQUUsTUFBZ0M7UUFDNUcsSUFBSSxxQkFBcUIsWUFBWSxLQUFLLEVBQUU7WUFDMUMsT0FBTyxxQkFBcUIsQ0FBQztTQUM5QjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzt1R0F4VlUsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uQ2FuY2VsLFxuICBOYXZpZ2F0aW9uRW5kLFxuICBOYXZpZ2F0aW9uRXJyb3IsXG4gIE5hdmlnYXRpb25FeHRyYXMsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgRGVidWdDb250ZXh0LCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBsYW5nLFxuICBMb2dnZXIsXG4gIE11dGFibGVWYWx1ZU1vZGVsLCBUcmFuc2FjdGlvbk9ic2VydmVyLFxuICBWYWx1ZU1vZGVsLFxuICBWYWx1ZU1vZGVsQ2hhaW5cbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQge0NvbnN0cnVjdGFibGV9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQge0ludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyfSBmcm9tIFwiLi4vaW50ZXJhY3Rpb24vc2VydmljZXMvaW50ZXJhY3Rpb24tc2VydmljZS1yb3V0aW5nLWFkYXB0ZXJcIjtcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vaW50ZXJhY3Rpb24vc2VydmljZXMvaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtOYXZpZ2F0aW5nRHVyaW5nSW50ZXJhY3Rpb259IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvbmF2aWdhdGluZy1kdXJpbmctaW50ZXJhY3Rpb25cIjtcbmltcG9ydCB7XG4gIFBvcFN0YXRlRHVyaW5nSW50ZXJhY3Rpb25OYXZpZ2F0aW9uXG59IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvcG9wLXN0YXRlLWR1cmluZy1pbnRlcmFjdGlvbi1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZVxufSBmcm9tIFwiLi9uYXZpZ2F0aW9uL3Nlc3Npb24vaW50ZXJhY3Rpb25zL3N5bmNocm9uaXNlLWludGVyYWN0aW9uLWNvbnRleHQtaWRzLXdpdGgtcm91dGVcIjtcbmltcG9ydCB7TmF2aWdhdGluZ30gZnJvbSBcIi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpbmdcIjtcbmltcG9ydCB7TmF2aWdhdGlvbkNvbnRleHR9IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9uYXZpZ2F0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7TmF2aWdhdGlvblNlc3Npb259IGZyb20gXCIuL25hdmlnYXRpb24vc2Vzc2lvbi9uYXZpZ2F0aW9uLXNlc3Npb25cIjtcbmltcG9ydCB7UG9wU3RhdGVOYXZpZ2F0aW9ufSBmcm9tIFwiLi9uYXZpZ2F0aW9uL3Nlc3Npb24vcG9wLXN0YXRlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7UGxhY2VBdXRoU2VydmljZX0gZnJvbSBcIi4vcGxhY2UtYXV0aC1zZXJ2aWNlXCI7XG5pbXBvcnQge1BsYWNlQ29tcG9uZW50fSBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmltcG9ydCB7UGxhY2VIaXN0b3J5fSBmcm9tIFwiLi9wbGFjZS1oaXN0b3J5XCI7XG5pbXBvcnQge1VybFNlcnZpY2V9IGZyb20gXCIuL3VybC1zZXJ2aWNlXCI7XG5pbXBvcnQge1VybFNuYXBzaG90fSBmcm9tIFwiLi91cmwtc25hcHNob3RcIjtcbmltcG9ydCB7VmlzaXR9IGZyb20gXCIuL3Zpc2l0XCI7XG5pbXBvcnQge1Zpc2l0U2VnbWVudH0gZnJvbSBcIi4vdmlzaXQtc2VnbWVudFwiO1xuXG4vLyBmdW5jdGlvbiBhc0FycmF5PFQ+KGl0ZW06IFQgfCBUW10pOiBUW10ge1xuLy8gICByZXR1cm4gQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0gOiBbaXRlbV07XG4vLyB9XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VSb3V0ZXIgZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICByZWFkb25seSBuYXZpZ2F0aW9uU2Vzc2lvbiQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8TmF2aWdhdGlvblNlc3Npb24+KCk7XG4gIHJlYWRvbmx5IG5hdmlnYXRpb25JblByb2dyZXNzJDogVmFsdWVNb2RlbENoYWluPGJvb2xlYW4+O1xuICByZWFkb25seSBuYXZpZ2F0aW9uU2Vzc2lvbk5hbWUkOiBWYWx1ZU1vZGVsQ2hhaW48c3RyaW5nPjsgLy8gdXNlZCBieSB0ZXN0c1xuICByZWFkb25seSBpbnRlcmFjdGlvblN5bmNJblByb2dyZXNzJDogVmFsdWVNb2RlbDxib29sZWFuPjtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hdmlnYXRpb25Db250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dC5JbXBsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVZpc2l0JCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxWaXNpdD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXI6IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyO1xuICBwcml2YXRlIHNlc3Npb25GaW5pc2hlZEpvYnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBuZXcgUGxhY2VBdXRoU2VydmljZSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlYWR5JCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KHRydWUpKTtcbiAgcmVhZG9ubHkgcmVhZHkkID0gdGhpcy5fcmVhZHkkLnJlYWRvbmx5JDtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYW5ndWxhclJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJMb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZUhpc3Rvcnk6IFBsYWNlSGlzdG9yeSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAod2luZG93W1wiQ3lwcmVzc1wiXSkge1xuICAgICAgd2luZG93W1wiYXVwLlBsYWNlUm91dGVyXCJdID0gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlciA9IGludGVyYWN0aW9uU2VydmljZS5yZWdpc3RlclBsYWNlUm91dGVyKHRoaXMpO1xuXG4gICAgLy8gVE9ETzogTWFrZSB0aGlzIGFuIGludGVyZmFjZSBhbmQgdXNlICd0aGlzJyBpbnN0ZWFkLlxuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRleHQgPSBuZXcgTmF2aWdhdGlvbkNvbnRleHQuSW1wbChcbiAgICAgIHRoaXMudXJsU2VydmljZSxcbiAgICAgIHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLFxuICAgICAgKHVybFNuYXBzaG90OiBVcmxTbmFwc2hvdCwgb3B0aW9uczogeyByZXBsYWNlVXJsOiBib29sZWFuIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCwgb3B0aW9ucyk7XG4gICAgICB9LFxuICAgICAgc3RhdGUgPT4ge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb25UbyhzdGF0ZSk7XG4gICAgICB9LFxuICAgICAgc2VnbWVudHMgPT4ge1xuICAgICAgICB0aGlzLnJvdXRpbmdTZXNzaW9uRmluaXNoZWQoc2VnbWVudHMpO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCB7Y2hhaW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkID0gY2hhaW4odGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbiQpLmlzTm90TmlsKCk7XG4gICAgdGhpcy5pbnRlcmFjdGlvblN5bmNJblByb2dyZXNzJCA9IGNoYWluKHRoaXMubmF2aWdhdGlvblNlc3Npb24kKS5wbHVjayhcImlzSW50ZXJhY3Rpb25TeW5jXCIpLm90aGVyd2lzZShmYWxzZSlcblxuICAgIGNvbnN0IGlkbGVTdGF0ZU5hbWUgPSBjaGFpbih0aGlzLmludGVyYWN0aW9uU2VydmljZS5hY3RpdmUpLm1hcChhY3RpdmUgPT4gYWN0aXZlID8gXCJJZGxlRHVyaW5nSW50ZXJhY3Rpb25cIiA6IFwiSWRsZVwiKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uTmFtZSQgPSBjaGFpbih0aGlzLm5hdmlnYXRpb25TZXNzaW9uJClcbiAgICAgIC5wbHVjayhcIm5hbWVcIilcbiAgICAgIC5vdGhlcndpc2UoaWRsZVN0YXRlTmFtZSk7XG5cbiAgICBEZWJ1Z0NvbnRleHQudGFnKHRoaXMuX2FjdGl2ZVZpc2l0JCwgXCJQbGFjZVJvdXRlci5hY3RpdmVWaXNpdFwiKTtcblxuICAgIC8vIFRPRE86IG1ha2Ugc2V0dXAgdGhlIGNhbGxiYWNrcyBpbiBkdXJpbmcgbW9kdWxlIGluaXRpYXRpb24gdG8gbWFrZSB0aGlzIHRlc3RhYmxlLlxuICAgIGFuZ3VsYXJSb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAvLyBSb3V0aW5nIGV2ZW50IHNlcXVlbmNlXG4gICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uQ2FuY2VsIC0tPiByZWRpcmVjdCwgZ28gYXJvdW5kIGFnYWluIGluIHRoZSBzYW1lIHNlc3Npb25cbiAgICAgIC8vIE5hdmlnYXRpb25TdGFydCAtPiAuLi4uIC0+IE5hdmlnYXRpb25FbmQgLS0+IG5hdmlnYXRpb24gY29tcGxldGUsIGVuZCBzZXNzaW9uLlxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVycm9yIC0tPiBuYXZpZ2F0aW9uIGFib3J0ZWQsIGVuZCBzZXNzaW9uLlxuICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgLS0tPiBOYXZpZ2F0aW9uU3RhcnRbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH0gKCR7ZXZlbnQubmF2aWdhdGlvblRyaWdnZXJ9KWApO1xuICAgICAgICBpZiAoZXZlbnQubmF2aWdhdGlvblRyaWdnZXIgPT09IFwicG9wc3RhdGVcIikge1xuICAgICAgICAgIHRoaXMub25Qb3BTdGF0ZShldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vblJvdXRlclN0YXJ0ZWQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGA8LS0tIE5hdmlnYXRpb25TdGFydFske2V2ZW50LmlkfV06ICR7ZXZlbnQudXJsfSAoJHtldmVudC5uYXZpZ2F0aW9uVHJpZ2dlcn0pYCk7XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25FbmRbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgICAgdGhpcy5vblJvdXRlckVuZChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGA8LS0tIE5hdmlnYXRpb25FbmRbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcikge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgLS0tPiBOYXZpZ2F0aW9uRXJyb3JbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgICAgdGhpcy5vblJvdXRlckVycm9yKGV2ZW50KTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYDwtLS0gTmF2aWdhdGlvbkVycm9yWyR7ZXZlbnQuaWR9XTogJHtldmVudC51cmx9YCk7XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IE5hdmlnYXRpb25DYW5jZWxbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgICAgdGhpcy5vblJvdXRlckNhbmNlbGxlZChldmVudCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGA8LS0tIE5hdmlnYXRpb25DYW5jZWxbJHtldmVudC5pZH1dOiAke2V2ZW50LnVybH1gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFRoZSByb3V0ZXIgbmVlZHMgdG8ga25vdyBhYm91dCB1cmwgY2hhbmdlcyBhbmQgaW4gc29tZSBjYXNlcyB0aGV5IGFyZSB0aGUgb25seSB3YXkgdGhlIHJvdXRlciBjYW4ga25vdyBpZlxuICAgIC8vIHRoZSBiYWNrIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAgICBhbmd1bGFyTG9jYXRpb24ub25VcmxDaGFuZ2UodXJsID0+IHRoaXMub25VcmxDaGFuZ2VkKHVybCkpO1xuXG4gIH1cblxuICBwb3N0cG9uZVJvdXRpbmdVbnRpbChjb25kaXRpb24kOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fcmVhZHkkLnNldERlbGVnYXRlKGNvbmRpdGlvbiQpXG4gIH1cblxuICBhc3luYyBnZXRBdXRoZW50aWNhdGlvbkZhaWx1cmVSZWRpcmVjdChhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPFZpc2l0PiB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aGVudGljYXRpb25GYWlsdXJlUmVkaXJlY3QoYWN0aXZhdGVkUm91dGUsIHN0YXRlKVxuICB9XG5cbiAgYXN5bmMgZ2V0QXV0aG9yaXNhdGlvbkZhaWx1cmVSZWRpcmVjdE9wdGlvbnMoY29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50Pik6IFByb21pc2U8VmlzaXRbXT4ge1xuICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcmlzYXRpb25GYWlsdXJlUmVkaXJlY3RPcHRpb25zKGNvbXBvbmVudCk7XG4gIH1cblxuICBnZXQgbmF2aWdhdGlvblNlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRTZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZTtcbiAgfVxuXG4gIGlzTmF2aWdhdGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWU7XG4gIH1cblxuICBhc3luYyB3YWl0VW50aWxSb3V0ZXJSZWFkeSgpIHtcbiAgICBjb25zdCB7d2FpdFVudGlsfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBhd2FpdCB3YWl0VW50aWwodGhpcy5yZWFkeSQpLmJlY29tZXNUcnV0aHkoKVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYXN5bmMgd2FpdFVudGlsSWRsZSgpOiBQcm9taXNlPHRoaXM+IHtcbiAgICBjb25zdCB7d2FpdFVudGlsfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBhd2FpdCB3YWl0VW50aWwodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQpLmJlY29tZXNGYWxzZXkoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFzeW5jIHdhaXRBY3Rpdml0aWVzU3luY2hyb25pc2VkKCk6IFByb21pc2U8dGhpcz4ge1xuICAgIGNvbnN0IHt3YWl0VW50aWx9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGF3YWl0IHdhaXRVbnRpbCh0aGlzLmludGVyYWN0aW9uU3luY0luUHJvZ3Jlc3MkKS5iZWNvbWVzRmFsc2V5KClcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUG9wU3RhdGUoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCkge1xuICAgIGFzc2VydC5pc1RydXRoeShldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gXCJwb3BzdGF0ZVwiKTtcbiAgICBpZiAodGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5vblBvcFN0YXRlKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9wcGVkSGlzdG9yeVVybCA9IGV2ZW50LnVybDtcbiAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZXJVcmwgPSB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpO1xuICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlLmlzQWN0aXZlKCkgP1xuICAgICAgICBuZXcgUG9wU3RhdGVEdXJpbmdJbnRlcmFjdGlvbk5hdmlnYXRpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCwgcG9wcGVkSGlzdG9yeVVybCkgOlxuICAgICAgICBuZXcgUG9wU3RhdGVOYXZpZ2F0aW9uKHRoaXMubmF2aWdhdGlvbkNvbnRleHQsIGN1cnJlbnRSb3V0ZXJVcmwsIHBvcHBlZEhpc3RvcnlVcmwpO1xuICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgfVxuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlclN0YXJ0ZWQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCkge1xuICAgIGFzc2VydC5pc0ZhbHNleShldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gXCJwb3BzdGF0ZVwiKTtcbiAgICAvLyBjb25zdCBpbkludGVyYWN0aW9uID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2UuaXNBY3RpdmUoKTtcbiAgICBpZiAodGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5vblJvdXRlclN0YXJ0ZWQoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRyYW5zaXRpb25Ubyh0aGlzLmNyZWF0ZU5hdmlnYXRpb25TZXNzaW9uKHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCkpKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblVybENoYW5nZWQobmV3VXJsOiBzdHJpbmcpIHtcbiAgICAvLyB0aGUgYmFjayBidXR0b24gY2FuIHRyaWdnZXIgYSB1cmwgY2hhbmdlIHdpdGhvdXQgYSBuYXZpZ2F0aW9uIHNlc3Npb24gaW4gcHJvZ3Jlc3Mgc28gd2VcbiAgICAvLyBjb25zb2xlLmxvZyhgLS0tPiBVcmwgQ2hhbmdlZCAke25ld1VybH1gKTtcbiAgICBpZiAodGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5vblVybENoYW5nZShuZXdVcmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhcIkZZSTogdXJsIGNoYW5nZWQgd2l0aG91dCBhIG5hdmlnYXRpb24gc2Vzc2lvbiBpbiBwcm9ncmVzc1wiKTtcbiAgICB9XG4gICAgLy8gY29uc29sZS5sb2coYDwtLS0gVXJsIENoYW5nZWRgKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5vblJvdXRlckNhbmNlbGxlZChldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRXJyb3IoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpIHtcbiAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRW5kKGV2ZW50KTtcbiAgfVxuXG5cbiAgYXN5bmMgbmF2aWdhdGUodmlzaXQ6IFZpc2l0KVxuICBhc3luYyBuYXZpZ2F0ZShwbGFjZUNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICBhc3luYyBuYXZpZ2F0ZSh2aXNpdE9yUGxhY2VDb21wb25lbnQ6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4sIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgY29uc3QgdmlzaXQgPSB0aGlzLnRvVmlzaXQodmlzaXRPclBsYWNlQ29tcG9uZW50LCBwYXJhbXMpLmNvcHlXaXRoRGVmYXVsdHNGcm9tKHRoaXMuYWN0aXZlVmlzaXQkLnZhbHVlKVxuICAgIHJldHVybiB0aGlzLmRvTmF2aWdhdGlvbih2aXNpdCwgYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5hbmd1bGFyUm91dGVyLm5hdmlnYXRlKHZpc2l0LmdldFJvdXRlckNvbW1hbmRzKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgZG9OYXZpZ2F0aW9uKHZpc2l0OiBWaXNpdCwgcnVuTmF2aWdhdGlvbkNvbW1hbmRzOiAocm91dGVyOiBSb3V0ZXIpID0+IGFueSkge1xuICAgIGlmICh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgTG9nZ2VyLmdldCgpLmVycm9yKFwiTmF2aWdhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzXCIsIHtcbiAgICAgICAgdmlzaXQ6IHZpc2l0LFxuICAgICAgICBzZXNzaW9uOiB0aGlzLm5hdmlnYXRpb25TZXNzaW9uXG4gICAgICB9KTtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKFwiTmF2aWdhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuYXZpZ2F0aW9uID0gdGhpcy5jcmVhdGVOYXZpZ2F0aW9uU2Vzc2lvbih0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpKTtcbiAgICAgIG5hdmlnYXRpb24uaW5pdGlhbGlzZVZpc2l0U2VnbWVudHModmlzaXQpXG4gICAgICB0aGlzLnRyYW5zaXRpb25UbyhuYXZpZ2F0aW9uKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJ1bk5hdmlnYXRpb25Db21tYW5kcyh0aGlzLmFuZ3VsYXJSb3V0ZXIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDaGVjayBpZiB0aGUgcm91dGVyIGhhcyBmaW5pc2hlZCAoaW4gdGhlIGNhc2Ugd2hlcmUgbm8gcm91dGVyIGNoYW5nZSByZXF1aXJlZCkgYW5kIHdlJ3JlIHN0aWxsIGluICBhXG4gICAgICAvLyB0cmFuc2llbnQgc3RhdGUgYW5kIGZpbmlzaCBvZiB0aGUgdHJhbnNpdGlvbi5cbiAgICAgIGlmICghdGhpcy5hbmd1bGFyUm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCkgJiYgdGhpcy5jdXJyZW50U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLm9uUm91dGVyRW5kKG5ldyBOYXZpZ2F0aW9uRW5kKC0xLCBcIlwiLCB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclVybCgpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdDogVXJsU25hcHNob3QsIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBuYXZpZ2F0aW9uQnlVcmwgLT4gJHt1cmxTbmFwc2hvdC51cmxUcmVlLnRvU3RyaW5nKCl9YCk7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhclJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LnVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXMpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVZpc2l0JCgpOiBWYWx1ZU1vZGVsPFZpc2l0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVZpc2l0JC5yZWFkb25seSQ7XG4gIH1cblxuICBhc3luYyBub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkKGlzOiBWaXNpdFNlZ21lbnQsIHdhczogVmlzaXRTZWdtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coXCJQbGFjZVJvdXRlci5ub3RpZnlWaXNpdFNlZ21lbnRDaGFuZ2VkXCIsIGlzLnRvRGVidWdTdHJpbmcoKSwgd2FzLnRvRGVidWdTdHJpbmcoKSk7XG4gICAgdGhpcy5wbGFjZUhpc3RvcnkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcblxuICAgIC8vIEZJWE1FOiBubyByb3V0ZSBpZCAtPiByb3V0ZSBpZCBkdXBsaWNhdGVzIHJvdXRlIHBhcmFtZXRlcnNcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMuYWN0aXZlVmlzaXQkLnZhbHVlLmNvcHlBbmRSZXBsYWNlU2VnbWVudChpcyk7XG4gICAgaWYgKGlzLmhhc1JvdXRpbmdDaGFuZ2VkRnJvbSh3YXMpKSB7XG4gICAgICAvLyBUT0RPOiBjYW4gSSBqdXN0IGRvIGEgcmVndWxhciBuYXZpZ2F0ZSB1c2luZyBhbiB1cGRhdGVkIHZpc2l0P1xuICAgICAgLy8gY29uc3Qge3doZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgICAgYXdhaXQgdGhpcy5kb05hdmlnYXRpb24odmlzaXQsICgpID0+IHtcbiAgICAgICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnVybFNlcnZpY2UucGFyc2VVcmwodGhpcy5hbmd1bGFyUm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnVybCkudXBkYXRlVmlzaXRTZWdtZW50KGlzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGVCeVVybCh1cmxTbmFwc2hvdCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgY3JlYXRlTmF2aWdhdGlvblNlc3Npb24oY3VycmVudFJvdXRlclVybDogc3RyaW5nKTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIGNvbnN0IGluSW50ZXJhY3Rpb24gPSB0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpO1xuICAgIHJldHVybiBpbkludGVyYWN0aW9uID9cbiAgICAgIG5ldyBOYXZpZ2F0aW5nRHVyaW5nSW50ZXJhY3Rpb24odGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCkgOlxuICAgICAgbmV3IE5hdmlnYXRpbmcodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgY3VycmVudFJvdXRlclVybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByb3RlY3RlZCB0cmFuc2l0aW9uVG8obmV4dDogTmF2aWdhdGlvblNlc3Npb24pIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMubmF2aWdhdGlvblNlc3Npb24kLnZhbHVlO1xuICAgIGlmICghcHJldmlvdXMpIHtcbiAgICAgIHRoaXMucGxhY2VIaXN0b3J5Lm5vdGlmeU5hdmlnYXRpb25TdGFydGVkKCk7XG4gICAgfVxuICAgIGFzc2VydC5pc1RydXRoeShuZXh0ICE9PSBwcmV2aW91cyk7XG4gICAgLy8gTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGAjIyMgUm91dGVyIFN0YXRlIFRyYW5zaXRpb246ICR7cHJldmlvdXMgPyBwcmV2aW91cy50b1N0cmluZygpIDogJ251bGwnfSAtPiAke25leHQudG9TdHJpbmcoKX1gKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG5leHQ7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICBwcmV2aW91cy5kaXNwb3NlKCk7XG4gICAgfVxuICAgIG5leHQubm90aWZ5QWN0aXZlKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuXG4gIHByaXZhdGUgcm91dGluZ1Nlc3Npb25GaW5pc2hlZCh2aXNpdD86IFZpc2l0KSB7XG4gICAgaWYgKHZpc2l0KSB7XG4gICAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyQudmFsdWUpO1xuICAgICAgdGhpcy5wbGFjZUhpc3Rvcnkubm90aWZ5TmF2aWdhdGlvbkZpbmlzaGVkKHZpc2l0KTtcbiAgICAgIC8vIFdlIHVwZGF0ZSB0aGUgYWN0aXZlIHZpc2l0cyBiZWZvcmUgd2UgZmluaXNoIHRoZSBzZXNzaW9uIHNvIHRoZVxuICAgICAgLy8gcGxhY2Ugb3V0bGV0cyBjYW4gaWdub3JlIHRoZSBpbmNvbWluZyBjaGFuZ2VzIHVudGlsIHRoaW5ncyBhcmUgc2V0dGxlZC5cbiAgICAgIHRoaXMuX2FjdGl2ZVZpc2l0JC52YWx1ZSA9IHZpc2l0O1xuICAgICAgLy8gY29uc29sZS5sb2codmlzaXQudG9EZWJ1Z1N0cmluZygpKVxuICAgIH1cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcbiAgICBzZXNzaW9uLmRpc3Bvc2UoKTtcbiAgICB0aGlzLm5hdmlnYXRpb25TZXNzaW9uJC52YWx1ZSA9IG51bGw7XG4gICAgLy8gY29uc29sZS5sb2coYCMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzICR7c2Vzc2lvbi50b1N0cmluZygpfSlgKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMuZm9yRWFjaChqb2IgPT4gam9iKCkpO1xuICAgIHRoaXMuc2Vzc2lvbkZpbmlzaGVkSm9icyA9IFtdO1xuICB9XG5cblxuICBwcml2YXRlIHJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcyhmdW5jOiAoKSA9PiB2b2lkKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MkKTtcbiAgICB0aGlzLnNlc3Npb25GaW5pc2hlZEpvYnMucHVzaChmdW5jKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFN5bmMncyB0aGUgY3VycmVudCBpbnRlcmFjdGlvbiBzdGF0ZSB3aXRoIHRoZSBVUkwuICBXZSBuZWVkIHRvIHB1c2ggc29tZXRoaW5nIGluIHRoZSBVUkwgaW4gb3JkZXJcbiAgICogdG8gYmUgYWJsZSB0byBjYXB0dXJlIHRoZSBiYWNrIGJ1dHRvbiBvbiB0aGUgZmlyc3QgcGFnZS4gIElmIHdlIGRvbid0IHRoZW4gdGhlIGJhY2sgY2xpY2sgd2lsbCBleGl0XG4gICAqIHRoZSBhcHAgZGlyZWN0bHkgYW5kIHdlIGRvbid0IGdldCB0byBhc2suXG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBzeW5jSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlcihvblN5bmNDb21wbGV0ZTogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICAvLyBub29wXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbikge1xuICAgICAgLy8gY29uc29sZS5sb2coYE5hdmlnYXRpb24gYWN0aXZlIC0+ICR7dGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi50b1N0cmluZygpfSwgc3luYyBkZWxheWVkIHVudGlsIGZpbmlzaGVkLmApO1xuICAgICAgLy8gY29uc3Qgc2Vzc2lvbiA9IHRoaXMubmF2aWdhdGlvblNlc3Npb247XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgdGhpcy5ydW5BZnRlclJvdXRpbmdTZXNzaW9uRmluaXNoZXMoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucnVuQWZ0ZXJSb3V0aW5nU2Vzc2lvbkZpbmlzaGVzKCgpID0+IHtcbiAgICAgICAgICAgIG9uU3luY0NvbXBsZXRlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgc3luY1Nlc3Npb24gPSBuZXcgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUodGhpcy5uYXZpZ2F0aW9uQ29udGV4dCwgdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSwgZmFsc2UpO1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRvKHN5bmNTZXNzaW9uKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KCgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgTm8gbmF2aWdhdGlvbiBpbiBwcm9ncmVzcywgc3RhcnRpbmcgc3luY2hyb25pc2F0aW9uIGpvYmApO1xuICAgICAgICB0aGlzLnJ1bkFmdGVyUm91dGluZ1Nlc3Npb25GaW5pc2hlcygoKSA9PiB7XG4gICAgICAgICAgb25TeW5jQ29tcGxldGUoKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMubmF2aWdhdGlvbkNvbnRleHQsIHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCksIGZhbHNlKTtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgICB9KSk7XG5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvVmlzaXQodmlzaXRPclBsYWNlQ29tcG9uZW50OiBWaXNpdCB8IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGlmICh2aXNpdE9yUGxhY2VDb21wb25lbnQgaW5zdGFuY2VvZiBWaXNpdCkge1xuICAgICAgcmV0dXJuIHZpc2l0T3JQbGFjZUNvbXBvbmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFZpc2l0LmdvdG8odmlzaXRPclBsYWNlQ29tcG9uZW50LCBwYXJhbXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlUm91dGVyIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIFJlZGlyZWN0aW9ucyB7XG4gICAgLyoqXG4gICAgICogTk9URTogZm9yIG5vdyB0aGlzIG9ubHkgc3VwcG9ydHMgdG9wIGxldmVsIHBsYWNlcy4gIFN1cHBvcnQgZm9yIGNoaWxkIHBsYWNlcyB3aWxsIHJlcXVpcmUgYSBtb3JlIGZ1bmRhbWVudGFsXG4gICAgICogY2hhbmdlIHRvIHZpc2l0cyB0byBzdXBwb3J0IG5lc3RpbmdcbiAgICAgKi9cbiAgICBvbkF1dGhlbnRpY2F0aW9uRmFpbHVyZShhY3RpdmF0ZWRSb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFZpc2l0IHwgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBOT1RFOiBmb3Igbm93IHRoaXMgb25seSBzdXBwb3J0cyB0b3AgbGV2ZWwgcGxhY2VzLiAgU3VwcG9ydCBmb3IgY2hpbGQgcGxhY2VzIHdpbGwgcmVxdWlyZSBhIG1vcmUgZnVuZGFtZW50YWxcbiAgICAgKiBjaGFuZ2UgdG8gdmlzaXRzIHRvIHN1cHBvcnQgbmVzdGluZ1xuICAgICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBvbkF1dGhvcmlzYXRpb25GYWlsdXJlKGNvbXBvbmVudDogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiAoQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4gfCBWaXNpdClbXTtcbiAgfVxufVxuIl19
|
|
@@ -9006,7 +9006,8 @@ class PlaceAuthService extends GarbageCollector {
|
|
|
9006
9006
|
enablePlace(placeDefinition, options) {
|
|
9007
9007
|
const { chain } = Dsl.disposeWith(this);
|
|
9008
9008
|
const when$ = options.when$ ? options.when$ : chain(options.unless$).isFalsey();
|
|
9009
|
-
|
|
9009
|
+
// NOTE: we're wrapping the when$ so callers can pass in the same model multiple times (pectin doesn't support depending on multiples of the same model yet)
|
|
9010
|
+
this.enabledPlaceChecker.enableWhen(PlaceComponent.getDefinition(placeDefinition), chain(when$).isTruthy(), options);
|
|
9010
9011
|
}
|
|
9011
9012
|
async waitUntilAuthenticationReady() {
|
|
9012
9013
|
await toPromise(this, this._authNReady$);
|
|
@@ -9606,9 +9607,11 @@ class PlaceRouter extends GarbageCollector {
|
|
|
9606
9607
|
});
|
|
9607
9608
|
lang.illegalState("Navigation already in progress");
|
|
9608
9609
|
}
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9610
|
+
else {
|
|
9611
|
+
const navigation = this.createNavigationSession(this.urlService.getCurrentRouterUrl());
|
|
9612
|
+
navigation.initialiseVisitSegments(visit);
|
|
9613
|
+
this.transitionTo(navigation);
|
|
9614
|
+
}
|
|
9612
9615
|
try {
|
|
9613
9616
|
await runNavigationCommands(this.angularRouter);
|
|
9614
9617
|
}
|