ngx-tethys 17.0.13 → 17.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [17.0.14](https://github.com/atinc/ngx-tethys/compare/17.0.13...17.0.14) (2024-07-18)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **table:** fix table skeleton styles error #INFR-12877 ([#3118](https://github.com/atinc/ngx-tethys/issues/3118)) ([cf89598](https://github.com/atinc/ngx-tethys/commit/cf89598e1835f301f66ed511e1829e38b5d4a17f)), closes [#INFR-12877](https://github.com/atinc/ngx-tethys/issues/INFR-12877)
11
+ * **tree-select:** #INFR-12947 change treeNodes when thyVirtualScroll… ([#3124](https://github.com/atinc/ngx-tethys/issues/3124)) ([22c7e0a](https://github.com/atinc/ngx-tethys/commit/22c7e0ad501e6038dc71f774953d1ac05399baca)), closes [#INFR-12947](https://github.com/atinc/ngx-tethys/issues/INFR-12947)
12
+ * **upload:** error occurs when accessing the viewchild element in the setter of a static input property #INFR-1979 ([#3120](https://github.com/atinc/ngx-tethys/issues/3120)) ([3b45a23](https://github.com/atinc/ngx-tethys/commit/3b45a237d236107362201ad9903686298bcf540e)), closes [#INFR-1979](https://github.com/atinc/ngx-tethys/issues/INFR-1979)
13
+
14
+
15
+ ### Features
16
+
17
+ * **form:** change form-label's color to [#333](https://github.com/atinc/ngx-tethys/issues/333) #INFR-12861 ([f390a01](https://github.com/atinc/ngx-tethys/commit/f390a0161eb613dc34103e7df5436c4caf885f93)), closes [#INFR-12861](https://github.com/atinc/ngx-tethys/issues/INFR-12861)
18
+ * **menu:** thyMenuItemAction click support thy-memu-item hightlight … ([#3119](https://github.com/atinc/ngx-tethys/issues/3119)) ([a4b83c5](https://github.com/atinc/ngx-tethys/commit/a4b83c5799e78c699f59e57e26063a9e7d4cfc33))
19
+ * **popover:** support canPush config for flexible connected position strategy #INFR-2298 ([#3123](https://github.com/atinc/ngx-tethys/issues/3123)) ([b0f4455](https://github.com/atinc/ngx-tethys/commit/b0f4455bd6895bdac0eb973473ab2bfd022e4621)), closes [#INFR-2298](https://github.com/atinc/ngx-tethys/issues/INFR-2298) [#INFR-2298](https://github.com/atinc/ngx-tethys/issues/INFR-2298)
20
+ * **select:** change group name's font-size to 12px #INFR-12860 ([4083418](https://github.com/atinc/ngx-tethys/commit/4083418c64a27d93b21d9ce1898f326a81d53c47)), closes [#INFR-12860](https://github.com/atinc/ngx-tethys/issues/INFR-12860)
21
+ * **slider:** optimize styles for slider pointer #INFR-12896 ([#3121](https://github.com/atinc/ngx-tethys/issues/3121)) ([c9f1809](https://github.com/atinc/ngx-tethys/commit/c9f1809f2a8cc24a817cd96f936aaacbf55994a1)), closes [#INFR-12896](https://github.com/atinc/ngx-tethys/issues/INFR-12896) [#INFR-12896](https://github.com/atinc/ngx-tethys/issues/INFR-12896)
22
+
23
+
24
+
5
25
  ## [17.0.13](https://github.com/atinc/ngx-tethys/compare/17.0.12...17.0.13) (2024-07-03)
6
26
 
7
27
 
@@ -109,6 +109,12 @@ export declare class ThyAbstractOverlayConfig<TData = unknown> {
109
109
  * 关闭弹窗前的回调函数,返回 false 可阻止关闭弹窗
110
110
  */
111
111
  canClose?: (result?: unknown) => boolean;
112
+ /**
113
+ * 设置当提供的位置均不适合时是否可以将覆盖层推到屏幕上
114
+ * @description.en-us Sets whether the overlay can be pushed on-screen if none of the provided positions fit
115
+ * @default true
116
+ */
117
+ canPush?: boolean;
112
118
  }
113
119
  export interface ThyAbstractOverlayOptions {
114
120
  /** component name, e.g. dialog | popover | slide */
@@ -59,6 +59,12 @@ export class ThyAbstractOverlayConfig {
59
59
  * @description.en-us Whether the overlay should close when the user goes backwards/forwards in history.Note that this usually doesn't include clicking on links (unless the user is using the `HashLocationStrategy`).
60
60
  */
61
61
  this.closeOnNavigation = true;
62
+ /**
63
+ * 设置当提供的位置均不适合时是否可以将覆盖层推到屏幕上
64
+ * @description.en-us Sets whether the overlay can be pushed on-screen if none of the provided positions fit
65
+ * @default true
66
+ */
67
+ this.canPush = true;
62
68
  }
63
69
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtb3ZlcmxheS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9vdmVybGF5L2Fic3RyYWN0LW92ZXJsYXkuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBYUk7OztXQUdHO1FBQ0gsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFLcEM7OztXQUdHO1FBQ0gsZ0JBQVcsR0FBSSxJQUFJLENBQUM7UUFFcEI7OztXQUdHO1FBQ0gsa0JBQWEsR0FBdUIsRUFBRSxDQUFDO1FBRXZDOzs7V0FHRztRQUNILHFCQUFnQixHQUFJLElBQUksQ0FBQztRQUV6Qix3RkFBd0Y7UUFDeEYsaUJBQVksR0FBSSxLQUFLLENBQUM7UUFFdEI7Ozs7V0FJRztRQUNILFVBQUssR0FBSSxFQUFFLENBQUM7UUFFWjs7OztXQUlHO1FBQ0gsV0FBTSxHQUFJLEVBQUUsQ0FBQztRQTJCYjs7O1dBR0c7UUFDSCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFLbkMsb0RBQW9EO1FBQ3BELG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUV2QyxrREFBa0Q7UUFDbEQsY0FBUyxHQUFtQixJQUFJLENBQUM7UUFFakMsNEVBQTRFO1FBQzVFLGNBQVMsR0FBSSxJQUFJLENBQUM7UUFFbEI7OztXQUdHO1FBQ0gsaUJBQVksR0FBSSxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFDSCx3QkFBbUIsR0FBa0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0Q7OztXQUdHO1FBQ0gsc0JBQWlCLEdBQUksSUFBSSxDQUFDO0lBTTlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlBYnN0cmFjdE92ZXJsYXlQb3NpdGlvbiB7XG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIHRvcCBwb3NpdGlvbi4gKi9cbiAgICB0b3A/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICAgIGJvdHRvbT86IHN0cmluZztcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyBsZWZ0IHBvc2l0aW9uLiAqL1xuICAgIGxlZnQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgcmlnaHQgcG9zaXRpb24uICovXG4gICAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUaHlBYnN0cmFjdE92ZXJsYXlDb25maWc8VERhdGEgPSB1bmtub3duPiB7XG4gICAgLyoqXG4gICAgICog5b2T5YmN55qE57uE5Lu255qEIHZpZXdDb250YWluZXJSZWbvvIzmjIflrprlkI7lvLnlh7rnmoTnu4Tku7bnmoTniLbms6jlhaXlmajkuLrlvZPliY3nu4Tku7bnmoTms6jlhaXlmahcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlRoaXMgYWZmZWN0cyB3aGF0IGlzIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIGFuZCB0aGUgY2hhbmdlIGRldGVjdGlvbiBvcmRlciBmb3IgdGhlIGNvbXBvbmVudCBpbnN0YW50aWF0ZWQgaW5zaWRlIG9mIHRoZSBvdmVybGF5LiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgb3ZlcmxheSBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICovXG4gICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbnmoTllK/kuIDmoIfor4ZcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSUQgZm9yIHRoZSBvdmVybGF5LiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgaWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBvdmVybGF5IHBhbmVsIOexu+WQjVxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IHBhbmUuXG4gICAgICovXG4gICAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgICAvKiogQ3VzdG9tIGNsYXNzIGZvciB0aGUgb3ZlcmxheSBjb21wb25lbnQncyBob3N0IGVsZW1lbnQuICovXG4gICAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInluZXluINcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hldGhlciB0aGUgb3ZlcmxheSBoYXMgYSBiYWNrZHJvcC5cbiAgICAgKi9cbiAgICBoYXNCYWNrZHJvcD8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5bmV5biD55qE5qC35byPXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wLlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIOeCueWHu+W5leW4g+aIluiAheaMiUVTQ+mUruaYr+WQpuiHquWKqOWFs+mXreW8ueWHuuahhu+8jGhhc0JhY2tkcm9wPXRydWUg5pe26K+l5Y+C5pWw6LW35L2c55SoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wIHRvIGNsb3NlIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xvc2FibGU/ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcCB0byBjbG9zZSB0aGUgb3ZlcmxheS4gKi9cbiAgICBkaXNhYmxlQ2xvc2U/ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlvLnlh7rmoYbnmoTlrr3luqZcbiAgICAgKiBAZGVmYXVsdCA2NjBweFxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBXaWR0aCBvZiB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICB3aWR0aD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieW8ueWHuuahhueahOmrmOW6plxuICAgICAqIEBkZWZhdWx0IDg1dmhcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSGVpZ2h0IG9mIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGhlaWdodD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+WuveW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4td2lkdGggb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+mrmOW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICovXG4gICAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG5pyA5aSn5a695bqmXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLiBEZWZhdWx0cyB0byA4MHZ3XG4gICAgICovXG4gICAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbmnIDlpKfpq5jluqZcbiAgICAgKiBAZGVmYXVsdCA4NXZoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtYXhIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDkvKDlhaXnmoTliJ3lp4vljJbnirbmgIHvvIzlvLnlh7rnu4Tku7bnmoTlj5jph4/kvJroh6rliqjotYvlgLzvvIzlnKggbmdPbkluaXQg55Sf5ZG95ZGo5pyf6ZKp5a2Q5Y+v5Lul6I635Y+W5Yiw77yM5p6E6YCg5Ye95pWw6I635Y+W5LiN5YiwXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxTdGF0ZT86IFREYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogTGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIG92ZXJsYXkncyBjb250ZW50LiAqL1xuICAgIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcblxuICAgIC8qKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgb3ZlcmxheS4gKi9cbiAgICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBBcmlhIGxhYmVsIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheSBlbGVtZW50ICovXG4gICAgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uIG9wZW4uICovXG4gICAgYXV0b0ZvY3VzPyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHNob3VsZCByZXN0b3JlIGZvY3VzIHRvIHRoZVxuICAgICAqIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50LCBhZnRlciBpdCdzIGNsb3NlZC5cbiAgICAgKi9cbiAgICByZXN0b3JlRm9jdXM/ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIENvbnRyb2wgdGhlIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50IGZvY3VzaW5nIHByb2Nlc3MuXG4gICAgICovXG4gICAgcmVzdG9yZUZvY3VzT3B0aW9ucz86IEZvY3VzT3B0aW9ucyA9IHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9O1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5rWP6KeI5Zmo5a+86Iiq5piv5ZCm6Ieq5Yqo5YWz6Zet5by55Ye65qGGXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIG92ZXJsYXkgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIHVzZXIgZ29lcyBiYWNrd2FyZHMvZm9yd2FyZHMgaW4gaGlzdG9yeS5Ob3RlIHRoYXQgdGhpcyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBjbGlja2luZyBvbiBsaW5rcyAodW5sZXNzIHRoZSB1c2VyIGlzIHVzaW5nIHRoZSBgSGFzaExvY2F0aW9uU3RyYXRlZ3lgKS5cbiAgICAgKi9cbiAgICBjbG9zZU9uTmF2aWdhdGlvbj8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5YWz6Zet5by556qX5YmN55qE5Zue6LCD5Ye95pWw77yM6L+U5ZueIGZhbHNlIOWPr+mYu+atouWFs+mXreW8ueeql1xuICAgICAqL1xuICAgIGNhbkNsb3NlPzogKHJlc3VsdD86IHVua25vd24pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh5QWJzdHJhY3RPdmVybGF5T3B0aW9ucyB7XG4gICAgLyoqIGNvbXBvbmVudCBuYW1lLCBlLmcuIGRpYWxvZyB8IHBvcG92ZXIgfCBzbGlkZSAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogV2hldGhlciBlbmFibGUgYW5pbWF0aW9uICovXG4gICAgYW5pbWF0aW9uRW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogV2hldGhlciBkaXNwb3NlIGNkayBvdmVybGF5IHJlZiB3aGVuIGNsb3NlIHVwcGVyIG92ZXJsYXkgKi9cbiAgICBkaXNwb3NlV2hlbkNsb3NlOiBib29sZWFuO1xufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtb3ZlcmxheS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9vdmVybGF5L2Fic3RyYWN0LW92ZXJsYXkuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBYUk7OztXQUdHO1FBQ0gsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFLcEM7OztXQUdHO1FBQ0gsZ0JBQVcsR0FBSSxJQUFJLENBQUM7UUFFcEI7OztXQUdHO1FBQ0gsa0JBQWEsR0FBdUIsRUFBRSxDQUFDO1FBRXZDOzs7V0FHRztRQUNILHFCQUFnQixHQUFJLElBQUksQ0FBQztRQUV6Qix3RkFBd0Y7UUFDeEYsaUJBQVksR0FBSSxLQUFLLENBQUM7UUFFdEI7Ozs7V0FJRztRQUNILFVBQUssR0FBSSxFQUFFLENBQUM7UUFFWjs7OztXQUlHO1FBQ0gsV0FBTSxHQUFJLEVBQUUsQ0FBQztRQTJCYjs7O1dBR0c7UUFDSCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFLbkMsb0RBQW9EO1FBQ3BELG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUV2QyxrREFBa0Q7UUFDbEQsY0FBUyxHQUFtQixJQUFJLENBQUM7UUFFakMsNEVBQTRFO1FBQzVFLGNBQVMsR0FBSSxJQUFJLENBQUM7UUFFbEI7OztXQUdHO1FBQ0gsaUJBQVksR0FBSSxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFDSCx3QkFBbUIsR0FBa0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0Q7OztXQUdHO1FBQ0gsc0JBQWlCLEdBQUksSUFBSSxDQUFDO1FBTzFCOzs7O1dBSUc7UUFDSCxZQUFPLEdBQUksSUFBSSxDQUFDO0lBQ3BCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlBYnN0cmFjdE92ZXJsYXlQb3NpdGlvbiB7XG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIHRvcCBwb3NpdGlvbi4gKi9cbiAgICB0b3A/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICAgIGJvdHRvbT86IHN0cmluZztcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyBsZWZ0IHBvc2l0aW9uLiAqL1xuICAgIGxlZnQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgcmlnaHQgcG9zaXRpb24uICovXG4gICAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUaHlBYnN0cmFjdE92ZXJsYXlDb25maWc8VERhdGEgPSB1bmtub3duPiB7XG4gICAgLyoqXG4gICAgICog5b2T5YmN55qE57uE5Lu255qEIHZpZXdDb250YWluZXJSZWbvvIzmjIflrprlkI7lvLnlh7rnmoTnu4Tku7bnmoTniLbms6jlhaXlmajkuLrlvZPliY3nu4Tku7bnmoTms6jlhaXlmahcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlRoaXMgYWZmZWN0cyB3aGF0IGlzIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIGFuZCB0aGUgY2hhbmdlIGRldGVjdGlvbiBvcmRlciBmb3IgdGhlIGNvbXBvbmVudCBpbnN0YW50aWF0ZWQgaW5zaWRlIG9mIHRoZSBvdmVybGF5LiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgb3ZlcmxheSBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICovXG4gICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbnmoTllK/kuIDmoIfor4ZcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSUQgZm9yIHRoZSBvdmVybGF5LiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgaWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBvdmVybGF5IHBhbmVsIOexu+WQjVxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IHBhbmUuXG4gICAgICovXG4gICAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgICAvKiogQ3VzdG9tIGNsYXNzIGZvciB0aGUgb3ZlcmxheSBjb21wb25lbnQncyBob3N0IGVsZW1lbnQuICovXG4gICAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInluZXluINcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hldGhlciB0aGUgb3ZlcmxheSBoYXMgYSBiYWNrZHJvcC5cbiAgICAgKi9cbiAgICBoYXNCYWNrZHJvcD8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5bmV5biD55qE5qC35byPXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wLlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIOeCueWHu+W5leW4g+aIluiAheaMiUVTQ+mUruaYr+WQpuiHquWKqOWFs+mXreW8ueWHuuahhu+8jGhhc0JhY2tkcm9wPXRydWUg5pe26K+l5Y+C5pWw6LW35L2c55SoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wIHRvIGNsb3NlIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xvc2FibGU/ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcCB0byBjbG9zZSB0aGUgb3ZlcmxheS4gKi9cbiAgICBkaXNhYmxlQ2xvc2U/ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlvLnlh7rmoYbnmoTlrr3luqZcbiAgICAgKiBAZGVmYXVsdCA2NjBweFxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBXaWR0aCBvZiB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICB3aWR0aD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieW8ueWHuuahhueahOmrmOW6plxuICAgICAqIEBkZWZhdWx0IDg1dmhcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSGVpZ2h0IG9mIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGhlaWdodD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+WuveW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4td2lkdGggb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+mrmOW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICovXG4gICAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG5pyA5aSn5a695bqmXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLiBEZWZhdWx0cyB0byA4MHZ3XG4gICAgICovXG4gICAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbmnIDlpKfpq5jluqZcbiAgICAgKiBAZGVmYXVsdCA4NXZoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtYXhIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDkvKDlhaXnmoTliJ3lp4vljJbnirbmgIHvvIzlvLnlh7rnu4Tku7bnmoTlj5jph4/kvJroh6rliqjotYvlgLzvvIzlnKggbmdPbkluaXQg55Sf5ZG95ZGo5pyf6ZKp5a2Q5Y+v5Lul6I635Y+W5Yiw77yM5p6E6YCg5Ye95pWw6I635Y+W5LiN5YiwXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxTdGF0ZT86IFREYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogTGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIG92ZXJsYXkncyBjb250ZW50LiAqL1xuICAgIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcblxuICAgIC8qKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgb3ZlcmxheS4gKi9cbiAgICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBBcmlhIGxhYmVsIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheSBlbGVtZW50ICovXG4gICAgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uIG9wZW4uICovXG4gICAgYXV0b0ZvY3VzPyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHNob3VsZCByZXN0b3JlIGZvY3VzIHRvIHRoZVxuICAgICAqIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50LCBhZnRlciBpdCdzIGNsb3NlZC5cbiAgICAgKi9cbiAgICByZXN0b3JlRm9jdXM/ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIENvbnRyb2wgdGhlIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50IGZvY3VzaW5nIHByb2Nlc3MuXG4gICAgICovXG4gICAgcmVzdG9yZUZvY3VzT3B0aW9ucz86IEZvY3VzT3B0aW9ucyA9IHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9O1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5rWP6KeI5Zmo5a+86Iiq5piv5ZCm6Ieq5Yqo5YWz6Zet5by55Ye65qGGXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIG92ZXJsYXkgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIHVzZXIgZ29lcyBiYWNrd2FyZHMvZm9yd2FyZHMgaW4gaGlzdG9yeS5Ob3RlIHRoYXQgdGhpcyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBjbGlja2luZyBvbiBsaW5rcyAodW5sZXNzIHRoZSB1c2VyIGlzIHVzaW5nIHRoZSBgSGFzaExvY2F0aW9uU3RyYXRlZ3lgKS5cbiAgICAgKi9cbiAgICBjbG9zZU9uTmF2aWdhdGlvbj8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5YWz6Zet5by556qX5YmN55qE5Zue6LCD5Ye95pWw77yM6L+U5ZueIGZhbHNlIOWPr+mYu+atouWFs+mXreW8ueeql1xuICAgICAqL1xuICAgIGNhbkNsb3NlPzogKHJlc3VsdD86IHVua25vd24pID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvZPmj5DkvpvnmoTkvY3nva7lnYfkuI3pgILlkIjml7bmmK/lkKblj6/ku6XlsIbopobnm5blsYLmjqjliLDlsY/luZXkuIpcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgU2V0cyB3aGV0aGVyIHRoZSBvdmVybGF5IGNhbiBiZSBwdXNoZWQgb24tc2NyZWVuIGlmIG5vbmUgb2YgdGhlIHByb3ZpZGVkIHBvc2l0aW9ucyBmaXRcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgY2FuUHVzaD8gPSB0cnVlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUFic3RyYWN0T3ZlcmxheU9wdGlvbnMge1xuICAgIC8qKiBjb21wb25lbnQgbmFtZSwgZS5nLiBkaWFsb2cgfCBwb3BvdmVyIHwgc2xpZGUgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFdoZXRoZXIgZW5hYmxlIGFuaW1hdGlvbiAqL1xuICAgIGFuaW1hdGlvbkVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZXRoZXIgZGlzcG9zZSBjZGsgb3ZlcmxheSByZWYgd2hlbiBjbG9zZSB1cHBlciBvdmVybGF5ICovXG4gICAgZGlzcG9zZVdoZW5DbG9zZTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
2
- import { ThyPopover } from 'ngx-tethys/popover';
1
+ import { ThyPopover, ThyPopoverConfig } from 'ngx-tethys/popover';
3
2
  import { coerceBooleanProperty } from 'ngx-tethys/util';
3
+ import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "ngx-tethys/popover";
6
6
  /**
@@ -28,10 +28,17 @@ export class ThyMenuItemAction {
28
28
  event.stopPropagation();
29
29
  }
30
30
  if (this._actionMenu) {
31
- this.popover.open(this._actionMenu, {
31
+ const activeClass = 'action-active';
32
+ const wrapDOM = event.target.closest('.thy-menu-item');
33
+ wrapDOM?.classList.add(activeClass);
34
+ const popoverRef = this.popover.open(this._actionMenu, Object.assign({
32
35
  origin: event.currentTarget,
33
36
  insideClosable: true,
34
- placement: 'bottom'
37
+ placement: 'bottomLeft',
38
+ originActiveClass: 'active'
39
+ }, this.thyPopoverOptions));
40
+ popoverRef?.afterClosed().subscribe(() => {
41
+ wrapDOM?.classList.remove(activeClass);
35
42
  });
36
43
  }
37
44
  });
@@ -51,7 +58,7 @@ export class ThyMenuItemAction {
51
58
  this.removeClickListenerFn?.();
52
59
  }
53
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyMenuItemAction, deps: [{ token: i1.ThyPopover }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", coerceBooleanProperty] }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", coerceBooleanProperty], thyPopoverOptions: "thyPopoverOptions" }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
55
62
  }
56
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyMenuItemAction, decorators: [{
57
64
  type: Component,
@@ -63,5 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
63
70
  }], thyStopPropagation: [{
64
71
  type: Input,
65
72
  args: [{ transform: coerceBooleanProperty }]
73
+ }], thyPopoverOptions: [{
74
+ type: Input
66
75
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9pdGVtL2FjdGlvbi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2l0ZW0vYWN0aW9uL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUV4RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjs7T0FFRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQTRDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQU9PLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hDLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBNEI7b0JBQzFDLGNBQWMsRUFBRSxJQUFJO29CQUNwQixTQUFTLEVBQUUsUUFBUTtpQkFDdEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUlELFlBQW9CLE9BQW1CLEVBQVUsUUFBbUIsRUFBVSxVQUFzQjtRQUFoRixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6Q3BHLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBZXBCOztXQUVHO1FBQzBDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQXFCL0QsMEJBQXFCLEdBQXdCLElBQUksQ0FBQztJQUU2QyxDQUFDO0lBRXhHLFdBQVc7UUFDUCxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBOUNRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhNQW1CTixxQkFBcUIsK0VDckM3Qyw2QkFDQTs7MkZEaUJhLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDSSxpRUFBaUUsUUFFckU7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEMsY0FDVyxJQUFJO2dJQVdaLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV3VDLGtCQUFrQjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOiPnOWNlemhueaTjeS9nOe7hOS7tlxuICogQG5hbWUgdGh5LW1lbnUtaXRlbS1hY3Rpb24sW3RoeS1tZW51LWl0ZW0tYWN0aW9uXSxbdGh5TWVudUl0ZW1BY3Rpb25dXG4gKiBAb3JkZXIgMjVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktbWVudS1pdGVtLWFjdGlvbixbdGh5LW1lbnUtaXRlbS1hY3Rpb25dLFt0aHlNZW51SXRlbUFjdGlvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LW1lbnUtaXRlbS1hY3Rpb24nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeU1lbnVJdGVtQWN0aW9uIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBfYm91bmRFdmVudCA9IGZhbHNlO1xuXG4gICAgX2FjdGlvbk1lbnU6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gQWN0aW9uIOiPnOWNlVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUFjdGlvbk1lbnUodmFsdWU6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICAgICAgdGhpcy5fYWN0aW9uTWVudSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fYWN0aW9uTWVudSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kQ2xpY2tFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Zi75q2i5LqL5Lu25YaS5rOhXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5U3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgYmluZENsaWNrRXZlbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9ib3VuZEV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYm91bmRFdmVudCA9IHRydWU7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lckZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX2FjdGlvbk1lbnUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIub3Blbih0aGlzLl9hY3Rpb25NZW51LCB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbSdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVDbGlja0xpc3RlbmVyRm46IFZvaWRGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyOiBUaHlQb3BvdmVyLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXJGbj8uKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9pdGVtL2FjdGlvbi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2l0ZW0vYWN0aW9uL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUVoRzs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjs7T0FFRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQTRDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQWFPLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztnQkFDcEMsTUFBTSxPQUFPLEdBQUksS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDaEMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FDVDtvQkFDSSxNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQTRCO29CQUMxQyxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsU0FBUyxFQUFFLFlBQVk7b0JBQ3ZCLGlCQUFpQixFQUFFLFFBQVE7aUJBQzlCLEVBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUN6QixDQUNKLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3JDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxZQUFvQixPQUFtQixFQUFVLFFBQW1CLEVBQVUsVUFBc0I7UUFBaEYsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNURwRyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWVwQjs7V0FFRztRQUMwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUF3Qy9ELDBCQUFxQixHQUF3QixJQUFJLENBQUM7SUFFNkMsQ0FBQztJQUV4RyxXQUFXO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWpFUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4TUFtQk4scUJBQXFCLHVIQ3RDN0MsNkJBQ0E7OzJGRGtCYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0ksaUVBQWlFLFFBRXJFO3dCQUNGLEtBQUssRUFBRSxzQkFBc0I7cUJBQ2hDLGNBQ1csSUFBSTtnSUFXWixhQUFhO3NCQURoQixLQUFLO2dCQVd1QyxrQkFBa0I7c0JBQTlELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJDb25maWcgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog6I+c5Y2V6aG55pON5L2c57uE5Lu2XG4gKiBAbmFtZSB0aHktbWVudS1pdGVtLWFjdGlvbixbdGh5LW1lbnUtaXRlbS1hY3Rpb25dLFt0aHlNZW51SXRlbUFjdGlvbl1cbiAqIEBvcmRlciAyNVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1tZW51LWl0ZW0tYWN0aW9uLFt0aHktbWVudS1pdGVtLWFjdGlvbl0sW3RoeU1lbnVJdGVtQWN0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktbWVudS1pdGVtLWFjdGlvbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudUl0ZW1BY3Rpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIF9ib3VuZEV2ZW50ID0gZmFsc2U7XG5cbiAgICBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBBY3Rpb24g6I+c5Y2VXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uTWVudSh2YWx1ZTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9hY3Rpb25NZW51ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLmJpbmRDbGlja0V2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbpmLvmraLkuovku7blhpLms6FcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlTdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG55qE5Y+C5pWwXG4gICAgICogQGRlZmF1bHQgeyBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLCBpbnNpZGVDbG9zYWJsZTogdHJ1ZSB9XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9wb3Zlck9wdGlvbnM6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICBwcml2YXRlIGJpbmRDbGlja0V2ZW50KCkge1xuICAgICAgICBpZiAodGhpcy5fYm91bmRFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2JvdW5kRXZlbnQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlTdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlQ2xhc3MgPSAnYWN0aW9uLWFjdGl2ZSc7XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcERPTSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktbWVudS1pdGVtJyk7XG4gICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LmFkZChhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25NZW51LFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJPcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHBvcG92ZXJSZWY/LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LnJlbW92ZShhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2xpY2tMaXN0ZW5lckZuOiBWb2lkRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDbGlja0xpc3RlbmVyRm4/LigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -28,6 +28,7 @@ export class ThyPopover extends ThyAbstractOverlayService {
28
28
  const positionStrategy = new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);
29
29
  const positions = getFlexiblePositions(config.placement, config.offset, 'thy-popover');
30
30
  positionStrategy.withPositions(positions);
31
+ positionStrategy.withPush(config.canPush);
31
32
  positionStrategy.withGrowAfterOpen(true);
32
33
  positionStrategy.withTransformOriginOn('.thy-popover-container');
33
34
  positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {
@@ -209,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
209
210
  type: Inject,
210
211
  args: [DOCUMENT]
211
212
  }] }, { type: i2.Platform }, { type: i1.OverlayContainer }] });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ25CLE1BQU0sa0JBQWtCLENB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QUFDLDBCQUEwQjs7MEJBRWpDLE1BQU07MkJBQUMsMkJBQTJCOzswQkFJbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYsIGdldEZsZXhpYmxlUG9zaXRpb25zLCBUaHlBYnN0cmFjdE92ZXJsYXlSZWYsIFRoeUFic3RyYWN0T3ZlcmxheVNlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25Qcm9wLCBpc0Z1bmN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luLFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5Q29udGFpbmVyLFxuICAgIE92ZXJsYXlSZWYsXG4gICAgUG9zaXRpb25TdHJhdGVneSxcbiAgICBTY3JvbGxTdHJhdGVneSxcbiAgICBWaWV3cG9ydFJ1bGVyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTdGF0aWNQcm92aWRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbnRhaW5lciB9IGZyb20gJy4vcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUludGVybmFsUG9wb3ZlclJlZiwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHtcbiAgICBUSFlfUE9QT1ZFUl9ERUZBVUxUX0NPTkZJRyxcbiAgICBUSFlfUE9QT1ZFUl9ERUZBVUxUX0NPTkZJR19WQUxVRSxcbiAgICBUSFlfUE9QT1ZFUl9TQ1JPTExfU1RSQVRFR1ksXG4gICAgVGh5UG9wb3ZlckNvbmZpZ1xufSBmcm9tICcuL3BvcG92ZXIuY29uZmlnJztcbmltcG9ydCB7IHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zIH0gZnJvbSAnLi9wb3BvdmVyLm9wdGlvbnMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBvcmRlciAxMFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGh5UG9wb3ZlciBleHRlbmRzIFRoeUFic3RyYWN0T3ZlcmxheVNlcnZpY2U8VGh5UG9wb3ZlckNvbmZpZywgVGh5UG9wb3ZlckNvbnRhaW5lcj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW5JbnN0YW5jZXNNYXAgPSBuZXcgTWFwPFxuICAgICAgICBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZztcbiAgICAgICAgICAgIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55LCBhbnk+O1xuICAgICAgICB9XG4gICAgPigpO1xuXG4gICAgcHJpdmF0ZSBidWlsZFBvc2l0aW9uU3RyYXRlZ3k8VERhdGE+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT4pOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4gPSBjb25maWcub3JpZ2luUG9zaXRpb24gPyBjb25maWcub3JpZ2luUG9zaXRpb24gOiBjb25maWcub3JpZ2luO1xuICAgICAgICAvLyBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pO1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gbmV3IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXIsXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudCxcbiAgICAgICAgICAgIHRoaXMuX3BsYXRmb3JtLFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheUNvbnRhaW5lclxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBnZXRGbGV4aWJsZVBvc2l0aW9ucyhjb25maWcucGxhY2VtZW50LCBjb25maWcub2Zmc2V0LCAndGh5LXBvcG92ZXInKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKHBvc2l0aW9ucyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHKVxuICAgICAgICBkZWZhdWx0Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnLFxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSlcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IEZ1bmN0aW9uUHJvcDxTY3JvbGxTdHJhdGVneT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ25CLE1BQU0sa0JBQWtCLENB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VTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBaUhGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQywyQkFBMkI7OzBCQUlsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZiwgZ2V0RmxleGlibGVQb3NpdGlvbnMsIFRoeUFic3RyYWN0T3ZlcmxheVJlZiwgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBGdW5jdGlvblByb3AsIGlzRnVuY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZixcbiAgICBQb3NpdGlvblN0cmF0ZWd5LFxuICAgIFNjcm9sbFN0cmF0ZWd5LFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SW50ZXJuYWxQb3BvdmVyUmVmLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQge1xuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHLFxuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgIFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBUaHlQb3BvdmVyQ29uZmlnXG59IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgcG9wb3ZlckFic3RyYWN0T3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIub3B0aW9ucyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQG9yZGVyIDEwXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyIGV4dGVuZHMgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZTxUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyQ29udGFpbmVyPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9yaWdpbkluc3RhbmNlc01hcCA9IG5ldyBNYXA8XG4gICAgICAgIEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCxcbiAgICAgICAge1xuICAgICAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuICAgICAgICAgICAgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnksIGFueT47XG4gICAgICAgIH1cbiAgICA+KCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkUG9zaXRpb25TdHJhdGVneTxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBvcmlnaW46IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiA9IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA/IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA6IGNvbmZpZy5vcmlnaW47XG4gICAgICAgIC8vIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbik7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBuZXcgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlcixcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0sXG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5Q29udGFpbmVyXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKGNvbmZpZy5wbGFjZW1lbnQsIGNvbmZpZy5vZmZzZXQsICd0aHktcG9wb3ZlcicpO1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUHVzaChjb25maWcuY2FuUHVzaCk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHKVxuICAgICAgICBkZWZhdWx0Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnLFxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSlcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IEZ1bmN0aW9uUHJvcDxTY3JvbGxTdHJhdGVneT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19