@fundamental-ngx/cdk 0.44.1-rc.3 → 0.45.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 (82) hide show
  1. package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +3 -27
  2. package/esm2022/utils/directives/auto-complete/auto-complete.module.mjs +5 -5
  3. package/esm2022/utils/directives/clicked/clicked.directive.mjs +1 -25
  4. package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +1 -25
  5. package/esm2022/utils/directives/disabled/disabled-behavior.module.mjs +5 -5
  6. package/esm2022/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +6 -22
  7. package/esm2022/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +3 -27
  8. package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +3 -27
  9. package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +1 -25
  10. package/esm2022/utils/directives/focusable-item/focusable-item.module.mjs +5 -5
  11. package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +1 -25
  12. package/esm2022/utils/directives/focusable-list/focusable-list.module.mjs +7 -7
  13. package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +3 -27
  14. package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +5 -5
  15. package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +4 -54
  16. package/esm2022/utils/directives/initial-focus/initial-focus.module.mjs +5 -5
  17. package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +3 -50
  18. package/esm2022/utils/directives/line-clamp/line-clamp.module.mjs +5 -21
  19. package/esm2022/utils/directives/only-digits/only-digits.directive.mjs +3 -27
  20. package/esm2022/utils/directives/only-digits/only-digits.module.mjs +5 -5
  21. package/esm2022/utils/directives/overflow-list/overflow-list-item.directive.mjs +3 -27
  22. package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +3 -27
  23. package/esm2022/utils/directives/overflow-list/overflow-list.module.mjs +6 -22
  24. package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +3 -27
  25. package/esm2022/utils/directives/readonly/readonly-behavior.module.mjs +5 -5
  26. package/esm2022/utils/directives/repeat/repeat.directive.mjs +5 -36
  27. package/esm2022/utils/directives/repeat/repeat.module.mjs +5 -5
  28. package/esm2022/utils/directives/resize/resize-handle.directive.mjs +3 -27
  29. package/esm2022/utils/directives/resize/resize.directive.mjs +3 -27
  30. package/esm2022/utils/directives/resize/resize.module.mjs +6 -6
  31. package/esm2022/utils/directives/template/template.directive.mjs +3 -27
  32. package/esm2022/utils/directives/template/template.module.mjs +5 -5
  33. package/esm2022/utils/directives/truncate/truncate.directive.mjs +3 -27
  34. package/esm2022/utils/directives/truncate/truncate.module.mjs +5 -5
  35. package/esm2022/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +2 -21
  36. package/esm2022/utils/services/index.mjs +1 -2
  37. package/esm2022/utils/toast/base-toast.service.mjs +1 -10
  38. package/esm2022/utils/utils.module.mjs +3 -4
  39. package/fesm2022/fundamental-ngx-cdk-utils.mjs +446 -1139
  40. package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
  41. package/fundamental-ngx-cdk-v0.45.0.tgz +0 -0
  42. package/package.json +2 -2
  43. package/utils/directives/auto-complete/auto-complete.directive.d.ts +1 -6
  44. package/utils/directives/auto-complete/auto-complete.module.d.ts +1 -1
  45. package/utils/directives/clicked/clicked.directive.d.ts +0 -5
  46. package/utils/directives/disabled/disabled-behavior.directive.d.ts +0 -5
  47. package/utils/directives/disabled/disabled-behavior.module.d.ts +1 -1
  48. package/utils/directives/focus-key-manager/focus-key-manager-helpers.module.d.ts +1 -1
  49. package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +1 -6
  50. package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +1 -6
  51. package/utils/directives/focusable-item/focusable-item.directive.d.ts +0 -5
  52. package/utils/directives/focusable-item/focusable-item.module.d.ts +1 -1
  53. package/utils/directives/focusable-list/focusable-list.directive.d.ts +0 -5
  54. package/utils/directives/focusable-list/focusable-list.module.d.ts +2 -2
  55. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +1 -6
  56. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.d.ts +1 -1
  57. package/utils/directives/initial-focus/initial-focus.directive.d.ts +1 -12
  58. package/utils/directives/initial-focus/initial-focus.module.d.ts +1 -1
  59. package/utils/directives/line-clamp/line-clamp.directive.d.ts +1 -10
  60. package/utils/directives/line-clamp/line-clamp.module.d.ts +1 -1
  61. package/utils/directives/only-digits/only-digits.directive.d.ts +1 -6
  62. package/utils/directives/only-digits/only-digits.module.d.ts +1 -1
  63. package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +1 -6
  64. package/utils/directives/overflow-list/overflow-list.directive.d.ts +1 -6
  65. package/utils/directives/overflow-list/overflow-list.module.d.ts +1 -1
  66. package/utils/directives/readonly/readonly-behavior.directive.d.ts +1 -6
  67. package/utils/directives/readonly/readonly-behavior.module.d.ts +1 -1
  68. package/utils/directives/repeat/repeat.directive.d.ts +1 -12
  69. package/utils/directives/repeat/repeat.module.d.ts +1 -1
  70. package/utils/directives/resize/resize-handle.directive.d.ts +1 -6
  71. package/utils/directives/resize/resize.directive.d.ts +1 -6
  72. package/utils/directives/resize/resize.module.d.ts +1 -1
  73. package/utils/directives/template/template.directive.d.ts +1 -6
  74. package/utils/directives/template/template.module.d.ts +1 -1
  75. package/utils/directives/truncate/truncate.directive.d.ts +1 -6
  76. package/utils/directives/truncate/truncate.module.d.ts +1 -1
  77. package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -10
  78. package/utils/services/index.d.ts +0 -1
  79. package/utils/toast/base-toast.service.d.ts +0 -5
  80. package/esm2022/utils/services/themes.service.mjs +0 -135
  81. package/fundamental-ngx-cdk-v0.44.1-rc.3.tgz +0 -0
  82. package/utils/services/themes.service.d.ts +0 -48
@@ -3,7 +3,6 @@ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
3
3
  import { Injectable, Injector, TemplateRef } from '@angular/core';
4
4
  import { Subject } from 'rxjs';
5
5
  import { takeUntil } from 'rxjs/operators';
6
- import { warnOnce } from '../helpers';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@angular/cdk/overlay";
9
8
  export class BaseToastService {
@@ -35,14 +34,6 @@ export class BaseToastService {
35
34
  hasOpenMessageToasts() {
36
35
  return this._toasts.length > 0;
37
36
  }
38
- /**
39
- * @deprecated.
40
- * Use `hideAll()` method instead.
41
- */
42
- dismissAll() {
43
- warnOnce('dismissAll() is deprecated. Use hideAll() instead.');
44
- this.hideAll();
45
- }
46
37
  /**
47
38
  * Sets new position strategy for all Toast items.
48
39
  * @param newStrategy New Position Strategy
@@ -273,4 +264,4 @@ export class BaseToastService {
273
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BaseToastService, decorators: [{
274
265
  type: Injectable
275
266
  }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILE9BQU8sRUFDUCxhQUFhLEVBR2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBR0gsVUFBVSxFQUVWLFFBQVEsRUFHUixXQUFXLEVBR2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBR3RDLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBOEJsQyxjQUFjO0lBQ2QsWUFBNkIsT0FBZ0IsRUFBUyxRQUFrQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWZ4RTs7O1dBR0c7UUFDTyxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUVwRSxjQUFjO1FBQ04sY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFHbUMsQ0FBQztJQXlDNUU7O09BRUc7SUFDSCxPQUFPO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFB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QUMsZ0JBQWdCLENBQUMsQ0FBQztTQUN4RDtRQUVELDZCQUE2QjtRQUM3QixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUM5RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFeEIsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsY0FBYztJQUNOLHNCQUFzQixDQUFDLFFBQWE7UUFDeEMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDOzhHQS9YaUIsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudFR5cGUsXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICAgIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlSZWYsXG4gICAgUG9zaXRpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgU3RhdGljUHJvdmlkZXIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UG9zaXRpb24sIFRvYXN0R2xvYmFsQ29ubmVjdGVkUG9zaXRpb24sIFRvYXN0R2xvYmFsUG9zaXRpb24gfSBmcm9tICcuL2Jhc2UtdG9hc3QtcG9zaXRpb25zJztcbmltcG9ydCB7IEJhc2VUb2FzdENvbmZpZyB9IGZyb20gJy4vY2xhc3Nlcy9iYXNlLXRvYXN0LWNvbmZpZyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RSZWYgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1yZWYnO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2ludGVyZmFjZXMvdG9hc3QtY29udGFpbmVyLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVG9hc3RUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LXRleHQtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3YXJuT25jZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHNNYXAgPSBuZXcgTWFwPEJhc2VUb2FzdFBvc2l0aW9uLCBCYXNlVG9hc3RSZWZbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXk6IE92ZXJsYXksIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRhaW5lciBwcm92aWRlcnMuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBDb25maWcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRhaW5lckNvbXBvbmVudFByb3ZpZGVycyhjb25maWc6IFApOiBTdGF0aWNQcm92aWRlcltdO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBUb2FzdCBDb250ZW50IHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKiBAcGFyYW0gdG9hc3RSZWYgVG9hc3QgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDb250ZW50Q29tcG9uZW50UHJvdmlkZXJzPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIHRvYXN0IGFjY2VwdHMgc3RyaW5nLCBDb21wb25lbnQgb3IgVGVtcGxhdGVSZWYuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgb3BlbjxUPihcbiAgICAgICAgdG9hc3Q6IHN0cmluZyB8IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPlxuICAgICk6IEJhc2VUb2FzdFJlZjxUb2FzdFRleHRDb21wb25lbnQgfCBUIHwgRW1iZWRkZWRWaWV3UmVmPFQ+LCBQPjtcblxuICAgIGFic3RyYWN0IG9wZW5Gcm9tU3RyaW5nKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCwgUD47XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggcHJvdmlkZWQgY29tcG9uZW50IGluc2lkZS5cbiAgICAgKiBAcGFyYW0gY29tcG9uZW50IENvbXBvbmVudCB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbUNvbXBvbmVudDxUPihjb21wb25lbnQ6IFR5cGU8VD4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxULCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBUZW1wbGF0ZSBSZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRlbXBsYXRlIFJlZmVyZW5jZSB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8RW1iZWRkZWRWaWV3UmVmPGFueT4+O1xuXG4gICAgLyoqXG4gICAgICogRGlzbWlzc2VzIGFsbCBUb2FzdHMuXG4gICAgICovXG4gICAgaGlkZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9hc3RzLmZvckVhY2goKHQpID0+IHQuZGlzbWlzcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGB0cnVlYCBpZiB0aGVyZSBhcmUgc29tZSBtZXNzYWdlIHRvYXN0cyBjdXJyZW50bHkgb3Blbi4gYEZhbHNlYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaGFzT3Blbk1lc3NhZ2VUb2FzdHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b2FzdHMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZC5cbiAgICAgKiBVc2UgYGhpZGVBbGwoKWAgbWV0aG9kIGluc3RlYWQuXG4gICAgICovXG4gICAgZGlzbWlzc0FsbCgpOiB2b2lkIHtcbiAgICAgICAgd2Fybk9uY2UoJ2Rpc21pc3NBbGwoKSBpcyBkZXByZWNhdGVkLiBVc2UgaGlkZUFsbCgpIGluc3RlYWQuJyk7XG4gICAgICAgIHRoaXMuaGlkZUFsbCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbmV3IHBvc2l0aW9uIHN0cmF0ZWd5IGZvciBhbGwgVG9hc3QgaXRlbXMuXG4gICAgICogQHBhcmFtIG5ld1N0cmF0ZWd5IE5ldyBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqL1xuICAgIHNldE5ld1Bvc2l0aW9uU3RyYXRlZ3kobmV3U3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKTogdm9pZCB7XG4gICAgICAgIGlmIChuZXdTdHJhdGVneSA9PT0gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5ID0gbmV3U3RyYXRlZ3k7XG5cbiAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIFRvYXN0IFJlZmVyZW5jZSBmb3IgcHJvdmlkZWQgY29udGFpbmVyIGFuZCBvdmVybGF5LlxuICAgICAqIEBwYXJhbSBjb250YWluZXJSZWYgQ29udGFpbmVyIHJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gb3ZlcmxheVJlZiBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gcG9zaXRpb25TdHJhdGVneSBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRUb2FzdFJlZjxUPihcbiAgICAgICAgY29udGFpbmVyUmVmOiBDLFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFBsYWNlcyBhIG5ldyBjb21wb25lbnQgb3IgYSB0ZW1wbGF0ZSBhcyB0aGUgY29udGVudCBvZiB0aGUgVG9hc3QgY29udGFpbmVyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYXR0YWNoPFQ+KFxuICAgICAgICBjb250ZW50OiBDb21wb25lbnRUeXBlPFQ+IHwgVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIHVzZXJDb25maWc/OiBQXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4udXNlckNvbmZpZyB9O1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgfHwgdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIGNvbnN0IHsgb3ZlcmxheSwgaXNBbmNob3IgfSA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheSwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgdG9hc3RSZWYgPSB0aGlzLmdldFRvYXN0UmVmPFQ+KGNvbnRhaW5lclJlZiwgb3ZlcmxheSwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIHRvYXN0UmVmLl9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA9ICFjb25maWcucG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgdG9hc3RSZWYuX2lzQW5jaG9yID0gaXNBbmNob3I7XG5cbiAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgLy8gVGVtcGxhdGVQb3J0YWwgcmVxdWlyZXMgdmlld0NvbnRhaW5lciByZWZcbiAgICAgICAgICAgIGNvbnN0IHZpZXdSZWYgPSBudWxsIGFzIGFueSBhcyBWaWV3Q29udGFpbmVyUmVmO1xuICAgICAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKGNvbnRlbnQsIHZpZXdSZWYsIHsgJGltcGxpY2l0OiBjb25maWcsIHRvYXN0UmVmIH0gYXMgYW55KTtcblxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250YWluZXJSZWYuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVDb250ZW50Q29tcG9uZW50SW5qZWN0b3IoY29uZmlnLCB0b2FzdFJlZik7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbnRlbnQsIHVuZGVmaW5lZCwgaW5qZWN0b3IpO1xuICAgICAgICAgICAgY29uc3QgY29udGVudFJlZiA9IGNvbnRhaW5lclJlZi5hdHRhY2hDb21wb25lbnRQb3J0YWw8VD4ocG9ydGFsKTtcblxuICAgICAgICAgICAgLy8gV2UgY2FuJ3QgcGFzcyB0aGlzIHZpYSB0aGUgaW5qZWN0b3IsIGJlY2F1c2UgdGhlIGluamVjdG9yIGlzIGNyZWF0ZWQgZWFybGllci5cbiAgICAgICAgICAgIHRvYXN0UmVmLmluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgY29udGVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhbGxUb2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuICAgICAgICBhbGxUb2FzdHMucHVzaCh0b2FzdFJlZik7XG4gICAgICAgIHRoaXMuX3RvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzTWFwLnNldChwb3NpdGlvblN0cmF0ZWd5LCBhbGxUb2FzdHMpO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0ZVRvYXN0PFQ+KHRvYXN0UmVmKTtcblxuICAgICAgICByZXR1cm4gdG9hc3RSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0YWNoZXMgdGhlIFRvYXN0IGNvbnRhaW5lciBjb21wb25lbnQgdG8gdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGF0dGFjaFRvYXN0Q29udGFpbmVyQ29tcG9uZW50KG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNvbmZpZzogUCk6IEMge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLnRvYXN0Q29udGFpbmVyQ29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZjogQ29tcG9uZW50UmVmPEM+ID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGFpbmVyUG9ydGFsKTtcblxuICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuICAgICAgICBjb250YWluZXJSZWYuaW5zdGFuY2Uub3ZlcmxheVJlZiA9IG92ZXJsYXlSZWY7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluamVjdG9yIHRvIGJlIHVzZWQgaW5zaWRlIGEgVG9hc3QgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb25maWcgQ29uZmlnIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoZSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gdG9hc3RSZWYgUmVmZXJlbmNlIHRvIHRoZSBUb2FzdC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29udGVudENvbXBvbmVudEluamVjdG9yPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IEluamVjdG9yIHtcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGVudENvbXBvbmVudFByb3ZpZGVycyhjb25maWcsIHRvYXN0UmVmKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW5pbWF0ZXMgdGhlIG9sZCBUb2FzdCBvdXQgYW5kIHRoZSBuZXcgb25lIGluLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhbmltYXRlVG9hc3Q8VD4odG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0b2FzdFJlZi5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICAvLyBXaGVuIHRoZSB0b2FzdCBpcyBkaXNtaXNzZWQsIGNsZWFyIHRoZSByZWZlcmVuY2UgdG8gaXQuXG4gICAgICAgIHRvYXN0UmVmXG4gICAgICAgICAgICAuYWZ0ZXJEaXNtaXNzZWQoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgICAgICAgICAgYWxsVG9hc3RzLnNwbGljZShhbGxUb2FzdHMuaW5kZXhPZih0b2FzdFJlZiksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0cy5zcGxpY2UodGhpcy5fdG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRvYXN0UmVmLmNvbnRhaW5lckluc3RhbmNlLmVudGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgYSBuZXcgb3ZlcmxheSBhbmQgcGxhY2VzIGl0IGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiB7IG92ZXJsYXk6IE92ZXJsYXlSZWY7IGlzQW5jaG9yOiBib29sZWFuIH0ge1xuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoKTtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5zY3JvbGxTdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kuc2Nyb2xsUG9zaXRpb24gfHwgdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuXG4gICAgICAgIGNvbnN0IHsgcG9zaXRpb24sIGlzQW5jaG9yIH0gPSB0aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuXG4gICAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBhbmVsQ2xhc3MgPSAnZmQtdG9hc3Qtb3ZlcmxheSc7XG4gICAgICAgIHJldHVybiB7IG92ZXJsYXk6IHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyksIGlzQW5jaG9yIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIEluaXRpYWwgUG9zaXRpb24gU3RyYXRlZ3kgb2YgdGhlIFRvYXN0IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiB7XG4gICAgICAgIHBvc2l0aW9uOiBQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBpc0FuY2hvcjogYm9vbGVhbjtcbiAgICB9IHtcbiAgICAgICAgY29uc3QgbGFzdE92ZXJsYXkgPSB0aGlzLl9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpPy5maW5kKCh7IF9pc0FuY2hvciB9KSA9PiBfaXNBbmNob3IpO1xuXG4gICAgICAgIGlmIChsYXN0T3ZlcmxheSAmJiBnbG9iYWxPdmVybGF5KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLl9jb21wb3NlRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbihcbiAgICAgICAgICAgICAgICAgICAgbGFzdE92ZXJsYXkub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgaXNBbmNob3I6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgcG9zaXRpb246IHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KSwgaXNBbmNob3I6IHRydWUgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIG5lZWRsZVBvc2l0aW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKG5lZWRsZVBvc2l0aW9uOiBCYXNlVG9hc3RQb3NpdGlvbik6IEJhc2VUb2FzdFJlZjxQLCBDPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMuX3RvYXN0c01hcC5nZXQobmVlZGxlUG9zaXRpb24pIHx8IFtdKV0/LnJldmVyc2UoKVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGNvbm5lY3RlZEVsbSBlbGVtZW50IHRvIGNvbm5lY3Qgd2l0aC5cbiAgICAgKiBAcGFyYW0gcG9zaXRpb25TdHJhdGVneSBQb3NpdGlvbiBTdHJhdGVneVxuICAgICAqIEByZXR1cm5zIEZsZXhpYmxlIENvbm5lY3RlZCBQb3NpdGlvbiBTdHJhdGVneSBmb3IgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29tcG9zZUZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb24oXG4gICAgICAgIGNvbm5lY3RlZEVsbTogSFRNTEVsZW1lbnQsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3kgfHwgdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhjb25uZWN0ZWRFbG0pXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbcG9zaXRpb25TdHJhdGVneS5jb25uZWN0ZWRdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHJldHVybnMgRGVmYXVsdCBHbG9iYWwgUG9zaXRpb24gZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb25cbiAgICApOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgbGV0IHBvc2l0aW9uOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgfCBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBpZiAodGhpcy5faXNCb3VuZEdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsKSkge1xuICAgICAgICAgICAgcG9zaXRpb24gPSB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsLmJvdW5kVG8pXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsXSlcbiAgICAgICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9zaXRpb24gPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICAgICAgICAgIGNvbnN0IGdsb2JhbFRvYXN0UG9zaXRpb25TdHJhdGVneTogVG9hc3RHbG9iYWxQb3NpdGlvbiA9IHBvc2l0aW9uU3RyYXRlZ3kuZ2xvYmFsO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtwb3MsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3kpKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChwb3MpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5sZWZ0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5yaWdodCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmJvdHRvbSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLnRvcCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NlbnRlclZlcnRpY2FsbHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24uY2VudGVyVmVydGljYWxseSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RvYXN0c01hcC5mb3JFYWNoKCh0b2FzdHMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RzOiBCYXNlVG9hc3RSZWZbXSk6IHZvaWQge1xuICAgICAgICB0b2FzdHMuZm9yRWFjaCgodG9hc3RSZWYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0b2FzdFJlZi5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgYSBjdXJyZW50IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEByZXR1cm5zIE5ldyBQb3NpdGlvbiBTdHJhdGVneS5cbiAgICAgKiBAcGFyYW0gdG9hc3QgVG9hc3QgUmVmZXJlbmNlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0b2FzdDogQmFzZVRvYXN0UmVmKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0b2FzdC5fZGVmYXVsdFBvc2l0aW9uU3RyYXRlZ3kgPyB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSA6IHRvYXN0LnBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgICAgICAgaWYgKHRvYXN0Ll9pc0FuY2hvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG5cbiAgICAgICAgY29uc3QgZ2xvYmFsT3ZlcmxheSA9IHRvYXN0cz8uZmluZCgoeyBfaXNBbmNob3IgfSkgPT4gX2lzQW5jaG9yKTtcblxuICAgICAgICBpZiAoIWdsb2JhbE92ZXJsYXkpIHtcbiAgICAgICAgICAgIHRvYXN0Ll9pc0FuY2hvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcG9zZUdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IFByZXZpb3VzIG92ZXJsYXkgaXRlbS5cbiAgICAgICAgY29uc3Qgb3ZlcmxheUl0ZW1JbmRleCA9IHRvYXN0cy5maW5kSW5kZXgoKHQpID0+IHQgPT09IHRvYXN0KTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNPdmVybGF5ID0gdG9hc3RzW292ZXJsYXlJdGVtSW5kZXggLSAxXTtcbiAgICAgICAgdG9hc3QuX2lzQW5jaG9yID0gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKHByZXZpb3VzT3ZlcmxheS5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzQm91bmRHbG9iYWxQb3NpdGlvbihwb3NpdGlvbjogYW55KTogcG9zaXRpb24gaXMgVG9hc3RHbG9iYWxDb25uZWN0ZWRQb3NpdGlvbiB7XG4gICAgICAgIHJldHVybiAhIXBvc2l0aW9uLmJvdW5kVG87XG4gICAgfVxufVxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILE9BQU8sRUFDUCxhQUFhLEVBR2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBR0gsVUFBVSxFQUVWLFFBQVEsRUFHUixXQUFXLEVBR2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVEzQyxNQUFNLE9BQWdCLGdCQUFnQjtJQThCbEMsY0FBYztJQUNkLFlBQTZCLE9BQWdCLEVBQVMsUUFBa0I7UUFBM0MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFmeEU7OztXQUdHO1FBQ08sWUFBTyxHQUFtQixFQUFFLENBQUM7UUFFdkM7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFcEUsY0FBYztRQUNOLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR21DLENBQUM7SUF5QzVFOztPQUVHO0lBQ0gsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHNCQUFzQixDQUFDLFdBQThCO1FBQ2pELElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsV0FBVyxDQUFDO1FBRXpDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFjRDs7O09BR0c7SUFDTyxPQUFPLENBQ2IsT0FBMEMsRUFDMUMsVUFBYztRQUVkLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQy9FLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBSSxZQUFZLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDOUUsUUFBUSxDQUFDLHdCQUF3QixHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQzdELFFBQVEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBRTlCLElBQUksT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUNoQyw0Q0FBNEM7WUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBK0IsQ0FBQztZQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVMsQ0FBQyxDQUFDO1lBRTVGLFFBQVEsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pFO2FBQU07WUFDSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFJLE1BQU0sQ0FBQyxDQUFDO1lBRWpFLGdGQUFnRjtZQUNoRixRQUFRLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFFeEMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2hEO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsWUFBWSxDQUFJLFFBQVEsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNPLDZCQUE2QixDQUFDLFVBQXNCLEVBQUUsTUFBUztRQUNyRSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztTQUN6RCxDQUFDLENBQUM7UUFFSCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLE1BQU0sWUFBWSxHQUFvQixVQUFVLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXpFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN0QyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFOUMsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sOEJBQThCLENBQUksTUFBUyxFQUFFLFFBQXlCO1FBQzVFLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ2pFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ2QsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxZQUFZLENBQUksUUFBbUQ7UUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDbkQsMERBQTBEO1FBQzFELFFBQVE7YUFDSCxjQUFjLEVBQUU7YUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlELFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVQLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUFDLGdCQUFtQztRQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzFDLGFBQWEsQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFN0csTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUzRSxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQzFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssb0JBQW9CLENBQUMsZ0JBQW1DO1FBSTVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEcsSUFBSSxXQUFXLElBQUksYUFBYSxFQUFFO1lBQzlCLE9BQU87Z0JBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxpQ0FBaUMsQ0FDNUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQ3JDLGdCQUFnQixDQUNuQjtnQkFDRCxRQUFRLEVBQUUsS0FBSzthQUNsQixDQUFDO1NBQ0w7UUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN2RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLDZCQUE2QixDQUFDLGNBQWlDO1FBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxpQ0FBaUMsQ0FDckMsWUFBeUIsRUFDekIsZ0JBQW1DO1FBRW5DLGdCQUFnQixHQUFHLGdCQUFnQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsWUFBWSxDQUFDO2FBQ2pDLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7O09BR0c7SUFDSyxzQkFBc0IsQ0FDMUIsZ0JBQW1DO1FBRW5DLElBQUksUUFBb0UsQ0FBQztRQUN6RSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0RCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU87aUJBQ2xCLFFBQVEsRUFBRTtpQkFDVixtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2lCQUNwRCxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDeEMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO2FBQU07WUFDSCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QyxNQUFNLDJCQUEyQixHQUF3QixnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFFakYsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsRUFBRTtnQkFDcEUsUUFBUSxHQUFHLEVBQUU7b0JBQ1QsS0FBSyxNQUFNO3dCQUNQLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JCLE1BQU07b0JBQ1YsS0FBSyxPQUFPO3dCQUNSLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3RCLE1BQU07b0JBQ1YsS0FBSyxRQUFRO3dCQUNULFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZCLE1BQU07b0JBQ1YsS0FBSyxLQUFLO3dCQUNOLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3BCLE1BQU07b0JBQ1YsS0FBSyxRQUFRO3dCQUNULFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO3dCQUM5QixNQUFNO29CQUNWLEtBQUssa0JBQWtCO3dCQUNuQixRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDNUIsTUFBTTtpQkFDYjthQUNKO1NBQ0o7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsY0FBYztJQUNOLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sOEJBQThCLENBQUMsTUFBc0I7UUFDekQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFdEQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzdELGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHVCQUF1QixDQUFDLEtBQW1CO1FBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUU5RyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUN4RDtRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBRTNELE1BQU0sYUFBYSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDeEQ7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELGNBQWM7SUFDTixzQkFBc0IsQ0FBQyxRQUFhO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQzs4R0F0WGlCLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFBvc2l0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uLCBUb2FzdEdsb2JhbENvbm5lY3RlZFBvc2l0aW9uLCBUb2FzdEdsb2JhbFBvc2l0aW9uIH0gZnJvbSAnLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb25maWcgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UmVmIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LWNvbnRhaW5lci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvYXN0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC10ZXh0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHNNYXAgPSBuZXcgTWFwPEJhc2VUb2FzdFBvc2l0aW9uLCBCYXNlVG9hc3RSZWZbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXk6IE92ZXJsYXksIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRhaW5lciBwcm92aWRlcnMuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBDb25maWcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRhaW5lckNvbXBvbmVudFByb3ZpZGVycyhjb25maWc6IFApOiBTdGF0aWNQcm92aWRlcltdO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBUb2FzdCBDb250ZW50IHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKiBAcGFyYW0gdG9hc3RSZWYgVG9hc3QgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDb250ZW50Q29tcG9uZW50UHJvdmlkZXJzPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIHRvYXN0IGFjY2VwdHMgc3RyaW5nLCBDb21wb25lbnQgb3IgVGVtcGxhdGVSZWYuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgb3BlbjxUPihcbiAgICAgICAgdG9hc3Q6IHN0cmluZyB8IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPlxuICAgICk6IEJhc2VUb2FzdFJlZjxUb2FzdFRleHRDb21wb25lbnQgfCBUIHwgRW1iZWRkZWRWaWV3UmVmPFQ+LCBQPjtcblxuICAgIGFic3RyYWN0IG9wZW5Gcm9tU3RyaW5nKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCwgUD47XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggcHJvdmlkZWQgY29tcG9uZW50IGluc2lkZS5cbiAgICAgKiBAcGFyYW0gY29tcG9uZW50IENvbXBvbmVudCB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbUNvbXBvbmVudDxUPihjb21wb25lbnQ6IFR5cGU8VD4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxULCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBUZW1wbGF0ZSBSZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRlbXBsYXRlIFJlZmVyZW5jZSB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8RW1iZWRkZWRWaWV3UmVmPGFueT4+O1xuXG4gICAgLyoqXG4gICAgICogRGlzbWlzc2VzIGFsbCBUb2FzdHMuXG4gICAgICovXG4gICAgaGlkZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9hc3RzLmZvckVhY2goKHQpID0+IHQuZGlzbWlzcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGB0cnVlYCBpZiB0aGVyZSBhcmUgc29tZSBtZXNzYWdlIHRvYXN0cyBjdXJyZW50bHkgb3Blbi4gYEZhbHNlYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaGFzT3Blbk1lc3NhZ2VUb2FzdHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b2FzdHMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG5ldyBwb3NpdGlvbiBzdHJhdGVneSBmb3IgYWxsIFRvYXN0IGl0ZW1zLlxuICAgICAqIEBwYXJhbSBuZXdTdHJhdGVneSBOZXcgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKi9cbiAgICBzZXROZXdQb3NpdGlvblN0cmF0ZWd5KG5ld1N0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAobmV3U3RyYXRlZ3kgPT09IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSA9IG5ld1N0cmF0ZWd5O1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBUb2FzdCBSZWZlcmVuY2UgZm9yIHByb3ZpZGVkIGNvbnRhaW5lciBhbmQgb3ZlcmxheS5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIENvbnRhaW5lciByZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIG92ZXJsYXlSZWYgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIHBvc2l0aW9uU3RyYXRlZ3kgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0VG9hc3RSZWY8VD4oXG4gICAgICAgIGNvbnRhaW5lclJlZjogQyxcbiAgICAgICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb25cbiAgICApOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQbGFjZXMgYSBuZXcgY29tcG9uZW50IG9yIGEgdGVtcGxhdGUgYXMgdGhlIGNvbnRlbnQgb2YgdGhlIFRvYXN0IGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2F0dGFjaDxUPihcbiAgICAgICAgY29udGVudDogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgICAgICB1c2VyQ29uZmlnPzogUFxuICAgICk6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnVzZXJDb25maWcgfTtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IHx8IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBjb25zdCB7IG92ZXJsYXksIGlzQW5jaG9yIH0gPSB0aGlzLl9jcmVhdGVPdmVybGF5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLmF0dGFjaFRvYXN0Q29udGFpbmVyQ29tcG9uZW50KG92ZXJsYXksIGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IHRvYXN0UmVmID0gdGhpcy5nZXRUb2FzdFJlZjxUPihjb250YWluZXJSZWYsIG92ZXJsYXksIHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB0b2FzdFJlZi5fZGVmYXVsdFBvc2l0aW9uU3RyYXRlZ3kgPSAhY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIHRvYXN0UmVmLl9pc0FuY2hvciA9IGlzQW5jaG9yO1xuXG4gICAgICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIC8vIFRlbXBsYXRlUG9ydGFsIHJlcXVpcmVzIHZpZXdDb250YWluZXIgcmVmXG4gICAgICAgICAgICBjb25zdCB2aWV3UmVmID0gbnVsbCBhcyBhbnkgYXMgVmlld0NvbnRhaW5lclJlZjtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChjb250ZW50LCB2aWV3UmVmLCB7ICRpbXBsaWNpdDogY29uZmlnLCB0b2FzdFJlZiB9IGFzIGFueSk7XG5cbiAgICAgICAgICAgIHRvYXN0UmVmLmluc3RhbmNlID0gY29udGFpbmVyUmVmLmF0dGFjaFRlbXBsYXRlUG9ydGFsKHBvcnRhbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlQ29udGVudENvbXBvbmVudEluamVjdG9yKGNvbmZpZywgdG9hc3RSZWYpO1xuICAgICAgICAgICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb250ZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBjb250YWluZXJSZWYuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KHBvcnRhbCk7XG5cbiAgICAgICAgICAgIC8vIFdlIGNhbid0IHBhc3MgdGhpcyB2aWEgdGhlIGluamVjdG9yLCBiZWNhdXNlIHRoZSBpbmplY3RvciBpcyBjcmVhdGVkIGVhcmxpZXIuXG4gICAgICAgICAgICB0b2FzdFJlZi5pbnN0YW5jZSA9IGNvbnRlbnRSZWYuaW5zdGFuY2U7XG5cbiAgICAgICAgICAgIGNvbnRlbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWxsVG9hc3RzID0gdGhpcy5fdG9hc3RzTWFwLmdldChwb3NpdGlvblN0cmF0ZWd5KSB8fCBbXTtcbiAgICAgICAgYWxsVG9hc3RzLnB1c2godG9hc3RSZWYpO1xuICAgICAgICB0aGlzLl90b2FzdHMucHVzaCh0b2FzdFJlZik7XG4gICAgICAgIHRoaXMuX3RvYXN0c01hcC5zZXQocG9zaXRpb25TdHJhdGVneSwgYWxsVG9hc3RzKTtcblxuICAgICAgICB0aGlzLmFuaW1hdGVUb2FzdDxUPih0b2FzdFJlZik7XG5cbiAgICAgICAgcmV0dXJuIHRvYXN0UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEF0dGFjaGVzIHRoZSBUb2FzdCBjb250YWluZXIgY29tcG9uZW50IHRvIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhdHRhY2hUb2FzdENvbnRhaW5lckNvbXBvbmVudChvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBjb25maWc6IFApOiBDIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiB0aGlzLmdldENvbnRhaW5lckNvbXBvbmVudFByb3ZpZGVycyhjb25maWcpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy50b2FzdENvbnRhaW5lckNvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWY6IENvbXBvbmVudFJlZjxDPiA9IG92ZXJsYXlSZWYuYXR0YWNoKGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICAgICAgY29udGFpbmVyUmVmLmluc3RhbmNlLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgY29udGFpbmVyUmVmLmluc3RhbmNlLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xuXG4gICAgICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbmplY3RvciB0byBiZSB1c2VkIGluc2lkZSBhIFRvYXN0IGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZyB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZSB0aGUgVG9hc3QuXG4gICAgICogQHBhcmFtIHRvYXN0UmVmIFJlZmVyZW5jZSB0byB0aGUgVG9hc3QuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRlbnRDb21wb25lbnRJbmplY3RvcjxUPihjb25maWc6IFAsIHRvYXN0UmVmOiBCYXNlVG9hc3RSZWY8VD4pOiBJbmplY3RvciB7XG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiB0aGlzLmdldENvbnRlbnRDb21wb25lbnRQcm92aWRlcnMoY29uZmlnLCB0b2FzdFJlZilcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFuaW1hdGVzIHRoZSBvbGQgVG9hc3Qgb3V0IGFuZCB0aGUgbmV3IG9uZSBpbi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYW5pbWF0ZVRvYXN0PFQ+KHRvYXN0UmVmOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3RSZWYucG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgLy8gV2hlbiB0aGUgdG9hc3QgaXMgZGlzbWlzc2VkLCBjbGVhciB0aGUgcmVmZXJlbmNlIHRvIGl0LlxuICAgICAgICB0b2FzdFJlZlxuICAgICAgICAgICAgLmFmdGVyRGlzbWlzc2VkKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhbGxUb2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuICAgICAgICAgICAgICAgIGFsbFRvYXN0cy5zcGxpY2UoYWxsVG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHMuc3BsaWNlKHRoaXMuX3RvYXN0cy5pbmRleE9mKHRvYXN0UmVmKSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG9hc3RzTWFwLnNldChwb3NpdGlvblN0cmF0ZWd5LCBhbGxUb2FzdHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0b2FzdFJlZi5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDcmVhdGVzIGEgbmV3IG92ZXJsYXkgYW5kIHBsYWNlcyBpdCBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jcmVhdGVPdmVybGF5KHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKTogeyBvdmVybGF5OiBPdmVybGF5UmVmOyBpc0FuY2hvcjogYm9vbGVhbiB9IHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG4gICAgICAgIG92ZXJsYXlDb25maWcuc2Nyb2xsU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5LnNjcm9sbFBvc2l0aW9uIHx8IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKTtcblxuICAgICAgICBjb25zdCB7IHBvc2l0aW9uLCBpc0FuY2hvciB9ID0gdGhpcy5fZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvbjtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wYW5lbENsYXNzID0gJ2ZkLXRvYXN0LW92ZXJsYXknO1xuICAgICAgICByZXR1cm4geyBvdmVybGF5OiB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpLCBpc0FuY2hvciB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcmV0dXJucyBJbml0aWFsIFBvc2l0aW9uIFN0cmF0ZWd5IG9mIHRoZSBUb2FzdCBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uKToge1xuICAgICAgICBwb3NpdGlvbjogUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgaXNBbmNob3I6IGJvb2xlYW47XG4gICAgfSB7XG4gICAgICAgIGNvbnN0IGxhc3RPdmVybGF5ID0gdGhpcy5fZ2V0TGFzdFRvYXN0V2l0aFNhbWVQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgICAgICBjb25zdCBnbG9iYWxPdmVybGF5ID0gdGhpcy5fdG9hc3RzTWFwLmdldChwb3NpdGlvblN0cmF0ZWd5KT8uZmluZCgoeyBfaXNBbmNob3IgfSkgPT4gX2lzQW5jaG9yKTtcblxuICAgICAgICBpZiAobGFzdE92ZXJsYXkgJiYgZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5fY29tcG9zZUZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb24oXG4gICAgICAgICAgICAgICAgICAgIGxhc3RPdmVybGF5Lm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlzQW5jaG9yOiBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHBvc2l0aW9uOiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSksIGlzQW5jaG9yOiB0cnVlIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBuZWVkbGVQb3NpdGlvblxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0TGFzdFRvYXN0V2l0aFNhbWVQb3NpdGlvbihuZWVkbGVQb3NpdGlvbjogQmFzZVRvYXN0UG9zaXRpb24pOiBCYXNlVG9hc3RSZWY8UCwgQz4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gWy4uLih0aGlzLl90b2FzdHNNYXAuZ2V0KG5lZWRsZVBvc2l0aW9uKSB8fCBbXSldPy5yZXZlcnNlKClbMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBjb25uZWN0ZWRFbG0gZWxlbWVudCB0byBjb25uZWN0IHdpdGguXG4gICAgICogQHBhcmFtIHBvc2l0aW9uU3RyYXRlZ3kgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKiBAcmV0dXJucyBGbGV4aWJsZSBDb25uZWN0ZWQgUG9zaXRpb24gU3RyYXRlZ3kgZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKFxuICAgICAgICBjb25uZWN0ZWRFbG06IEhUTUxFbGVtZW50LFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5IHx8IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oY29ubmVjdGVkRWxtKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuY29ubmVjdGVkXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIERlZmF1bHQgR2xvYmFsIFBvc2l0aW9uIGZvciBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wb3NlR2xvYmFsUG9zaXRpb24oXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB8IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGxldCBwb3NpdGlvbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHwgR2xvYmFsUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgaWYgKHRoaXMuX2lzQm91bmRHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbCkpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbC5ib3VuZFRvKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbF0pXG4gICAgICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gICAgICAgICAgICBjb25zdCBnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3k6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSBwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbDtcblxuICAgICAgICAgICAgZm9yIChjb25zdCBbcG9zLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZ2xvYmFsVG9hc3RQb3NpdGlvblN0cmF0ZWd5KSkge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAocG9zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24ubGVmdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24ucmlnaHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5ib3R0b20odmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi50b3AodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjZW50ZXJWZXJ0aWNhbGx5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuZm9yRWFjaCgodG9hc3RzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVPdmVybGF5UG9zaXRpb25TdHJhdGVneSh0b2FzdHMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0czogQmFzZVRvYXN0UmVmW10pOiB2b2lkIHtcbiAgICAgICAgdG9hc3RzLmZvckVhY2goKHRvYXN0UmVmKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0b2FzdFJlZik7XG4gICAgICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdG9hc3RSZWYub3ZlcmxheVJlZi5nZXRDb25maWcoKTtcblxuICAgICAgICAgICAgdG9hc3RSZWYub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICAgICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIGEgY3VycmVudCBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKiBAcmV0dXJucyBOZXcgUG9zaXRpb24gU3RyYXRlZ3kuXG4gICAgICogQHBhcmFtIHRvYXN0IFRvYXN0IFJlZmVyZW5jZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodG9hc3Q6IEJhc2VUb2FzdFJlZik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3QuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID8gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kgOiB0b2FzdC5wb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgICAgIGlmICh0b2FzdC5faXNBbmNob3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0b2FzdHM/LmZpbmQoKHsgX2lzQW5jaG9yIH0pID0+IF9pc0FuY2hvcik7XG5cbiAgICAgICAgaWYgKCFnbG9iYWxPdmVybGF5KSB7XG4gICAgICAgICAgICB0b2FzdC5faXNBbmNob3IgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBQcmV2aW91cyBvdmVybGF5IGl0ZW0uXG4gICAgICAgIGNvbnN0IG92ZXJsYXlJdGVtSW5kZXggPSB0b2FzdHMuZmluZEluZGV4KCh0KSA9PiB0ID09PSB0b2FzdCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzT3ZlcmxheSA9IHRvYXN0c1tvdmVybGF5SXRlbUluZGV4IC0gMV07XG4gICAgICAgIHRvYXN0Ll9pc0FuY2hvciA9IGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbihwcmV2aW91c092ZXJsYXkub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudCwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0JvdW5kR2xvYmFsUG9zaXRpb24ocG9zaXRpb246IGFueSk6IHBvc2l0aW9uIGlzIFRvYXN0R2xvYmFsQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgICAgICByZXR1cm4gISFwb3NpdGlvbi5ib3VuZFRvO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { RtlService } from './services/rtl.service';
4
- import { ThemesService } from './services/themes.service';
5
4
  import { AutoCompleteModule, ClickedBehaviorModule, DisabledBehaviorModule, FocusableGridModule, FocusableItemModule, FocusableListModule, InitialFocusModule, LineClampModule, OnlyDigitsModule, OverflowListModule, ReadonlyBehaviorModule, RepeatModule, ResizeModule, SelectableListModule, TemplateModule, TruncateModule, BreakpointModule, IntersectionSpyDirective } from './directives';
6
5
  import { DragAndDropModule } from './drag-and-drop/drag-and-drop.module';
7
6
  import * as i0 from "@angular/core";
@@ -45,7 +44,7 @@ export class UtilsModule {
45
44
  InitialFocusModule,
46
45
  BreakpointModule,
47
46
  IntersectionSpyDirective] }); }
48
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, providers: [RtlService, ThemesService], imports: [CommonModule,
47
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UtilsModule, providers: [RtlService], imports: [CommonModule,
49
48
  FocusableItemModule,
50
49
  FocusableListModule,
51
50
  FocusableGridModule,
@@ -128,7 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
128
127
  BreakpointModule,
129
128
  IntersectionSpyDirective
130
129
  ],
131
- providers: [RtlService, ThemesService]
130
+ providers: [RtlService]
132
131
  }]
133
132
  }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy91dGlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osWUFBWSxFQUNaLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDM0IsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBZ0R6RSxNQUFNLE9BQU8sV0FBVzs4R0FBWCxXQUFXOytHQUFYLFdBQVcsWUE1Q2hCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQix3QkFBd0IsYUFHeEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsd0JBQXdCOytHQUluQixXQUFXLGFBRlQsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLFlBMUNsQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0IsRUFJaEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixnQkFBZ0I7OzJGQUtYLFdBQVc7a0JBOUN2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3J0bC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZW1lc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RoZW1lcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgRm9jdXNhYmxlSXRlbU1vZHVsZSxcbiAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgIEluaXRpYWxGb2N1c01vZHVsZSxcbiAgICBMaW5lQ2xhbXBNb2R1bGUsXG4gICAgT25seURpZ2l0c01vZHVsZSxcbiAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICBSZXBlYXRNb2R1bGUsXG4gICAgUmVzaXplTW9kdWxlLFxuICAgIFNlbGVjdGFibGVMaXN0TW9kdWxlLFxuICAgIFRlbXBsYXRlTW9kdWxlLFxuICAgIFRydW5jYXRlTW9kdWxlLFxuICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgSW50ZXJzZWN0aW9uU3B5RGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcE1vZHVsZSB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUl0ZW1Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgICAgIERyYWdBbmREcm9wTW9kdWxlLFxuICAgICAgICBPbmx5RGlnaXRzTW9kdWxlLFxuICAgICAgICBUcnVuY2F0ZU1vZHVsZSxcbiAgICAgICAgTGluZUNsYW1wTW9kdWxlLFxuICAgICAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgICAgIFJlcGVhdE1vZHVsZSxcbiAgICAgICAgUmVzaXplTW9kdWxlLFxuICAgICAgICBUZW1wbGF0ZU1vZHVsZSxcbiAgICAgICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBTZWxlY3RhYmxlTGlzdE1vZHVsZSxcbiAgICAgICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBJbml0aWFsRm9jdXNNb2R1bGUsXG4gICAgICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgICAgIEludGVyc2VjdGlvblNweURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb2N1c2FibGVJdGVtTW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVHcmlkTW9kdWxlLFxuICAgICAgICBEcmFnQW5kRHJvcE1vZHVsZSxcbiAgICAgICAgT25seURpZ2l0c01vZHVsZSxcbiAgICAgICAgVHJ1bmNhdGVNb2R1bGUsXG4gICAgICAgIExpbmVDbGFtcE1vZHVsZSxcbiAgICAgICAgT3ZlcmZsb3dMaXN0TW9kdWxlLFxuICAgICAgICBSZXBlYXRNb2R1bGUsXG4gICAgICAgIFJlc2l6ZU1vZHVsZSxcbiAgICAgICAgVGVtcGxhdGVNb2R1bGUsXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgRGlzYWJsZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgU2VsZWN0YWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIFJlYWRvbmx5QmVoYXZpb3JNb2R1bGUsXG4gICAgICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgSW5pdGlhbEZvY3VzTW9kdWxlLFxuICAgICAgICBCcmVha3BvaW50TW9kdWxlLFxuICAgICAgICBJbnRlcnNlY3Rpb25TcHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1J0bFNlcnZpY2UsIFRoZW1lc1NlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzTW9kdWxlIHt9XG4iXX0=
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy91dGlscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUMzQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFnRHpFLE1BQU0sT0FBTyxXQUFXOzhHQUFYLFdBQVc7K0dBQVgsV0FBVyxZQTVDaEIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFlBQVk7WUFDWixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHdCQUF3QixhQUd4QixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQix3QkFBd0I7K0dBSW5CLFdBQVcsYUFGVCxDQUFDLFVBQVUsQ0FBQyxZQTFDbkIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFlBQVk7WUFDWixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsZ0JBQWdCLEVBSWhCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFlBQVk7WUFDWixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsZ0JBQWdCOzsyRkFLWCxXQUFXO2tCQTlDdkIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQix3QkFBd0I7cUJBQzNCO29CQUNELFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3J0bC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgRm9jdXNhYmxlSXRlbU1vZHVsZSxcbiAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgIEluaXRpYWxGb2N1c01vZHVsZSxcbiAgICBMaW5lQ2xhbXBNb2R1bGUsXG4gICAgT25seURpZ2l0c01vZHVsZSxcbiAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICBSZXBlYXRNb2R1bGUsXG4gICAgUmVzaXplTW9kdWxlLFxuICAgIFNlbGVjdGFibGVMaXN0TW9kdWxlLFxuICAgIFRlbXBsYXRlTW9kdWxlLFxuICAgIFRydW5jYXRlTW9kdWxlLFxuICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgSW50ZXJzZWN0aW9uU3B5RGlyZWN0aXZlXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcE1vZHVsZSB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUl0ZW1Nb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIEZvY3VzYWJsZUdyaWRNb2R1bGUsXG4gICAgICAgIERyYWdBbmREcm9wTW9kdWxlLFxuICAgICAgICBPbmx5RGlnaXRzTW9kdWxlLFxuICAgICAgICBUcnVuY2F0ZU1vZHVsZSxcbiAgICAgICAgTGluZUNsYW1wTW9kdWxlLFxuICAgICAgICBPdmVyZmxvd0xpc3RNb2R1bGUsXG4gICAgICAgIFJlcGVhdE1vZHVsZSxcbiAgICAgICAgUmVzaXplTW9kdWxlLFxuICAgICAgICBUZW1wbGF0ZU1vZHVsZSxcbiAgICAgICAgQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBEaXNhYmxlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBTZWxlY3RhYmxlTGlzdE1vZHVsZSxcbiAgICAgICAgUmVhZG9ubHlCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgQ2xpY2tlZEJlaGF2aW9yTW9kdWxlLFxuICAgICAgICBJbml0aWFsRm9jdXNNb2R1bGUsXG4gICAgICAgIEJyZWFrcG9pbnRNb2R1bGUsXG4gICAgICAgIEludGVyc2VjdGlvblNweURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb2N1c2FibGVJdGVtTW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVMaXN0TW9kdWxlLFxuICAgICAgICBGb2N1c2FibGVHcmlkTW9kdWxlLFxuICAgICAgICBEcmFnQW5kRHJvcE1vZHVsZSxcbiAgICAgICAgT25seURpZ2l0c01vZHVsZSxcbiAgICAgICAgVHJ1bmNhdGVNb2R1bGUsXG4gICAgICAgIExpbmVDbGFtcE1vZHVsZSxcbiAgICAgICAgT3ZlcmZsb3dMaXN0TW9kdWxlLFxuICAgICAgICBSZXBlYXRNb2R1bGUsXG4gICAgICAgIFJlc2l6ZU1vZHVsZSxcbiAgICAgICAgVGVtcGxhdGVNb2R1bGUsXG4gICAgICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcbiAgICAgICAgRGlzYWJsZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgU2VsZWN0YWJsZUxpc3RNb2R1bGUsXG4gICAgICAgIFJlYWRvbmx5QmVoYXZpb3JNb2R1bGUsXG4gICAgICAgIENsaWNrZWRCZWhhdmlvck1vZHVsZSxcbiAgICAgICAgSW5pdGlhbEZvY3VzTW9kdWxlLFxuICAgICAgICBCcmVha3BvaW50TW9kdWxlLFxuICAgICAgICBJbnRlcnNlY3Rpb25TcHlEaXJlY3RpdmVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1J0bFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFV0aWxzTW9kdWxlIHt9XG4iXX0=