@igo2/common 1.11.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/bundles/igo2-common.umd.js +101 -15
  2. package/bundles/igo2-common.umd.js.map +1 -1
  3. package/esm2015/lib/action/action.module.js +1 -1
  4. package/esm2015/lib/action/actionbar/actionbar-item.component.js +1 -1
  5. package/esm2015/lib/action/actionbar/actionbar.component.js +1 -1
  6. package/esm2015/lib/action/actionbar/actionbar.module.js +1 -1
  7. package/esm2015/lib/action/index.js +1 -1
  8. package/esm2015/lib/action/shared/action.enums.js +1 -1
  9. package/esm2015/lib/action/shared/action.interfaces.js +1 -1
  10. package/esm2015/lib/action/shared/index.js +1 -1
  11. package/esm2015/lib/action/shared/store.js +1 -1
  12. package/esm2015/lib/backdrop/backdrop.component.js +1 -1
  13. package/esm2015/lib/backdrop/backdrop.module.js +1 -1
  14. package/esm2015/lib/backdrop/index.js +1 -1
  15. package/esm2015/lib/badge-icon/badge-icon.directive.js +1 -1
  16. package/esm2015/lib/badge-icon/badge-icon.module.js +1 -1
  17. package/esm2015/lib/badge-icon/index.js +1 -1
  18. package/esm2015/lib/clickout/clickout.directive.js +1 -1
  19. package/esm2015/lib/clickout/clickout.module.js +1 -1
  20. package/esm2015/lib/clickout/index.js +1 -1
  21. package/esm2015/lib/clone/clone.module.js +1 -1
  22. package/esm2015/lib/clone/clone.pipe.js +1 -1
  23. package/esm2015/lib/clone/index.js +1 -1
  24. package/esm2015/lib/collapsible/collapse.directive.js +1 -1
  25. package/esm2015/lib/collapsible/collapsible.component.js +1 -1
  26. package/esm2015/lib/collapsible/collapsible.module.js +1 -1
  27. package/esm2015/lib/collapsible/index.js +1 -1
  28. package/esm2015/lib/confirm-dialog/confirm-dialog.component.js +1 -1
  29. package/esm2015/lib/confirm-dialog/confirm-dialog.module.js +1 -1
  30. package/esm2015/lib/confirm-dialog/confirm-dialog.service.js +1 -1
  31. package/esm2015/lib/confirm-dialog/index.js +1 -1
  32. package/esm2015/lib/context-menu/context-menu.directive.js +1 -1
  33. package/esm2015/lib/context-menu/context-menu.module.js +1 -1
  34. package/esm2015/lib/context-menu/index.js +1 -1
  35. package/esm2015/lib/custom-html/custom-html.component.js +1 -1
  36. package/esm2015/lib/custom-html/custom-html.module.js +1 -1
  37. package/esm2015/lib/custom-html/custom-html.pipe.js +1 -1
  38. package/esm2015/lib/custom-html/index.js +1 -1
  39. package/esm2015/lib/dom/dom.interfaces.js +2 -0
  40. package/esm2015/lib/dom/dom.module.js +23 -0
  41. package/esm2015/lib/dom/dom.service.js +33 -0
  42. package/esm2015/lib/dom/index.js +3 -0
  43. package/esm2015/lib/drag-drop/drag-drop.module.js +1 -1
  44. package/esm2015/lib/drag-drop/index.js +1 -1
  45. package/esm2015/lib/dynamic-component/dynamic-component.module.js +1 -1
  46. package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.js +1 -1
  47. package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.js +1 -1
  48. package/esm2015/lib/dynamic-component/index.js +1 -1
  49. package/esm2015/lib/dynamic-component/shared/dynamic-component.interfaces.js +1 -1
  50. package/esm2015/lib/dynamic-component/shared/dynamic-component.js +1 -1
  51. package/esm2015/lib/dynamic-component/shared/dynamic-component.service.js +1 -1
  52. package/esm2015/lib/dynamic-component/shared/index.js +1 -1
  53. package/esm2015/lib/entity/entity-selector/entity-selector.component.js +1 -1
  54. package/esm2015/lib/entity/entity-selector/entity-selector.module.js +1 -1
  55. package/esm2015/lib/entity/entity-table/entity-table-row.directive.js +1 -1
  56. package/esm2015/lib/entity/entity-table/entity-table.component.js +29 -13
  57. package/esm2015/lib/entity/entity-table/entity-table.module.js +1 -1
  58. package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.component.js +1 -1
  59. package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.interface.js +1 -1
  60. package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.module.js +1 -1
  61. package/esm2015/lib/entity/entity.module.js +1 -1
  62. package/esm2015/lib/entity/index.js +1 -1
  63. package/esm2015/lib/entity/shared/entity.enums.js +1 -1
  64. package/esm2015/lib/entity/shared/entity.interfaces.js +1 -1
  65. package/esm2015/lib/entity/shared/entity.utils.js +1 -1
  66. package/esm2015/lib/entity/shared/index.js +1 -1
  67. package/esm2015/lib/entity/shared/state.js +1 -1
  68. package/esm2015/lib/entity/shared/store.js +1 -1
  69. package/esm2015/lib/entity/shared/strategies/filter-custom-function.js +1 -1
  70. package/esm2015/lib/entity/shared/strategies/filter-selection.js +1 -1
  71. package/esm2015/lib/entity/shared/strategies/index.js +1 -1
  72. package/esm2015/lib/entity/shared/strategies/strategy.js +1 -1
  73. package/esm2015/lib/entity/shared/transaction.js +1 -1
  74. package/esm2015/lib/entity/shared/view.js +1 -1
  75. package/esm2015/lib/entity/shared/watcher.js +1 -1
  76. package/esm2015/lib/flexible/flexible.component.js +1 -1
  77. package/esm2015/lib/flexible/flexible.module.js +1 -1
  78. package/esm2015/lib/flexible/flexible.type.js +1 -1
  79. package/esm2015/lib/flexible/index.js +1 -1
  80. package/esm2015/lib/form/form/form.component.js +1 -1
  81. package/esm2015/lib/form/form/form.module.js +1 -1
  82. package/esm2015/lib/form/form-field/form-field-select.component.js +1 -1
  83. package/esm2015/lib/form/form-field/form-field-text.component.js +1 -1
  84. package/esm2015/lib/form/form-field/form-field-textarea.component.js +1 -1
  85. package/esm2015/lib/form/form-field/form-field.component.js +1 -1
  86. package/esm2015/lib/form/form-field/form-field.module.js +1 -1
  87. package/esm2015/lib/form/form-field/index.js +1 -1
  88. package/esm2015/lib/form/form-group/form-group.component.js +1 -1
  89. package/esm2015/lib/form/form-group/form-group.module.js +1 -1
  90. package/esm2015/lib/form/form.module.js +1 -1
  91. package/esm2015/lib/form/index.js +1 -1
  92. package/esm2015/lib/form/shared/form-field-component.js +1 -1
  93. package/esm2015/lib/form/shared/form-field.service.js +1 -1
  94. package/esm2015/lib/form/shared/form.interfaces.js +1 -1
  95. package/esm2015/lib/form/shared/form.service.js +1 -1
  96. package/esm2015/lib/form/shared/form.utils.js +1 -1
  97. package/esm2015/lib/form/shared/index.js +1 -1
  98. package/esm2015/lib/home-button/home-button.component.js +1 -1
  99. package/esm2015/lib/home-button/home-button.module.js +1 -1
  100. package/esm2015/lib/home-button/index.js +1 -1
  101. package/esm2015/lib/image/image.module.js +1 -1
  102. package/esm2015/lib/image/index.js +1 -1
  103. package/esm2015/lib/image/secure-image.pipe.js +11 -4
  104. package/esm2015/lib/interactive-tour/index.js +1 -1
  105. package/esm2015/lib/interactive-tour/interactive-tour.component.js +1 -1
  106. package/esm2015/lib/interactive-tour/interactive-tour.interface.js +1 -1
  107. package/esm2015/lib/interactive-tour/interactive-tour.loader.js +1 -1
  108. package/esm2015/lib/interactive-tour/interactive-tour.module.js +1 -1
  109. package/esm2015/lib/interactive-tour/interactive-tour.service.js +1 -1
  110. package/esm2015/lib/json-dialog/index.js +1 -1
  111. package/esm2015/lib/json-dialog/json-dialog.component.js +1 -1
  112. package/esm2015/lib/json-dialog/json-dialog.module.js +1 -1
  113. package/esm2015/lib/json-dialog/json-dialog.service.js +1 -1
  114. package/esm2015/lib/keyvalue/index.js +1 -1
  115. package/esm2015/lib/keyvalue/keyvalue.module.js +1 -1
  116. package/esm2015/lib/keyvalue/keyvalue.pipe.js +1 -1
  117. package/esm2015/lib/list/index.js +1 -1
  118. package/esm2015/lib/list/list-item.directive.js +1 -1
  119. package/esm2015/lib/list/list.component.js +1 -1
  120. package/esm2015/lib/list/list.module.js +1 -1
  121. package/esm2015/lib/panel/index.js +1 -1
  122. package/esm2015/lib/panel/panel.component.js +1 -1
  123. package/esm2015/lib/panel/panel.module.js +1 -1
  124. package/esm2015/lib/sidenav/index.js +1 -1
  125. package/esm2015/lib/sidenav/sidenav-shim.directive.js +1 -1
  126. package/esm2015/lib/sidenav/sidenav.module.js +1 -1
  127. package/esm2015/lib/spinner/index.js +1 -1
  128. package/esm2015/lib/spinner/spinner-activity.directive.js +1 -1
  129. package/esm2015/lib/spinner/spinner.component.js +1 -1
  130. package/esm2015/lib/spinner/spinner.module.js +1 -1
  131. package/esm2015/lib/stop-propagation/index.js +1 -1
  132. package/esm2015/lib/stop-propagation/stop-drop-propagation.directive.js +1 -1
  133. package/esm2015/lib/stop-propagation/stop-propagation.directive.js +1 -1
  134. package/esm2015/lib/stop-propagation/stop-propagation.module.js +1 -1
  135. package/esm2015/lib/table/index.js +1 -1
  136. package/esm2015/lib/table/table-action-color.enum.js +1 -1
  137. package/esm2015/lib/table/table-database.js +1 -1
  138. package/esm2015/lib/table/table-datasource.js +1 -1
  139. package/esm2015/lib/table/table-model.interface.js +1 -1
  140. package/esm2015/lib/table/table.component.js +1 -1
  141. package/esm2015/lib/table/table.module.js +1 -1
  142. package/esm2015/lib/tool/index.js +1 -1
  143. package/esm2015/lib/tool/shared/index.js +1 -1
  144. package/esm2015/lib/tool/shared/tool-component.js +1 -1
  145. package/esm2015/lib/tool/shared/tool.interface.js +1 -1
  146. package/esm2015/lib/tool/shared/tool.service.js +1 -1
  147. package/esm2015/lib/tool/shared/toolbox.enums.js +1 -1
  148. package/esm2015/lib/tool/shared/toolbox.js +1 -1
  149. package/esm2015/lib/tool/tool.module.js +1 -1
  150. package/esm2015/lib/tool/toolbox/toolbox.animation.js +1 -1
  151. package/esm2015/lib/tool/toolbox/toolbox.component.js +1 -1
  152. package/esm2015/lib/tool/toolbox/toolbox.module.js +1 -1
  153. package/esm2015/lib/widget/index.js +1 -1
  154. package/esm2015/lib/widget/shared/index.js +1 -1
  155. package/esm2015/lib/widget/shared/widget.interfaces.js +1 -1
  156. package/esm2015/lib/widget/shared/widget.js +1 -1
  157. package/esm2015/lib/widget/shared/widget.service.js +1 -1
  158. package/esm2015/lib/widget/widget-outlet/widget-outlet.component.js +1 -1
  159. package/esm2015/lib/widget/widget-outlet/widget-outlet.module.js +1 -1
  160. package/esm2015/lib/widget/widget.module.js +1 -1
  161. package/esm2015/lib/workspace/index.js +1 -1
  162. package/esm2015/lib/workspace/shared/index.js +1 -1
  163. package/esm2015/lib/workspace/shared/store.js +1 -1
  164. package/esm2015/lib/workspace/shared/workspace.interfaces.js +1 -1
  165. package/esm2015/lib/workspace/shared/workspace.js +1 -1
  166. package/esm2015/lib/workspace/workspace-selector/workspace-selector.component.js +1 -1
  167. package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
  168. package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.js +1 -1
  169. package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.js +1 -1
  170. package/esm2015/lib/workspace/workspace.module.js +1 -1
  171. package/esm2015/public_api.js +3 -1
  172. package/fesm2015/igo2-common.js +87 -18
  173. package/fesm2015/igo2-common.js.map +1 -1
  174. package/lib/dom/dom.interfaces.d.ts +10 -0
  175. package/lib/dom/dom.module.d.ts +8 -0
  176. package/lib/dom/dom.service.d.ts +10 -0
  177. package/lib/dom/index.d.ts +2 -0
  178. package/lib/entity/shared/entity.interfaces.d.ts +1 -0
  179. package/lib/image/secure-image.pipe.d.ts +3 -1
  180. package/package.json +3 -3
  181. package/public_api.d.ts +2 -0
  182. package/style/common.theming.scss +12 -12
  183. package/style/partial/action.scss +18 -18
  184. package/style/partial/common.variables.scss +8 -8
@@ -27,4 +27,4 @@ IgoEntityTablePaginatorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ impo
27
27
  }]
28
28
  }], null, null); })();
29
29
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoEntityTablePaginatorModule, { declarations: [EntityTablePaginatorComponent], imports: [MatPaginatorModule], exports: [EntityTablePaginatorComponent] }); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVqRTs7R0FFRztBQVlILE1BQU0sT0FBTyw2QkFBNkI7OzBHQUE3Qiw2QkFBNkI7K0VBQTdCLDZCQUE2QjttRkFWL0I7WUFDUCxrQkFBa0I7U0FDbkI7dUZBUVUsNkJBQTZCO2NBWHpDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsNkJBQTZCO2lCQUM5QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osNkJBQTZCO2lCQUM5QjthQUNGOzt3RkFDWSw2QkFBNkIsbUJBSHRDLDZCQUE2QixhQU43QixrQkFBa0IsYUFHbEIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0eVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVudGl0eVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudGl0eVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIElnb0VudGl0eVRhYmxlUGFnaW5hdG9yTW9kdWxlIHt9XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXBhZ2luYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlLXBhZ2luYXRvci9lbnRpdHktdGFibGUtcGFnaW5hdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVqRTs7R0FFRztBQVlILE1BQU0sT0FBTyw2QkFBNkI7OzBHQUE3Qiw2QkFBNkI7K0VBQTdCLDZCQUE2QjttRkFWL0I7WUFDUCxrQkFBa0I7U0FDbkI7dUZBUVUsNkJBQTZCO2NBWHpDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsNkJBQTZCO2lCQUM5QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osNkJBQTZCO2lCQUM5QjthQUNGOzt3RkFDWSw2QkFBNkIsbUJBSHRDLDZCQUE2QixhQU43QixrQkFBa0IsYUFHbEIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50aXR5VGFibGVQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEVudGl0eVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEVudGl0eVRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0VudGl0eVRhYmxlUGFnaW5hdG9yTW9kdWxlIHt9XHJcbiJdfQ==
@@ -30,4 +30,4 @@ IgoEntityModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
30
30
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoEntityModule, { imports: [CommonModule], exports: [IgoEntitySelectorModule,
31
31
  IgoEntityTableModule,
32
32
  IgoEntityTablePaginatorModule] }); })();
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQWF2RyxNQUFNLE9BQU8sZUFBZTs7OEVBQWYsZUFBZTtpRUFBZixlQUFlO3FFQVZqQjtZQUNQLFlBQVk7U0FDYixFQUVDLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsNkJBQTZCO3VGQUlwQixlQUFlO2NBWDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2QixvQkFBb0I7b0JBQ3BCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFLEVBQUU7YUFDakI7O3dGQUNZLGVBQWUsY0FUeEIsWUFBWSxhQUdaLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb0VudGl0eVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBJZ29FbnRpdHlUYWJsZU1vZHVsZSB9IGZyb20gJy4vZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgSWdvRW50aXR5VGFibGVQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBJZ29FbnRpdHlTZWxlY3Rvck1vZHVsZSxcbiAgICBJZ29FbnRpdHlUYWJsZU1vZHVsZSxcbiAgICBJZ29FbnRpdHlUYWJsZVBhZ2luYXRvck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb0VudGl0eU1vZHVsZSB7fVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9lbnRpdHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOztBQWF2RyxNQUFNLE9BQU8sZUFBZTs7OEVBQWYsZUFBZTtpRUFBZixlQUFlO3FFQVZqQjtZQUNQLFlBQVk7U0FDYixFQUVDLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsNkJBQTZCO3VGQUlwQixlQUFlO2NBWDNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2QixvQkFBb0I7b0JBQ3BCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFLEVBQUU7YUFDakI7O3dGQUNZLGVBQWUsY0FUeEIsWUFBWSxhQUdaLHVCQUF1QjtRQUN2QixvQkFBb0I7UUFDcEIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IElnb0VudGl0eVNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb0VudGl0eVRhYmxlTW9kdWxlIH0gZnJvbSAnLi9lbnRpdHktdGFibGUvZW50aXR5LXRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb0VudGl0eVRhYmxlUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnLi9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29FbnRpdHlTZWxlY3Rvck1vZHVsZSxcclxuICAgIElnb0VudGl0eVRhYmxlTW9kdWxlLFxyXG4gICAgSWdvRW50aXR5VGFibGVQYWdpbmF0b3JNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0VudGl0eU1vZHVsZSB7fVxyXG4iXX0=
@@ -3,4 +3,4 @@ export * from './entity-selector/entity-selector.component';
3
3
  export * from './entity-table/entity-table.component';
4
4
  export * from './entity-table-paginator/entity-table-paginator.component';
5
5
  export * from './entity-table-paginator/entity-table-paginator.interface';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXNlbGVjdG9yL2VudGl0eS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUvZW50aXR5LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktdGFibGUtcGFnaW5hdG9yL2VudGl0eS10YWJsZS1wYWdpbmF0b3IuaW50ZXJmYWNlJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2VsZWN0b3IvZW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS10YWJsZS1wYWdpbmF0b3IvZW50aXR5LXRhYmxlLXBhZ2luYXRvci5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -25,4 +25,4 @@ export var EntityTableSelectionState;
25
25
  EntityTableSelectionState["All"] = "All";
26
26
  EntityTableSelectionState["Some"] = "Some";
27
27
  })(EntityTableSelectionState || (EntityTableSelectionState = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLHlCQU9YO0FBUEQsV0FBWSx5QkFBeUI7SUFDbkMsZ0RBQW1CLENBQUE7SUFDbkIsMENBQWEsQ0FBQTtJQUNiLGdFQUFtQyxDQUFBO0lBQ25DLGtEQUFxQixDQUFBO0lBQ3JCLDBDQUFhLENBQUE7SUFDYix3REFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBUFcseUJBQXlCLEtBQXpCLHlCQUF5QixRQU9wQztBQUVELE1BQU0sQ0FBTixJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDbkMsMENBQWEsQ0FBQTtJQUNiLGdEQUFtQixDQUFBO0lBQ25CLDhDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBSVg7QUFKRCxXQUFZLHlCQUF5QjtJQUNuQywwQ0FBYSxDQUFBO0lBQ2Isd0NBQVcsQ0FBQTtJQUNYLDBDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUlwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVudGl0eU9wZXJhdGlvblR5cGUge1xuICBJbnNlcnQgPSAnSW5zZXJ0JyxcbiAgVXBkYXRlID0gJ1VwZGF0ZScsXG4gIERlbGV0ZSA9ICdEZWxldGUnXG59XG5cbmV4cG9ydCBlbnVtIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIge1xuICBEZWZhdWx0ID0gJ0RlZmF1bHQnLFxuICBIVE1MID0gJ0hUTUwnLFxuICBVbnNhbml0aXplZEhUTUwgPSAnVW5zYW5pdGl6ZWRIVE1MJyxcbiAgRWRpdGFibGUgPSAnRWRpdGFibGUnLFxuICBJY29uID0gJ0ljb24nLFxuICBCdXR0b25Hcm91cCA9ICdCdXR0b25Hcm91cCdcbn1cblxuZXhwb3J0IGVudW0gRW50aXR5VGFibGVTY3JvbGxCZWhhdmlvciB7XG4gIEF1dG8gPSAnYXV0bycsXG4gIEluc3RhbnQgPSAnaW5zdGFudCcsXG4gIFNtb290aCA9ICdzbW9vdGgnXG59XG5cbmV4cG9ydCBlbnVtIEVudGl0eVRhYmxlU2VsZWN0aW9uU3RhdGUge1xuICBOb25lID0gJ05vbmUnLFxuICBBbGwgPSAnQWxsJyxcbiAgU29tZSA9ICdTb21lJ1xufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLHlCQU9YO0FBUEQsV0FBWSx5QkFBeUI7SUFDbkMsZ0RBQW1CLENBQUE7SUFDbkIsMENBQWEsQ0FBQTtJQUNiLGdFQUFtQyxDQUFBO0lBQ25DLGtEQUFxQixDQUFBO0lBQ3JCLDBDQUFhLENBQUE7SUFDYix3REFBMkIsQ0FBQTtBQUM3QixDQUFDLEVBUFcseUJBQXlCLEtBQXpCLHlCQUF5QixRQU9wQztBQUVELE1BQU0sQ0FBTixJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDbkMsMENBQWEsQ0FBQTtJQUNiLGdEQUFtQixDQUFBO0lBQ25CLDhDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBSXBDO0FBRUQsTUFBTSxDQUFOLElBQVkseUJBSVg7QUFKRCxXQUFZLHlCQUF5QjtJQUNuQywwQ0FBYSxDQUFBO0lBQ2Isd0NBQVcsQ0FBQTtJQUNYLDBDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUlwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVudGl0eU9wZXJhdGlvblR5cGUge1xyXG4gIEluc2VydCA9ICdJbnNlcnQnLFxyXG4gIFVwZGF0ZSA9ICdVcGRhdGUnLFxyXG4gIERlbGV0ZSA9ICdEZWxldGUnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIge1xyXG4gIERlZmF1bHQgPSAnRGVmYXVsdCcsXHJcbiAgSFRNTCA9ICdIVE1MJyxcclxuICBVbnNhbml0aXplZEhUTUwgPSAnVW5zYW5pdGl6ZWRIVE1MJyxcclxuICBFZGl0YWJsZSA9ICdFZGl0YWJsZScsXHJcbiAgSWNvbiA9ICdJY29uJyxcclxuICBCdXR0b25Hcm91cCA9ICdCdXR0b25Hcm91cCdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRW50aXR5VGFibGVTY3JvbGxCZWhhdmlvciB7XHJcbiAgQXV0byA9ICdhdXRvJyxcclxuICBJbnN0YW50ID0gJ2luc3RhbnQnLFxyXG4gIFNtb290aCA9ICdzbW9vdGgnXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEVudGl0eVRhYmxlU2VsZWN0aW9uU3RhdGUge1xyXG4gIE5vbmUgPSAnTm9uZScsXHJcbiAgQWxsID0gJ0FsbCcsXHJcbiAgU29tZSA9ICdTb21lJ1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIEVudGl0eU9wZXJhdGlvblR5cGUsXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXJcbn0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcblxuZXhwb3J0IHR5cGUgRW50aXR5S2V5ID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0YXRlIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVJlY29yZDxFIGV4dGVuZHMgb2JqZWN0LCBTIGV4dGVuZHMgRW50aXR5U3RhdGUgPSBFbnRpdHlTdGF0ZT4ge1xuICBlbnRpdHk6IEU7XG4gIHN0YXRlOiBTO1xuICByZXZpc2lvbjogbnVtYmVyO1xuICByZWY6IHN0cmluZztcbiAgZWRpdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVPcHRpb25zIHtcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XG4gIGdldFByb3BlcnR5PzogKGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9ucyB7XG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xuICBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIGZpbHRlckNsYXVzZUZ1bmM6IEVudGl0eUZpbHRlckNsYXVzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBnZXRLZXk/OiAoZW50aXR5OiBvYmplY3QpID0+IEVudGl0eUtleTtcbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RmlsdGVyQ2xhdXNlPEUgPSBvYmplY3Q+ID0gKGVudGl0eTogRSkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTb3J0Q2xhdXNlPEUgPSBvYmplY3Q+IHtcbiAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRSkgPT4gc3RyaW5nIHwgbnVtYmVyO1xuICBkaXJlY3Rpb246IHN0cmluZztcblxuICAvLyBJZiB0cnVlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgZmlyc3RcbiAgLy8gSWYgZmFsc2UsIG51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXMgd2lsbCBiZSBsYXN0XG4gIC8vIElmIHVuZGVmaW5lZCwgZGVmYXVsdCB0byB0cnVlIGFuZCBmYWxzZSB3aGVuIHNvcnRpbmcgaW4gZGVzY2VuZGluZyBhbmRcbiAgLy8gYXNjZW5kaW5nIG9yZGVyLCByZXNwZWN0aXZlbHlcbiAgbnVsbHNGaXJzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Sm9pbkNsYXVzZSB7XG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPjtcbiAgcmVkdWNlOiAocGFyYW0xOiBvYmplY3QsIHBhcmFtMjogYW55KSA9PiBvYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uPEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IHtcbiAga2V5OiBFbnRpdHlLZXk7XG4gIHR5cGU6IEVudGl0eU9wZXJhdGlvblR5cGU7XG4gIHByZXZpb3VzOiBFIHwgdW5kZWZpbmVkO1xuICBjdXJyZW50OiBFIHwgdW5kZWZpbmVkO1xuICBzdG9yZT86IEVudGl0eVN0b3JlPEU+O1xuICBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uU3RhdGUge1xuICBhZGRlZDogYm9vbGVhbjtcbiAgY2FuY2VsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VGFibGVUZW1wbGF0ZSB7XG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW107XG4gIHNlbGVjdGlvbj86IGJvb2xlYW47XG4gIHNlbGVjdGlvbkNoZWNrYm94PzogYm9vbGVhbjtcbiAgc2VsZWN0TWFueT86IGJvb2xlYW47XG4gIHNvcnQ/OiBib29sZWFuO1xuICBmaXhlZEhlYWRlcj86IGJvb2xlYW47XG4gIHZhbHVlQWNjZXNzb3I/OiAoZW50aXR5OiBvYmplY3QsIHByb3BlcnR5OiBzdHJpbmcsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IGFueTtcbiAgaGVhZGVyQ2xhc3NGdW5jPzogKCkgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG4gIHJvd0NsYXNzRnVuYz86IChlbnRpdHk6IG9iamVjdCwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH07XG4gIGNlbGxDbGFzc0Z1bmM/OiAoZW50aXR5OiBvYmplY3QsIGNvbHVtbjogRW50aXR5VGFibGVDb2x1bW4sIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlQ29sdW1uVmFsaWRhdGlvbiB7XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgbWF4bGVuZ3RoPzogbnVtYmVyO1xuICBtaW5sZW5ndGg/OiBudW1iZXI7XG4gIG1pblZhbHVlPzogbnVtYmVyO1xuICBtYXhWYWx1ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJlbGF0aW9uIHtcbiAgdGFibGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUNvbHVtbiB7XG4gIHZhbGlkYXRpb24/OiBFbnRpdHlUYWJsZUNvbHVtblZhbGlkYXRpb247XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcmVuZGVyZXI/OiBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyO1xuICB2YWx1ZUFjY2Vzc29yPzogKGVudGl0eTogb2JqZWN0LCByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiBhbnk7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBzb3J0PzogYm9vbGVhbjtcbiAgdHlwZT86IHN0cmluZztcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBkb21haW5WYWx1ZXM/OiBBcnJheTxTZWxlY3RPcHRpb24+O1xuICByZWxhdGlvbj86IFRhYmxlUmVsYXRpb247XG4gIGNlbGxDbGFzc0Z1bmM/OiAoZW50aXR5OiBvYmplY3QsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdE9wdGlvbiB7XG4gIGlkOiBudW1iZXI7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VGFibGVCdXR0b24ge1xuICBpY29uOiBzdHJpbmc7XG4gIGNsaWNrOiAoZW50aXR5OiBvYmplY3QsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHZvaWQ7XG4gIGNvbG9yPzogJ3ByaW1hcnknIHzCoCdhY2NlbnQnIHwgJ3dhcm4nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHN0eWxlPzogJ21hdC1taW5pLWZhYicgfCAnbWF0LWljb24tYnV0dG9uJztcbiAgZWRpdE1vZGU/OiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2VudGl0eS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eU9wZXJhdGlvblR5cGUsXHJcbiAgRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlclxyXG59IGZyb20gJy4vZW50aXR5LmVudW1zJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcclxuXHJcbmV4cG9ydCB0eXBlIEVudGl0eUtleSA9IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RhdGUge1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlSZWNvcmQ8RSBleHRlbmRzIG9iamVjdCwgUyBleHRlbmRzIEVudGl0eVN0YXRlID0gRW50aXR5U3RhdGU+IHtcclxuICBlbnRpdHk6IEU7XHJcbiAgc3RhdGU6IFM7XHJcbiAgcmV2aXNpb246IG51bWJlcjtcclxuICByZWY6IHN0cmluZztcclxuICBlZGl0aW9uPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlTdG9yZU9wdGlvbnMge1xyXG4gIGdldEtleT86IChlbnRpdHk6IG9iamVjdCkgPT4gRW50aXR5S2V5O1xyXG4gIGdldFByb3BlcnR5PzogKGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKSA9PiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9ucyB7XHJcbiAgZ2V0S2V5PzogKGVudGl0eTogb2JqZWN0KSA9PiBFbnRpdHlLZXk7XHJcbiAgc3RvcmU/OiBFbnRpdHlTdG9yZTxvYmplY3Q+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcclxuICBmaWx0ZXJDbGF1c2VGdW5jOiBFbnRpdHlGaWx0ZXJDbGF1c2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5VHJhbnNhY3Rpb25PcHRpb25zIHtcclxuICBnZXRLZXk/OiAoZW50aXR5OiBvYmplY3QpID0+IEVudGl0eUtleTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRW50aXR5RmlsdGVyQ2xhdXNlPEUgPSBvYmplY3Q+ID0gKGVudGl0eTogRSkgPT4gYm9vbGVhbjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U29ydENsYXVzZTxFID0gb2JqZWN0PiB7XHJcbiAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogRSkgPT4gc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGRpcmVjdGlvbjogc3RyaW5nO1xyXG5cclxuICAvLyBJZiB0cnVlLCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIHdpbGwgYmUgZmlyc3RcclxuICAvLyBJZiBmYWxzZSwgbnVsbCBhbmQgdW5kZWZpbmVkIHZhbHVlcyB3aWxsIGJlIGxhc3RcclxuICAvLyBJZiB1bmRlZmluZWQsIGRlZmF1bHQgdG8gdHJ1ZSBhbmQgZmFsc2Ugd2hlbiBzb3J0aW5nIGluIGRlc2NlbmRpbmcgYW5kXHJcbiAgLy8gYXNjZW5kaW5nIG9yZGVyLCByZXNwZWN0aXZlbHlcclxuICBudWxsc0ZpcnN0PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlKb2luQ2xhdXNlIHtcclxuICBzb3VyY2U6IE9ic2VydmFibGU8YW55IHwgdm9pZD47XHJcbiAgcmVkdWNlOiAocGFyYW0xOiBvYmplY3QsIHBhcmFtMjogYW55KSA9PiBvYmplY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uPEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IHtcclxuICBrZXk6IEVudGl0eUtleTtcclxuICB0eXBlOiBFbnRpdHlPcGVyYXRpb25UeXBlO1xyXG4gIHByZXZpb3VzOiBFIHwgdW5kZWZpbmVkO1xyXG4gIGN1cnJlbnQ6IEUgfCB1bmRlZmluZWQ7XHJcbiAgc3RvcmU/OiBFbnRpdHlTdG9yZTxFPjtcclxuICBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX07XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5T3BlcmF0aW9uU3RhdGUge1xyXG4gIGFkZGVkOiBib29sZWFuO1xyXG4gIGNhbmNlbGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlVGVtcGxhdGUge1xyXG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW107XHJcbiAgc2VsZWN0aW9uPzogYm9vbGVhbjtcclxuICBzZWxlY3Rpb25DaGVja2JveD86IGJvb2xlYW47XHJcbiAgc2VsZWN0TWFueT86IGJvb2xlYW47XHJcbiAgc29ydD86IGJvb2xlYW47XHJcbiAgZml4ZWRIZWFkZXI/OiBib29sZWFuO1xyXG4gIHZhbHVlQWNjZXNzb3I/OiAoZW50aXR5OiBvYmplY3QsIHByb3BlcnR5OiBzdHJpbmcsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IGFueTtcclxuICBoZWFkZXJDbGFzc0Z1bmM/OiAoKSA9PiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xyXG4gIH07XHJcbiAgcm93Q2xhc3NGdW5jPzogKGVudGl0eTogb2JqZWN0LCByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xyXG4gIH07XHJcbiAgY2VsbENsYXNzRnVuYz86IChlbnRpdHk6IG9iamVjdCwgY29sdW1uOiBFbnRpdHlUYWJsZUNvbHVtbiwgcmVjb3JkOiBFbnRpdHlSZWNvcmQ8b2JqZWN0PikgPT4ge1xyXG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlQ29sdW1uVmFsaWRhdGlvbiB7XHJcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIG1hbmRhdG9yeT86IGJvb2xlYW47XHJcbiAgbWF4bGVuZ3RoPzogbnVtYmVyO1xyXG4gIG1pbmxlbmd0aD86IG51bWJlcjtcclxuICBtaW5WYWx1ZT86IG51bWJlcjtcclxuICBtYXhWYWx1ZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJlbGF0aW9uIHtcclxuICB0YWJsZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVRhYmxlQ29sdW1uIHtcclxuICB2YWxpZGF0aW9uPzogRW50aXR5VGFibGVDb2x1bW5WYWxpZGF0aW9uO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJlbmRlcmVyPzogRW50aXR5VGFibGVDb2x1bW5SZW5kZXJlcjtcclxuICB2YWx1ZUFjY2Vzc29yPzogKGVudGl0eTogb2JqZWN0LCByZWNvcmQ6IEVudGl0eVJlY29yZDxvYmplY3Q+KSA9PiBhbnk7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgbGlua0NvbHVtbkZvcmNlPzogc3RyaW5nO1xyXG4gIHNvcnQ/OiBib29sZWFuO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGRvbWFpblZhbHVlcz86IEFycmF5PFNlbGVjdE9wdGlvbj47XHJcbiAgcmVsYXRpb24/OiBUYWJsZVJlbGF0aW9uO1xyXG4gIGNlbGxDbGFzc0Z1bmM/OiAoZW50aXR5OiBvYmplY3QsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb24ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlUYWJsZUJ1dHRvbiB7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIGNsaWNrOiAoZW50aXR5OiBvYmplY3QsIHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHZvaWQ7XHJcbiAgY29sb3I/OiAncHJpbWFyeScgfMKgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogJ21hdC1taW5pLWZhYicgfCAnbWF0LWljb24tYnV0dG9uJztcclxuICBlZGl0TW9kZT86IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -64,4 +64,4 @@ export function getEntityRevision(entity) {
64
64
  const meta = entity.meta || {};
65
65
  return meta.revision || 0;
66
66
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJCOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFFBQWdCO0lBQ2hFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDeEMsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWM7SUFDM0MsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBYztJQUMvQyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksV0FBVyxDQUFDLENBQUM7QUFDNUcsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdCBmcm9tICd0eXB5JztcblxuaW1wb3J0IHsgRW50aXR5S2V5IH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogR2V0IGFuIGVudGl0eSdzIG5hbWVkIHByb3BlcnR5LiBOZXN0ZWQgcHJvcGVydGllcyBhcmUgc3VwcG9ydGVkXG4gKiB3aXRoIHRoZSBkb3R0ZWQgbm90YXRpb24uIChpLmUgJ2F1dGhvci5uYW1lJylcbiAqXG4gKiBOb3RlOiB0aGlzIG1ldGhvZCBpcyBhICdiZXN0IGF0dGVtcHQnIGF0IGdldHRpbmcgYW4gZW50aXR5J3MgcHJvcGVydHkuXG4gKiBJdCBmaXRzIHRoZSBtb3N0IGNvbW1vbiBjYXNlcyBidXQgeW91IG1pZ2h0IG5lZWQgdG8gZXhwbGljaXRlbHkgZGVmaW5lXG4gKiBhIHByb3BlcnR5IGdldHRlciB3aGVuIHVzaW5nIGFuIEVudGl0eVN0b3JlLCBmb3IgZXhhbXBsZS5cbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgbmFtZVxuICogQHJldHVybnMgUHJvcGVydHkgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVByb3BlcnR5KGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcbiAgcmV0dXJuIHQoZW50aXR5LCBwcm9wZXJ0eSkuc2FmZU9iamVjdDtcbn1cblxuLyoqXG4gKiBHZXQgYW4gZW50aXR5J3MgaWQuIEFuIGVudGl0eSdzIGlkIGNhbiBiZSBvbmUgb2Y6XG4gKiAnZW50aXR5Lm1ldGEuaWQnLCAnZW50aXR5Lm1ldGEuaWRQcm9wZXJ0eScgb3IgJ2VudGl0eS5pZCcuXG4gKlxuICogTm90ZTogU2VlIHRoZSBub3RlIGluIHRoZSAnZ2V0RW50aXR5UHJvcGVydHknIGRvY3VtZW50YXRpb24uXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICogQHJldHVybnMgRW50aXR5IGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlJZChlbnRpdHk6IG9iamVjdCk6IEVudGl0eUtleSB7XG4gIGNvbnN0IG1ldGEgPSAoZW50aXR5IGFzIGFueSkubWV0YSB8fCB7fTtcbiAgcmV0dXJuIG1ldGEuaWQgPyBtZXRhLmlkIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLmlkUHJvcGVydHkgfHwgJ2lkJyk7XG59XG5cbi8qKlxuICogR2V0IGFuIGVudGl0eSdzIHRpdGxlLiBBbiBlbnRpdHkncyB0aXRsZSBjYW4gYmUgb25lIG9mOlxuICogJ2VudGl0eS5tZXRhLnRpdGxlJywgJ2VudGl0eS5tZXRhLnRpdGxlUHJvcGVydHknIG9yICdlbnRpdHkudGl0bGUnLlxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAqIEByZXR1cm5zIEVudGl0eSB0aXRsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5VGl0bGUoZW50aXR5OiBvYmplY3QpOiBzdHJpbmcge1xuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XG4gIHJldHVybiBtZXRhLnRpdGxlID8gbWV0YS50aXRsZSA6IGdldEVudGl0eVByb3BlcnR5KGVudGl0eSwgbWV0YS50aXRsZVByb3BlcnR5IHx8ICd0aXRsZScpO1xufVxuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyBIVE1MIHRpdGxlLiBBbiBlbnRpdHkncyBIVE1MIHRpdGxlIGNhbiBiZSBvbmUgb2Y6XG4gKiAnZW50aXR5Lm1ldGEudGl0bGVIdG1sJywgJ2VudGl0eS5tZXRhLnRpdGxlSHRtbFByb3BlcnR5JyBvciAnZW50aXR5LnRpdGxlSHRtbCcuXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICogQHJldHVybnMgRW50aXR5IEhUTUwgdGl0bGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVRpdGxlSHRtbChlbnRpdHk6IG9iamVjdCk6IHN0cmluZyB7XG4gIGNvbnN0IG1ldGEgPSAoZW50aXR5IGFzIGFueSkubWV0YSB8fCB7fTtcbiAgcmV0dXJuIG1ldGEudGl0bGVIdG1sID8gbWV0YS50aXRsZUh0bWwgOiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHksIG1ldGEudGl0bGVIdG1sUHJvcGVydHkgfHwgJ3RpdGxlSHRtbCcpO1xufVxuXG4vKipcbiAqIEdldCBhbiBlbnRpdHkncyBpY29uLiBBbiBlbnRpdHkncyBpY29uIGNhbiBiZSBvbmUgb2Y6XG4gKiAnZW50aXR5Lm1ldGEuaWNvbicsICdlbnRpdHkubWV0YS5pY29uUHJvcGVydHknIG9yICdlbnRpdHkuaWNvbicuXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICogQHJldHVybnMgRW50aXR5IGljb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eUljb24oZW50aXR5OiBvYmplY3QpOiBzdHJpbmcge1xuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XG4gIHJldHVybiBtZXRhLmljb24gPyBtZXRhLmljb24gOiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHksIG1ldGEuaWNvblByb3BlcnR5IHx8ICdpY29uJyk7XG59XG5cbi8qKlxuICogR2V0IGFuIGVudGl0eSdzIHJldmlzaW9uLlxuICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAqIEByZXR1cm5zIEVudGl0eSByZXZpc2lvblxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5UmV2aXNpb24oZW50aXR5OiBvYmplY3QpOiBudW1iZXIge1xuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XG4gIHJldHVybiBtZXRhLnJldmlzaW9uIHx8IDA7XG59XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZW50aXR5L3NoYXJlZC9lbnRpdHkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXJCOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLFFBQWdCO0lBQ2hFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDeEMsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWM7SUFDM0MsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBYztJQUMvQyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksV0FBVyxDQUFDLENBQUM7QUFDNUcsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE1BQU0sSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYztJQUM5QyxNQUFNLElBQUksR0FBSSxNQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdCBmcm9tICd0eXB5JztcclxuXHJcbmltcG9ydCB7IEVudGl0eUtleSB9IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIEdldCBhbiBlbnRpdHkncyBuYW1lZCBwcm9wZXJ0eS4gTmVzdGVkIHByb3BlcnRpZXMgYXJlIHN1cHBvcnRlZFxyXG4gKiB3aXRoIHRoZSBkb3R0ZWQgbm90YXRpb24uIChpLmUgJ2F1dGhvci5uYW1lJylcclxuICpcclxuICogTm90ZTogdGhpcyBtZXRob2QgaXMgYSAnYmVzdCBhdHRlbXB0JyBhdCBnZXR0aW5nIGFuIGVudGl0eSdzIHByb3BlcnR5LlxyXG4gKiBJdCBmaXRzIHRoZSBtb3N0IGNvbW1vbiBjYXNlcyBidXQgeW91IG1pZ2h0IG5lZWQgdG8gZXhwbGljaXRlbHkgZGVmaW5lXHJcbiAqIGEgcHJvcGVydHkgZ2V0dGVyIHdoZW4gdXNpbmcgYW4gRW50aXR5U3RvcmUsIGZvciBleGFtcGxlLlxyXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgbmFtZVxyXG4gKiBAcmV0dXJucyBQcm9wZXJ0eSB2YWx1ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVByb3BlcnR5KGVudGl0eTogb2JqZWN0LCBwcm9wZXJ0eTogc3RyaW5nKTogYW55IHtcclxuICByZXR1cm4gdChlbnRpdHksIHByb3BlcnR5KS5zYWZlT2JqZWN0O1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IGFuIGVudGl0eSdzIGlkLiBBbiBlbnRpdHkncyBpZCBjYW4gYmUgb25lIG9mOlxyXG4gKiAnZW50aXR5Lm1ldGEuaWQnLCAnZW50aXR5Lm1ldGEuaWRQcm9wZXJ0eScgb3IgJ2VudGl0eS5pZCcuXHJcbiAqXHJcbiAqIE5vdGU6IFNlZSB0aGUgbm90ZSBpbiB0aGUgJ2dldEVudGl0eVByb3BlcnR5JyBkb2N1bWVudGF0aW9uLlxyXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gKiBAcmV0dXJucyBFbnRpdHkgaWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlJZChlbnRpdHk6IG9iamVjdCk6IEVudGl0eUtleSB7XHJcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xyXG4gIHJldHVybiBtZXRhLmlkID8gbWV0YS5pZCA6IGdldEVudGl0eVByb3BlcnR5KGVudGl0eSwgbWV0YS5pZFByb3BlcnR5IHx8ICdpZCcpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IGFuIGVudGl0eSdzIHRpdGxlLiBBbiBlbnRpdHkncyB0aXRsZSBjYW4gYmUgb25lIG9mOlxyXG4gKiAnZW50aXR5Lm1ldGEudGl0bGUnLCAnZW50aXR5Lm1ldGEudGl0bGVQcm9wZXJ0eScgb3IgJ2VudGl0eS50aXRsZScuXHJcbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAqIEByZXR1cm5zIEVudGl0eSB0aXRsZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eVRpdGxlKGVudGl0eTogb2JqZWN0KTogc3RyaW5nIHtcclxuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XHJcbiAgcmV0dXJuIG1ldGEudGl0bGUgPyBtZXRhLnRpdGxlIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLnRpdGxlUHJvcGVydHkgfHwgJ3RpdGxlJyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgYW4gZW50aXR5J3MgSFRNTCB0aXRsZS4gQW4gZW50aXR5J3MgSFRNTCB0aXRsZSBjYW4gYmUgb25lIG9mOlxyXG4gKiAnZW50aXR5Lm1ldGEudGl0bGVIdG1sJywgJ2VudGl0eS5tZXRhLnRpdGxlSHRtbFByb3BlcnR5JyBvciAnZW50aXR5LnRpdGxlSHRtbCcuXHJcbiAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAqIEByZXR1cm5zIEVudGl0eSBIVE1MIHRpdGxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW50aXR5VGl0bGVIdG1sKGVudGl0eTogb2JqZWN0KTogc3RyaW5nIHtcclxuICBjb25zdCBtZXRhID0gKGVudGl0eSBhcyBhbnkpLm1ldGEgfHwge307XHJcbiAgcmV0dXJuIG1ldGEudGl0bGVIdG1sID8gbWV0YS50aXRsZUh0bWwgOiBnZXRFbnRpdHlQcm9wZXJ0eShlbnRpdHksIG1ldGEudGl0bGVIdG1sUHJvcGVydHkgfHwgJ3RpdGxlSHRtbCcpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IGFuIGVudGl0eSdzIGljb24uIEFuIGVudGl0eSdzIGljb24gY2FuIGJlIG9uZSBvZjpcclxuICogJ2VudGl0eS5tZXRhLmljb24nLCAnZW50aXR5Lm1ldGEuaWNvblByb3BlcnR5JyBvciAnZW50aXR5Lmljb24nLlxyXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gKiBAcmV0dXJucyBFbnRpdHkgaWNvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eUljb24oZW50aXR5OiBvYmplY3QpOiBzdHJpbmcge1xyXG4gIGNvbnN0IG1ldGEgPSAoZW50aXR5IGFzIGFueSkubWV0YSB8fCB7fTtcclxuICByZXR1cm4gbWV0YS5pY29uID8gbWV0YS5pY29uIDogZ2V0RW50aXR5UHJvcGVydHkoZW50aXR5LCBtZXRhLmljb25Qcm9wZXJ0eSB8fCAnaWNvbicpO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IGFuIGVudGl0eSdzIHJldmlzaW9uLlxyXG4gKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gKiBAcmV0dXJucyBFbnRpdHkgcmV2aXNpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlSZXZpc2lvbihlbnRpdHk6IG9iamVjdCk6IG51bWJlciB7XHJcbiAgY29uc3QgbWV0YSA9IChlbnRpdHkgYXMgYW55KS5tZXRhIHx8IHt9O1xyXG4gIHJldHVybiBtZXRhLnJldmlzaW9uIHx8IDA7XHJcbn1cclxuIl19
@@ -7,4 +7,4 @@ export * from './watcher';
7
7
  export * from './transaction';
8
8
  export * from './view';
9
9
  export * from './strategies';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi93YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3JztcblxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzJztcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHkudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVnaWVzJztcclxuIl19
@@ -188,4 +188,4 @@ export class EntityStateManager {
188
188
  this.change$.next();
189
189
  }
190
190
  }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQW1CN0IsWUFBWSxVQUFxQyxFQUFFO1FBakJuRDs7V0FFRztRQUNNLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUV6Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQVU1QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNoQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxNQUFT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QUN4QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBMEIsRUFBRSxLQUFvQixFQUFFLEVBQUU7WUFDekYsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLElBQUksRUFBRTtnQkFDL0IsY0FBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUNoRDtZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssSUFBSTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlLZXksIEVudGl0eVN0YXRlLCBFbnRpdHlTdGF0ZU1hbmFnZXJPcHRpb25zIH0gZnJvbSAnLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRFbnRpdHlJZCB9IGZyb20gJy4vZW50aXR5LnV0aWxzJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBpcyB1c2VkIHRvIHRyYWNrIGEgc3RvcmUncyBlbnRpdGllcyBzdGF0ZVxuICovXG5leHBvcnQgY2xhc3MgRW50aXR5U3RhdGVNYW5hZ2VyPEUgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZSA9IEVudGl0eVN0YXRlPiB7XG5cbiAgLyoqXG4gICAqIFN0YXRlIGluZGV4XG4gICAqL1xuICByZWFkb25seSBpbmRleCA9IG5ldyBNYXA8RW50aXR5S2V5LCBTPigpO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2UgZW1pdHRlclxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KDEpO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZ2V0IGFuIGVudGl0eSdzIGlkXG4gICAqL1xuICByZWFkb25seSBnZXRLZXk6IChFKSA9PiBFbnRpdHlLZXk7XG5cbiAgcHJpdmF0ZSBzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBFbnRpdHlTdGF0ZU1hbmFnZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLnN0b3JlID0gb3B0aW9ucy5zdG9yZSA/IG9wdGlvbnMuc3RvcmUgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5nZXRLZXkgPSBvcHRpb25zLmdldEtleVxuICAgICAgPyBvcHRpb25zLmdldEtleVxuICAgICAgOiAodGhpcy5zdG9yZSA/IHRoaXMuc3RvcmUuZ2V0S2V5IDogZ2V0RW50aXR5SWQpO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHN0YXRlXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICBpZiAodGhpcy5pbmRleC5zaXplID4gMCkge1xuICAgICAgdGhpcy5pbmRleC5jbGVhcigpO1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBlbnRpdHkncyBzdGF0ZVxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICAgKiBAcmV0dXJucyBTdGF0ZVxuICAgKi9cbiAgZ2V0KGVudGl0eTogRSk6IFMge1xuICAgIHJldHVybiAodGhpcy5pbmRleC5nZXQodGhpcy5nZXRLZXkoZW50aXR5KSkgfHwge30pIGFzIFM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGFuIGVudGl0eSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZVxuICAgKi9cbiAgc2V0KGVudGl0eTogRSwgc3RhdGU6IFMpIHtcbiAgICB0aGlzLnNldE1hbnkoW2VudGl0eV0sIHN0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbWFueSBlbnRpdGllJ3Mgc3RhdGVcbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcbiAgICogQHBhcmFtIHN0YXRlIFN0YXRlXG4gICAqL1xuICBzZXRNYW55KGVudGl0aWVzOiBFW10sIHN0YXRlOiBTKSB7XG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB7XG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSkpO1xuICAgIH0pO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBzdGF0ZSBvZiBhbGwgZW50aXRpZXMgdGhhdCBhbHJlYWR5IGhhdmUgYSBzdGF0ZS4gVGhpcyBpcyBub3RcbiAgICogdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgc3RhdGUgb2YgYWxsIHRoZSBzdG9yZSdzIGVudGl0aWVzLlxuICAgKiBAcGFyYW0gc3RhdGUgU3RhdGVcbiAgICovXG4gIHNldEFsbChzdGF0ZTogUykge1xuICAgIEFycmF5LmZyb20odGhpcy5pbmRleC5rZXlzKCkpLmZvckVhY2goKGtleTogRW50aXR5S2V5KSA9PiB7XG4gICAgICB0aGlzLmluZGV4LnNldChrZXksIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlKSk7XG4gICAgfSk7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGVudGl0eSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcbiAgICovXG4gIHVwZGF0ZShlbnRpdHk6IEUsIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XG4gICAgdGhpcy51cGRhdGVNYW55KFtlbnRpdHldLCBjaGFuZ2VzLCBleGNsdXNpdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBtYW55IGVudGl0aWUncyBzdGF0ZVxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xuICAgKiBAcGFyYW0gY2hhbmdlcyBTdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10sIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XG4gICAgaWYgKGV4Y2x1c2l2ZSA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlTWFueUV4Y2x1c2l2ZShlbnRpdGllcywgY2hhbmdlcyk7XG4gICAgfVxuXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ2V0KGVudGl0eSksIGNoYW5nZXMpO1xuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgc3RhdGUpO1xuICAgIH0pO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldmVyc2VlIGFuIGVudGl0eSdzIHN0YXRlXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqIEBwYXJhbSBrZXlzIFN0YXRlIGtleXMgdG8gcmV2ZXJzZVxuICAgKi9cbiAgcmV2ZXJzZShlbnRpdHk6IEUsIGtleXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5yZXZlcnNlTWFueShbZW50aXR5XSwga2V5cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV2ZXJzZSBtYW55IGVudGl0aWUncyBzdGF0ZVxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xuICAgKiBAcGFyYW0ga2V5cyBTdGF0ZSBrZXlzIHRvIHJldmVyc2VcbiAgICovXG4gIHJldmVyc2VNYW55KGVudGl0aWVzOiBFW10sIGtleXM6IHN0cmluZ1tdKSB7XG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmdldChlbnRpdHkpO1xuICAgICAgY29uc3QgY2hhbmdlcyA9IGtleXMucmVkdWNlKChhY2M6IHtba2V5OiBzdHJpbmddOiBib29sZWFufSwga2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWNjW2tleV0gPSBjdXJyZW50U3RhdGVba2V5XSB8fCBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KSBhcyBQYXJ0aWFsPFM+O1xuICAgICAgY29uc3QgcmV2ZXJzZWRDaGFuZ2VzID0gdGhpcy5yZXZlcnNlQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudFN0YXRlLCByZXZlcnNlZENoYW5nZXMpO1xuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgc3RhdGUpO1xuICAgIH0pO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzdGF0ZSBvZiBhbGwgZW50aXRpZXMgdGhhdCBhbHJlYWR5IGhhdmUgYSBzdGF0ZS4gVGhpcyBpcyBub3RcbiAgICogdGhlIHNhbWUgYXMgdXBkYXRpbmcgdGhlIHN0YXRlIG9mIGFsbCB0aGUgc3RvcmUncyBlbnRpdGllcy5cbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGVcbiAgICovXG4gIHVwZGF0ZUFsbChjaGFuZ2VzOiBQYXJ0aWFsPFM+KSB7XG4gICAgY29uc3QgYWxsS2V5cyA9IHRoaXMuZ2V0QWxsS2V5cygpO1xuICAgIEFycmF5LmZyb20oYWxsS2V5cykuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5pbmRleC5nZXQoa2V5KSwgY2hhbmdlcyk7XG4gICAgICB0aGlzLmluZGV4LnNldChrZXksIHN0YXRlKTtcbiAgICB9KTtcbiAgICB0aGlzLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHNvbWUgc3RhdGUgY2hhbmdlcyBhcmUgZmxhZ2dlZCBhcyAnZXhjbHVzaXZlJywgcmV2ZXJzZVxuICAgKiB0aGUgc3RhdGUgb2YgYWxsIG90aGVyIGVudGl0aWVzLiBDaGFuZ2VzIGFyZSByZXZlcnNhYmxlIHdoZW5cbiAgICogdGhleSBhcmUgYm9vbGVhbi5cbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVNYW55RXhjbHVzaXZlKGVudGl0aWVzOiBFW10sIGNoYW5nZXM6IFBhcnRpYWw8Uz4pIHtcbiAgICBjb25zdCByZXZlcnNlQ2hhbmdlcyA9IHRoaXMucmV2ZXJzZUNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgICBjb25zdCBrZXlzID0gZW50aXRpZXMubWFwKChlbnRpdHk6IEUpID0+IHRoaXMuZ2V0S2V5KGVudGl0eSkpO1xuICAgIGNvbnN0IGFsbEtleXMgPSBuZXcgU2V0KGtleXMuY29uY2F0KEFycmF5LmZyb20odGhpcy5nZXRBbGxLZXlzKCkpKSk7XG4gICAgYWxsS2V5cy5mb3JFYWNoKChrZXk6IEVudGl0eUtleSkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmluZGV4LmdldChrZXkpIHx8IHt9IGFzIFM7XG5cbiAgICAgIGlmIChrZXlzLmluZGV4T2Yoa2V5KSA+PSAwKSB7XG4gICAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIGNoYW5nZXMpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFVwZGF0ZSBvbmx5IGlmIHRoZSByZXZlcnNlIGNoYW5nZXMgd291bGQgbW9kaWZ5XG4gICAgICAgIC8vIGEga2V5IGFscmVhZHkgcHJlc2VudCBpbiB0aGUgY3VycmVudCBzdGF0ZVxuICAgICAgICBjb25zdCBzaG91bGRVcGRhdGUgPSBPYmplY3Qua2V5cyhyZXZlcnNlQ2hhbmdlcykuc29tZSgoY2hhbmdlS2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4gc3RhdGVbY2hhbmdlS2V5XSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBzdGF0ZVtjaGFuZ2VLZXldICE9PSByZXZlcnNlQ2hhbmdlc1tjaGFuZ2VLZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUsIHJldmVyc2VDaGFuZ2VzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgYSAncmV2ZXJzZWQnIHZlcnNpb24gb2Ygc29tZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBDaGFuZ2VzIGFyZSByZXZlcnNhYmxlIHdoZW4gdGhleSBhcmUgYm9vbGVhbi5cbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xuICAgKiBAcmV0dXJucyBSZXZlcnNlZCBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBwcml2YXRlIHJldmVyc2VDaGFuZ2VzKGNoYW5nZXM6IFBhcnRpYWw8Uz4pOiBQYXJ0aWFsPFM+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY2hhbmdlcykucmVkdWNlKChyZXZlcnNlQ2hhbmdlczogUGFydGlhbDxTPiwgYnVuY2g6IFtzdHJpbmcsIGFueV0pID0+IHtcbiAgICAgIGNvbnN0IFtjaGFuZ2VLZXksIHZhbHVlXSA9IGJ1bmNoO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gdHlwZW9mIHRydWUpIHtcbiAgICAgICAgKHJldmVyc2VDaGFuZ2VzIGFzIG9iamVjdClbY2hhbmdlS2V5XSA9ICF2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXZlcnNlQ2hhbmdlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCB0aGUga2V5cyBpbiB0aGF0IHN0YXRlIGFuZCBpbiB0aGUgc3RvcmUgaXQncyBib3VuZCB0bywgaWYgYW55LlxuICAgKiBAcmV0dXJucyBTZXQgb2Yga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRBbGxLZXlzKCk6IFNldDxFbnRpdHlLZXk+IHtcbiAgICBjb25zdCBzdG9yZUtleXMgPSB0aGlzLnN0b3JlID8gQXJyYXkuZnJvbSh0aGlzLnN0b3JlLmluZGV4LmtleXMoKSkgOiBbXTtcbiAgICByZXR1cm4gbmV3IFNldChBcnJheS5mcm9tKHRoaXMuaW5kZXgua2V5cygpKS5jb25jYXQoc3RvcmVLZXlzKSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCAnY2hhbmdlJyBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBuZXh0KCkge1xuICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gIH1cblxufVxuIl19
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQW1CN0IsWUFBWSxVQUFxQyxFQUFFO1FBakJuRDs7V0FFRztRQUNNLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBZ0IsQ0FBQztRQUV6Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBTyxDQUFDLENBQUMsQ0FBQztRQVU1QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNoQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEdBQUcsQ0FBQyxNQUFT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QUN4QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBMEIsRUFBRSxLQUFvQixFQUFFLEVBQUU7WUFDekYsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxPQUFPLElBQUksRUFBRTtnQkFDL0IsY0FBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQzthQUNoRDtZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssSUFBSTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5S2V5LCBFbnRpdHlTdGF0ZSwgRW50aXR5U3RhdGVNYW5hZ2VyT3B0aW9ucyB9IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBnZXRFbnRpdHlJZCB9IGZyb20gJy4vZW50aXR5LnV0aWxzJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gdHJhY2sgYSBzdG9yZSdzIGVudGl0aWVzIHN0YXRlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RhdGVNYW5hZ2VyPEUgZXh0ZW5kcyBvYmplY3QsIFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZSA9IEVudGl0eVN0YXRlPiB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXRlIGluZGV4XHJcbiAgICovXHJcbiAgcmVhZG9ubHkgaW5kZXggPSBuZXcgTWFwPEVudGl0eUtleSwgUz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIGVtaXR0ZXJcclxuICAgKi9cclxuICByZWFkb25seSBjaGFuZ2UkID0gbmV3IFJlcGxheVN1YmplY3Q8dm9pZD4oMSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCB0byBnZXQgYW4gZW50aXR5J3MgaWRcclxuICAgKi9cclxuICByZWFkb25seSBnZXRLZXk6IChFKSA9PiBFbnRpdHlLZXk7XHJcblxyXG4gIHByaXZhdGUgc3RvcmU6IEVudGl0eVN0b3JlPG9iamVjdD4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEVudGl0eVN0YXRlTWFuYWdlck9wdGlvbnMgPSB7fSkge1xyXG4gICAgdGhpcy5zdG9yZSA9IG9wdGlvbnMuc3RvcmUgPyBvcHRpb25zLnN0b3JlIDogdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5nZXRLZXkgPSBvcHRpb25zLmdldEtleVxyXG4gICAgICA/IG9wdGlvbnMuZ2V0S2V5XHJcbiAgICAgIDogKHRoaXMuc3RvcmUgPyB0aGlzLnN0b3JlLmdldEtleSA6IGdldEVudGl0eUlkKTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgc3RhdGVcclxuICAgKi9cclxuICBjbGVhcigpIHtcclxuICAgIGlmICh0aGlzLmluZGV4LnNpemUgPiAwKSB7XHJcbiAgICAgIHRoaXMuaW5kZXguY2xlYXIoKTtcclxuICAgICAgdGhpcy5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYW4gZW50aXR5J3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqIEByZXR1cm5zIFN0YXRlXHJcbiAgICovXHJcbiAgZ2V0KGVudGl0eTogRSk6IFMge1xyXG4gICAgcmV0dXJuICh0aGlzLmluZGV4LmdldCh0aGlzLmdldEtleShlbnRpdHkpKSB8fCB7fSkgYXMgUztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBhbiBlbnRpdHkncyBzdGF0ZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICogQHBhcmFtIHN0YXRlIFN0YXRlXHJcbiAgICovXHJcbiAgc2V0KGVudGl0eTogRSwgc3RhdGU6IFMpIHtcclxuICAgIHRoaXMuc2V0TWFueShbZW50aXR5XSwgc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IG1hbnkgZW50aXRpZSdzIHN0YXRlXHJcbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcclxuICAgKiBAcGFyYW0gc3RhdGUgU3RhdGVcclxuICAgKi9cclxuICBzZXRNYW55KGVudGl0aWVzOiBFW10sIHN0YXRlOiBTKSB7XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHtcclxuICAgICAgdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUpKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgc3RhdGUgb2YgYWxsIGVudGl0aWVzIHRoYXQgYWxyZWFkeSBoYXZlIGEgc3RhdGUuIFRoaXMgaXMgbm90XHJcbiAgICogdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgc3RhdGUgb2YgYWxsIHRoZSBzdG9yZSdzIGVudGl0aWVzLlxyXG4gICAqIEBwYXJhbSBzdGF0ZSBTdGF0ZVxyXG4gICAqL1xyXG4gIHNldEFsbChzdGF0ZTogUykge1xyXG4gICAgQXJyYXkuZnJvbSh0aGlzLmluZGV4LmtleXMoKSkuZm9yRWFjaCgoa2V5OiBFbnRpdHlLZXkpID0+IHtcclxuICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSkpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSBhbiBlbnRpdHkncyBzdGF0ZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xyXG4gICAqL1xyXG4gIHVwZGF0ZShlbnRpdHk6IEUsIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnVwZGF0ZU1hbnkoW2VudGl0eV0sIGNoYW5nZXMsIGV4Y2x1c2l2ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgbWFueSBlbnRpdGllJ3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xyXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcclxuICAgKi9cclxuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10sIGNoYW5nZXM6IFBhcnRpYWw8Uz4sIGV4Y2x1c2l2ZSA9IGZhbHNlKSB7XHJcbiAgICBpZiAoZXhjbHVzaXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZU1hbnlFeGNsdXNpdmUoZW50aXRpZXMsIGNoYW5nZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRSkgPT4ge1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZ2V0KGVudGl0eSksIGNoYW5nZXMpO1xyXG4gICAgICB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBzdGF0ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV2ZXJzZWUgYW4gZW50aXR5J3Mgc3RhdGVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqIEBwYXJhbSBrZXlzIFN0YXRlIGtleXMgdG8gcmV2ZXJzZVxyXG4gICAqL1xyXG4gIHJldmVyc2UoZW50aXR5OiBFLCBrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5yZXZlcnNlTWFueShbZW50aXR5XSwga2V5cyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXZlcnNlIG1hbnkgZW50aXRpZSdzIHN0YXRlXHJcbiAgICogQHBhcmFtIGVudGl0aWUgRW50aXRpZXNcclxuICAgKiBAcGFyYW0ga2V5cyBTdGF0ZSBrZXlzIHRvIHJldmVyc2VcclxuICAgKi9cclxuICByZXZlcnNlTWFueShlbnRpdGllczogRVtdLCBrZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMuZ2V0KGVudGl0eSk7XHJcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBrZXlzLnJlZHVjZSgoYWNjOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn0sIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgYWNjW2tleV0gPSBjdXJyZW50U3RhdGVba2V5XSB8fCBmYWxzZTtcclxuICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICB9LCB7fSkgYXMgUGFydGlhbDxTPjtcclxuICAgICAgY29uc3QgcmV2ZXJzZWRDaGFuZ2VzID0gdGhpcy5yZXZlcnNlQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBjdXJyZW50U3RhdGUsIHJldmVyc2VkQ2hhbmdlcyk7XHJcbiAgICAgIHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIHN0YXRlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgc3RhdGUgb2YgYWxsIGVudGl0aWVzIHRoYXQgYWxyZWFkeSBoYXZlIGEgc3RhdGUuIFRoaXMgaXMgbm90XHJcbiAgICogdGhlIHNhbWUgYXMgdXBkYXRpbmcgdGhlIHN0YXRlIG9mIGFsbCB0aGUgc3RvcmUncyBlbnRpdGllcy5cclxuICAgKiBAcGFyYW0gY2hhbmdlcyBTdGF0ZVxyXG4gICAqL1xyXG4gIHVwZGF0ZUFsbChjaGFuZ2VzOiBQYXJ0aWFsPFM+KSB7XHJcbiAgICBjb25zdCBhbGxLZXlzID0gdGhpcy5nZXRBbGxLZXlzKCk7XHJcbiAgICBBcnJheS5mcm9tKGFsbEtleXMpLmZvckVhY2goKGtleTogRW50aXR5S2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5pbmRleC5nZXQoa2V5KSwgY2hhbmdlcyk7XHJcbiAgICAgIHRoaXMuaW5kZXguc2V0KGtleSwgc3RhdGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gc29tZSBzdGF0ZSBjaGFuZ2VzIGFyZSBmbGFnZ2VkIGFzICdleGNsdXNpdmUnLCByZXZlcnNlXHJcbiAgICogdGhlIHN0YXRlIG9mIGFsbCBvdGhlciBlbnRpdGllcy4gQ2hhbmdlcyBhcmUgcmV2ZXJzYWJsZSB3aGVuXHJcbiAgICogdGhleSBhcmUgYm9vbGVhbi5cclxuICAgKiBAcGFyYW0gZW50aXRpZSBFbnRpdGllc1xyXG4gICAqIEBwYXJhbSBjaGFuZ2VzIFN0YXRlIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZU1hbnlFeGNsdXNpdmUoZW50aXRpZXM6IEVbXSwgY2hhbmdlczogUGFydGlhbDxTPikge1xyXG4gICAgY29uc3QgcmV2ZXJzZUNoYW5nZXMgPSB0aGlzLnJldmVyc2VDaGFuZ2VzKGNoYW5nZXMpO1xyXG5cclxuICAgIGNvbnN0IGtleXMgPSBlbnRpdGllcy5tYXAoKGVudGl0eTogRSkgPT4gdGhpcy5nZXRLZXkoZW50aXR5KSk7XHJcbiAgICBjb25zdCBhbGxLZXlzID0gbmV3IFNldChrZXlzLmNvbmNhdChBcnJheS5mcm9tKHRoaXMuZ2V0QWxsS2V5cygpKSkpO1xyXG4gICAgYWxsS2V5cy5mb3JFYWNoKChrZXk6IEVudGl0eUtleSkgPT4ge1xyXG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuaW5kZXguZ2V0KGtleSkgfHwge30gYXMgUztcclxuXHJcbiAgICAgIGlmIChrZXlzLmluZGV4T2Yoa2V5KSA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgY2hhbmdlcykpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFVwZGF0ZSBvbmx5IGlmIHRoZSByZXZlcnNlIGNoYW5nZXMgd291bGQgbW9kaWZ5XHJcbiAgICAgICAgLy8gYSBrZXkgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBjdXJyZW50IHN0YXRlXHJcbiAgICAgICAgY29uc3Qgc2hvdWxkVXBkYXRlID0gT2JqZWN0LmtleXMocmV2ZXJzZUNoYW5nZXMpLnNvbWUoKGNoYW5nZUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gc3RhdGVbY2hhbmdlS2V5XSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICAgIHN0YXRlW2NoYW5nZUtleV0gIT09IHJldmVyc2VDaGFuZ2VzW2NoYW5nZUtleV07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHNob3VsZFVwZGF0ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy5pbmRleC5zZXQoa2V5LCBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgcmV2ZXJzZUNoYW5nZXMpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZSBhICdyZXZlcnNlZCcgdmVyc2lvbiBvZiBzb21lIHN0YXRlIGNoYW5nZXMuXHJcbiAgICogQ2hhbmdlcyBhcmUgcmV2ZXJzYWJsZSB3aGVuIHRoZXkgYXJlIGJvb2xlYW4uXHJcbiAgICogQHBhcmFtIGNoYW5nZXMgU3RhdGUgY2hhbmdlc1xyXG4gICAqIEByZXR1cm5zIFJldmVyc2VkIHN0YXRlIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIHJldmVyc2VDaGFuZ2VzKGNoYW5nZXM6IFBhcnRpYWw8Uz4pOiBQYXJ0aWFsPFM+IHtcclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjaGFuZ2VzKS5yZWR1Y2UoKHJldmVyc2VDaGFuZ2VzOiBQYXJ0aWFsPFM+LCBidW5jaDogW3N0cmluZywgYW55XSkgPT4ge1xyXG4gICAgICBjb25zdCBbY2hhbmdlS2V5LCB2YWx1ZV0gPSBidW5jaDtcclxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gdHlwZW9mIHRydWUpIHtcclxuICAgICAgICAocmV2ZXJzZUNoYW5nZXMgYXMgb2JqZWN0KVtjaGFuZ2VLZXldID0gIXZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByZXZlcnNlQ2hhbmdlcztcclxuICAgIH0sIHt9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhbGwgdGhlIGtleXMgaW4gdGhhdCBzdGF0ZSBhbmQgaW4gdGhlIHN0b3JlIGl0J3MgYm91bmQgdG8sIGlmIGFueS5cclxuICAgKiBAcmV0dXJucyBTZXQgb2Yga2V5c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0QWxsS2V5cygpOiBTZXQ8RW50aXR5S2V5PiB7XHJcbiAgICBjb25zdCBzdG9yZUtleXMgPSB0aGlzLnN0b3JlID8gQXJyYXkuZnJvbSh0aGlzLnN0b3JlLmluZGV4LmtleXMoKSkgOiBbXTtcclxuICAgIHJldHVybiBuZXcgU2V0KEFycmF5LmZyb20odGhpcy5pbmRleC5rZXlzKCkpLmNvbmNhdChzdG9yZUtleXMpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgJ2NoYW5nZScgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG5leHQoKSB7XHJcbiAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -285,4 +285,4 @@ export class EntityStore {
285
285
  return currentStateIsEmpty && newStateIsEmpty;
286
286
  }
287
287
  }
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQTZEdEIsWUFBWSxRQUFhLEVBQUUsVUFBOEIsRUFBRTtRQTNEM0Q7O1dBRUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFbEQ7O1dBRUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFHakQ7O1dBRUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFzQzdDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDSyxlQUFVLEdBQTBCLEVBQUUsQ0FBQztRQUc3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBRWpGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUks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LE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFlBQWUsRUFBRSxRQUFXO1FBQ25ELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDbkUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQzNELE9BQU8sbUJBQW1CLElBQUksZUFBZSxDQUFDO0lBQ2hELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZU1hbmFnZXIgfSBmcm9tICcuL3N0YXRlJztcbmltcG9ydCB7IEVudGl0eVZpZXcgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgRW50aXR5S2V5LCBFbnRpdHlTdGF0ZSwgRW50aXR5UmVjb3JkLCBFbnRpdHlTdG9yZU9wdGlvbnMgfSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVudGl0eUlkLCBnZXRFbnRpdHlQcm9wZXJ0eSB9IGZyb20gJy4vZW50aXR5LnV0aWxzJztcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3kgfSBmcm9tICcuL3N0cmF0ZWdpZXMvc3RyYXRlZ3knO1xuXG4vKipcbiAqIEFuIGVudGl0eSBzdG9yZSBjbGFzcyBob2xkcyBhbnkgbnVtYmVyIG9mIGVudGl0aWVzXG4gKiBhcyB3ZWxsIGFzIHRoZWlyIHN0YXRlLiBJdCBjYW4gYmUgb2JzZXJ2ZWQsIGZpbHRlcmVkIGFuZCBzb3J0ZWQgYW5kXG4gKiBwcm92aWRlcyBtZXRob2RzIHRvIGluc2VydCwgdXBkYXRlIG9yIGRlbGV0ZSBlbnRpdGllcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlPEUgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3QsIFMgZXh0ZW5kcyBFbnRpdHlTdGF0ZSA9IEVudGl0eVN0YXRlPiB7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIHJhdyBlbnRpdGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZW50aXRpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFW10+KFtdKTtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzXG4gICAqL1xuICByZWFkb25seSBjb3VudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIGdldCBjb3VudCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5jb3VudCQudmFsdWU7IH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc3RvcmUgaXMgZW1wdHlcbiAgICovXG4gIHJlYWRvbmx5IGVtcHR5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZW1wdHkkLnZhbHVlOyB9XG5cbiAgLyoqXG4gICAqIEVudGl0eSBzdG9yZSBzdGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU6IEVudGl0eVN0YXRlTWFuYWdlcjxFLCBTPjtcblxuICAvKipcbiAgICogVmlldyBvZiBhbGwgdGhlIGVudGl0aWVzXG4gICAqL1xuICByZWFkb25seSB2aWV3OiBFbnRpdHlWaWV3PEU+O1xuXG4gIC8qKlxuICAgKiBWaWV3IG9mIGFsbCB0aGUgZW50aXRpZXMgYW5kIHRoZWlyIHN0YXRlXG4gICAqL1xuICByZWFkb25seSBzdGF0ZVZpZXc6IEVudGl0eVZpZXc8RSwgRW50aXR5UmVjb3JkPEUsIFM+PjtcblxuICAvKipcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBpZFxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0S2V5OiAoRSkgPT4gRW50aXR5S2V5O1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZ2V0IGFuIGVudGl0eSdzIG5hbWVkIHByb3BlcnR5XG4gICAqL1xuICByZWFkb25seSBnZXRQcm9wZXJ0eTogKEUsIHByb3A6IHN0cmluZykgPT4gYW55O1xuXG4gIC8qKlxuICAgKiBTdG9yZSBpbmRleFxuICAgKi9cbiAgZ2V0IGluZGV4KCk6IE1hcDxFbnRpdHlLZXksIEU+IHsgcmV0dXJuIHRoaXMuX2luZGV4OyB9XG4gIHByaXZhdGUgX2luZGV4OiBNYXA8RW50aXR5S2V5LCBFPjtcblxuICAvKipcbiAgICogU3RvcmUgaW5kZXhcbiAgICovXG4gIGdldCBwcmlzdGluZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3ByaXN0aW5lOyB9XG4gIHByaXZhdGUgX3ByaXN0aW5lOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3RyYXRlZ2llc1xuICAgKi9cbiAgcHJpdmF0ZSBzdHJhdGVnaWVzOiBFbnRpdHlTdG9yZVN0cmF0ZWd5W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihlbnRpdGllczogRVtdLCBvcHRpb25zOiBFbnRpdHlTdG9yZU9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuZ2V0S2V5ID0gb3B0aW9ucy5nZXRLZXkgPyBvcHRpb25zLmdldEtleSA6IGdldEVudGl0eUlkO1xuICAgIHRoaXMuZ2V0UHJvcGVydHkgPSBvcHRpb25zLmdldFByb3BlcnR5ID8gb3B0aW9ucy5nZXRQcm9wZXJ0eSA6IGdldEVudGl0eVByb3BlcnR5O1xuXG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuY3JlYXRlU3RhdGVNYW5hZ2VyKCk7XG4gICAgdGhpcy52aWV3ID0gdGhpcy5jcmVhdGVEYXRhVmlldygpO1xuICAgIHRoaXMuc3RhdGVWaWV3ID0gdGhpcy5jcmVhdGVTdGF0ZVZpZXcoKTtcblxuICAgIHRoaXMudmlldy5saWZ0KCk7XG4gICAgdGhpcy5zdGF0ZVZpZXcubGlmdCgpO1xuXG4gICAgaWYgKGVudGl0aWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9hZChlbnRpdGllcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KGVudGl0aWVzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZSBieSBrZXlcbiAgICogQHBhcmFtIGtleSBLZXlcbiAgICogQHJldHVybnMgRW50aXR5XG4gICAqL1xuICBnZXQoa2V5OiBFbnRpdHlLZXkpOiBFIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleC5nZXQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGluIHRoZSBzdG9yZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBlbnRpdGllc1xuICAgKi9cbiAgYWxsKCk6IEVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHN0b3JlJ3MgZW50aXRpZXNcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXG4gICAqL1xuICBsb2FkKGVudGl0aWVzOiBFW10sIHByaXN0aW5lOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KGVudGl0aWVzKTtcbiAgICB0aGlzLl9wcmlzdGluZSA9IHByaXN0aW5lO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBzdG9yZSdzIGVudGl0aWVzIGJ1dCBrZWVwIHRoZSBzdGF0ZSBhbmQgdmlld3MgaW50YWN0LlxuICAgKiBWaWV3cyB3b24ndCByZXR1cm4gYW55IGRhdGEgYnV0IGZ1dHVyZSBkYXRhIHdpbGwgYmUgc3ViamVjdCB0byB0aGVcbiAgICogY3VycmVudCB2aWV3cyBmaWx0ZXIgYW5kIHNvcnRcbiAgICovXG4gIHNvZnRDbGVhcigpIHtcbiAgICBpZiAodGhpcy5pbmRleCAmJiB0aGlzLmluZGV4LnNpemUgPiAwKSB7XG4gICAgICB0aGlzLmluZGV4LmNsZWFyKCk7XG4gICAgICB0aGlzLl9wcmlzdGluZSA9IHRydWU7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5kZXgpIHtcbiAgICAgIHRoaXMudXBkYXRlQ291bnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgdGhlIHN0b3JlJ3MgZW50aXRpZXMsIHN0YXRlIGFuZCB2aWV3c1xuICAgKi9cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5zdGF0ZVZpZXcuY2xlYXIoKTtcbiAgICB0aGlzLnZpZXcuY2xlYXIoKTtcbiAgICB0aGlzLnN0YXRlLmNsZWFyKCk7XG4gICAgdGhpcy5zb2Z0Q2xlYXIoKTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdGF0ZVZpZXcuZGVzdHJveSgpO1xuICAgIHRoaXMudmlldy5kZXN0cm95KCk7XG4gICAgdGhpcy5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc2VydCBhbiBlbnRpdHkgaW50byB0aGUgc3RvcmVcbiAgICogQHBhcmFtIGVudGl0eSBFbnRpdHlcbiAgICovXG4gIGluc2VydChlbnRpdHk6IEUpIHtcbiAgICB0aGlzLmluc2VydE1hbnkoW2VudGl0eV0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc2VydCBtYW55IGVudGl0aWVzIGludG8gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xuICAgKi9cbiAgaW5zZXJ0TWFueShlbnRpdGllczogRVtdKSB7XG4gICAgZW50aXRpZXMuZm9yRWFjaCgoZW50aXR5OiBFKSA9PiB0aGlzLmluZGV4LnNldCh0aGlzLmdldEtleShlbnRpdHkpLCBlbnRpdHkpKTtcbiAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgYW4gZW50aXR5IGludG8gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqL1xuICB1cGRhdGUoZW50aXR5OiBFKSB7XG4gICAgdGhpcy51cGRhdGVNYW55KFtlbnRpdHldKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IG1hbnkgZW50aXRpZXMgaW50byB0aGUgc3RvcmVcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXG4gICAqL1xuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIGVudGl0eSkpO1xuICAgIHRoaXMuX3ByaXN0aW5lID0gZmFsc2U7XG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZVxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxuICAgKi9cbiAgZGVsZXRlKGVudGl0eTogRSkge1xuICAgIHRoaXMuZGVsZXRlTWFueShbZW50aXR5XSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIG1hbnkgZW50aXRpZXMgZnJvbSB0aGUgc3RvcmVcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXG4gICAqL1xuICBkZWxldGVNYW55KGVudGl0aWVzOiBFW10pIHtcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHRoaXMuaW5kZXguZGVsZXRlKHRoaXMuZ2V0S2V5KGVudGl0eSkpKTtcbiAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xuICAgIHRoaXMubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHN0cmF0ZWd5IHRvIHRoaXMgc3RvcmVcbiAgICogQHBhcmFtIHN0cmF0ZWd5IEVudGl0eSBzdG9yZSBzdHJhdGVneVxuICAgKiBAcmV0dXJucyBFbnRpdHkgc3RvcmVcbiAgICovXG4gIGFkZFN0cmF0ZWd5KHN0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5LCBhY3RpdmF0ZTogYm9vbGVhbiA9IGZhbHNlKTogRW50aXR5U3RvcmUge1xuICAgIGNvbnN0IGV4aXN0aW5nU3RyYXRlZ3kgPSB0aGlzLnN0cmF0ZWdpZXMuZmluZCgoX3N0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5KSA9PiB7XG4gICAgICByZXR1cm4gc3RyYXRlZ3kuY29uc3RydWN0b3IgPT09IF9zdHJhdGVneS5jb25zdHJ1Y3RvcjtcbiAgICB9KTtcbiAgICBpZiAoZXhpc3RpbmdTdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Egc3RyYXRlZ3kgb2YgdGhpcyB0eXBlIGFscmVhZHkgZXhpc3RzIG9uIHRoYXQgRW50aXR5U3RvcmUuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5zdHJhdGVnaWVzLnB1c2goc3RyYXRlZ3kpO1xuICAgIHN0cmF0ZWd5LmJpbmRTdG9yZSh0aGlzKTtcblxuICAgIGlmIChhY3RpdmF0ZSA9PT0gdHJ1ZSkge1xuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBzdHJhdGVneSBmcm9tIHRoaXMgc3RvcmVcbiAgICogQHBhcmFtIHN0cmF0ZWd5IEVudGl0eSBzdG9yZSBzdHJhdGVneVxuICAgKiBAcmV0dXJucyBFbnRpdHkgc3RvcmVcbiAgICovXG4gIHJlbW92ZVN0cmF0ZWd5KHN0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5KTogRW50aXR5U3RvcmUge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdHJhdGVnaWVzLmluZGV4T2Yoc3RyYXRlZ3kpO1xuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnN0cmF0ZWdpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHN0cmF0ZWd5LnVuYmluZFN0b3JlKHRoaXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gc3RyYXRlZ2llcyBvZiBhIGdpdmVuIHR5cGVcbiAgICogQHBhcmFtIHR5cGUgRW50aXR5IHN0b3JlIHN0cmF0ZWd5IGNsYXNzXG4gICAqIEByZXR1cm5zIFN0cmF0ZWdpZXNcbiAgICovXG4gIGdldFN0cmF0ZWd5T2ZUeXBlKHR5cGU6IHR5cGVvZiBFbnRpdHlTdG9yZVN0cmF0ZWd5KTogRW50aXR5U3RvcmVTdHJhdGVneSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyYXRlZ2llcy5maW5kKChzdHJhdGVneTogRW50aXR5U3RvcmVTdHJhdGVneSkgPT4ge1xuICAgICAgcmV0dXJuIHN0cmF0ZWd5IGluc3RhbmNlb2YgdHlwZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBzdHJhdGVnaWVzIG9mIGEgZ2l2ZW4gdHlwZVxuICAgKiBAcGFyYW0gdHlwZSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3kgY2xhc3NcbiAgICovXG4gIGFjdGl2YXRlU3RyYXRlZ3lPZlR5cGUodHlwZTogdHlwZW9mIEVudGl0eVN0b3JlU3RyYXRlZ3kpIHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuZ2V0U3RyYXRlZ3lPZlR5cGUodHlwZSk7XG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWd5LmFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgc3RyYXRlZ2llcyBvZiBhIGdpdmVuIHR5cGVcbiAgICogQHBhcmFtIHR5cGUgRW50aXR5IHN0b3JlIHN0cmF0ZWd5IGNsYXNzXG4gICAqL1xuICBkZWFjdGl2YXRlU3RyYXRlZ3lPZlR5cGUodHlwZTogdHlwZW9mIEVudGl0eVN0b3JlU3RyYXRlZ3kpIHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuZ2V0U3RyYXRlZ3lPZlR5cGUodHlwZSk7XG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWd5LmRlYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBjb21wbGV0ZSBpbmRleCBvZiBhbGwgdGhlIGVudGl0aWVzXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xuICAgKiBAcmV0dXJucyBJbmRleFxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUluZGV4KGVudGl0aWVzOiBFW10pOiBNYXA8RW50aXR5S2V5LCBFPiB7XG4gICAgY29uc3QgZW50cmllcyA9IGVudGl0aWVzLm1hcCgoZW50aXR5OiBFKSA9PiBbdGhpcy5nZXRLZXkoZW50aXR5KSwgZW50aXR5XSk7XG4gICAgcmV0dXJuIG5ldyBNYXAoZW50cmllcyBhcyBbRW50aXR5S2V5LCBFXVtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdXNoIHRoZSBpbmRleCdzIGVudGl0aWVzIGludG8gdGhlIGVudGl0aWVzJCBvYnNlcnZhYmxlXG4gICAqL1xuICBwcml2YXRlIG5leHQoKSB7XG4gICAgdGhpcy5lbnRpdGllcyQubmV4dChBcnJheS5mcm9tKHRoaXMuaW5kZXgudmFsdWVzKCkpKTtcbiAgICB0aGlzLnVwZGF0ZUNvdW50KCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBzdG9yZSdzIGNvdW50IGFuZCBlbXB0eVxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVDb3VudCgpIHtcbiAgICBjb25zdCBjb3VudCA9IHRoaXMuaW5kZXguc2l6ZTtcbiAgICBjb25zdCBlbXB0eSA9IGNvdW50ID09PSAwO1xuICAgIHRoaXMuY291bnQkLm5leHQoY291bnQpO1xuICAgIHRoaXMuZW1wdHkkLm5leHQoZW1wdHkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgZW50aXR5IHN0YXRlIG1hbmFnZXJcbiAgICogQHJldHVybnMgRW50aXR5U3RhdGVNYW5hZ2VyXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVN0YXRlTWFuYWdlcigpIHtcbiAgICByZXR1cm4gbmV3IEVudGl0eVN0YXRlTWFuYWdlcjxFLCBTPih7c3RvcmU6IHRoaXN9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGRhdGEgdmlld1xuICAgKiBAcmV0dXJucyBFbnRpdHlWaWV3PEU+XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZURhdGFWaWV3KCkge1xuICAgIHJldHVybiBuZXcgRW50aXR5VmlldzxFPih0aGlzLmVudGl0aWVzJCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBzdGF0ZSB2aWV3XG4gICAqIEByZXR1cm5zIEVudGl0eVZpZXc8RW50aXR5UmVjb3JkPEU+PlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdGF0ZVZpZXcoKSB7XG4gICAgcmV0dXJuIG5ldyBFbnRpdHlWaWV3PEUsIEVudGl0eVJlY29yZDxFLCBTPj4odGhpcy52aWV3LmFsbCQoKSlcbiAgICAgIC5qb2luKHtcbiAgICAgICAgc291cmNlOiB0aGlzLnN0YXRlLmNoYW5nZSQsXG4gICAgICAgIHJlZHVjZTogKGVudGl0eTogRSk6IEVudGl0eVJlY29yZDxFLCBTPiA9PiB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkoZW50aXR5KTtcbiAgICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUuZ2V0KGVudGl0eSk7XG4gICAgICAgICAgY29uc3QgY3VycmVudFJlY29yZCA9IHRoaXMuc3RhdGVWaWV3LmdldChrZXkpO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY3VycmVudFJlY29yZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBjdXJyZW50UmVjb3JkLmVudGl0eSA9PT0gZW50aXR5ICYmXG4gICAgICAgICAgICB0aGlzLnN0YXRlc0FyZVRoZVNhbWUoY3VycmVudFJlY29yZC5zdGF0ZSwgc3RhdGUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFJlY29yZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCByZXZpc2lvbiA9IGN1cnJlbnRSZWNvcmQgPyBjdXJyZW50UmVjb3JkLnJldmlzaW9uICsgMSA6IDE7XG4gICAgICAgICAgY29uc3QgcmVmID0gYCR7a2V5fS0ke3JldmlzaW9ufWA7XG4gICAgICAgICAgcmV0dXJuIHtlbnRpdHksIHN0YXRlLCByZXZpc2lvbiwgcmVmfTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jcmVhdGVJbmRleCgocmVjb3JkOiBFbnRpdHlSZWNvcmQ8RSwgUz4pID0+IHRoaXMuZ2V0S2V5KHJlY29yZC5lbnRpdHkpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVzQXJlVGhlU2FtZShjdXJyZW50U3RhdGU6IFMsIG5ld1N0YXRlOiBTKTogYm9vbGVhbiB7XG4gICAgaWYgKGN1cnJlbnRTdGF0ZSA9PT0gbmV3U3RhdGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZUlzRW1wdHkgPSBPYmplY3Qua2V5cyhjdXJyZW50U3RhdGUpLmxlbmd0aCA9PT0gMDtcbiAgICBjb25zdCBuZXdTdGF0ZUlzRW1wdHkgPSBPYmplY3Qua2V5cyhuZXdTdGF0ZSkubGVuZ3RoID09PSAwO1xuICAgIHJldHVybiBjdXJyZW50U3RhdGVJc0VtcHR5ICYmIG5ld1N0YXRlSXNFbXB0eTtcbiAgfVxuXG59XG4iXX0=
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQTZEdEIsWUFBWSxRQUFhLEVBQUUsVUFBOEIsRUFBRTtRQTNEM0Q7O1dBRUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFFbEQ7O1dBRUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFHakQ7O1dBRUc7UUFDTSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFzQzdDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDSyxlQUFVLEdBQTBCLEVBQUUsQ0FBQztRQUc3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBRWpGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUks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LE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFlBQWUsRUFBRSxRQUFXO1FBQ25ELElBQUksWUFBWSxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDbkUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1FBQzNELE9BQU8sbUJBQW1CLElBQUksZUFBZSxDQUFDO0lBQ2hELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RhdGVNYW5hZ2VyIH0gZnJvbSAnLi9zdGF0ZSc7XHJcbmltcG9ydCB7IEVudGl0eVZpZXcgfSBmcm9tICcuL3ZpZXcnO1xyXG5pbXBvcnQgeyBFbnRpdHlLZXksIEVudGl0eVN0YXRlLCBFbnRpdHlSZWNvcmQsIEVudGl0eVN0b3JlT3B0aW9ucyB9IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBnZXRFbnRpdHlJZCwgZ2V0RW50aXR5UHJvcGVydHkgfSBmcm9tICcuL2VudGl0eS51dGlscyc7XHJcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3kgfSBmcm9tICcuL3N0cmF0ZWdpZXMvc3RyYXRlZ3knO1xyXG5cclxuLyoqXHJcbiAqIEFuIGVudGl0eSBzdG9yZSBjbGFzcyBob2xkcyBhbnkgbnVtYmVyIG9mIGVudGl0aWVzXHJcbiAqIGFzIHdlbGwgYXMgdGhlaXIgc3RhdGUuIEl0IGNhbiBiZSBvYnNlcnZlZCwgZmlsdGVyZWQgYW5kIHNvcnRlZCBhbmRcclxuICogcHJvdmlkZXMgbWV0aG9kcyB0byBpbnNlcnQsIHVwZGF0ZSBvciBkZWxldGUgZW50aXRpZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmU8RSBleHRlbmRzIG9iamVjdCA9IG9iamVjdCwgUyBleHRlbmRzIEVudGl0eVN0YXRlID0gRW50aXR5U3RhdGU+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgcmF3IGVudGl0aWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZW50aXRpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFW10+KFtdKTtcclxuXHJcbiAgLyoqXHJcbiAgICogTnVtYmVyIG9mIGVudGl0aWVzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgY291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xyXG4gIGdldCBjb3VudCgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5jb3VudCQudmFsdWU7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgc3RvcmUgaXMgZW1wdHlcclxuICAgKi9cclxuICByZWFkb25seSBlbXB0eSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuZW1wdHkkLnZhbHVlOyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVudGl0eSBzdG9yZSBzdGF0ZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHN0YXRlOiBFbnRpdHlTdGF0ZU1hbmFnZXI8RSwgUz47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZpZXcgb2YgYWxsIHRoZSBlbnRpdGllc1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHZpZXc6IEVudGl0eVZpZXc8RT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZpZXcgb2YgYWxsIHRoZSBlbnRpdGllcyBhbmQgdGhlaXIgc3RhdGVcclxuICAgKi9cclxuICByZWFkb25seSBzdGF0ZVZpZXc6IEVudGl0eVZpZXc8RSwgRW50aXR5UmVjb3JkPEUsIFM+PjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBpZFxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdldEtleTogKEUpID0+IEVudGl0eUtleTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIHRvIGdldCBhbiBlbnRpdHkncyBuYW1lZCBwcm9wZXJ0eVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdldFByb3BlcnR5OiAoRSwgcHJvcDogc3RyaW5nKSA9PiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIGluZGV4XHJcbiAgICovXHJcbiAgZ2V0IGluZGV4KCk6IE1hcDxFbnRpdHlLZXksIEU+IHsgcmV0dXJuIHRoaXMuX2luZGV4OyB9XHJcbiAgcHJpdmF0ZSBfaW5kZXg6IE1hcDxFbnRpdHlLZXksIEU+O1xyXG5cclxuICAvKipcclxuICAgKiBTdG9yZSBpbmRleFxyXG4gICAqL1xyXG4gIGdldCBwcmlzdGluZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3ByaXN0aW5lOyB9XHJcbiAgcHJpdmF0ZSBfcHJpc3RpbmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTdHJhdGVnaWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdHJhdGVnaWVzOiBFbnRpdHlTdG9yZVN0cmF0ZWd5W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZW50aXRpZXM6IEVbXSwgb3B0aW9uczogRW50aXR5U3RvcmVPcHRpb25zID0ge30pIHtcclxuICAgIHRoaXMuZ2V0S2V5ID0gb3B0aW9ucy5nZXRLZXkgPyBvcHRpb25zLmdldEtleSA6IGdldEVudGl0eUlkO1xyXG4gICAgdGhpcy5nZXRQcm9wZXJ0eSA9IG9wdGlvbnMuZ2V0UHJvcGVydHkgPyBvcHRpb25zLmdldFByb3BlcnR5IDogZ2V0RW50aXR5UHJvcGVydHk7XHJcblxyXG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuY3JlYXRlU3RhdGVNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLnZpZXcgPSB0aGlzLmNyZWF0ZURhdGFWaWV3KCk7XHJcbiAgICB0aGlzLnN0YXRlVmlldyA9IHRoaXMuY3JlYXRlU3RhdGVWaWV3KCk7XHJcblxyXG4gICAgdGhpcy52aWV3LmxpZnQoKTtcclxuICAgIHRoaXMuc3RhdGVWaWV3LmxpZnQoKTtcclxuXHJcbiAgICBpZiAoZW50aXRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWQoZW50aXRpZXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faW5kZXggPSB0aGlzLmdlbmVyYXRlSW5kZXgoZW50aXRpZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZSBieSBrZXlcclxuICAgKiBAcGFyYW0ga2V5IEtleVxyXG4gICAqIEByZXR1cm5zIEVudGl0eVxyXG4gICAqL1xyXG4gIGdldChrZXk6IEVudGl0eUtleSk6IEUge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5kZXguZ2V0KGtleSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGluIHRoZSBzdG9yZVxyXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGVudGl0aWVzXHJcbiAgICovXHJcbiAgYWxsKCk6IEVbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcyQudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhpcyBzdG9yZSdzIGVudGl0aWVzXHJcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXHJcbiAgICovXHJcbiAgbG9hZChlbnRpdGllczogRVtdLCBwcmlzdGluZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRoaXMuX2luZGV4ID0gdGhpcy5nZW5lcmF0ZUluZGV4KGVudGl0aWVzKTtcclxuICAgIHRoaXMuX3ByaXN0aW5lID0gcHJpc3RpbmU7XHJcbiAgICB0aGlzLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHRoZSBzdG9yZSdzIGVudGl0aWVzIGJ1dCBrZWVwIHRoZSBzdGF0ZSBhbmQgdmlld3MgaW50YWN0LlxyXG4gICAqIFZpZXdzIHdvbid0IHJldHVybiBhbnkgZGF0YSBidXQgZnV0dXJlIGRhdGEgd2lsbCBiZSBzdWJqZWN0IHRvIHRoZVxyXG4gICAqIGN1cnJlbnQgdmlld3MgZmlsdGVyIGFuZCBzb3J0XHJcbiAgICovXHJcbiAgc29mdENsZWFyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5kZXggJiYgdGhpcy5pbmRleC5zaXplID4gMCkge1xyXG4gICAgICB0aGlzLmluZGV4LmNsZWFyKCk7XHJcbiAgICAgIHRoaXMuX3ByaXN0aW5lID0gdHJ1ZTtcclxuICAgICAgdGhpcy5uZXh0KCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5kZXgpIHtcclxuICAgICAgdGhpcy51cGRhdGVDb3VudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIHN0b3JlJ3MgZW50aXRpZXMsIHN0YXRlIGFuZCB2aWV3c1xyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy5zdGF0ZVZpZXcuY2xlYXIoKTtcclxuICAgIHRoaXMudmlldy5jbGVhcigpO1xyXG4gICAgdGhpcy5zdGF0ZS5jbGVhcigpO1xyXG4gICAgdGhpcy5zb2Z0Q2xlYXIoKTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN0YXRlVmlldy5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnZpZXcuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0IGFuIGVudGl0eSBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICovXHJcbiAgaW5zZXJ0KGVudGl0eTogRSkge1xyXG4gICAgdGhpcy5pbnNlcnRNYW55KFtlbnRpdHldKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBtYW55IGVudGl0aWVzIGludG8gdGhlIHN0b3JlXHJcbiAgICogQHBhcmFtIGVudGl0aWVzIEVudGl0aWVzXHJcbiAgICovXHJcbiAgaW5zZXJ0TWFueShlbnRpdGllczogRVtdKSB7XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHk6IEUpID0+IHRoaXMuaW5kZXguc2V0KHRoaXMuZ2V0S2V5KGVudGl0eSksIGVudGl0eSkpO1xyXG4gICAgdGhpcy5fcHJpc3RpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIG9yIGluc2VydCBhbiBlbnRpdHkgaW50byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXR5IEVudGl0eVxyXG4gICAqL1xyXG4gIHVwZGF0ZShlbnRpdHk6IEUpIHtcclxuICAgIHRoaXMudXBkYXRlTWFueShbZW50aXR5XSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IG1hbnkgZW50aXRpZXMgaW50byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXRpZXMgRW50aXRpZXNcclxuICAgKi9cclxuICB1cGRhdGVNYW55KGVudGl0aWVzOiBFW10pIHtcclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRSkgPT4gdGhpcy5pbmRleC5zZXQodGhpcy5nZXRLZXkoZW50aXR5KSwgZW50aXR5KSk7XHJcbiAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGUgYW4gZW50aXR5IGZyb20gdGhlIHN0b3JlXHJcbiAgICogQHBhcmFtIGVudGl0eSBFbnRpdHlcclxuICAgKi9cclxuICBkZWxldGUoZW50aXR5OiBFKSB7XHJcbiAgICB0aGlzLmRlbGV0ZU1hbnkoW2VudGl0eV0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIG1hbnkgZW50aXRpZXMgZnJvbSB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gZW50aXRpZXMgRW50aXRpZXNcclxuICAgKi9cclxuICBkZWxldGVNYW55KGVudGl0aWVzOiBFW10pIHtcclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eTogRSkgPT4gdGhpcy5pbmRleC5kZWxldGUodGhpcy5nZXRLZXkoZW50aXR5KSkpO1xyXG4gICAgdGhpcy5fcHJpc3RpbmUgPSBmYWxzZTtcclxuICAgIHRoaXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgc3RyYXRlZ3kgdG8gdGhpcyBzdG9yZVxyXG4gICAqIEBwYXJhbSBzdHJhdGVneSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3lcclxuICAgKiBAcmV0dXJucyBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBhZGRTdHJhdGVneShzdHJhdGVneTogRW50aXR5U3RvcmVTdHJhdGVneSwgYWN0aXZhdGU6IGJvb2xlYW4gPSBmYWxzZSk6IEVudGl0eVN0b3JlIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nU3RyYXRlZ3kgPSB0aGlzLnN0cmF0ZWdpZXMuZmluZCgoX3N0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5KSA9PiB7XHJcbiAgICAgIHJldHVybiBzdHJhdGVneS5jb25zdHJ1Y3RvciA9PT0gX3N0cmF0ZWd5LmNvbnN0cnVjdG9yO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoZXhpc3RpbmdTdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQSBzdHJhdGVneSBvZiB0aGlzIHR5cGUgYWxyZWFkeSBleGlzdHMgb24gdGhhdCBFbnRpdHlTdG9yZS4nKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0cmF0ZWdpZXMucHVzaChzdHJhdGVneSk7XHJcbiAgICBzdHJhdGVneS5iaW5kU3RvcmUodGhpcyk7XHJcblxyXG4gICAgaWYgKGFjdGl2YXRlID09PSB0cnVlKSB7XHJcbiAgICAgIHN0cmF0ZWd5LmFjdGl2YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBzdHJhdGVneSBmcm9tIHRoaXMgc3RvcmVcclxuICAgKiBAcGFyYW0gc3RyYXRlZ3kgRW50aXR5IHN0b3JlIHN0cmF0ZWd5XHJcbiAgICogQHJldHVybnMgRW50aXR5IHN0b3JlXHJcbiAgICovXHJcbiAgcmVtb3ZlU3RyYXRlZ3koc3RyYXRlZ3k6IEVudGl0eVN0b3JlU3RyYXRlZ3kpOiBFbnRpdHlTdG9yZSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RyYXRlZ2llcy5pbmRleE9mKHN0cmF0ZWd5KTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuc3RyYXRlZ2llcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBzdHJhdGVneS51bmJpbmRTdG9yZSh0aGlzKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHN0cmF0ZWdpZXMgb2YgYSBnaXZlbiB0eXBlXHJcbiAgICogQHBhcmFtIHR5cGUgRW50aXR5IHN0b3JlIHN0cmF0ZWd5IGNsYXNzXHJcbiAgICogQHJldHVybnMgU3RyYXRlZ2llc1xyXG4gICAqL1xyXG4gIGdldFN0cmF0ZWd5T2ZUeXBlKHR5cGU6IHR5cGVvZiBFbnRpdHlTdG9yZVN0cmF0ZWd5KTogRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHJhdGVnaWVzLmZpbmQoKHN0cmF0ZWd5OiBFbnRpdHlTdG9yZVN0cmF0ZWd5KSA9PiB7XHJcbiAgICAgIHJldHVybiBzdHJhdGVneSBpbnN0YW5jZW9mIHR5cGU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGl2YXRlIHN0cmF0ZWdpZXMgb2YgYSBnaXZlbiB0eXBlXHJcbiAgICogQHBhcmFtIHR5cGUgRW50aXR5IHN0b3JlIHN0cmF0ZWd5IGNsYXNzXHJcbiAgICovXHJcbiAgYWN0aXZhdGVTdHJhdGVneU9mVHlwZSh0eXBlOiB0eXBlb2YgRW50aXR5U3RvcmVTdHJhdGVneSkge1xyXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmdldFN0cmF0ZWd5T2ZUeXBlKHR5cGUpO1xyXG4gICAgaWYgKHN0cmF0ZWd5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3RyYXRlZ3kuYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlYWN0aXZhdGUgc3RyYXRlZ2llcyBvZiBhIGdpdmVuIHR5cGVcclxuICAgKiBAcGFyYW0gdHlwZSBFbnRpdHkgc3RvcmUgc3RyYXRlZ3kgY2xhc3NcclxuICAgKi9cclxuICBkZWFjdGl2YXRlU3RyYXRlZ3lPZlR5cGUodHlwZTogdHlwZW9mIEVudGl0eVN0b3JlU3RyYXRlZ3kpIHtcclxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5nZXRTdHJhdGVneU9mVHlwZSh0eXBlKTtcclxuICAgIGlmIChzdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0cmF0ZWd5LmRlYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlIGEgY29tcGxldGUgaW5kZXggb2YgYWxsIHRoZSBlbnRpdGllc1xyXG4gICAqIEBwYXJhbSBlbnRpdGllcyBFbnRpdGllc1xyXG4gICAqIEByZXR1cm5zIEluZGV4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUluZGV4KGVudGl0aWVzOiBFW10pOiBNYXA8RW50aXR5S2V5LCBFPiB7XHJcbiAgICBjb25zdCBlbnRyaWVzID0gZW50aXRpZXMubWFwKChlbnRpdHk6IEUpID0+IFt0aGlzLmdldEtleShlbnRpdHkpLCBlbnRpdHldKTtcclxuICAgIHJldHVybiBuZXcgTWFwKGVudHJpZXMgYXMgW0VudGl0eUtleSwgRV1bXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQdXNoIHRoZSBpbmRleCdzIGVudGl0aWVzIGludG8gdGhlIGVudGl0aWVzJCBvYnNlcnZhYmxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBuZXh0KCkge1xyXG4gICAgdGhpcy5lbnRpdGllcyQubmV4dChBcnJheS5mcm9tKHRoaXMuaW5kZXgudmFsdWVzKCkpKTtcclxuICAgIHRoaXMudXBkYXRlQ291bnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgc3RvcmUncyBjb3VudCBhbmQgZW1wdHlcclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZUNvdW50KCkge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLmluZGV4LnNpemU7XHJcbiAgICBjb25zdCBlbXB0eSA9IGNvdW50ID09PSAwO1xyXG4gICAgdGhpcy5jb3VudCQubmV4dChjb3VudCk7XHJcbiAgICB0aGlzLmVtcHR5JC5uZXh0KGVtcHR5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSB0aGUgZW50aXR5IHN0YXRlIG1hbmFnZXJcclxuICAgKiBAcmV0dXJucyBFbnRpdHlTdGF0ZU1hbmFnZXJcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVN0YXRlTWFuYWdlcigpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5U3RhdGVNYW5hZ2VyPEUsIFM+KHtzdG9yZTogdGhpc30pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBkYXRhIHZpZXdcclxuICAgKiBAcmV0dXJucyBFbnRpdHlWaWV3PEU+XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVEYXRhVmlldygpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5VmlldzxFPih0aGlzLmVudGl0aWVzJCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIHN0YXRlIHZpZXdcclxuICAgKiBAcmV0dXJucyBFbnRpdHlWaWV3PEVudGl0eVJlY29yZDxFPj5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVN0YXRlVmlldygpIHtcclxuICAgIHJldHVybiBuZXcgRW50aXR5VmlldzxFLCBFbnRpdHlSZWNvcmQ8RSwgUz4+KHRoaXMudmlldy5hbGwkKCkpXHJcbiAgICAgIC5qb2luKHtcclxuICAgICAgICBzb3VyY2U6IHRoaXMuc3RhdGUuY2hhbmdlJCxcclxuICAgICAgICByZWR1Y2U6IChlbnRpdHk6IEUpOiBFbnRpdHlSZWNvcmQ8RSwgUz4gPT4ge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkoZW50aXR5KTtcclxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZS5nZXQoZW50aXR5KTtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWNvcmQgPSB0aGlzLnN0YXRlVmlldy5nZXQoa2V5KTtcclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGN1cnJlbnRSZWNvcmQgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICAgICAgICBjdXJyZW50UmVjb3JkLmVudGl0eSA9PT0gZW50aXR5ICYmXHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVzQXJlVGhlU2FtZShjdXJyZW50UmVjb3JkLnN0YXRlLCBzdGF0ZSlcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFJlY29yZDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCByZXZpc2lvbiA9IGN1cnJlbnRSZWNvcmQgPyBjdXJyZW50UmVjb3JkLnJldmlzaW9uICsgMSA6IDE7XHJcbiAgICAgICAgICBjb25zdCByZWYgPSBgJHtrZXl9LSR7cmV2aXNpb259YDtcclxuICAgICAgICAgIHJldHVybiB7ZW50aXR5LCBzdGF0ZSwgcmV2aXNpb24sIHJlZn07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAuY3JlYXRlSW5kZXgoKHJlY29yZDogRW50aXR5UmVjb3JkPEUsIFM+KSA9PiB0aGlzLmdldEtleShyZWNvcmQuZW50aXR5KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRlc0FyZVRoZVNhbWUoY3VycmVudFN0YXRlOiBTLCBuZXdTdGF0ZTogUyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGN1cnJlbnRTdGF0ZSA9PT0gbmV3U3RhdGUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VycmVudFN0YXRlSXNFbXB0eSA9IE9iamVjdC5rZXlzKGN1cnJlbnRTdGF0ZSkubGVuZ3RoID09PSAwO1xyXG4gICAgY29uc3QgbmV3U3RhdGVJc0VtcHR5ID0gT2JqZWN0LmtleXMobmV3U3RhdGUpLmxlbmd0aCA9PT0gMDtcclxuICAgIHJldHVybiBjdXJyZW50U3RhdGVJc0VtcHR5ICYmIG5ld1N0YXRlSXNFbXB0eTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -76,4 +76,4 @@ export class EntityStoreFilterCustomFuncStrategy extends EntityStoreStrategy {
76
76
  this.filters.delete(store);
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWN1c3RvbS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItY3VzdG9tLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBRTFFLFlBQXNCLE9BQXVDO1FBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBSTdEOztXQUVHO1FBQ0ssWUFBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBTHRELENBQUM7SUFPRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBa0I7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQWtCO1FBQzVCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsS0FBa0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5cbi8qKlxuICogV2hlbiBhY3RpdmUsIHRoaXMgc3RyYXRlZ3kgZmlsdGVycyBhIHN0b3JlJ3Mgc3RhdGVWaWV3IHRvIHJldHVyblxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlRmlsdGVyQ3VzdG9tRnVuY1N0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG9wdGlvbnM6IEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlIC8gZmlsdGVyIGlkcyBtYXBcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyczogTWFwPEVudGl0eVN0b3JlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgZmlsdGVyaW5nIGl0XG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcbiAgICovXG4gIGJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5maWx0ZXJTdG9yZShzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gYSBzdG9yZSBhbmQgc3RvcCBmaWx0ZXJpbmcgaXRcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxuICAgKi9cbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy51bmZpbHRlclN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgZmlsdGVyaW5nIGFsbCBzdG9yZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcbiAgICB0aGlzLmZpbHRlckFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgZmlsdGVyaW5nIGFsbCBzdG9yZXNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgZG9EZWFjdGl2YXRlKCkge1xuICAgIHRoaXMudW5maWx0ZXJBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYWxsIHN0b3Jlc1xuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJBbGwoKSB7XG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlKSA9PiB0aGlzLmZpbHRlclN0b3JlKHN0b3JlKSk7XG4gIH1cblxuICAvKipcbiAgICogVW5maWx0ZXIgYWxsIHN0b3Jlc1xuICAgKi9cbiAgcHJpdmF0ZSB1bmZpbHRlckFsbCgpIHtcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMudW5maWx0ZXJTdG9yZShzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhIHN0b3JlIGFuZCBhZGQgaXQgdG8gdGhlIGZpbHRlcnMgbWFwXG4gICAqL1xuICBwcml2YXRlIGZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIHRoaXMuZmlsdGVycy5zZXQoc3RvcmUsIHN0b3JlLnN0YXRlVmlldy5hZGRGaWx0ZXIodGhpcy5vcHRpb25zLmZpbHRlckNsYXVzZUZ1bmMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmZpbHRlciBhIHN0b3JlIGFuZCBkZWxldGUgaXQgZnJvbSB0aGUgZmlsdGVycyBtYXBcbiAgICovXG4gIHByaXZhdGUgdW5maWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuZmlsdGVycy5nZXQoc3RvcmUpO1xuICAgIGlmIChmaWx0ZXJJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3RvcmUuc3RhdGVWaWV3LnJlbW92ZUZpbHRlcihmaWx0ZXJJZCk7XG4gICAgdGhpcy5maWx0ZXJzLmRlbGV0ZShzdG9yZSk7XG4gIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWN1c3RvbS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItY3VzdG9tLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsbUJBQW1CO0lBRTFFLFlBQXNCLE9BQXVDO1FBQzNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFlBQU8sR0FBUCxPQUFPLENBQWdDO1FBSTdEOztXQUVHO1FBQ0ssWUFBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBTHRELENBQUM7SUFPRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsS0FBa0I7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQWtCO1FBQzVCLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxTQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ssV0FBVztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXLENBQUMsS0FBa0I7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xyXG5cclxuLyoqXHJcbiAqIFdoZW4gYWN0aXZlLCB0aGlzIHN0cmF0ZWd5IGZpbHRlcnMgYSBzdG9yZSdzIHN0YXRlVmlldyB0byByZXR1cm5cclxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3B0aW9uczogRW50aXR5U3RvcmVTdHJhdGVneUZ1bmNPcHRpb25zKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIC8gZmlsdGVyIGlkcyBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlcnM6IE1hcDxFbnRpdHlTdG9yZSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IGZpbHRlcmluZyBpdFxyXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XHJcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIGZpbHRlcmluZyBpdFxyXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICB1bmJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhcnQgZmlsdGVyaW5nIGFsbCBzdG9yZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMuZmlsdGVyQWxsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIGZpbHRlcmluZyBhbGwgc3RvcmVzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMudW5maWx0ZXJBbGwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBhbGwgc3RvcmVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJBbGwoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuZmlsdGVyIGFsbCBzdG9yZXNcclxuICAgKi9cclxuICBwcml2YXRlIHVuZmlsdGVyQWxsKCkge1xyXG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlKSA9PiB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBhIHN0b3JlIGFuZCBhZGQgaXQgdG8gdGhlIGZpbHRlcnMgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIHRoaXMuZmlsdGVycy5zZXQoc3RvcmUsIHN0b3JlLnN0YXRlVmlldy5hZGRGaWx0ZXIodGhpcy5vcHRpb25zLmZpbHRlckNsYXVzZUZ1bmMpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuZmlsdGVyIGEgc3RvcmUgYW5kIGRlbGV0ZSBpdCBmcm9tIHRoZSBmaWx0ZXJzIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5maWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIGNvbnN0IGZpbHRlcklkID0gdGhpcy5maWx0ZXJzLmdldChzdG9yZSk7XHJcbiAgICBpZiAoZmlsdGVySWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmUuc3RhdGVWaWV3LnJlbW92ZUZpbHRlcihmaWx0ZXJJZCk7XHJcbiAgICB0aGlzLmZpbHRlcnMuZGVsZXRlKHN0b3JlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -81,4 +81,4 @@ export class EntityStoreFilterSelectionStrategy extends EntityStoreStrategy {
81
81
  this.filters.delete(store);
82
82
  }
83
83
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsbUJBQW1CO0lBQTNFOztRQUVFOztXQUVHO1FBQ0ssWUFBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBZ0Z4RCxDQUFDO0lBOUVDOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBa0I7UUFDNUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVk7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVM7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5cbi8qKlxuICogV2hlbiBhY3RpdmUsIHRoaXMgc3RyYXRlZ3kgZmlsdGVycyBhIHN0b3JlJ3Mgc3RhdGVWaWV3IHRvIHJldHVyblxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlRmlsdGVyU2VsZWN0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5IHtcblxuICAvKipcbiAgICogU3RvcmUgLyBmaWx0ZXIgaWRzIG1hcFxuICAgKi9cbiAgcHJpdmF0ZSBmaWx0ZXJzOiBNYXA8RW50aXR5U3RvcmUsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyBzdHJhdGVneSB0byBhIHN0b3JlIGFuZCBzdGFydCBmaWx0ZXJpbmcgaXRcbiAgICogQHBhcmFtIHN0b3JlIEVudGl0eSBzdG9yZVxuICAgKi9cbiAgYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmZpbHRlclN0b3JlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIGZpbHRlcmluZyBpdFxuICAgKiBAcGFyYW0gc3RvcmUgRW50aXR5IHN0b3JlXG4gICAqL1xuICB1bmJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcbiAgICBzdXBlci51bmJpbmRTdG9yZShzdG9yZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBmaWx0ZXJpbmcgYWxsIHN0b3Jlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xuICAgIHRoaXMuZmlsdGVyQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBmaWx0ZXJpbmcgYWxsIHN0b3Jlc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0RlYWN0aXZhdGUoKSB7XG4gICAgdGhpcy51bmZpbHRlckFsbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhbGwgc3RvcmVzXG4gICAqL1xuICBwcml2YXRlIGZpbHRlckFsbCgpIHtcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmZpbHRlciBhbGwgc3RvcmVzXG4gICAqL1xuICBwcml2YXRlIHVuZmlsdGVyQWxsKCkge1xuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBFbnRpdHlTdG9yZSkgPT4gdGhpcy51bmZpbHRlclN0b3JlKHN0b3JlKSk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVyIGEgc3RvcmUgYW5kIGFkZCBpdCB0byB0aGUgZmlsdGVycyBtYXBcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVycy5oYXMoc3RvcmUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyID0gKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcbiAgICAgIHJldHVybiByZWNvcmQuc3RhdGUuc2VsZWN0ZWQgPT09IHRydWU7XG4gICAgfTtcbiAgICB0aGlzLmZpbHRlcnMuc2V0KHN0b3JlLCBzdG9yZS5zdGF0ZVZpZXcuYWRkRmlsdGVyKGZpbHRlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuZmlsdGVyIGEgc3RvcmUgYW5kIGRlbGV0ZSBpdCBmcm9tIHRoZSBmaWx0ZXJzIG1hcFxuICAgKi9cbiAgcHJpdmF0ZSB1bmZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIGNvbnN0IGZpbHRlcklkID0gdGhpcy5maWx0ZXJzLmdldChzdG9yZSk7XG4gICAgaWYgKGZpbHRlcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzdG9yZS5zdGF0ZVZpZXcucmVtb3ZlRmlsdGVyKGZpbHRlcklkKTtcbiAgICB0aGlzLmZpbHRlcnMuZGVsZXRlKHN0b3JlKTtcbiAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2VudGl0eS9zaGFyZWQvc3RyYXRlZ2llcy9maWx0ZXItc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsbUJBQW1CO0lBQTNFOztRQUVFOztXQUVHO1FBQ0ssWUFBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBZ0Z4RCxDQUFDO0lBOUVDOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFrQjtRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBa0I7UUFDNUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFlBQVk7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVM7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNLLFdBQVcsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBNEIsRUFBRSxFQUFFO1lBQzlDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNLLGFBQWEsQ0FBQyxLQUFrQjtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5UmVjb3JkIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xyXG5cclxuLyoqXHJcbiAqIFdoZW4gYWN0aXZlLCB0aGlzIHN0cmF0ZWd5IGZpbHRlcnMgYSBzdG9yZSdzIHN0YXRlVmlldyB0byByZXR1cm5cclxuICogc2VsZWN0ZWQgZW50aXRpZXMgb25seS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlTdG9yZUZpbHRlclNlbGVjdGlvblN0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIC8gZmlsdGVyIGlkcyBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIGZpbHRlcnM6IE1hcDxFbnRpdHlTdG9yZSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0cmF0ZWd5IHRvIGEgc3RvcmUgYW5kIHN0YXJ0IGZpbHRlcmluZyBpdFxyXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XHJcbiAgICBzdXBlci5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIGZpbHRlcmluZyBpdFxyXG4gICAqIEBwYXJhbSBzdG9yZSBFbnRpdHkgc3RvcmVcclxuICAgKi9cclxuICB1bmJpbmRTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIHN1cGVyLnVuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RhcnQgZmlsdGVyaW5nIGFsbCBzdG9yZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZG9BY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMuZmlsdGVyQWxsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIGZpbHRlcmluZyBhbGwgc3RvcmVzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMudW5maWx0ZXJBbGwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBhbGwgc3RvcmVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJBbGwoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmUpID0+IHRoaXMuZmlsdGVyU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVuZmlsdGVyIGFsbCBzdG9yZXNcclxuICAgKi9cclxuICBwcml2YXRlIHVuZmlsdGVyQWxsKCkge1xyXG4gICAgdGhpcy5zdG9yZXMuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlKSA9PiB0aGlzLnVuZmlsdGVyU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBhIHN0b3JlIGFuZCBhZGQgaXQgdG8gdGhlIGZpbHRlcnMgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWx0ZXJTdG9yZShzdG9yZTogRW50aXR5U3RvcmUpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlcnMuaGFzKHN0b3JlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsdGVyID0gKHJlY29yZDogRW50aXR5UmVjb3JkPG9iamVjdD4pID0+IHtcclxuICAgICAgcmV0dXJuIHJlY29yZC5zdGF0ZS5zZWxlY3RlZCA9PT0gdHJ1ZTtcclxuICAgIH07XHJcbiAgICB0aGlzLmZpbHRlcnMuc2V0KHN0b3JlLCBzdG9yZS5zdGF0ZVZpZXcuYWRkRmlsdGVyKGZpbHRlcikpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5maWx0ZXIgYSBzdG9yZSBhbmQgZGVsZXRlIGl0IGZyb20gdGhlIGZpbHRlcnMgbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bmZpbHRlclN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xyXG4gICAgY29uc3QgZmlsdGVySWQgPSB0aGlzLmZpbHRlcnMuZ2V0KHN0b3JlKTtcclxuICAgIGlmIChmaWx0ZXJJZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzdG9yZS5zdGF0ZVZpZXcucmVtb3ZlRmlsdGVyKGZpbHRlcklkKTtcclxuICAgIHRoaXMuZmlsdGVycy5kZWxldGUoc3RvcmUpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from './strategy';
2
2
  export * from './filter-custom-function';
3
3
  export * from './filter-selection';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1jdXN0b20tZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItc2VsZWN0aW9uJztcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdHJhdGVneSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWN1c3RvbS1mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLXNlbGVjdGlvbic7XHJcbiJdfQ==
@@ -72,4 +72,4 @@ export class EntityStoreStrategy {
72
72
  */
73
73
  doDeactivate() { }
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixZQUFzQixVQUFzQyxFQUFFO1FBQXhDLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBYjlEOzs7V0FHRztRQUNPLFdBQU0sR0FBa0IsRUFBRSxDQUFDO1FBTzVCLFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQVREOzs7T0FHRztJQUNILElBQUksTUFBTSxLQUFjLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBT3BEOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVSxLQUFJLENBQUM7SUFFekI7OztPQUdHO0lBQ08sWUFBWSxLQUFJLENBQUM7Q0FFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMgfSBmcm9tICcuLi9lbnRpdHkuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcblxuLyoqXG4gKiBFbnRpdHkgc3RvcmUgc3RyYXRlZ2llcy4gVGhleSBjYW4gZG8gcHJldHR5IG11Y2ggYW55dGhpbmcgZHVyaW5nIGEgc3RvcmUnc1xuICogbGlmZXRpbWUuIEZvciBleGFtcGxlLCB0aGV5IG1heSBhY3QgYXMgdHJpZ2dlcnMgd2hlbiBzb21ldGhpbmcgaGFwcGVucy5cbiAqIFNoYXJpbmcgYSBzdHJhdGVneSBpcyBhIGdvb2QgaWRlYSB3aGVuIG11bHRpcGxlIHN0cmF0ZWdpZXMgd291bGQgaGF2ZVxuICogb24gY2FuY2VsbGluZyBlZmZlY3Qgb24gZWFjaCBvdGhlci5cbiAqXG4gKiBBdCBjcmVhdGlvbiwgc3RyYXRlZ3kgaXMgaW5hY3RpdmUgYW5kIG5lZWRzIHRvIGJlIG1hbnVhbGx5IGFjdGl2YXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xuXG4gIC8qKlxuICAgKiBGZWF0dXJlIHN0b3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIHN0b3JlczogRW50aXR5U3RvcmVbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgc3RyYXRlZ3kgaXMgYWN0aXZlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuYWN0aXZlJC52YWx1ZTsgfVxuICByZWFkb25seSBhY3RpdmUkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3B0aW9uczogRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogQWN0aXZhdGUgdGhlIHN0cmF0ZWd5LiBJZiBpdCdzIGFscmVhZHkgYWN0aXZlLCBpdCdsbCBiZSBkZWFjdGl2YXRlZFxuICAgKiBhbmQgYWN0aXZhdGVkIGFnYWluLlxuICAgKi9cbiAgYWN0aXZhdGUoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmRvRGVhY3RpdmF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLmRvQWN0aXZhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSB0aGUgc3RyYXRlZ3kuIElmIGl0J3MgYWxyZWFkeSBhY3RpdmUsIGl0J2xsIGJlIGRlYWN0aXZhdGVkXG4gICAqIGFuZCBhY3RpdmF0ZWQgYWdhaW4uXG4gICAqL1xuICBkZWFjdGl2YXRlKCkge1xuICAgIHRoaXMuYWN0aXZlJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmRvRGVhY3RpdmF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyBzdHJhdGVneSB0byBhIHN0b3JlXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBiaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XG4gICAgaWYgKHRoaXMuc3RvcmVzLmluZGV4T2Yoc3RvcmUpIDwgMCkge1xuICAgICAgdGhpcy5zdG9yZXMucHVzaChzdG9yZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVuYmluZCB0aGlzIHN0cmF0ZWd5IGZyb20gc3RvcmVcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIHVuYmluZFN0b3JlKHN0b3JlOiBFbnRpdHlTdG9yZSkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdG9yZXMuaW5kZXhPZihzdG9yZSk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHRoaXMuc3RvcmVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERvIHRoZSBzdGF0YWVneSBhY3RpdmF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7fVxuXG4gIC8qKlxuICAgKiBEbyB0aGUgc3RyYXRlZ3kgZGVhY3RpdmF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHt9XG5cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3N0cmF0ZWdpZXMvc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QixZQUFzQixVQUFzQyxFQUFFO1FBQXhDLFlBQU8sR0FBUCxPQUFPLENBQWlDO1FBYjlEOzs7V0FHRztRQUNPLFdBQU0sR0FBa0IsRUFBRSxDQUFDO1FBTzVCLFlBQU8sR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQVREOzs7T0FHRztJQUNILElBQUksTUFBTSxLQUFjLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBT3BEOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQWtCO1FBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxLQUFrQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sVUFBVSxLQUFJLENBQUM7SUFFekI7OztPQUdHO0lBQ08sWUFBWSxLQUFJLENBQUM7Q0FFNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBFbnRpdHkgc3RvcmUgc3RyYXRlZ2llcy4gVGhleSBjYW4gZG8gcHJldHR5IG11Y2ggYW55dGhpbmcgZHVyaW5nIGEgc3RvcmUnc1xyXG4gKiBsaWZldGltZS4gRm9yIGV4YW1wbGUsIHRoZXkgbWF5IGFjdCBhcyB0cmlnZ2VycyB3aGVuIHNvbWV0aGluZyBoYXBwZW5zLlxyXG4gKiBTaGFyaW5nIGEgc3RyYXRlZ3kgaXMgYSBnb29kIGlkZWEgd2hlbiBtdWx0aXBsZSBzdHJhdGVnaWVzIHdvdWxkIGhhdmVcclxuICogb24gY2FuY2VsbGluZyBlZmZlY3Qgb24gZWFjaCBvdGhlci5cclxuICpcclxuICogQXQgY3JlYXRpb24sIHN0cmF0ZWd5IGlzIGluYWN0aXZlIGFuZCBuZWVkcyB0byBiZSBtYW51YWxseSBhY3RpdmF0ZWQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZlYXR1cmUgc3RvcmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc3RvcmVzOiBFbnRpdHlTdG9yZVtdID0gW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhpcyBzdHJhdGVneSBpcyBhY3RpdmVcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hY3RpdmUkLnZhbHVlOyB9XHJcbiAgcmVhZG9ubHkgYWN0aXZlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvcHRpb25zOiBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyA9IHt9KSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgdGhlIHN0cmF0ZWd5LiBJZiBpdCdzIGFscmVhZHkgYWN0aXZlLCBpdCdsbCBiZSBkZWFjdGl2YXRlZFxyXG4gICAqIGFuZCBhY3RpdmF0ZWQgYWdhaW4uXHJcbiAgICovXHJcbiAgYWN0aXZhdGUoKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5kb0RlYWN0aXZhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kb0FjdGl2YXRlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZSB0aGUgc3RyYXRlZ3kuIElmIGl0J3MgYWxyZWFkeSBhY3RpdmUsIGl0J2xsIGJlIGRlYWN0aXZhdGVkXHJcbiAgICogYW5kIGFjdGl2YXRlZCBhZ2Fpbi5cclxuICAgKi9cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5hY3RpdmUkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5kb0RlYWN0aXZhdGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmQgdGhpcyBzdHJhdGVneSB0byBhIHN0b3JlXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZXMuaW5kZXhPZihzdG9yZSkgPCAwKSB7XHJcbiAgICAgIHRoaXMuc3RvcmVzLnB1c2goc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBzdG9yZVxyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEVudGl0eVN0b3JlKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc3RvcmVzLmluZGV4T2Yoc3RvcmUpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5zdG9yZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERvIHRoZSBzdGF0YWVneSBhY3RpdmF0aW9uXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBEbyB0aGUgc3RyYXRlZ3kgZGVhY3RpdmF0aW9uXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHt9XHJcblxyXG59XHJcbiJdfQ==
@@ -313,4 +313,4 @@ export class EntityTransaction {
313
313
  }
314
314
  }
315
315
  }
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBNEI1QixZQUFZLFVBQW9DLEVBQUU7UUFGekMsbUJBQWMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHN0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFdBQVcsQ0FBd0MsRUFBRSxFQUFFO1lBQzNFLE1BQU0sRUFBRSxDQUFDLFNBQTBCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFyQkQ7O09BRUc7SUFDSCxJQUFJLE1BQU0sS0FBK0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFekU7O09BRUc7SUFDSCxJQUFJLEtBQUssS0FBYyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FB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a0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxTQUEwQjtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUzthQUM3QixNQUFNLENBQUMsQ0FBQyxLQUE2RCxFQUFFLEVBQUU7WUFDeEUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsS0FBNkQsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztTQUM3RjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIEVudGl0eVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgRW50aXR5T3BlcmF0aW9uLFxuICBFbnRpdHlPcGVyYXRpb25TdGF0ZVxufSBmcm9tICcuL2VudGl0eS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVudGl0eVN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBFbnRpdHlPcGVyYXRpb25UeXBlIH0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xuaW1wb3J0IHsgZ2V0RW50aXR5SWQgfSBmcm9tICcuL2VudGl0eS51dGlscyc7XG5cbmV4cG9ydCB0eXBlIEVudGl0eVRyYW5zYWN0aW9uQ29tbWl0SGFuZGxlciA9IChcbiAgdHJhbnNhY3Rpb246IEVudGl0eVRyYW5zYWN0aW9uLFxuICBvcGVyYXRpb25zOiBFbnRpdHlPcGVyYXRpb25bXVxuKSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbi8qKlxuICogVGhpcyBjbGFzcyBob2xkcyBhIHJlZmVyZW5jZSB0byB0aGUgaW5zZXJ0LCB1cGRhdGUgYW5kIGRlbGV0ZVxuICogb3BlcmF0aW9ucyBwZXJmb3JtZWQgb24gYSBzdG9yZS4gVGhpcyBpcyB1c2VmdWwgdG8gY29tbWl0XG4gKiB0aGVzZSBvcGVyYXRpb25zIGluIGEgc2luZ2xlIHBhc3Mgb3IgdG8gY2FuY2VsIHRoZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnRpdHlUcmFuc2FjdGlvbiB7XG5cbiAgLyoqXG4gICAqIFN0b3JlIGhvbGRpbmcgdGhlIG9wZXJhdGlvbnMgb24gYW5vdGhlciBzdG9yZVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uczogRW50aXR5U3RvcmU8RW50aXR5T3BlcmF0aW9uLCBFbnRpdHlPcGVyYXRpb25TdGF0ZT47XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBnZXQgYW4gZW50aXR5J3MgaWRcbiAgICovXG4gIHJlYWRvbmx5IGdldEtleTogKEUpID0+IEVudGl0eUtleTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGVyZSBhcmUgcGVuZGluZyBvcGVyYXRpb25zXG4gICAqL1xuICBnZXQgZW1wdHkkKCk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiB7IHJldHVybiB0aGlzLm9wZXJhdGlvbnMuZW1wdHkkOyB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlcmUgYXJlIHBlbmRpbmcgb3BlcmF0aW9uc1xuICAgKi9cbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbXB0eSQudmFsdWU7IH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGlzZSBzdG9yZSBpcyBpbiBjb21taXQgcGhhc2VcbiAgICovXG4gIGdldCBpbkNvbW1pdFBoYXNlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5pbkNvbW1pdFBoYXNlJC52YWx1ZTsgfVxuICByZWFkb25seSBpbkNvbW1pdFBoYXNlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogRW50aXR5VHJhbnNhY3Rpb25PcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmdldEtleSA9IG9wdGlvbnMuZ2V0S2V5ID8gb3B0aW9ucy5nZXRLZXkgOiBnZXRFbnRpdHlJZDtcbiAgICB0aGlzLm9wZXJhdGlvbnMgPSBuZXcgRW50aXR5U3RvcmU8RW50aXR5T3BlcmF0aW9uLCBFbnRpdHlPcGVyYXRpb25TdGF0ZT4oW10sIHtcbiAgICAgIGdldEtleTogKG9wZXJhdGlvbjogRW50aXR5T3BlcmF0aW9uKSA9PiBvcGVyYXRpb24ua2V5XG4gICAgfSk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMub3BlcmF0aW9ucy5kZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogSW5zZXJ0IGFuIGVudGl0eSBpbnRvIGEgc3RvcmUuIElmIG5vIHN0b3JlIGlzIHNwZWNpZmllZCwgYW4gaW5zZXJ0XG4gICAqIG9wZXJhdGlvbiBpcyBzdGlsbCBjcmVhdGVkIGJ1dCB0aGUgdHJhbnNhY3Rpb24gd29uJ3QgYWRkIHRoZSBuZXdcbiAgICogZW50aXR5IHRvIHRoZSBzdG9yZS5cbiAgICogQHBhcmFtIGN1cnJlbnQgVGhlIGVudGl0eSB0byBpbnNlcnRcbiAgICogQHBhcmFtIHN0b3JlIE9wdGlvbmFsOiBUaGUgc3RvcmUgdG8gaW5zZXJ0IHRoZSBlbnRpdHkgaW50b1xuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cbiAgICovXG4gIGluc2VydChjdXJyZW50OiBvYmplY3QsIHN0b3JlPzogRW50aXR5U3RvcmU8b2JqZWN0PiwgbWV0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9KSB7XG4gICAgY29uc3QgZXhpc3RpbmdPcGVyYXRpb24gPSB0aGlzLmdldE9wZXJhdGlvbkJ5RW50aXR5KGN1cnJlbnQpO1xuICAgIGlmIChleGlzdGluZ09wZXJhdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnJlbW92ZU9wZXJhdGlvbihleGlzdGluZ09wZXJhdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy5kb0luc2VydChjdXJyZW50LCBzdG9yZSwgbWV0YSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGVudGl0eSBpbiBhIHN0b3JlLiBJZiBubyBzdG9yZSBpcyBzcGVjaWZpZWQsIGFuIHVwZGF0ZVxuICAgKiBvcGVyYXRpb24gaXMgc3RpbGwgY3JlYXRlZCBidXQgdGhlIHRyYW5zYWN0aW9uIHdvbid0IHVwZGF0ZSB0aGVcbiAgICogZW50aXR5IGludG8gdGhlIHN0b3JlLlxuICAgKiBAcGFyYW0gcHJldmlvdXMgVGhlIGVudGl0eSBiZWZvcmUgdXBkYXRlXG4gICAqIEBwYXJhbSBjdXJyZW50IFRoZSBlbnRpdHkgYWZ0ZXIgdXBkYXRlXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIHVwZGF0ZSB0aGUgZW50aXR5IGludG9cbiAgICogQHBhcmFtIG1ldGEgT3B0aW9uYWw6IEFueSBtZXRhZGF0YSBvbiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICB1cGRhdGUocHJldmlvdXM6IG9iamVjdCwgY3VycmVudDogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xuICAgIGNvbnN0IGV4aXN0aW5nT3BlcmF0aW9uID0gdGhpcy5nZXRPcGVyYXRpb25CeUVudGl0eShjdXJyZW50KTtcbiAgICBpZiAoZXhpc3RpbmdPcGVyYXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5yZW1vdmVPcGVyYXRpb24oZXhpc3RpbmdPcGVyYXRpb24pO1xuICAgICAgaWYgKGV4aXN0aW5nT3BlcmF0aW9uLnR5cGUgPT09IEVudGl0eU9wZXJhdGlvblR5cGUuSW5zZXJ0KSB7XG4gICAgICAgIHRoaXMuZG9JbnNlcnQoY3VycmVudCwgc3RvcmUsIG1ldGEpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKGV4aXN0aW5nT3BlcmF0aW9uLnR5cGUgPT09IEVudGl0eU9wZXJhdGlvblR5cGUuVXBkYXRlKSB7XG4gICAgICAgIHByZXZpb3VzID0gZXhpc3RpbmdPcGVyYXRpb24ucHJldmlvdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kb1VwZGF0ZShwcmV2aW91cywgY3VycmVudCwgc3RvcmUsIG1ldGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbiBlbnRpdHkgZnJvbSBhIHN0b3JlLiBJZiBubyBzdG9yZSBpcyBzcGVjaWZpZWQsIGEgZGVsZXRlXG4gICAqIG9wZXJhdGlvbiBpcyBzdGlsbCBjcmVhdGVkIGJ1dCB0aGUgdHJhbnNhY3Rpb24gd29uJ3QgcmVtb3ZlIHRoZVxuICAgKiBlbnRpdHkgZnJvbSB0aGUgc3RvcmUuXG4gICAqIEBwYXJhbSBwcmV2aW91cyBUaGUgZW50aXR5IGJlZm9yZSBkZWxldGVcbiAgICogQHBhcmFtIHN0b3JlIE9wdGlvbmFsOiBUaGUgc3RvcmUgdG8gZGVsZXRlIHRoZSBlbnRpdHkgZnJvbVxuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cbiAgICovXG4gIGRlbGV0ZShwcmV2aW91czogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xuICAgIGNvbnN0IGV4aXN0aW5nT3BlcmF0aW9uID0gdGhpcy5nZXRPcGVyYXRpb25CeUVudGl0eShwcmV2aW91cyk7XG4gICAgaWYgKGV4aXN0aW5nT3BlcmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlT3BlcmF0aW9uKGV4aXN0aW5nT3BlcmF0aW9uKTtcbiAgICAgIGlmIChleGlzdGluZ09wZXJhdGlvbi50eXBlID09PSBFbnRpdHlPcGVyYXRpb25UeXBlLkluc2VydCkge1xuICAgICAgICBpZiAoc3RvcmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHN0b3JlLmRlbGV0ZShwcmV2aW91cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZG9EZWxldGUocHJldmlvdXMsIHN0b3JlLCBtZXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21taXQgb3BlcmF0aW9ucyB0aGUgdHJhbnNhY3Rpb24uIFRoaXMgbWV0aG9kIGRvZXNuJ3QgZG8gbXVjaFxuICAgKiBpbiBpdHNlbGYuIFRoZSBoYW5kbGVyIGl0IHJlY2VpdmVzIGRvZXMgdGhlIGhhcmQgd29yayBhbmQgaXQnc1xuICAgKiBpbXBsZW1lbnRhdGlvbiBpcyBsZWZ0IHRvIHRoZSBjYWxsZXIuIFRoaXMgbWV0aG9kIHNpbXBseSB3cmFwc1xuICAgKiB0aGUgaGFuZGxlciBpbnRvIGFuIGVycm9yIGNhdGNoaW5nIG1lY2hhbmlzbSB0byB1cGRhdGVcbiAgICogdGhlIHRyYW5zYWN0aW9uIGFmdGVyd2FyZC4gVGhlIGNhbGxlciBuZWVkcyB0byBzdWJzY3JpYmUgdG8gdGhpc1xuICAgKiBtZXRob2QncyBvdXRwdXQgKG9ic2VydmFibGUpIGZvciB0aGUgY29tbWl0IHRvIGJlIHBlcmZvcm1lZC5cbiAgICogQHBhcmFtIG9wZXJhdGlvbnMgT3BlcmF0aW9ucyB0byBjb21taXRcbiAgICogQHBhcmFtIGhhbmRsZXIgRnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSBjb21taXQgb3BlcmF0aW9uXG4gICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyIG91dHB1dCAob2JzZXJ2YWJsZSlcbiAgICovXG4gIGNvbW1pdChvcGVyYXRpb25zOiBFbnRpdHlPcGVyYXRpb25bXSwgaGFuZGxlcjogRW50aXR5VHJhbnNhY3Rpb25Db21taXRIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICB0aGlzLmluQ29tbWl0UGhhc2UkLm5leHQodHJ1ZSk7XG5cbiAgICByZXR1cm4gaGFuZGxlcih0aGlzLCBvcGVyYXRpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobmV3IEVycm9yKCkpKSxcbiAgICAgICAgdGFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgdGhpcy5vbkNvbW1pdEVycm9yKG9wZXJhdGlvbnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ29tbWl0U3VjY2VzcyhvcGVyYXRpb25zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbW1pdCBhbGwgdGhlIG9wZXJhdGlvbnMgb2YgdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0gaGFuZGxlciBGdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlIGNvbW1pdCBvcGVyYXRpb25cbiAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgb3V0cHV0IChvYnNlcnZhYmxlKVxuICAgKi9cbiAgY29tbWl0QWxsKGhhbmRsZXI6IEVudGl0eVRyYW5zYWN0aW9uQ29tbWl0SGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9ucyA9IHRoaXMuZ2V0T3BlcmF0aW9uc0luQ29tbWl0KCk7XG4gICAgcmV0dXJuIHRoaXMuY29tbWl0KG9wZXJhdGlvbnMsIGhhbmRsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGxiYWNrIHRoaXMgdHJhbnNhY3Rpb25cbiAgICovXG4gIHJvbGxiYWNrKCkge1xuICAgIHRoaXMucm9sbGJhY2tPcGVyYXRpb25zKHRoaXMub3BlcmF0aW9ucy5hbGwoKSk7XG4gIH1cblxuICAvKipcbiAgICogUm9sbGJhY2sgc3BlY2lmaWMgb3BlcmF0aW9uc1xuICAgKi9cbiAgcm9sbGJhY2tPcGVyYXRpb25zKG9wZXJhdGlvbnM6IEVudGl0eU9wZXJhdGlvbltdKSB7XG4gICAgdGhpcy5jaGVja0luQ29tbWl0UGhhc2UoKTtcblxuICAgIGNvbnN0IG9wZXJhdGlvbnNGYWN0b3J5ID0gKCkgPT4gbmV3IE1hcChbXG4gICAgICBbRW50aXR5T3BlcmF0aW9uVHlwZS5EZWxldGUsIFtdXSxcbiAgICAgIFtFbnRpdHlPcGVyYXRpb25UeXBlLlVwZGF0ZSwgW11dLFxuICAgICAgW0VudGl0eU9wZXJhdGlvblR5cGUuSW5zZXJ0LCBbXV1cbiAgICBdKTtcbiAgICBjb25zdCBzdG9yZXNPcGVyYXRpb25zID0gbmV3IE1hcCgpO1xuXG4gICAgLy8gR3JvdXAgb3BlcmF0aW9ucyBieSBzdG9yZSBhbmQgYnkgb3BlcmF0aW9uIHR5cGUuXG4gICAgLy8gR3JvdXBpbmcgb3BlcmF0aW9ucyBhbGxvd3MgdXMgdG8gcmV2ZXJ0IHRoZW0gaW4gYmFjdGgsIHRodXMsIHRyaWdnZXJpbmdcbiAgICAvLyBvYnNlcnZhYmxlcyBvbmx5IG9uZSBwZXIgb3BlcmF0aW9uIHR5cGUuXG4gICAgZm9yIChjb25zdCBvcGVyYXRpb24gb2Ygb3BlcmF0aW9ucykge1xuICAgICAgY29uc3Qgc3RvcmUgPSBvcGVyYXRpb24uc3RvcmU7XG4gICAgICBpZiAob3BlcmF0aW9uLnN0b3JlID09PSB1bmRlZmluZWQpIHsgY29udGludWU7IH1cblxuICAgICAgbGV0IHN0b3JlT3BlcmF0aW9ucyA9IHN0b3Jlc09wZXJhdGlvbnMuZ2V0KHN0b3JlKTtcbiAgICAgIGlmIChzdG9yZU9wZXJhdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzdG9yZU9wZXJhdGlvbnMgPSBvcGVyYXRpb25zRmFjdG9yeSgpO1xuICAgICAgICBzdG9yZXNPcGVyYXRpb25zLnNldChzdG9yZSwgc3RvcmVPcGVyYXRpb25zKTtcbiAgICAgIH1cbiAgICAgIHN0b3JlT3BlcmF0aW9ucy5nZXQob3BlcmF0aW9uLnR5cGUpLnB1c2gob3BlcmF0aW9uKTtcbiAgICB9XG5cbiAgICBBcnJheS5mcm9tKHN0b3Jlc09wZXJhdGlvbnMua2V5cygpKS5mb3JFYWNoKChzdG9yZTogRW50aXR5U3RvcmU8b2JqZWN0PikgPT4ge1xuICAgICAgY29uc3Qgc3RvcmVPcGVyYXRpb25zID0gc3RvcmVzT3BlcmF0aW9ucy5nZXQoc3RvcmUpO1xuXG4gICAgICBjb25zdCBkZWxldGVzID0gc3RvcmVPcGVyYXRpb25zLmdldChFbnRpdHlPcGVyYXRpb25UeXBlLkRlbGV0ZSk7XG4gICAgICBzdG9yZS5pbnNlcnRNYW55KGRlbGV0ZXMubWFwKChfZGVsZXRlOiBFbnRpdHlPcGVyYXRpb24pID0+IF9kZWxldGUucHJldmlvdXMpKTtcblxuICAgICAgY29uc3QgdXBkYXRlcyA9IHN0b3JlT3BlcmF0aW9ucy5nZXQoRW50aXR5T3BlcmF0aW9uVHlwZS5VcGRhdGUpO1xuICAgICAgc3RvcmUudXBkYXRlTWFueSh1cGRhdGVzLm1hcCgoX3VwZGF0ZTogRW50aXR5T3BlcmF0aW9uKSA9PiBfdXBkYXRlLnByZXZpb3VzKSk7XG5cbiAgICAgIGNvbnN0IGluc2VydHMgPSBzdG9yZU9wZXJhdGlvbnMuZ2V0KEVudGl0eU9wZXJhdGlvblR5cGUuSW5zZXJ0KTtcbiAgICAgIHN0b3JlLmRlbGV0ZU1hbnkoaW5zZXJ0cy5tYXAoKF9pbnNlcnQ6IEVudGl0eU9wZXJhdGlvbikgPT4gX2luc2VydC5jdXJyZW50KSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9wZXJhdGlvbnMuZGVsZXRlTWFueShvcGVyYXRpb25zKTtcbiAgICB0aGlzLmluQ29tbWl0UGhhc2UkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoaXMgdHJhbnNhY3Rpb25cbiAgICogQHRvZG8gUmFpc2UgZXZlbnQgYW5kIHN5bmNocm9uaXplIHN0b3Jlcz9cbiAgICovXG4gIGNsZWFyKCkge1xuICAgIHRoaXMub3BlcmF0aW9ucy5jbGVhcigpO1xuICAgIHRoaXMuaW5Db21taXRQaGFzZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFueSBleGlzdGluZyBvcGVyYXRpb24gb24gYW4gZW50aXR5XG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XG4gICAqIEByZXR1cm5zIEVpdGhlciBhbiBpbnNlcnQsIHVwZGF0ZSBvciBkZWxldGUgb3BlcmF0aW9uXG4gICAqL1xuICBnZXRPcGVyYXRpb25CeUVudGl0eShlbnRpdHk6IG9iamVjdCk6IEVudGl0eU9wZXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9ucy5nZXQodGhpcy5nZXRLZXkoZW50aXR5KSk7XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYW5vdGhlciB0cmFuc2FjdGlvbiBpbiB0aGlzIG9uZVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gQW5vdGhlciB0cmFuc2FjdGlvblxuICAgKi9cbiAgbWVyZ2VUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogRW50aXR5VHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLmNoZWNrSW5Db21taXRQaGFzZSgpO1xuXG4gICAgY29uc3Qgb3BlcmF0aW9ucyA9IHRyYW5zYWN0aW9uLm9wZXJhdGlvbnMuYWxsKCk7XG4gICAgb3BlcmF0aW9ucy5mb3JFYWNoKChvcGVyYXRpb246IEVudGl0eU9wZXJhdGlvbikgPT4ge1xuICAgICAgdGhpcy5hZGRPcGVyYXRpb24ob3BlcmF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gaW5zZXJ0IG9wZXJhdGlvbiBhbmQgYWRkIGFuIGVudGl0eSB0byB0aGUgc3RvcmVcbiAgICogQHBhcmFtIGN1cnJlbnQgVGhlIGVudGl0eSB0byBpbnNlcnRcbiAgICogQHBhcmFtIHN0b3JlIE9wdGlvbmFsOiBUaGUgc3RvcmUgdG8gaW5zZXJ0IHRoZSBlbnRpdHkgaW50b1xuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgZG9JbnNlcnQoY3VycmVudDogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xuICAgIHRoaXMuYWRkT3BlcmF0aW9uKHtcbiAgICAgIGtleTogdGhpcy5nZXRLZXkoY3VycmVudCksXG4gICAgICB0eXBlOiBFbnRpdHlPcGVyYXRpb25UeXBlLkluc2VydCxcbiAgICAgIHByZXZpb3VzOiB1bmRlZmluZWQsXG4gICAgICBjdXJyZW50LFxuICAgICAgc3RvcmUsXG4gICAgICBtZXRhXG4gICAgfSk7XG5cbiAgICBpZiAoc3RvcmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RvcmUuaW5zZXJ0KGN1cnJlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gdXBkYXRlIG9wZXJhdGlvbiBhbmQgdXBkYXRlIGFuIGVudGl0eSBpbnRvIHRoZSBzdG9yZVxuICAgKiBAcGFyYW0gcHJldmlvdXMgVGhlIGVudGl0eSBiZWZvcmUgdXBkYXRlXG4gICAqIEBwYXJhbSBjdXJyZW50IFRoZSBlbnRpdHkgYWZ0ZXIgdXBkYXRlXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIHVwZGF0ZSB0aGUgZW50aXR5IGludG9cbiAgICogQHBhcmFtIG1ldGEgT3B0aW9uYWw6IEFueSBtZXRhZGF0YSBvbiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGRvVXBkYXRlKHByZXZpb3VzOiBvYmplY3QsIGN1cnJlbnQ6IG9iamVjdCwgc3RvcmU/OiBFbnRpdHlTdG9yZTxvYmplY3Q+LCBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcbiAgICB0aGlzLmFkZE9wZXJhdGlvbih7XG4gICAgICBrZXk6IHRoaXMuZ2V0S2V5KGN1cnJlbnQpLFxuICAgICAgdHlwZTogRW50aXR5T3BlcmF0aW9uVHlwZS5VcGRhdGUsXG4gICAgICBwcmV2aW91cyxcbiAgICAgIGN1cnJlbnQsXG4gICAgICBzdG9yZSxcbiAgICAgIG1ldGFcbiAgICB9KTtcblxuICAgIGlmIChzdG9yZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdG9yZS51cGRhdGUoY3VycmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGRlbGV0ZSBvcGVyYXRpb24gYW5kIGRlbGV0ZSBhbiBlbnRpdHkgZnJvbSB0aGUgc3RvcmVcbiAgICogQHBhcmFtIHByZXZpb3VzIFRoZSBlbnRpdHkgYmVmb3JlIGRlbGV0ZVxuICAgKiBAcGFyYW0gc3RvcmUgT3B0aW9uYWw6IFRoZSBzdG9yZSB0byBkZWxldGUgdGhlIGVudGl0eSBmcm9tXG4gICAqIEBwYXJhbSBtZXRhIE9wdGlvbmFsOiBBbnkgbWV0YWRhdGEgb24gdGhlIG9wZXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBkb0RlbGV0ZShwcmV2aW91czogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xuICAgIHRoaXMuYWRkT3BlcmF0aW9uKHtcbiAgICAgIGtleTogdGhpcy5nZXRLZXkocHJldmlvdXMpLFxuICAgICAgdHlwZTogRW50aXR5T3BlcmF0aW9uVHlwZS5EZWxldGUsXG4gICAgICBwcmV2aW91cyxcbiAgICAgIGN1cnJlbnQ6IHVuZGVmaW5lZCxcbiAgICAgIHN0b3JlLFxuICAgICAgbWV0YVxuICAgIH0pO1xuXG4gICAgaWYgKHN0b3JlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0b3JlLmRlbGV0ZShwcmV2aW91cyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBjb21taXR0ZWQgb3BlcmF0aW9ucyBmcm9tIHN0b3JlXG4gICAqIEBwYXJhbSBvcGVyYXRpb25zIENvbW1pdGVkIG9wZXJhdGlvbnNcbiAgICogQHRvZG8gUmFpc2UgZXZlbnQgYW5kIHN5bmNocm9uaXplIHN0b3Jlcz9cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZU9wZXJhdGlvbnMob3BlcmF0aW9uczogRW50aXR5T3BlcmF0aW9uW10pIHtcbiAgICB0aGlzLm9wZXJhdGlvbnMuZGVsZXRlTWFueShvcGVyYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21taXQgc3VjY2VzcywgcmVzb2x2ZSBjb21taXRlZCBvcGVyYXRpb25zIGFuZCBleGl0IGNvbW1pdCBwaGFzZVxuICAgKiBAcGFyYW0gb3BlcmF0aW9ucyBDb21taXRlZCBvcGVyYXRpb25zXG4gICAqL1xuICBwcml2YXRlIG9uQ29tbWl0U3VjY2VzcyhvcGVyYXRpb25zOiBFbnRpdHlPcGVyYXRpb25bXSkge1xuICAgIHRoaXMucmVzb2x2ZU9wZXJhdGlvbnMob3BlcmF0aW9ucyk7XG4gICAgdGhpcy5pbkNvbW1pdFBoYXNlJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBjb21taXQgZXJyb3IsIGFib3J0IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBvcGVyYXRpb25zIENvbW1pdGVkIG9wZXJhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgb25Db21taXRFcnJvcihvcGVyYXRpb25zOiBFbnRpdHlPcGVyYXRpb25bXSkge1xuICAgIHRoaXMuaW5Db21taXRQaGFzZSQubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIG9wZXJhdGlvbiB0byB0aGUgb3BlcmF0aW9ucyBzdG9yZVxuICAgKiBAcGFyYW0gb3BlcmF0aW9uIE9wZXJhdGlvbiB0byBhZGRcbiAgICovXG4gIHByaXZhdGUgYWRkT3BlcmF0aW9uKG9wZXJhdGlvbjogRW50aXR5T3BlcmF0aW9uKSB7XG4gICAgdGhpcy5jaGVja0luQ29tbWl0UGhhc2UoKTtcblxuICAgIHRoaXMub3BlcmF0aW9ucy5pbnNlcnQob3BlcmF0aW9uKTtcbiAgICB0aGlzLm9wZXJhdGlvbnMuc3RhdGUudXBkYXRlKG9wZXJhdGlvbiwge2FkZGVkOiB0cnVlfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFuIG9wZXJhdGlvbiBmcm9tIHRoZSBvcGVyYXRpb25zIHN0b3JlXG4gICAqIEBwYXJhbSBvcGVyYXRpb24gT3BlcmF0aW9uIHRvIHJlbW92ZVxuICAgKi9cbiAgcHJpdmF0ZSByZW1vdmVPcGVyYXRpb24ob3BlcmF0aW9uOiBFbnRpdHlPcGVyYXRpb24pIHtcbiAgICB0aGlzLmNoZWNrSW5Db21taXRQaGFzZSgpO1xuXG4gICAgdGhpcy5vcGVyYXRpb25zLmRlbGV0ZShvcGVyYXRpb24pO1xuICAgIHRoaXMub3BlcmF0aW9ucy5zdGF0ZS51cGRhdGUob3BlcmF0aW9uLCB7YWRkZWQ6IGZhbHNlfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB0aGUgb3BlcmF0aW9ucyB0byBjb21taXRcbiAgICogQHJldHVybnMgT3BlcmF0aW9ucyB0byBjb21taXRcbiAgICovXG4gIHByaXZhdGUgZ2V0T3BlcmF0aW9uc0luQ29tbWl0KCk6IEVudGl0eU9wZXJhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25zLnN0YXRlVmlld1xuICAgICAgLm1hbnlCeSgodmFsdWU6IHtlbnRpdHk6IEVudGl0eU9wZXJhdGlvbiwgc3RhdGU6IEVudGl0eU9wZXJhdGlvblN0YXRlfSkgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUuc3RhdGUuYWRkZWQgPT09IHRydWU7XG4gICAgICB9KVxuICAgICAgLm1hcCgodmFsdWU6IHtlbnRpdHk6IEVudGl0eU9wZXJhdGlvbiwgc3RhdGU6IEVudGl0eU9wZXJhdGlvblN0YXRlfSkgPT4gdmFsdWUuZW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0aGUgdHJhbnNhY3Rpb24gaXMgaW4gdGhlIGNvbW1pdCBwaGFzZSBhbmQgdGhyb3cgYW4gZXJyb3IgaWYgaXQgaXNcbiAgICovXG4gIHByaXZhdGUgY2hlY2tJbkNvbW1pdFBoYXNlKCkge1xuICAgIGlmICh0aGlzLmluQ29tbWl0UGhhc2UgPT09IHRydWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyB0cmFuc2FjdGlvbiBpcyBpbiB0aGUgY29tbWl0IHBoYXNlLiBDYW5ub3QgY29tcGxldGUgdGhpcyBvcGVyYXRpb24uJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvc2hhcmVkL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUXZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBNEI1QixZQUFZLFVBQW9DLEVBQUU7UUFGekMsbUJBQWMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHN0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFdBQVcsQ0FBd0MsRUFBRSxFQUFFO1lBQzNFLE1BQU0sRUFBRSxDQUFDLFNBQTBCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFyQkQ7O09BRUc7SUFDSCxJQUFJLE1BQU0sS0FBK0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFekU7O09BRUc7SUFDSCxJQUFJLEtBQUssS0FBYyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FB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a0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxTQUEwQjtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUzthQUM3QixNQUFNLENBQUMsQ0FBQyxLQUE2RCxFQUFFLEVBQUU7WUFDeEUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDcEMsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsS0FBNkQsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQztTQUM3RjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBFbnRpdHlLZXksXHJcbiAgRW50aXR5VHJhbnNhY3Rpb25PcHRpb25zLFxyXG4gIEVudGl0eU9wZXJhdGlvbixcclxuICBFbnRpdHlPcGVyYXRpb25TdGF0ZVxyXG59IGZyb20gJy4vZW50aXR5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xyXG5pbXBvcnQgeyBFbnRpdHlPcGVyYXRpb25UeXBlIH0gZnJvbSAnLi9lbnRpdHkuZW51bXMnO1xyXG5pbXBvcnQgeyBnZXRFbnRpdHlJZCB9IGZyb20gJy4vZW50aXR5LnV0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIEVudGl0eVRyYW5zYWN0aW9uQ29tbWl0SGFuZGxlciA9IChcclxuICB0cmFuc2FjdGlvbjogRW50aXR5VHJhbnNhY3Rpb24sXHJcbiAgb3BlcmF0aW9uczogRW50aXR5T3BlcmF0aW9uW11cclxuKSA9PiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4vKipcclxuICogVGhpcyBjbGFzcyBob2xkcyBhIHJlZmVyZW5jZSB0byB0aGUgaW5zZXJ0LCB1cGRhdGUgYW5kIGRlbGV0ZVxyXG4gKiBvcGVyYXRpb25zIHBlcmZvcm1lZCBvbiBhIHN0b3JlLiBUaGlzIGlzIHVzZWZ1bCB0byBjb21taXRcclxuICogdGhlc2Ugb3BlcmF0aW9ucyBpbiBhIHNpbmdsZSBwYXNzIG9yIHRvIGNhbmNlbCB0aGVtLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEVudGl0eVRyYW5zYWN0aW9uIHtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgaG9sZGluZyB0aGUgb3BlcmF0aW9ucyBvbiBhbm90aGVyIHN0b3JlXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgb3BlcmF0aW9uczogRW50aXR5U3RvcmU8RW50aXR5T3BlcmF0aW9uLCBFbnRpdHlPcGVyYXRpb25TdGF0ZT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCB0byBnZXQgYW4gZW50aXR5J3MgaWRcclxuICAgKi9cclxuICByZWFkb25seSBnZXRLZXk6IChFKSA9PiBFbnRpdHlLZXk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlcmUgYXJlIHBlbmRpbmcgb3BlcmF0aW9uc1xyXG4gICAqL1xyXG4gIGdldCBlbXB0eSQoKTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+IHsgcmV0dXJuIHRoaXMub3BlcmF0aW9ucy5lbXB0eSQ7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGVyZSBhcmUgcGVuZGluZyBvcGVyYXRpb25zXHJcbiAgICovXHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5lbXB0eSQudmFsdWU7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGlzZSBzdG9yZSBpcyBpbiBjb21taXQgcGhhc2VcclxuICAgKi9cclxuICBnZXQgaW5Db21taXRQaGFzZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuaW5Db21taXRQaGFzZSQudmFsdWU7IH1cclxuICByZWFkb25seSBpbkNvbW1pdFBoYXNlJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEVudGl0eVRyYW5zYWN0aW9uT3B0aW9ucyA9IHt9KSB7XHJcbiAgICB0aGlzLmdldEtleSA9IG9wdGlvbnMuZ2V0S2V5ID8gb3B0aW9ucy5nZXRLZXkgOiBnZXRFbnRpdHlJZDtcclxuICAgIHRoaXMub3BlcmF0aW9ucyA9IG5ldyBFbnRpdHlTdG9yZTxFbnRpdHlPcGVyYXRpb24sIEVudGl0eU9wZXJhdGlvblN0YXRlPihbXSwge1xyXG4gICAgICBnZXRLZXk6IChvcGVyYXRpb246IEVudGl0eU9wZXJhdGlvbikgPT4gb3BlcmF0aW9uLmtleVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95KCkge1xyXG4gICAgdGhpcy5vcGVyYXRpb25zLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBhbiBlbnRpdHkgaW50byBhIHN0b3JlLiBJZiBubyBzdG9yZSBpcyBzcGVjaWZpZWQsIGFuIGluc2VydFxyXG4gICAqIG9wZXJhdGlvbiBpcyBzdGlsbCBjcmVhdGVkIGJ1dCB0aGUgdHJhbnNhY3Rpb24gd29uJ3QgYWRkIHRoZSBuZXdcclxuICAgKiBlbnRpdHkgdG8gdGhlIHN0b3JlLlxyXG4gICAqIEBwYXJhbSBjdXJyZW50IFRoZSBlbnRpdHkgdG8gaW5zZXJ0XHJcbiAgICogQHBhcmFtIHN0b3JlIE9wdGlvbmFsOiBUaGUgc3RvcmUgdG8gaW5zZXJ0IHRoZSBlbnRpdHkgaW50b1xyXG4gICAqIEBwYXJhbSBtZXRhIE9wdGlvbmFsOiBBbnkgbWV0YWRhdGEgb24gdGhlIG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIGluc2VydChjdXJyZW50OiBvYmplY3QsIHN0b3JlPzogRW50aXR5U3RvcmU8b2JqZWN0PiwgbWV0YT86IHtba2V5OiBzdHJpbmddOiBhbnl9KSB7XHJcbiAgICBjb25zdCBleGlzdGluZ09wZXJhdGlvbiA9IHRoaXMuZ2V0T3BlcmF0aW9uQnlFbnRpdHkoY3VycmVudCk7XHJcbiAgICBpZiAoZXhpc3RpbmdPcGVyYXRpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbW92ZU9wZXJhdGlvbihleGlzdGluZ09wZXJhdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb0luc2VydChjdXJyZW50LCBzdG9yZSwgbWV0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYW4gZW50aXR5IGluIGEgc3RvcmUuIElmIG5vIHN0b3JlIGlzIHNwZWNpZmllZCwgYW4gdXBkYXRlXHJcbiAgICogb3BlcmF0aW9uIGlzIHN0aWxsIGNyZWF0ZWQgYnV0IHRoZSB0cmFuc2FjdGlvbiB3b24ndCB1cGRhdGUgdGhlXHJcbiAgICogZW50aXR5IGludG8gdGhlIHN0b3JlLlxyXG4gICAqIEBwYXJhbSBwcmV2aW91cyBUaGUgZW50aXR5IGJlZm9yZSB1cGRhdGVcclxuICAgKiBAcGFyYW0gY3VycmVudCBUaGUgZW50aXR5IGFmdGVyIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIHVwZGF0ZSB0aGUgZW50aXR5IGludG9cclxuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cclxuICAgKi9cclxuICB1cGRhdGUocHJldmlvdXM6IG9iamVjdCwgY3VycmVudDogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xyXG4gICAgY29uc3QgZXhpc3RpbmdPcGVyYXRpb24gPSB0aGlzLmdldE9wZXJhdGlvbkJ5RW50aXR5KGN1cnJlbnQpO1xyXG4gICAgaWYgKGV4aXN0aW5nT3BlcmF0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5yZW1vdmVPcGVyYXRpb24oZXhpc3RpbmdPcGVyYXRpb24pO1xyXG4gICAgICBpZiAoZXhpc3RpbmdPcGVyYXRpb24udHlwZSA9PT0gRW50aXR5T3BlcmF0aW9uVHlwZS5JbnNlcnQpIHtcclxuICAgICAgICB0aGlzLmRvSW5zZXJ0KGN1cnJlbnQsIHN0b3JlLCBtZXRhKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoZXhpc3RpbmdPcGVyYXRpb24udHlwZSA9PT0gRW50aXR5T3BlcmF0aW9uVHlwZS5VcGRhdGUpIHtcclxuICAgICAgICBwcmV2aW91cyA9IGV4aXN0aW5nT3BlcmF0aW9uLnByZXZpb3VzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb1VwZGF0ZShwcmV2aW91cywgY3VycmVudCwgc3RvcmUsIG1ldGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIGFuIGVudGl0eSBmcm9tIGEgc3RvcmUuIElmIG5vIHN0b3JlIGlzIHNwZWNpZmllZCwgYSBkZWxldGVcclxuICAgKiBvcGVyYXRpb24gaXMgc3RpbGwgY3JlYXRlZCBidXQgdGhlIHRyYW5zYWN0aW9uIHdvbid0IHJlbW92ZSB0aGVcclxuICAgKiBlbnRpdHkgZnJvbSB0aGUgc3RvcmUuXHJcbiAgICogQHBhcmFtIHByZXZpb3VzIFRoZSBlbnRpdHkgYmVmb3JlIGRlbGV0ZVxyXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIGRlbGV0ZSB0aGUgZW50aXR5IGZyb21cclxuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBkZWxldGUocHJldmlvdXM6IG9iamVjdCwgc3RvcmU/OiBFbnRpdHlTdG9yZTxvYmplY3Q+LCBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3BlcmF0aW9uID0gdGhpcy5nZXRPcGVyYXRpb25CeUVudGl0eShwcmV2aW91cyk7XHJcbiAgICBpZiAoZXhpc3RpbmdPcGVyYXRpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnJlbW92ZU9wZXJhdGlvbihleGlzdGluZ09wZXJhdGlvbik7XHJcbiAgICAgIGlmIChleGlzdGluZ09wZXJhdGlvbi50eXBlID09PSBFbnRpdHlPcGVyYXRpb25UeXBlLkluc2VydCkge1xyXG4gICAgICAgIGlmIChzdG9yZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBzdG9yZS5kZWxldGUocHJldmlvdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRvRGVsZXRlKHByZXZpb3VzLCBzdG9yZSwgbWV0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb21taXQgb3BlcmF0aW9ucyB0aGUgdHJhbnNhY3Rpb24uIFRoaXMgbWV0aG9kIGRvZXNuJ3QgZG8gbXVjaFxyXG4gICAqIGluIGl0c2VsZi4gVGhlIGhhbmRsZXIgaXQgcmVjZWl2ZXMgZG9lcyB0aGUgaGFyZCB3b3JrIGFuZCBpdCdzXHJcbiAgICogaW1wbGVtZW50YXRpb24gaXMgbGVmdCB0byB0aGUgY2FsbGVyLiBUaGlzIG1ldGhvZCBzaW1wbHkgd3JhcHNcclxuICAgKiB0aGUgaGFuZGxlciBpbnRvIGFuIGVycm9yIGNhdGNoaW5nIG1lY2hhbmlzbSB0byB1cGRhdGVcclxuICAgKiB0aGUgdHJhbnNhY3Rpb24gYWZ0ZXJ3YXJkLiBUaGUgY2FsbGVyIG5lZWRzIHRvIHN1YnNjcmliZSB0byB0aGlzXHJcbiAgICogbWV0aG9kJ3Mgb3V0cHV0IChvYnNlcnZhYmxlKSBmb3IgdGhlIGNvbW1pdCB0byBiZSBwZXJmb3JtZWQuXHJcbiAgICogQHBhcmFtIG9wZXJhdGlvbnMgT3BlcmF0aW9ucyB0byBjb21taXRcclxuICAgKiBAcGFyYW0gaGFuZGxlciBGdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlIGNvbW1pdCBvcGVyYXRpb25cclxuICAgKiBAcmV0dXJucyBUaGUgaGFuZGxlciBvdXRwdXQgKG9ic2VydmFibGUpXHJcbiAgICovXHJcbiAgY29tbWl0KG9wZXJhdGlvbnM6IEVudGl0eU9wZXJhdGlvbltdLCBoYW5kbGVyOiBFbnRpdHlUcmFuc2FjdGlvbkNvbW1pdEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy5pbkNvbW1pdFBoYXNlJC5uZXh0KHRydWUpO1xyXG5cclxuICAgIHJldHVybiBoYW5kbGVyKHRoaXMsIG9wZXJhdGlvbnMpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobmV3IEVycm9yKCkpKSxcclxuICAgICAgICB0YXAoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNvbW1pdEVycm9yKG9wZXJhdGlvbnMpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vbkNvbW1pdFN1Y2Nlc3Mob3BlcmF0aW9ucyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbW1pdCBhbGwgdGhlIG9wZXJhdGlvbnMgb2YgdGhlIHRyYW5zYWN0aW9uLlxyXG4gICAqIEBwYXJhbSBoYW5kbGVyIEZ1bmN0aW9uIHRoYXQgaGFuZGxlcyB0aGUgY29tbWl0IG9wZXJhdGlvblxyXG4gICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyIG91dHB1dCAob2JzZXJ2YWJsZSlcclxuICAgKi9cclxuICBjb21taXRBbGwoaGFuZGxlcjogRW50aXR5VHJhbnNhY3Rpb25Db21taXRIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB0aGlzLmdldE9wZXJhdGlvbnNJbkNvbW1pdCgpO1xyXG4gICAgcmV0dXJuIHRoaXMuY29tbWl0KG9wZXJhdGlvbnMsIGhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUm9sbGJhY2sgdGhpcyB0cmFuc2FjdGlvblxyXG4gICAqL1xyXG4gIHJvbGxiYWNrKCkge1xyXG4gICAgdGhpcy5yb2xsYmFja09wZXJhdGlvbnModGhpcy5vcGVyYXRpb25zLmFsbCgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJvbGxiYWNrIHNwZWNpZmljIG9wZXJhdGlvbnNcclxuICAgKi9cclxuICByb2xsYmFja09wZXJhdGlvbnMob3BlcmF0aW9uczogRW50aXR5T3BlcmF0aW9uW10pIHtcclxuICAgIHRoaXMuY2hlY2tJbkNvbW1pdFBoYXNlKCk7XHJcblxyXG4gICAgY29uc3Qgb3BlcmF0aW9uc0ZhY3RvcnkgPSAoKSA9PiBuZXcgTWFwKFtcclxuICAgICAgW0VudGl0eU9wZXJhdGlvblR5cGUuRGVsZXRlLCBbXV0sXHJcbiAgICAgIFtFbnRpdHlPcGVyYXRpb25UeXBlLlVwZGF0ZSwgW11dLFxyXG4gICAgICBbRW50aXR5T3BlcmF0aW9uVHlwZS5JbnNlcnQsIFtdXVxyXG4gICAgXSk7XHJcbiAgICBjb25zdCBzdG9yZXNPcGVyYXRpb25zID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIC8vIEdyb3VwIG9wZXJhdGlvbnMgYnkgc3RvcmUgYW5kIGJ5IG9wZXJhdGlvbiB0eXBlLlxyXG4gICAgLy8gR3JvdXBpbmcgb3BlcmF0aW9ucyBhbGxvd3MgdXMgdG8gcmV2ZXJ0IHRoZW0gaW4gYmFjdGgsIHRodXMsIHRyaWdnZXJpbmdcclxuICAgIC8vIG9ic2VydmFibGVzIG9ubHkgb25lIHBlciBvcGVyYXRpb24gdHlwZS5cclxuICAgIGZvciAoY29uc3Qgb3BlcmF0aW9uIG9mIG9wZXJhdGlvbnMpIHtcclxuICAgICAgY29uc3Qgc3RvcmUgPSBvcGVyYXRpb24uc3RvcmU7XHJcbiAgICAgIGlmIChvcGVyYXRpb24uc3RvcmUgPT09IHVuZGVmaW5lZCkgeyBjb250aW51ZTsgfVxyXG5cclxuICAgICAgbGV0IHN0b3JlT3BlcmF0aW9ucyA9IHN0b3Jlc09wZXJhdGlvbnMuZ2V0KHN0b3JlKTtcclxuICAgICAgaWYgKHN0b3JlT3BlcmF0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgc3RvcmVPcGVyYXRpb25zID0gb3BlcmF0aW9uc0ZhY3RvcnkoKTtcclxuICAgICAgICBzdG9yZXNPcGVyYXRpb25zLnNldChzdG9yZSwgc3RvcmVPcGVyYXRpb25zKTtcclxuICAgICAgfVxyXG4gICAgICBzdG9yZU9wZXJhdGlvbnMuZ2V0KG9wZXJhdGlvbi50eXBlKS5wdXNoKG9wZXJhdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgQXJyYXkuZnJvbShzdG9yZXNPcGVyYXRpb25zLmtleXMoKSkuZm9yRWFjaCgoc3RvcmU6IEVudGl0eVN0b3JlPG9iamVjdD4pID0+IHtcclxuICAgICAgY29uc3Qgc3RvcmVPcGVyYXRpb25zID0gc3RvcmVzT3BlcmF0aW9ucy5nZXQoc3RvcmUpO1xyXG5cclxuICAgICAgY29uc3QgZGVsZXRlcyA9IHN0b3JlT3BlcmF0aW9ucy5nZXQoRW50aXR5T3BlcmF0aW9uVHlwZS5EZWxldGUpO1xyXG4gICAgICBzdG9yZS5pbnNlcnRNYW55KGRlbGV0ZXMubWFwKChfZGVsZXRlOiBFbnRpdHlPcGVyYXRpb24pID0+IF9kZWxldGUucHJldmlvdXMpKTtcclxuXHJcbiAgICAgIGNvbnN0IHVwZGF0ZXMgPSBzdG9yZU9wZXJhdGlvbnMuZ2V0KEVudGl0eU9wZXJhdGlvblR5cGUuVXBkYXRlKTtcclxuICAgICAgc3RvcmUudXBkYXRlTWFueSh1cGRhdGVzLm1hcCgoX3VwZGF0ZTogRW50aXR5T3BlcmF0aW9uKSA9PiBfdXBkYXRlLnByZXZpb3VzKSk7XHJcblxyXG4gICAgICBjb25zdCBpbnNlcnRzID0gc3RvcmVPcGVyYXRpb25zLmdldChFbnRpdHlPcGVyYXRpb25UeXBlLkluc2VydCk7XHJcbiAgICAgIHN0b3JlLmRlbGV0ZU1hbnkoaW5zZXJ0cy5tYXAoKF9pbnNlcnQ6IEVudGl0eU9wZXJhdGlvbikgPT4gX2luc2VydC5jdXJyZW50KSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9wZXJhdGlvbnMuZGVsZXRlTWFueShvcGVyYXRpb25zKTtcclxuICAgIHRoaXMuaW5Db21taXRQaGFzZSQubmV4dChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGlzIHRyYW5zYWN0aW9uXHJcbiAgICogQHRvZG8gUmFpc2UgZXZlbnQgYW5kIHN5bmNocm9uaXplIHN0b3Jlcz9cclxuICAgKi9cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMub3BlcmF0aW9ucy5jbGVhcigpO1xyXG4gICAgdGhpcy5pbkNvbW1pdFBoYXNlJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhbnkgZXhpc3Rpbmcgb3BlcmF0aW9uIG9uIGFuIGVudGl0eVxyXG4gICAqIEBwYXJhbSBlbnRpdHkgRW50aXR5XHJcbiAgICogQHJldHVybnMgRWl0aGVyIGFuIGluc2VydCwgdXBkYXRlIG9yIGRlbGV0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBnZXRPcGVyYXRpb25CeUVudGl0eShlbnRpdHk6IG9iamVjdCk6IEVudGl0eU9wZXJhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25zLmdldCh0aGlzLmdldEtleShlbnRpdHkpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lcmdlIGFub3RoZXIgdHJhbnNhY3Rpb24gaW4gdGhpcyBvbmVcclxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gQW5vdGhlciB0cmFuc2FjdGlvblxyXG4gICAqL1xyXG4gIG1lcmdlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IEVudGl0eVRyYW5zYWN0aW9uKSB7XHJcbiAgICB0aGlzLmNoZWNrSW5Db21taXRQaGFzZSgpO1xyXG5cclxuICAgIGNvbnN0IG9wZXJhdGlvbnMgPSB0cmFuc2FjdGlvbi5vcGVyYXRpb25zLmFsbCgpO1xyXG4gICAgb3BlcmF0aW9ucy5mb3JFYWNoKChvcGVyYXRpb246IEVudGl0eU9wZXJhdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLmFkZE9wZXJhdGlvbihvcGVyYXRpb24pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW4gaW5zZXJ0IG9wZXJhdGlvbiBhbmQgYWRkIGFuIGVudGl0eSB0byB0aGUgc3RvcmVcclxuICAgKiBAcGFyYW0gY3VycmVudCBUaGUgZW50aXR5IHRvIGluc2VydFxyXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIGluc2VydCB0aGUgZW50aXR5IGludG9cclxuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIGRvSW5zZXJ0KGN1cnJlbnQ6IG9iamVjdCwgc3RvcmU/OiBFbnRpdHlTdG9yZTxvYmplY3Q+LCBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcclxuICAgIHRoaXMuYWRkT3BlcmF0aW9uKHtcclxuICAgICAga2V5OiB0aGlzLmdldEtleShjdXJyZW50KSxcclxuICAgICAgdHlwZTogRW50aXR5T3BlcmF0aW9uVHlwZS5JbnNlcnQsXHJcbiAgICAgIHByZXZpb3VzOiB1bmRlZmluZWQsXHJcbiAgICAgIGN1cnJlbnQsXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBtZXRhXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc3RvcmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdG9yZS5pbnNlcnQoY3VycmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYW4gdXBkYXRlIG9wZXJhdGlvbiBhbmQgdXBkYXRlIGFuIGVudGl0eSBpbnRvIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBwcmV2aW91cyBUaGUgZW50aXR5IGJlZm9yZSB1cGRhdGVcclxuICAgKiBAcGFyYW0gY3VycmVudCBUaGUgZW50aXR5IGFmdGVyIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBzdG9yZSBPcHRpb25hbDogVGhlIHN0b3JlIHRvIHVwZGF0ZSB0aGUgZW50aXR5IGludG9cclxuICAgKiBAcGFyYW0gbWV0YSBPcHRpb25hbDogQW55IG1ldGFkYXRhIG9uIHRoZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIGRvVXBkYXRlKHByZXZpb3VzOiBvYmplY3QsIGN1cnJlbnQ6IG9iamVjdCwgc3RvcmU/OiBFbnRpdHlTdG9yZTxvYmplY3Q+LCBtZXRhPzoge1trZXk6IHN0cmluZ106IGFueX0pIHtcclxuICAgIHRoaXMuYWRkT3BlcmF0aW9uKHtcclxuICAgICAga2V5OiB0aGlzLmdldEtleShjdXJyZW50KSxcclxuICAgICAgdHlwZTogRW50aXR5T3BlcmF0aW9uVHlwZS5VcGRhdGUsXHJcbiAgICAgIHByZXZpb3VzLFxyXG4gICAgICBjdXJyZW50LFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgbWV0YVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHN0b3JlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgc3RvcmUudXBkYXRlKGN1cnJlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgZGVsZXRlIG9wZXJhdGlvbiBhbmQgZGVsZXRlIGFuIGVudGl0eSBmcm9tIHRoZSBzdG9yZVxyXG4gICAqIEBwYXJhbSBwcmV2aW91cyBUaGUgZW50aXR5IGJlZm9yZSBkZWxldGVcclxuICAgKiBAcGFyYW0gc3RvcmUgT3B0aW9uYWw6IFRoZSBzdG9yZSB0byBkZWxldGUgdGhlIGVudGl0eSBmcm9tXHJcbiAgICogQHBhcmFtIG1ldGEgT3B0aW9uYWw6IEFueSBtZXRhZGF0YSBvbiB0aGUgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkb0RlbGV0ZShwcmV2aW91czogb2JqZWN0LCBzdG9yZT86IEVudGl0eVN0b3JlPG9iamVjdD4sIG1ldGE/OiB7W2tleTogc3RyaW5nXTogYW55fSkge1xyXG4gICAgdGhpcy5hZGRPcGVyYXRpb24oe1xyXG4gICAgICBrZXk6IHRoaXMuZ2V0S2V5KHByZXZpb3VzKSxcclxuICAgICAgdHlwZTogRW50aXR5T3BlcmF0aW9uVHlwZS5EZWxldGUsXHJcbiAgICAgIHByZXZpb3VzLFxyXG4gICAgICBjdXJyZW50OiB1bmRlZmluZWQsXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBtZXRhXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc3RvcmUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdG9yZS5kZWxldGUocHJldmlvdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGNvbW1pdHRlZCBvcGVyYXRpb25zIGZyb20gc3RvcmVcclxuICAgKiBAcGFyYW0gb3BlcmF0aW9ucyBDb21taXRlZCBvcGVyYXRpb25zXHJcbiAgICogQHRvZG8gUmFpc2UgZXZlbnQgYW5kIHN5bmNocm9uaXplIHN0b3Jlcz9cclxuICAgKi9cclxuICBwcml2YXRlIHJlc29sdmVPcGVyYXRpb25zKG9wZXJhdGlvbnM6IEVudGl0eU9wZXJhdGlvbltdKSB7XHJcbiAgICB0aGlzLm9wZXJhdGlvbnMuZGVsZXRlTWFueShvcGVyYXRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIGNvbW1pdCBzdWNjZXNzLCByZXNvbHZlIGNvbW1pdGVkIG9wZXJhdGlvbnMgYW5kIGV4aXQgY29tbWl0IHBoYXNlXHJcbiAgICogQHBhcmFtIG9wZXJhdGlvbnMgQ29tbWl0ZWQgb3BlcmF0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgb25Db21taXRTdWNjZXNzKG9wZXJhdGlvbnM6IEVudGl0eU9wZXJhdGlvbltdKSB7XHJcbiAgICB0aGlzLnJlc29sdmVPcGVyYXRpb25zKG9wZXJhdGlvbnMpO1xyXG4gICAgdGhpcy5pbkNvbW1pdFBoYXNlJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIGNvbW1pdCBlcnJvciwgYWJvcnQgdHJhbnNhY3Rpb25cclxuICAgKiBAcGFyYW0gb3BlcmF0aW9ucyBDb21taXRlZCBvcGVyYXRpb25zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbkNvbW1pdEVycm9yKG9wZXJhdGlvbnM6IEVudGl0eU9wZXJhdGlvbltdKSB7XHJcbiAgICB0aGlzLmluQ29tbWl0UGhhc2UkLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGFuIG9wZXJhdGlvbiB0byB0aGUgb3BlcmF0aW9ucyBzdG9yZVxyXG4gICAqIEBwYXJhbSBvcGVyYXRpb24gT3BlcmF0aW9uIHRvIGFkZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkT3BlcmF0aW9uKG9wZXJhdGlvbjogRW50aXR5T3BlcmF0aW9uKSB7XHJcbiAgICB0aGlzLmNoZWNrSW5Db21taXRQaGFzZSgpO1xyXG5cclxuICAgIHRoaXMub3BlcmF0aW9ucy5pbnNlcnQob3BlcmF0aW9uKTtcclxuICAgIHRoaXMub3BlcmF0aW9ucy5zdGF0ZS51cGRhdGUob3BlcmF0aW9uLCB7YWRkZWQ6IHRydWV9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhbiBvcGVyYXRpb24gZnJvbSB0aGUgb3BlcmF0aW9ucyBzdG9yZVxyXG4gICAqIEBwYXJhbSBvcGVyYXRpb24gT3BlcmF0aW9uIHRvIHJlbW92ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlT3BlcmF0aW9uKG9wZXJhdGlvbjogRW50aXR5T3BlcmF0aW9uKSB7XHJcbiAgICB0aGlzLmNoZWNrSW5Db21taXRQaGFzZSgpO1xyXG5cclxuICAgIHRoaXMub3BlcmF0aW9ucy5kZWxldGUob3BlcmF0aW9uKTtcclxuICAgIHRoaXMub3BlcmF0aW9ucy5zdGF0ZS51cGRhdGUob3BlcmF0aW9uLCB7YWRkZWQ6IGZhbHNlfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHRoZSBvcGVyYXRpb25zIHRvIGNvbW1pdFxyXG4gICAqIEByZXR1cm5zIE9wZXJhdGlvbnMgdG8gY29tbWl0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRPcGVyYXRpb25zSW5Db21taXQoKTogRW50aXR5T3BlcmF0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9ucy5zdGF0ZVZpZXdcclxuICAgICAgLm1hbnlCeSgodmFsdWU6IHtlbnRpdHk6IEVudGl0eU9wZXJhdGlvbiwgc3RhdGU6IEVudGl0eU9wZXJhdGlvblN0YXRlfSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5zdGF0ZS5hZGRlZCA9PT0gdHJ1ZTtcclxuICAgICAgfSlcclxuICAgICAgLm1hcCgodmFsdWU6IHtlbnRpdHk6IEVudGl0eU9wZXJhdGlvbiwgc3RhdGU6IEVudGl0eU9wZXJhdGlvblN0YXRlfSkgPT4gdmFsdWUuZW50aXR5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoZSB0cmFuc2FjdGlvbiBpcyBpbiB0aGUgY29tbWl0IHBoYXNlIGFuZCB0aHJvdyBhbiBlcnJvciBpZiBpdCBpc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2hlY2tJbkNvbW1pdFBoYXNlKCkge1xyXG4gICAgaWYgKHRoaXMuaW5Db21taXRQaGFzZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoaXMgdHJhbnNhY3Rpb24gaXMgaW4gdGhlIGNvbW1pdCBwaGFzZS4gQ2Fubm90IGNvbXBsZXRlIHRoaXMgb3BlcmF0aW9uLicpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=