ngx-tethys 14.0.8 → 14.0.10

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 (58) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/carousel/carousel-item.directive.d.ts +4 -1
  3. package/carousel/carousel.component.d.ts +8 -1
  4. package/carousel/carousel.service.d.ts +3 -0
  5. package/carousel/examples/arrow/arrow.component.scss +1 -7
  6. package/carousel/examples/auto-play/auto-play.component.scss +1 -7
  7. package/carousel/examples/basic/basic.component.scss +0 -6
  8. package/carousel/examples/dot/dot.component.scss +0 -6
  9. package/carousel/examples/effect/effect.component.scss +1 -6
  10. package/carousel/examples/touchable/touchable.component.scss +0 -6
  11. package/carousel/examples/trigger/trigger.component.scss +0 -19
  12. package/carousel/styles/carousel.scss +29 -10
  13. package/carousel/styles/variables.scss +2 -0
  14. package/carousel/typings.d.ts +1 -1
  15. package/esm2020/carousel/carousel-item.directive.mjs +6 -3
  16. package/esm2020/carousel/carousel.component.mjs +6 -5
  17. package/esm2020/carousel/carousel.service.mjs +5 -2
  18. package/esm2020/carousel/typings.mjs +1 -1
  19. package/esm2020/table/index.mjs +3 -2
  20. package/esm2020/table/pipes/drag.pipe.mjs +16 -0
  21. package/esm2020/table/{table.pipe.mjs → pipes/table.pipe.mjs} +1 -1
  22. package/esm2020/table/table.component.mjs +84 -13
  23. package/esm2020/table/table.module.mjs +5 -4
  24. package/esm2020/tabs/tabs.component.mjs +30 -4
  25. package/esm2020/tree/tree.component.mjs +2 -1
  26. package/esm2020/version.mjs +2 -2
  27. package/fesm2015/ngx-tethys-carousel.mjs +14 -7
  28. package/fesm2015/ngx-tethys-carousel.mjs.map +1 -1
  29. package/fesm2015/ngx-tethys-table.mjs +98 -14
  30. package/fesm2015/ngx-tethys-table.mjs.map +1 -1
  31. package/fesm2015/ngx-tethys-tabs.mjs +30 -3
  32. package/fesm2015/ngx-tethys-tabs.mjs.map +1 -1
  33. package/fesm2015/ngx-tethys-tree.mjs +1 -0
  34. package/fesm2015/ngx-tethys-tree.mjs.map +1 -1
  35. package/fesm2015/ngx-tethys.mjs +1 -1
  36. package/fesm2015/ngx-tethys.mjs.map +1 -1
  37. package/fesm2020/ngx-tethys-carousel.mjs +14 -7
  38. package/fesm2020/ngx-tethys-carousel.mjs.map +1 -1
  39. package/fesm2020/ngx-tethys-table.mjs +98 -14
  40. package/fesm2020/ngx-tethys-table.mjs.map +1 -1
  41. package/fesm2020/ngx-tethys-tabs.mjs +29 -3
  42. package/fesm2020/ngx-tethys-tabs.mjs.map +1 -1
  43. package/fesm2020/ngx-tethys-tree.mjs +1 -0
  44. package/fesm2020/ngx-tethys-tree.mjs.map +1 -1
  45. package/fesm2020/ngx-tethys.mjs +1 -1
  46. package/fesm2020/ngx-tethys.mjs.map +1 -1
  47. package/package.json +1 -1
  48. package/schematics/version.d.ts +1 -1
  49. package/schematics/version.js +1 -1
  50. package/table/index.d.ts +2 -1
  51. package/table/pipes/drag.pipe.d.ts +8 -0
  52. package/table/{table.pipe.d.ts → pipes/table.pipe.d.ts} +0 -0
  53. package/table/styles/table.scss +10 -1
  54. package/table/table.component.d.ts +13 -4
  55. package/table/table.module.d.ts +13 -12
  56. package/tabs/styles/tabs.scss +1 -1
  57. package/tabs/tabs.component.d.ts +7 -2
  58. package/time-picker/styles/time-picker.scss +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
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
+ ## [14.0.10](https://github.com/atinc/ngx-tethys/compare/14.0.9...14.0.10) (2022-09-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **tabs:** adjust activeIndexTab #INFR-4697 ([#2200](https://github.com/atinc/ngx-tethys/issues/2200)) ([68d0d80](https://github.com/atinc/ngx-tethys/commit/68d0d804292f57a132fa8dca0621851231f9f6da)), closes [#INFR-4697](https://github.com/atinc/ngx-tethys/issues/INFR-4697)
11
+ * **tabs:** remove tabs overflow: hidden #INFR-4869 ([35d8f59](https://github.com/atinc/ngx-tethys/commit/35d8f59d27aeaea317a68986df1e07f351aa7fc8)), closes [#INFR-4869](https://github.com/atinc/ngx-tethys/issues/INFR-4869)
12
+ * **time-picker:** fix icon position error on Safira #INFR-4681 ([6a9e03f](https://github.com/atinc/ngx-tethys/commit/6a9e03f17719443cb4dc44db0a758136003b9443)), closes [#INFR-4681](https://github.com/atinc/ngx-tethys/issues/INFR-4681)
13
+ * **tree:** fix tree thyIndent default value 25 #INFR-4704 ([#2201](https://github.com/atinc/ngx-tethys/issues/2201)) ([61b139b](https://github.com/atinc/ngx-tethys/commit/61b139b0ac96cff6b84a57b12ffa1045c3a9b533)), closes [#INFR-4704](https://github.com/atinc/ngx-tethys/issues/INFR-4704)
14
+
15
+
16
+ ### Features
17
+
18
+ * **carousel:** beautify the carousel components #INFR-4172 ([#2197](https://github.com/atinc/ngx-tethys/issues/2197)) ([585f40a](https://github.com/atinc/ngx-tethys/commit/585f40aa47edf5905f2f06ead3e35702d550136a)), closes [#INFR-4172](https://github.com/atinc/ngx-tethys/issues/INFR-4172)
19
+
20
+
21
+
22
+ ## [14.0.9](https://github.com/atinc/ngx-tethys/compare/14.0.8...14.0.9) (2022-09-15)
23
+
24
+
25
+ ### Features
26
+
27
+ * **table:** drag table group #INFR-4620 ([#2186](https://github.com/atinc/ngx-tethys/issues/2186)) ([6420758](https://github.com/atinc/ngx-tethys/commit/64207587128714fc6c19ea4cbdae56f4537062ad)), closes [#INFR-4620](https://github.com/atinc/ngx-tethys/issues/INFR-4620)
28
+
29
+
30
+
5
31
  ## [14.0.8](https://github.com/atinc/ngx-tethys/compare/14.0.7...14.0.8) (2022-09-15)
6
32
 
7
33
 
@@ -1,5 +1,8 @@
1
1
  import { ElementRef, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @private
5
+ */
3
6
  export declare class ThyCarouselItemDirective {
4
7
  private renderer;
5
8
  private _active;
@@ -8,5 +11,5 @@ export declare class ThyCarouselItemDirective {
8
11
  get isActive(): boolean;
9
12
  constructor(elementRef: ElementRef, renderer: Renderer2);
10
13
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyCarouselItemDirective, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<ThyCarouselItemDirective, "[thy-carousel-item],[thyCarouselItem]", ["thyCarouseItem"], {}, {}, never, never, false>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ThyCarouselItemDirective, "[thyCarouselItem],[thy-carousel-item]", ["thyCarouseItem"], {}, {}, never, never, false>;
12
15
  }
@@ -10,10 +10,17 @@ export declare class ThyCarouselComponent implements OnInit, AfterViewInit, Afte
10
10
  private ngZone;
11
11
  private readonly carouselService;
12
12
  private readonly platform;
13
+ /**
14
+ * @private
15
+ */
13
16
  carouselItems: QueryList<ThyCarouselItemDirective>;
17
+ /**
18
+ * @private
19
+ */
14
20
  carouselWrapper: ElementRef<HTMLElement>;
15
21
  /**
16
22
  * 是否自动切换,默认 false
23
+ * @default false
17
24
  */
18
25
  thyAutoPlay: boolean;
19
26
  /**
@@ -47,7 +54,7 @@ export declare class ThyCarouselComponent implements OnInit, AfterViewInit, Afte
47
54
  */
48
55
  thyTouchable: boolean;
49
56
  /**
50
- * 指示点切换的触发条件, 默认为 'click', 支持 `click` | `trigger`
57
+ * 指示点切换的触发条件, 默认为 'click', 支持 `click` | `hover`
51
58
  */
52
59
  thyTrigger: ThyCarouselTrigger;
53
60
  /**
@@ -2,6 +2,9 @@ import { NgZone } from '@angular/core';
2
2
  import { Observable, Subject } from 'rxjs';
3
3
  import { ThyDistanceVector } from './typings';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * @internal
7
+ */
5
8
  export declare class ThyCarouselService {
6
9
  private ngZone;
7
10
  private listeners;
@@ -1,9 +1,3 @@
1
- .carousel-item {
1
+ .custom-carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
3
  }
@@ -1,9 +1,3 @@
1
- .carousel-item {
1
+ .custom-carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
3
  }
@@ -1,9 +1,3 @@
1
1
  .carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
3
  }
@@ -1,11 +1,5 @@
1
1
  .carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
3
  }
10
4
 
11
5
  .active {
@@ -2,10 +2,5 @@
2
2
  color: #6698ff;
3
3
  }
4
4
  .custom-carousel-item {
5
- height: 360px !important;
6
- img {
7
- display: block;
8
- height: 100%;
9
- margin: 0 auto;
10
- }
5
+ height: 300px !important;
11
6
  }
@@ -1,9 +1,3 @@
1
1
  .carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
3
  }
@@ -1,22 +1,3 @@
1
1
  .carousel-item {
2
2
  height: 300px !important;
3
- text-align: center;
4
- font-size: 18px;
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
- background: #73c2fd;
9
- }
10
-
11
- .custom-dots {
12
- transition: font-size 500ms linear, color 500ms linear;
13
- }
14
-
15
- .default-color {
16
- font-size: 16px;
17
- color: #fff;
18
- }
19
- .active-color {
20
- font-size: 25px;
21
- color: #007bff;
22
3
  }
@@ -37,6 +37,9 @@
37
37
  img {
38
38
  user-select: none;
39
39
  -webkit-user-drag: none;
40
+ display: block;
41
+ width: 100%;
42
+ height: auto;
40
43
  }
41
44
  }
42
45
  }
@@ -52,16 +55,19 @@
52
55
  width: 100%;
53
56
  list-style: none;
54
57
  text-align: center;
55
- transition: 0.3s opacity;
56
58
  transform: translate3d(0, 0, 0);
57
59
  user-select: none;
58
60
 
59
61
  &-bullet {
60
62
  display: inline-block;
61
- margin: 0 4px;
63
+ padding: 0 4px;
62
64
  cursor: pointer;
65
+ transition: 0.3s opacity;
66
+ color: variables.$white;
67
+ opacity: 0.5;
68
+ &:hover,
63
69
  &-active {
64
- color: variables.$primary-active;
70
+ opacity: 1;
65
71
  }
66
72
  }
67
73
  }
@@ -71,17 +77,30 @@
71
77
  transform: translateY(-50%);
72
78
  z-index: 200;
73
79
  cursor: pointer;
74
- color: variables.$primary;
80
+ color: variables.$gray-70;
75
81
  user-select: none;
82
+ overflow: hidden;
83
+ width: 32px;
84
+ height: 32px;
85
+ transition: 0.3s background;
86
+ background: rgba(vars.$carousel-arrow-default-bg, 0.3);
87
+ border-radius: 50%;
88
+ thy-icon {
89
+ position: absolute;
90
+ left: 50%;
91
+ top: 50%;
92
+ transform: translate(-50%, -50%);
93
+ color: currentColor;
94
+ font-size: 22px;
95
+ }
96
+ &:hover {
97
+ background: rgba(vars.$carousel-arrow-default-bg, 0.6);
98
+ }
76
99
  &-left {
77
- left: 10px;
100
+ left: 12px;
78
101
  }
79
102
  &-right {
80
- right: 10px;
81
- }
82
- thy-icon {
83
- color: currentColor;
84
- font-size: 40px;
103
+ right: 12px;
85
104
  }
86
105
  }
87
106
  }
@@ -1,3 +1,5 @@
1
1
  @use '../../styles/variables';
2
2
 
3
3
  $carousel-prefix-cls: 'thy-carousel';
4
+
5
+ $carousel-arrow-default-bg: #f7f7f7;
@@ -10,7 +10,7 @@ export interface ThyCarouselSwitchData {
10
10
  to: number;
11
11
  }
12
12
  export declare type ThyCarouselEffect = 'slide' | 'fade' | 'noop';
13
- export declare type ThyCarouselTrigger = 'click' | 'trigger';
13
+ export declare type ThyCarouselTrigger = 'click' | 'hover';
14
14
  export interface ThyCarouselEngine {
15
15
  initializeCarouselContents(contents: QueryList<ThyCarouselItemDirective> | null): void;
16
16
  switch(to: number, from: number): Observable<void>;
@@ -1,5 +1,8 @@
1
1
  import { Directive, ElementRef, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * @private
5
+ */
3
6
  export class ThyCarouselItemDirective {
4
7
  constructor(elementRef, renderer) {
5
8
  this.renderer = renderer;
@@ -21,12 +24,12 @@ export class ThyCarouselItemDirective {
21
24
  }
22
25
  }
23
26
  ThyCarouselItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyCarouselItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
24
- ThyCarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyCarouselItemDirective, selector: "[thy-carousel-item],[thyCarouselItem]", exportAs: ["thyCarouseItem"], ngImport: i0 });
27
+ ThyCarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyCarouselItemDirective, selector: "[thyCarouselItem],[thy-carousel-item]", exportAs: ["thyCarouseItem"], ngImport: i0 });
25
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyCarouselItemDirective, decorators: [{
26
29
  type: Directive,
27
30
  args: [{
28
- selector: '[thy-carousel-item],[thyCarouselItem]',
31
+ selector: '[thyCarouselItem],[thy-carousel-item]',
29
32
  exportAs: 'thyCarouseItem'
30
33
  }]
31
34
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU14RSxNQUFNLE9BQU8sd0JBQXdCO0lBa0JqQyxZQUFZLFVBQXNCLEVBQVUsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWpCdkQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQWtCcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQWhCRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUMzRDthQUFNO1lBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDOztxSEFoQlEsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHktY2Fyb3VzZWwtaXRlbV0sW3RoeUNhcm91c2VsSXRlbV0nLFxuICAgIGV4cG9ydEFzOiAndGh5Q2Fyb3VzZUl0ZW0nXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwsICdjYXJvdXNlbC1pdGVtLWFjdGl2ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLCAnY2Fyb3VzZWwtaXRlbS1hY3RpdmUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgdGhpcy5lbCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjYXJvdXNlbC1pdGVtJyk7XG4gICAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRTs7R0FFRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7SUFrQmpDLFlBQVksVUFBc0IsRUFBVSxRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakJ2RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBa0JwQixJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBaEJELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLHNCQUFzQixDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O3FIQWhCUSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1Q0FBdUM7b0JBQ2pELFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlDYXJvdXNlbEl0ZW1dLFt0aHktY2Fyb3VzZWwtaXRlbV0nLFxuICAgIGV4cG9ydEFzOiAndGh5Q2Fyb3VzZUl0ZW0nXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwsICdjYXJvdXNlbC1pdGVtLWFjdGl2ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLCAnY2Fyb3VzZWwtaXRlbS1hY3RpdmUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgdGhpcy5lbCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjYXJvdXNlbC1pdGVtJyk7XG4gICAgfVxufVxuIl19
@@ -22,6 +22,7 @@ export class ThyCarouselComponent {
22
22
  this.platform = platform;
23
23
  /**
24
24
  * 是否自动切换,默认 false
25
+ * @default false
25
26
  */
26
27
  this.thyAutoPlay = false;
27
28
  /**
@@ -45,7 +46,7 @@ export class ThyCarouselComponent {
45
46
  */
46
47
  this.thyTouchable = true;
47
48
  /**
48
- * 指示点切换的触发条件, 默认为 'click', 支持 `click` | `trigger`
49
+ * 指示点切换的触发条件, 默认为 'click', 支持 `click` | `hover`
49
50
  */
50
51
  this.thyTrigger = 'click';
51
52
  /**
@@ -169,7 +170,7 @@ export class ThyCarouselComponent {
169
170
  }
170
171
  }
171
172
  dotHandleTrigger(index) {
172
- if (this.thyTrigger === 'trigger') {
173
+ if (this.thyTrigger === 'hover') {
173
174
  this.clearScheduledTransition();
174
175
  this._trigger$.next(index);
175
176
  }
@@ -234,7 +235,7 @@ export class ThyCarouselComponent {
234
235
  }
235
236
  }
236
237
  ThyCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyCarouselComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ThyCarouselService }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component });
237
- ThyCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyCarouselComponent, selector: "thy-carousel", inputs: { thyAutoPlay: "thyAutoPlay", thyAutoPlaySpeed: "thyAutoPlaySpeed", thyEffect: "thyEffect", thyShowDot: "thyShowDot", thyDotTemplate: "thyDotTemplate", thyShowArrow: "thyShowArrow", thyArrowTemplate: "thyArrowTemplate", thyTouchable: "thyTouchable", thyTrigger: "thyTrigger" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"carousel carousel-initialized carousel-point-events\">\n <div #carouselWrapper class=\"carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyShowArrow && carouselItems.length > 1\">\n <ng-container *ngTemplateOutlet=\"thyArrowTemplate || defaultArrowTemplate; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"thyShowDot\">\n <div class=\"carousel-dots\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"carousel-dots-bullet\"\n [class.carousel-dots-active]=\"i === activeIndex\"\n (mouseenter)=\"dotHandleTrigger(i)\"\n (click)=\"dotHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyDotTemplate || defaultDotTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultDotTemplate let-active>\n <thy-dot [thyColor]=\"active ? 'primary' : 'default'\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultArrowTemplate let-pre=\"pre\" let-next=\"next\">\n <div class=\"carousel-arrow carousel-arrow-left\" (click)=\"pre()\">\n <thy-icon thyIconName=\"angle-left\"></thy-icon>\n </div>\n <div class=\"carousel-arrow carousel-arrow-right\" (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ThyDotComponent, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: i5.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
238
+ ThyCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyCarouselComponent, selector: "thy-carousel", inputs: { thyAutoPlay: "thyAutoPlay", thyAutoPlaySpeed: "thyAutoPlaySpeed", thyEffect: "thyEffect", thyShowDot: "thyShowDot", thyDotTemplate: "thyDotTemplate", thyShowArrow: "thyShowArrow", thyArrowTemplate: "thyArrowTemplate", thyTouchable: "thyTouchable", thyTrigger: "thyTrigger" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"carousel carousel-initialized carousel-point-events\">\n <div #carouselWrapper class=\"carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyShowArrow && carouselItems.length > 1\">\n <ng-container *ngTemplateOutlet=\"thyArrowTemplate || defaultArrowTemplate; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"thyShowDot\">\n <div class=\"carousel-dots\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"carousel-dots-bullet\"\n [class.carousel-dots-bullet-active]=\"i === activeIndex\"\n (mouseenter)=\"dotHandleTrigger(i)\"\n (click)=\"dotHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyDotTemplate || defaultDotTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultDotTemplate let-active>\n <thy-dot thyColor=\"#fff\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultArrowTemplate let-pre=\"pre\" let-next=\"next\">\n <div class=\"carousel-arrow carousel-arrow-left\" (click)=\"pre()\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div class=\"carousel-arrow carousel-arrow-right\" (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ThyDotComponent, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: i5.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
238
239
  __decorate([
239
240
  InputBoolean(),
240
241
  __metadata("design:type", Boolean)
@@ -259,7 +260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
259
260
  type: Component,
260
261
  args: [{ selector: 'thy-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
261
262
  class: 'thy-carousel'
262
- }, template: "<div class=\"carousel carousel-initialized carousel-point-events\">\n <div #carouselWrapper class=\"carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyShowArrow && carouselItems.length > 1\">\n <ng-container *ngTemplateOutlet=\"thyArrowTemplate || defaultArrowTemplate; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"thyShowDot\">\n <div class=\"carousel-dots\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"carousel-dots-bullet\"\n [class.carousel-dots-active]=\"i === activeIndex\"\n (mouseenter)=\"dotHandleTrigger(i)\"\n (click)=\"dotHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyDotTemplate || defaultDotTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultDotTemplate let-active>\n <thy-dot [thyColor]=\"active ? 'primary' : 'default'\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultArrowTemplate let-pre=\"pre\" let-next=\"next\">\n <div class=\"carousel-arrow carousel-arrow-left\" (click)=\"pre()\">\n <thy-icon thyIconName=\"angle-left\"></thy-icon>\n </div>\n <div class=\"carousel-arrow carousel-arrow-right\" (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right\"></thy-icon>\n </div>\n</ng-template>\n" }]
263
+ }, template: "<div class=\"carousel carousel-initialized carousel-point-events\">\n <div #carouselWrapper class=\"carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyShowArrow && carouselItems.length > 1\">\n <ng-container *ngTemplateOutlet=\"thyArrowTemplate || defaultArrowTemplate; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"thyShowDot\">\n <div class=\"carousel-dots\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"carousel-dots-bullet\"\n [class.carousel-dots-bullet-active]=\"i === activeIndex\"\n (mouseenter)=\"dotHandleTrigger(i)\"\n (click)=\"dotHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyDotTemplate || defaultDotTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultDotTemplate let-active>\n <thy-dot thyColor=\"#fff\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultArrowTemplate let-pre=\"pre\" let-next=\"next\">\n <div class=\"carousel-arrow carousel-arrow-left\" (click)=\"pre()\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div class=\"carousel-arrow carousel-arrow-right\" (click)=\"next()\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n" }]
263
264
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.ThyCarouselService }, { type: i2.Platform }]; }, propDecorators: { carouselItems: [{
264
265
  type: ContentChildren,
265
266
  args: [ThyCarouselItemDirective]
@@ -289,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
289
290
  }], thyAfterChange: [{
290
291
  type: Output
291
292
  }] } });
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUlqQixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFXeEQsTUFBTSxPQUFPLG9CQUFvQjtJQW9GN0IsWUFDYyxRQUFtQixFQUNyQixHQUFzQixFQUN0QixNQUFjLEVBQ0wsZUFBbUMsRUFDbkMsUUFBa0I7UUFKekIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxD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QkFLWSxjQUFjO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUaHlDYXJvdXNlbEVuZ2luZSxcbiAgICBUaHlEaXN0YW5jZVZlY3RvcixcbiAgICBUaHlDYXJvdXNlbFN3aXRjaERhdGEsXG4gICAgVGh5Q2Fyb3VzZWxFZmZlY3QsXG4gICAgVGh5Q2Fyb3VzZWxNZXRob2QsXG4gICAgVGh5Q2Fyb3VzZWxUcmlnZ2VyXG59IGZyb20gJy4vdHlwaW5ncyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lLCBUaHlDYXJvdXNlbE5vb3BFbmdpbmUsIFRoeUNhcm91c2VsRmFkZUVuZ2luZSB9IGZyb20gJy4vZW5naW5lJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbFNlcnZpY2UgfSBmcm9tICcuL2Nhcm91c2VsLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcm91c2VsJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSkgY2Fyb3VzZWxJdGVtcyE6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgY2Fyb3VzZWxXcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOWIh+aNoizpu5jorqQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5QXV0b1BsYXk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOiHquWKqOWIh+aNouaXtumXtOmXtOmalCjmr6vnp5IpXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgdGh5QXV0b1BsYXlTcGVlZDogbnVtYmVyID0gMzAwMDtcblxuICAgIC8qKlxuICAgICAqIOWIh+aNouWKqOeUu+agt+W8jywg6buY6K6k5Li6ICdzbGlkZScsIOaUr+aMgSBgc2xpZGVgIHwgYGZhZGVgIHwgYG5vb3BgXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWZmZWN0OiBUaHlDYXJvdXNlbEVmZmVjdCA9ICdzbGlkZSc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrmjIfnpLrngrlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5U2hvd0RvdCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrngrnmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlEb3RUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBib29sZWFuIH0+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YmN6L+b5ZCO6YCA5oyJ6ZKuXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dBcnJvdyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDliY3ov5sv5ZCO6YCAIOaMiemSrua4suafk+aooeadv1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUFycm93VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxUaHlDYXJvdXNlbE1ldGhvZD47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmlK/mjIHmiYvlir/mu5HliqhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5VG91Y2hhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaMh+ekuueCueWIh+aNoueahOinpuWPkeadoeS7tiwg6buY6K6k5Li6ICdjbGljaycsIOaUr+aMgSBgY2xpY2tgIHwgYHRyaWdnZXJgXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHJpZ2dlcjogVGh5Q2Fyb3VzZWxUcmlnZ2VyID0gJ2NsaWNrJztcblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWIh+aNouW4p+S5i+WJjSzov5Tlm54gYHtmcm9tOiBudW1iZXIsIHRvOiBudW1iZXJ9YFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlCZWZvcmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUNhcm91c2VsU3dpdGNoRGF0YT4oKTtcblxuICAgIC8qKlxuICAgICAqIOWIh+aNouW4p+S5i+WQjueahOWbnuiwgyzov5Tlm57lvZPliY3luKfntKLlvJVcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5QWZ0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgaXNEcmFnZ2luZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc1RyYW5zaXRpb25pbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcG9pbnRlclZlY3RvcjogVGh5RGlzdGFuY2VWZWN0b3IgPSB7IHg6IDAsIHk6IDAgfTtcblxuICAgIHByaXZhdGUgZW5naW5lOiBUaHlDYXJvdXNlbEVuZ2luZTtcblxuICAgIHByaXZhdGUgX3RyaWdnZXIkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29udGV4dDogVGh5Q2Fyb3VzZWxNZXRob2Q7XG5cbiAgICB3cmFwcGVyRG9tUmVjdDogRE9NUmVjdDtcblxuICAgIGFjdGl2ZUluZGV4ID0gMDtcblxuICAgIHdyYXBwZXJFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICB0cmFuc2l0aW9uVGltZXI6IGFueSA9IG51bGw7XG5cbiAgICBwbGF5VGltZTogbnVtYmVyID0gNDAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2Fyb3VzZWxTZXJ2aWNlOiBUaHlDYXJvdXNlbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm06IFBsYXRmb3JtXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBtb3ZlVG8oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYXJvdXNlbEl0ZW1zICYmIHRoaXMuY2Fyb3VzZWxJdGVtcy5sZW5ndGggJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICAgICAgY29uc3QgbGVuID0gdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmFjdGl2ZUluZGV4O1xuICAgICAgICAgICAgY29uc3QgdG8gPSAoaW5kZXggKyBsZW4pICUgbGVuO1xuICAgICAgICAgICAgdGhpcy50aHlCZWZvcmVDaGFuZ2UuZW1pdCh7IGZyb20sIHRvIH0pO1xuICAgICAgICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5lbmdpbmU/LnN3aXRjaChpbmRleCwgdGhpcy5hY3RpdmVJbmRleCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRvO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmtDb250ZW50QWN0aXZlKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlBZnRlckNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3dpdGNoRW5naW5lKCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGh5RWZmZWN0KSB7XG4gICAgICAgICAgICBjYXNlICdzbGlkZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5lbmdpbmUgPSBuZXcgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdmYWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbEZhZGVFbmdpbmUodGhpcywgdGhpcy5jZHIsIHRoaXMucmVuZGVyZXIsIHRoaXMucGxhdGZvcm0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbE5vb3BFbmdpbmUodGhpcywgdGhpcy5jZHIsIHRoaXMucmVuZGVyZXIsIHRoaXMucGxhdGZvcm0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYXJrQ29udGVudEFjdGl2ZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmZvckVhY2goKGNhcm91c2VsQ29udGVudDogVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlLCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNhcm91c2VsQ29udGVudC5pc0FjdGl2ZSA9IGluZGV4ID09PSBpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbFZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmdpbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZW5naW5lLmluaXRpYWxpemVDYXJvdXNlbENvbnRlbnRzKHRoaXMuY2Fyb3VzZWxJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb250ZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSB7XG4gICAgICAgICAgICBwcmU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLnRoeUF1dG9QbGF5KSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25UaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICAgICAgICAgIH0sIHRoaXMudGh5QXV0b1BsYXlTcGVlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJhbnNpdGlvblRpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50cmFuc2l0aW9uVGltZXIpO1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnKGV2ZW50OiBUb3VjaEV2ZW50IHwgTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNEcmFnZ2luZyAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcgJiYgdGhpcy50aHlUb3VjaGFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vdXNlRG93blRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGxldCBtb3VzZVVwVGltZTogbnVtYmVyO1xuICAgICAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMud3JhcHBlckRvbVJlY3QgPSB0aGlzLndyYXBwZXJFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIHRoaXMuY2Fyb3VzZWxTZXJ2aWNlLnJlZ2lzdGVyRHJhZyhldmVudCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHBvaW50ZXJWZWN0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWJiaW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9pbnRlclZlY3RvciA9IHBvaW50ZXJWZWN0b3I7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lPy5kcmFnZ2luZyh0aGlzLnBvaW50ZXJWZWN0b3IsIHRoaXMud3JhcHBlckRvbVJlY3QpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3VzZVVwVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9sZERvd25UaW1lID0gbW91c2VVcFRpbWUgLSBtb3VzZURvd25UaW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFzdCBlbm91Z2ggdG8gc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHBvaW50ZXJWZWN0b3IgaXMgbW9yZSB0aGFuIG9uZSB0aGlyZCBzd2l0Y2ggdG8gdGhlIG5leHQgZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgPiB0aGlzLndyYXBwZXJEb21SZWN0LndpZHRoIC8gMyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKHRoaXMucG9pbnRlclZlY3Rvci54KSAvIGhvbGREb3duVGltZSA+PSAxXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLnBvaW50ZXJWZWN0b3IueCA+IDAgPyB0aGlzLmFjdGl2ZUluZGV4IC0gMSA6IHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCAnZ3JhYicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkb3RIYW5kbGVDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvdEhhbmRsZVRyaWdnZXIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAndHJpZ2dlcicpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyJC5uZXh0KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwcGVyRWwgPSB0aGlzLmNhcm91c2VsV3JhcHBlciEubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbml0Q29udGV4dCgpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5U3BlZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKGluZGV4ID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJvdXNlbCBjYXJvdXNlbC1pbml0aWFsaXplZCBjYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwiY2Fyb3VzZWwtd3JhcHBlclwiIChtb3VzZWRvd24pPVwib25EcmFnKCRldmVudClcIiAodG91Y2hzdGFydCk9XCJvbkRyYWcoJGV2ZW50KVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlTaG93QXJyb3cgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRoeUFycm93VGVtcGxhdGUgfHwgZGVmYXVsdEFycm93VGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlTaG93RG90XCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWRvdHNcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGNhcm91c2VsSXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cImNhcm91c2VsLWRvdHMtYnVsbGV0XCJcbiAgICAgICAgW2NsYXNzLmNhcm91c2VsLWRvdHMtYWN0aXZlXT1cImkgPT09IGFjdGl2ZUluZGV4XCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiZG90SGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgIChjbGljayk9XCJkb3RIYW5kbGVDbGljayhpKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRoeURvdFRlbXBsYXRlIHx8IGRlZmF1bHREb3RUZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpID09PSBhY3RpdmVJbmRleCB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdERvdFRlbXBsYXRlIGxldC1hY3RpdmU+XG4gIDx0aHktZG90IFt0aHlDb2xvcl09XCJhY3RpdmUgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIj48L3RoeS1kb3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRBcnJvd1RlbXBsYXRlIGxldC1wcmU9XCJwcmVcIiBsZXQtbmV4dD1cIm5leHRcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWFycm93IGNhcm91c2VsLWFycm93LWxlZnRcIiAoY2xpY2spPVwicHJlKClcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1sZWZ0XCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1hcnJvdyBjYXJvdXNlbC1hcnJvdy1yaWdodFwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodFwiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUlqQixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFXeEQsTUFBTSxPQUFPLG9CQUFvQjtJQTJGN0IsWUFDYyxRQUFtQixFQUNyQixHQUFzQixFQUN0QixNQUFjLEVBQ0wsZUFBbUMsRUFDbkMsUUFBa0I7UUFKekIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNyQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxD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Z0JBS1ksY0FBYztzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBJbnB1dE51bWJlciB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2Nhcm91c2VsLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gICAgVGh5Q2Fyb3VzZWxFbmdpbmUsXG4gICAgVGh5RGlzdGFuY2VWZWN0b3IsXG4gICAgVGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhLFxuICAgIFRoeUNhcm91c2VsRWZmZWN0LFxuICAgIFRoeUNhcm91c2VsTWV0aG9kLFxuICAgIFRoeUNhcm91c2VsVHJpZ2dlclxufSBmcm9tICcuL3R5cGluZ3MnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSwgVGh5Q2Fyb3VzZWxOb29wRW5naW5lLCBUaHlDYXJvdXNlbEZhZGVFbmdpbmUgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTZXJ2aWNlIH0gZnJvbSAnLi9jYXJvdXNlbC5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJvdXNlbCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSkgY2Fyb3VzZWxJdGVtcyE6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbFdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYXJvdXNlbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5YiH5o2iLOm7mOiupCBmYWxzZVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUF1dG9QbGF5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjliIfmjaLml7bpl7Tpl7TpmpQo5q+r56eSKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRoeUF1dG9QbGF5U3BlZWQ6IG51bWJlciA9IDMwMDA7XG5cbiAgICAvKipcbiAgICAgKiDliIfmjaLliqjnlLvmoLflvI8sIOm7mOiupOS4uiAnc2xpZGUnLCDmlK/mjIEgYHNsaWRlYCB8IGBmYWRlYCB8IGBub29wYFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVmZmVjdDogVGh5Q2Fyb3VzZWxFZmZlY3QgPSAnc2xpZGUnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65oyH56S654K5XG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVNob3dEb3QgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5oyH56S654K55riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RG90VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYm9vbGVhbiB9PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuWJjei/m+WQjumAgOaMiemSrlxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlTaG93QXJyb3cgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5YmN6L+bL+WQjumAgCDmjInpkq7muLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBcnJvd1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8VGh5Q2Fyb3VzZWxNZXRob2Q+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5omL5Yq/5ruR5YqoXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVRvdWNoYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrngrnliIfmjaLnmoTop6blj5HmnaHku7YsIOm7mOiupOS4uiAnY2xpY2snLCDmlK/mjIEgYGNsaWNrYCB8IGBob3ZlcmBcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmlnZ2VyOiBUaHlDYXJvdXNlbFRyaWdnZXIgPSAnY2xpY2snO1xuXG4gICAgLyoqXG4gICAgICog6Kem5Y+R5YiH5o2i5bin5LmL5YmNLOi/lOWbniBge2Zyb206IG51bWJlciwgdG86IG51bWJlcn1gXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUJlZm9yZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhPigpO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5bin5LmL5ZCO55qE5Zue6LCDLOi/lOWbnuW9k+WJjeW4p+e0ouW8lVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlBZnRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwb2ludGVyVmVjdG9yOiBUaHlEaXN0YW5jZVZlY3RvciA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgcHJpdmF0ZSBlbmdpbmU6IFRoeUNhcm91c2VsRW5naW5lO1xuXG4gICAgcHJpdmF0ZSBfdHJpZ2dlciQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb250ZXh0OiBUaHlDYXJvdXNlbE1ldGhvZDtcblxuICAgIHdyYXBwZXJEb21SZWN0OiBET01SZWN0O1xuXG4gICAgYWN0aXZlSW5kZXggPSAwO1xuXG4gICAgd3JhcHBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgIHRyYW5zaXRpb25UaW1lcjogYW55ID0gbnVsbDtcblxuICAgIHBsYXlUaW1lOiBudW1iZXIgPSA0MDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXJvdXNlbFNlcnZpY2U6IFRoeUNhcm91c2VsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybTogUGxhdGZvcm1cbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG1vdmVUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsSXRlbXMgJiYgdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IChpbmRleCArIGxlbikgJSBsZW47XG4gICAgICAgICAgICB0aGlzLnRoeUJlZm9yZUNoYW5nZS5lbWl0KHsgZnJvbSwgdG8gfSk7XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZT8uc3dpdGNoKGluZGV4LCB0aGlzLmFjdGl2ZUluZGV4KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdG87XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUFmdGVyQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzd2l0Y2hFbmdpbmUoKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlFZmZlY3QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsRmFkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsTm9vcEVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtDb250ZW50QWN0aXZlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuZm9yRWFjaCgoY2Fyb3VzZWxDb250ZW50OiBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY2Fyb3VzZWxDb250ZW50LmlzQWN0aXZlID0gaW5kZXggPT09IGk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgICAgICAgdGhpcy5lbmdpbmUuaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHModGhpcy5jYXJvdXNlbEl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdENvbnRleHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dCA9IHtcbiAgICAgICAgICAgIHByZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJlKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMudGh5QXV0b1BsYXkpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgICAgICAgICAgfSwgdGhpcy50aHlBdXRvUGxheVNwZWVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmFuc2l0aW9uVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRyYW5zaXRpb25UaW1lcik7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25UaW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyYWcoZXZlbnQ6IFRvdWNoRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0RyYWdnaW5nICYmICF0aGlzLmlzVHJhbnNpdGlvbmluZyAmJiB0aGlzLnRoeVRvdWNoYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgbW91c2VEb3duVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgbGV0IG1vdXNlVXBUaW1lOiBudW1iZXI7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy53cmFwcGVyRG9tUmVjdCA9IHRoaXMud3JhcHBlckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbFNlcnZpY2UucmVnaXN0ZXJEcmFnKGV2ZW50KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcG9pbnRlclZlY3RvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCAnZ3JhYmJpbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyVmVjdG9yID0gcG9pbnRlclZlY3RvcjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmRyYWdnaW5nKHRoaXMucG9pbnRlclZlY3RvciwgdGhpcy53cmFwcGVyRG9tUmVjdCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlVXBUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBob2xkRG93blRpbWUgPSBtb3VzZVVwVGltZSAtIG1vdXNlRG93blRpbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGYXN0IGVub3VnaCB0byBzd2l0Y2ggdG8gdGhlIG5leHQgZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcG9pbnRlclZlY3RvciBpcyBtb3JlIHRoYW4gb25lIHRoaXJkIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKHRoaXMucG9pbnRlclZlY3Rvci54KSA+IHRoaXMud3JhcHBlckRvbVJlY3Qud2lkdGggLyAzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpIC8gaG9sZERvd25UaW1lID49IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMucG9pbnRlclZlY3Rvci54ID4gMCA/IHRoaXMuYWN0aXZlSW5kZXggLSAxIDogdGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRvdEhhbmRsZUNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5VHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZG90SGFuZGxlVHJpZ2dlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyJC5uZXh0KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwcGVyRWwgPSB0aGlzLmNhcm91c2VsV3JhcHBlciEubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbml0Q29udGV4dCgpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5U3BlZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKGluZGV4ID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJvdXNlbCBjYXJvdXNlbC1pbml0aWFsaXplZCBjYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwiY2Fyb3VzZWwtd3JhcHBlclwiIChtb3VzZWRvd24pPVwib25EcmFnKCRldmVudClcIiAodG91Y2hzdGFydCk9XCJvbkRyYWcoJGV2ZW50KVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlTaG93QXJyb3cgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRoeUFycm93VGVtcGxhdGUgfHwgZGVmYXVsdEFycm93VGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlTaG93RG90XCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWRvdHNcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGNhcm91c2VsSXRlbXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cImNhcm91c2VsLWRvdHMtYnVsbGV0XCJcbiAgICAgICAgW2NsYXNzLmNhcm91c2VsLWRvdHMtYnVsbGV0LWFjdGl2ZV09XCJpID09PSBhY3RpdmVJbmRleFwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cImRvdEhhbmRsZVRyaWdnZXIoaSlcIlxuICAgICAgICAoY2xpY2spPVwiZG90SGFuZGxlQ2xpY2soaSlcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlEb3RUZW1wbGF0ZSB8fCBkZWZhdWx0RG90VGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaSA9PT0gYWN0aXZlSW5kZXggfVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHREb3RUZW1wbGF0ZSBsZXQtYWN0aXZlPlxuICA8dGh5LWRvdCB0aHlDb2xvcj1cIiNmZmZcIj48L3RoeS1kb3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRBcnJvd1RlbXBsYXRlIGxldC1wcmU9XCJwcmVcIiBsZXQtbmV4dD1cIm5leHRcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWFycm93IGNhcm91c2VsLWFycm93LWxlZnRcIiAoY2xpY2spPVwicHJlKClcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1sZWZ0LWJvbGRcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWFycm93IGNhcm91c2VsLWFycm93LXJpZ2h0XCIgKGNsaWNrKT1cIm5leHQoKVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLXJpZ2h0LWJvbGRcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -3,6 +3,9 @@ import { DOCUMENT } from '@angular/common';
3
3
  import { Subject } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * @internal
8
+ */
6
9
  export class ThyCarouselService {
7
10
  constructor(ngZone, document) {
8
11
  this.ngZone = ngZone;
@@ -46,7 +49,7 @@ export class ThyCarouselService {
46
49
  const moveEventHandler = (e) => {
47
50
  this.documentDraggingOutside$.next(e instanceof MouseEvent ? e : e.touches[0] || e.changedTouches[0]);
48
51
  };
49
- const upEventHandler = (e) => {
52
+ const upEventHandler = () => {
50
53
  this.documentDraggingOutside$.complete();
51
54
  this.clearListeners();
52
55
  };
@@ -70,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
70
73
  type: Inject,
71
74
  args: [DOCUMENT]
72
75
  }] }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTXJDLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBb0IsTUFBYyxFQUFvQixRQUFhO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMMUIsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFvRCxDQUFDO1FBR2hGLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBR3pELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLE9BQXdCLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUE4QjtRQUNsRCxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUE4QjtRQUN2QyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMvQixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDNUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUVsRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ0osT0FBTztnQkFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxVQUFXLENBQUMsS0FBSztnQkFDOUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsVUFBVyxDQUFDLEtBQUs7YUFDakMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQThCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixNQUFNLGFBQWEsR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBMEIsRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRyxDQUFDLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQTBCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBd0IsQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0FqRVEsa0JBQWtCLHdDQU1pQixRQUFRO21IQU4zQyxrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU93QyxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5RGlzdGFuY2VWZWN0b3IgfSBmcm9tICcuL3R5cGluZ3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsU2VydmljZSB7XG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZD4oKTtcbiAgICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICAgIGRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQgfCBUb3VjaD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGhhbmRsZXIsIG5hbWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBoYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV2ZW50UG90aW9ucyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBNb3VzZUV2ZW50IHwgVG91Y2gge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQudG91Y2hlc1swXSB8fCBldmVudC5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyRHJhZyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBPYnNlcnZhYmxlPFRoeURpc3RhbmNlVmVjdG9yPiB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJCkge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdnaW5nT3V0c2lkZSQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXJ0UG9pbnQgPSB0aGlzLmdldEV2ZW50UG90aW9ucyhldmVudCk7XG5cbiAgICAgICAgdGhpcy5kb2N1bWVudERyYWdnaW5nT3V0c2lkZSQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgVG91Y2g+KCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlckhhbmRsZXIoZXZlbnQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJC5waXBlKFxuICAgICAgICAgICAgbWFwKGUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHg6IGUucGFnZVggLSBzdGFydFBvaW50IS5wYWdlWCxcbiAgICAgICAgICAgICAgICAgICAgeTogZS5wYWdlWSAtIHN0YXJ0UG9pbnQhLnBhZ2VZXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgICAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7XG4gICAgICAgIGNvbnN0IF9pc1RvdWNoRXZlbnQgPSBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQ7XG4gICAgICAgIGNvbnN0IG1vdmVFdmVudCA9IF9pc1RvdWNoRXZlbnQgPyAnbW91c2Vtb3ZlJyA6ICd0b3VjaG1vdmUnO1xuICAgICAgICBjb25zdCB1cEV2ZW50ID0gX2lzVG91Y2hFdmVudCA/ICdtb3VzZXVwJyA6ICd0b3VjaGVuZCc7XG4gICAgICAgIGNvbnN0IG1vdmVFdmVudEhhbmRsZXIgPSAoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnZ2luZ091dHNpZGUkLm5leHQoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgPyBlIDogZS50b3VjaGVzWzBdIHx8IGUuY2hhbmdlZFRvdWNoZXNbMF0pO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1cEV2ZW50SGFuZGxlciA9IChlOiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdnaW5nT3V0c2lkZSQuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJMaXN0ZW5lcnMoKTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KG1vdmVFdmVudCwgbW92ZUV2ZW50SGFuZGxlcik7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCh1cEV2ZW50LCB1cEV2ZW50SGFuZGxlcik7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGhhbmRsZXIsIG5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgaGFuZGxlciBhcyBFdmVudExpc3RlbmVyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3JDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQU0zQixZQUFvQixNQUFjLEVBQW9CLFFBQWE7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUwxQixjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQW9ELENBQUM7UUFHaEYsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFHekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBd0IsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQThCO1FBQ2xELElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNoQjthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQThCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQy9CLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM1QztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBRWxFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixPQUFPO2dCQUNILENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLFVBQVcsQ0FBQyxLQUFLO2dCQUM5QixDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxVQUFXLENBQUMsS0FBSzthQUNqQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBOEI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLEtBQUssWUFBWSxVQUFVLENBQUM7UUFDbEQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQ3ZELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUEwQixFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUMsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtZQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBd0IsQ0FBQyxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0FqRVEsa0JBQWtCLHdDQU1pQixRQUFRO21IQU4zQyxrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU93QyxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5RGlzdGFuY2VWZWN0b3IgfSBmcm9tICcuL3R5cGluZ3MnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsU2VydmljZSB7XG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZD4oKTtcbiAgICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudDtcblxuICAgIGRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQgfCBUb3VjaD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGhhbmRsZXIsIG5hbWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBoYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEV2ZW50UG90aW9ucyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBNb3VzZUV2ZW50IHwgVG91Y2gge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQudG91Y2hlc1swXSB8fCBldmVudC5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyRHJhZyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBPYnNlcnZhYmxlPFRoeURpc3RhbmNlVmVjdG9yPiB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJCkge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERyYWdnaW5nT3V0c2lkZSQuY29tcGxldGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXJ0UG9pbnQgPSB0aGlzLmdldEV2ZW50UG90aW9ucyhldmVudCk7XG5cbiAgICAgICAgdGhpcy5kb2N1bWVudERyYWdnaW5nT3V0c2lkZSQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50IHwgVG91Y2g+KCk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlckhhbmRsZXIoZXZlbnQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50RHJhZ2dpbmdPdXRzaWRlJC5waXBlKFxuICAgICAgICAgICAgbWFwKGUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHg6IGUucGFnZVggLSBzdGFydFBvaW50IS5wYWdlWCxcbiAgICAgICAgICAgICAgICAgICAgeTogZS5wYWdlWSAtIHN0YXJ0UG9pbnQhLnBhZ2VZXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkge1xuICAgICAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7XG4gICAgICAgIGNvbnN0IF9pc1RvdWNoRXZlbnQgPSBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQ7XG4gICAgICAgIGNvbnN0IG1vdmVFdmVudCA9IF9pc1RvdWNoRXZlbnQgPyAnbW91c2Vtb3ZlJyA6ICd0b3VjaG1vdmUnO1xuICAgICAgICBjb25zdCB1cEV2ZW50ID0gX2lzVG91Y2hFdmVudCA/ICdtb3VzZXVwJyA6ICd0b3VjaGVuZCc7XG4gICAgICAgIGNvbnN0IG1vdmVFdmVudEhhbmRsZXIgPSAoZTogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnZ2luZ091dHNpZGUkLm5leHQoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgPyBlIDogZS50b3VjaGVzWzBdIHx8IGUuY2hhbmdlZFRvdWNoZXNbMF0pO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCB1cEV2ZW50SGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnREcmFnZ2luZ091dHNpZGUkLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldChtb3ZlRXZlbnQsIG1vdmVFdmVudEhhbmRsZXIpO1xuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQodXBFdmVudCwgdXBFdmVudEhhbmRsZXIpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChoYW5kbGVyLCBuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIgYXMgRXZlbnRMaXN0ZW5lcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC90eXBpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2Nhcm91c2VsLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeURpc3RhbmNlVmVjdG9yIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUNhcm91c2VsU3dpdGNoRGF0YSB7XG4gICAgZnJvbTogbnVtYmVyO1xuICAgIHRvOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFRoeUNhcm91c2VsRWZmZWN0ID0gJ3NsaWRlJyB8ICdmYWRlJyB8ICdub29wJztcblxuZXhwb3J0IHR5cGUgVGh5Q2Fyb3VzZWxUcmlnZ2VyID0gJ2NsaWNrJyB8ICd0cmlnZ2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlDYXJvdXNlbEVuZ2luZSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBkcmFnZ2luZyBzZXF1ZW5jZXMuXG4gICAgaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHMoY29udGVudHM6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+IHwgbnVsbCk6IHZvaWQ7XG4gICAgLy8gc3dpdGNoIGl0ZW1cbiAgICBzd2l0Y2godG86IG51bWJlciwgZnJvbTogbnVtYmVyKTogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICAvLyBkcmFnZ2luZyBldmVudHNcbiAgICBkcmFnZ2luZyhwb2ludGVyVmVjdG9yOiBUaHlEaXN0YW5jZVZlY3RvciwgcmVjdDogRE9NUmVjdCk6IHZvaWQ7XG4gICAgLy8gd2hlbiB3aW5kb3cgcmVzaXplXG4gICAgY29ycmVjdGlvbk9mZnNldCgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUNhcm91c2VsTWV0aG9kIHtcbiAgICBwcmU6ICgpID0+IHZvaWQ7XG4gICAgbmV4dDogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC90eXBpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2Nhcm91c2VsLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeURpc3RhbmNlVmVjdG9yIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUNhcm91c2VsU3dpdGNoRGF0YSB7XG4gICAgZnJvbTogbnVtYmVyO1xuICAgIHRvOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFRoeUNhcm91c2VsRWZmZWN0ID0gJ3NsaWRlJyB8ICdmYWRlJyB8ICdub29wJztcblxuZXhwb3J0IHR5cGUgVGh5Q2Fyb3VzZWxUcmlnZ2VyID0gJ2NsaWNrJyB8ICdob3Zlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh5Q2Fyb3VzZWxFbmdpbmUge1xuICAgIC8vIEluaXRpYWxpemUgZHJhZ2dpbmcgc2VxdWVuY2VzLlxuICAgIGluaXRpYWxpemVDYXJvdXNlbENvbnRlbnRzKGNvbnRlbnRzOiBRdWVyeUxpc3Q8VGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlPiB8IG51bGwpOiB2b2lkO1xuICAgIC8vIHN3aXRjaCBpdGVtXG4gICAgc3dpdGNoKHRvOiBudW1iZXIsIGZyb206IG51bWJlcik6IE9ic2VydmFibGU8dm9pZD47XG4gICAgLy8gZHJhZ2dpbmcgZXZlbnRzXG4gICAgZHJhZ2dpbmcocG9pbnRlclZlY3RvcjogVGh5RGlzdGFuY2VWZWN0b3IsIHJlY3Q6IERPTVJlY3QpOiB2b2lkO1xuICAgIC8vIHdoZW4gd2luZG93IHJlc2l6ZVxuICAgIGNvcnJlY3Rpb25PZmZzZXQoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHlDYXJvdXNlbE1ldGhvZCB7XG4gICAgcHJlOiAoKSA9PiB2b2lkO1xuICAgIG5leHQ6ICgpID0+IHZvaWQ7XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './table.interface';
2
2
  export * from './table.component';
3
- export * from './table.pipe';
3
+ export * from './pipes/table.pipe';
4
+ export * from './pipes/drag.pipe';
4
5
  export * from './table.module';
5
6
  export * from './table-column.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3RhYmxlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9kcmFnLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TableRowDragDisabledPipe {
4
+ transform(item, dragDisabledPredicate) {
5
+ return dragDisabledPredicate(item);
6
+ }
7
+ }
8
+ TableRowDragDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TableRowDragDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TableRowDragDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: TableRowDragDisabledPipe, name: "tableRowDragDisabled" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TableRowDragDisabledPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'tableRowDragDisabled'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3RhYmxlL3BpcGVzL2RyYWcucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQyxTQUFTLENBQUMsSUFBYSxFQUFFLHFCQUFpRDtRQUN0RSxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3FIQUhRLHdCQUF3QjttSEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHNCQUFzQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICd0YWJsZVJvd0RyYWdEaXNhYmxlZCdcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVSb3dEcmFnRGlzYWJsZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKGl0ZW06IFNhZmVBbnksIGRyYWdEaXNhYmxlZFByZWRpY2F0ZTogKGl0ZW06IFNhZmVBbnkpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRyYWdEaXNhYmxlZFByZWRpY2F0ZShpdGVtKTtcbiAgICB9XG59XG4iXX0=
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
11
11
  type: Pipe,
12
12
  args: [{ name: 'isValidModelValue' }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLE9BQU8sS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQzs7dUhBSFEsMEJBQTBCO3FIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnaXNWYWxpZE1vZGVsVmFsdWUnIH0pXG5leHBvcnQgY2xhc3MgVGFibGVJc1ZhbGlkTW9kZWxWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGw7XG4gICAgfVxufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90YWJsZS9waXBlcy90YWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLE9BQU8sS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUM7SUFDakUsQ0FBQzs7dUhBSFEsMEJBQTBCO3FIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnaXNWYWxpZE1vZGVsVmFsdWUnIH0pXG5leHBvcnQgY2xhc3MgVGFibGVJc1ZhbGlkTW9kZWxWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGw7XG4gICAgfVxufVxuIl19