@uniprank/ngx-scrollspy 1.0.9 → 2.0.1

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 (55) hide show
  1. package/README.md +102 -81
  2. package/fesm2022/uniprank-ngx-scrollspy.mjs +389 -0
  3. package/fesm2022/uniprank-ngx-scrollspy.mjs.map +1 -0
  4. package/index.d.ts +6 -0
  5. package/lib/ngx-scrollspy.module.d.ts +24 -1
  6. package/lib/ngx-scrollspy.module.d.ts.map +1 -0
  7. package/lib/scroll-direction.enum.d.ts +1 -0
  8. package/lib/scroll-direction.enum.d.ts.map +1 -0
  9. package/lib/scroll-element.directive.d.ts +12 -9
  10. package/lib/scroll-element.directive.d.ts.map +1 -0
  11. package/lib/scroll-element.interface.d.ts +1 -0
  12. package/lib/scroll-element.interface.d.ts.map +1 -0
  13. package/lib/scroll-item.directive.d.ts +12 -12
  14. package/lib/scroll-item.directive.d.ts.map +1 -0
  15. package/lib/scroll-object.interface.d.ts +1 -0
  16. package/lib/scroll-object.interface.d.ts.map +1 -0
  17. package/lib/scroll-spy.directive.d.ts +11 -10
  18. package/lib/scroll-spy.directive.d.ts.map +1 -0
  19. package/lib/scroll-spy.service.d.ts +13 -10
  20. package/lib/scroll-spy.service.d.ts.map +1 -0
  21. package/package.json +22 -15
  22. package/public-api.d.ts +3 -1
  23. package/public-api.d.ts.map +1 -0
  24. package/uniprank-ngx-scrollspy.d.ts.map +1 -0
  25. package/CHANGELOG.md +0 -26
  26. package/bundles/uniprank-ngx-scrollspy.umd.js +0 -649
  27. package/bundles/uniprank-ngx-scrollspy.umd.js.map +0 -1
  28. package/bundles/uniprank-ngx-scrollspy.umd.min.js +0 -16
  29. package/bundles/uniprank-ngx-scrollspy.umd.min.js.map +0 -1
  30. package/esm2015/lib/ngx-scrollspy.module.js +0 -28
  31. package/esm2015/lib/scroll-direction.enum.js +0 -6
  32. package/esm2015/lib/scroll-element.directive.js +0 -63
  33. package/esm2015/lib/scroll-element.interface.js +0 -1
  34. package/esm2015/lib/scroll-item.directive.js +0 -61
  35. package/esm2015/lib/scroll-object.interface.js +0 -1
  36. package/esm2015/lib/scroll-spy.directive.js +0 -60
  37. package/esm2015/lib/scroll-spy.service.js +0 -210
  38. package/esm2015/public-api.js +0 -14
  39. package/esm2015/uniprank-ngx-scrollspy.js +0 -6
  40. package/esm5/lib/ngx-scrollspy.module.js +0 -33
  41. package/esm5/lib/scroll-direction.enum.js +0 -6
  42. package/esm5/lib/scroll-element.directive.js +0 -65
  43. package/esm5/lib/scroll-element.interface.js +0 -1
  44. package/esm5/lib/scroll-item.directive.js +0 -63
  45. package/esm5/lib/scroll-object.interface.js +0 -1
  46. package/esm5/lib/scroll-spy.directive.js +0 -62
  47. package/esm5/lib/scroll-spy.service.js +0 -219
  48. package/esm5/public-api.js +0 -14
  49. package/esm5/uniprank-ngx-scrollspy.js +0 -6
  50. package/fesm2015/uniprank-ngx-scrollspy.js +0 -415
  51. package/fesm2015/uniprank-ngx-scrollspy.js.map +0 -1
  52. package/fesm5/uniprank-ngx-scrollspy.js +0 -435
  53. package/fesm5/uniprank-ngx-scrollspy.js.map +0 -1
  54. package/uniprank-ngx-scrollspy.d.ts +0 -5
  55. package/uniprank-ngx-scrollspy.metadata.json +0 -1
@@ -1,210 +0,0 @@
1
- import { __decorate, __metadata, __param } from "tslib";
2
- import { Injectable, ElementRef, Inject, InjectionToken, Optional } from '@angular/core';
3
- import { DOCUMENT } from '@angular/common';
4
- import { BehaviorSubject, Subject, fromEvent } from 'rxjs';
5
- import { auditTime, takeUntil } from 'rxjs/operators';
6
- import { ScrollDirectionEnum } from './scroll-direction.enum';
7
- const defaultElementId = 'window';
8
- export const SPY_CONFIG = new InjectionToken(null);
9
- let ScrollSpyService = class ScrollSpyService {
10
- constructor(doc, config) {
11
- this.doc = doc;
12
- this._scrollItems = {};
13
- this._scrollElements = {};
14
- this._$scrollElementListener = {};
15
- this._scrollElementListener = {};
16
- this._onStopListening = new Subject();
17
- this._resizeEvents = fromEvent(window, 'resize').pipe(auditTime(300), takeUntil(this._onStopListening));
18
- this._scrollEvents = fromEvent(window, 'scroll').pipe(auditTime(10), takeUntil(this._onStopListening));
19
- this._initScrollElementListener(defaultElementId, this._generateScrollElement(defaultElementId, new ElementRef(doc.documentElement || doc.body), ScrollDirectionEnum.vertical));
20
- this._resizeEvents.subscribe(() => this._windowScroll());
21
- this._scrollEvents.subscribe(() => this._windowScroll());
22
- this._windowScroll();
23
- if (config !== null) {
24
- this._lookAhead = config.lookAhead;
25
- this._activateOnlySetItems = config.activateOnlySetItems;
26
- this.attributeType = config.attributeType;
27
- }
28
- else {
29
- this._lookAhead = false;
30
- this._activateOnlySetItems = false;
31
- this.attributeType = 'id';
32
- }
33
- }
34
- _initScrollElementListener(scrollElementId, scrollElement) {
35
- this._scrollElements[scrollElementId] = scrollElement;
36
- this._scrollElementListener[scrollElementId] = null;
37
- this._$scrollElementListener[scrollElementId] = new BehaviorSubject(null);
38
- }
39
- _windowScroll() {
40
- this.updateScrollElement(defaultElementId);
41
- }
42
- _generateScrollElement(scrollElementId, elementRef, direction, offset = 0) {
43
- return {
44
- id: scrollElementId,
45
- elementRef,
46
- direction,
47
- offset
48
- };
49
- }
50
- setOffset(scrollElementId, offset) {
51
- this._checkScrollElementExists(scrollElementId);
52
- this._scrollElements[scrollElementId].offset = offset;
53
- }
54
- setScrollElement(scrollElementId, elementRef, direction, offset = 0) {
55
- this._checkScrollElementNotExists(scrollElementId);
56
- this._initScrollElementListener(scrollElementId, this._generateScrollElement(scrollElementId, elementRef, direction, offset));
57
- }
58
- _checkScrollElementNotExists(scrollElementId) {
59
- if (this._scrollElements[scrollElementId] != null) {
60
- throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] exists.`);
61
- }
62
- }
63
- setItem(itemId, elementRef, scrollElementId = defaultElementId) {
64
- this._checkItemNotExists(itemId);
65
- this._scrollItems[itemId] = this._generateScrollObject(itemId, elementRef, scrollElementId);
66
- this._setDefaultItem(itemId, scrollElementId);
67
- }
68
- _checkItemNotExists(itemId) {
69
- if (this._scrollItems[itemId] != null) {
70
- throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] exists.`);
71
- }
72
- }
73
- _generateScrollObject(id, elementRef, scrollElementId) {
74
- return {
75
- id,
76
- scrollElementId,
77
- elementRef,
78
- nativeElement: elementRef.nativeElement
79
- };
80
- }
81
- _setDefaultItem(itemId, scrollElementId) {
82
- if (this._lookAhead) {
83
- return;
84
- }
85
- const _value = this._scrollElementListener[scrollElementId];
86
- if (_value == null) {
87
- this._setScrollElementListener(scrollElementId, this._scrollItems[itemId]);
88
- }
89
- }
90
- _setScrollElementListener(scrollElementId, scrollObject) {
91
- this._scrollElementListener[scrollElementId] = scrollObject;
92
- setTimeout(() => this._$scrollElementListener[scrollElementId].next(scrollObject));
93
- }
94
- changeScrollElement(itemId, oldElementId, newElementId, override = false) {
95
- this._checkScrollElementExists(oldElementId);
96
- this._checkScrollElementExists(newElementId);
97
- this._checkItemExists(itemId);
98
- const _scrollItem = this._scrollItems[itemId];
99
- if ((_scrollItem.scrollElementId !== defaultElementId && override) || _scrollItem.scrollElementId === defaultElementId) {
100
- this._scrollItems[itemId].scrollElementId = newElementId;
101
- }
102
- this._setDefaultItem(itemId, newElementId);
103
- const _oldElements = this._getElementItems(oldElementId);
104
- if (_oldElements.length > 0) {
105
- this._setDefaultItem(_oldElements[0].id, oldElementId);
106
- }
107
- }
108
- _getElementItems(scrollElementId) {
109
- const _items = [];
110
- for (const key in this._scrollItems) {
111
- if (this._scrollItems.hasOwnProperty(key)) {
112
- const value = this._scrollItems[key];
113
- if (value.scrollElementId === scrollElementId) {
114
- _items.push(value);
115
- }
116
- }
117
- }
118
- return _items;
119
- }
120
- _checkItemExists(itemId) {
121
- if (this._scrollItems[itemId] == null) {
122
- throw new Error(`ScrollSpyService: The scroll item with the id [${itemId}] doesn't exist.`);
123
- }
124
- }
125
- observe(scrollElementId = defaultElementId) {
126
- this._checkScrollElementExists(scrollElementId);
127
- return this._$scrollElementListener[scrollElementId].asObservable();
128
- }
129
- _checkScrollElementExists(scrollElementId) {
130
- if (this._scrollElements[scrollElementId] == null) {
131
- throw new Error(`ScrollSpyService: The scroll element with the id [${scrollElementId}] doesn't exist.`);
132
- }
133
- }
134
- updateScrollElement(scrollElementId) {
135
- this._checkScrollElementExists(scrollElementId);
136
- const _element = this._scrollElements[scrollElementId];
137
- const _elementItems = this._getElementItems(scrollElementId);
138
- const _nextActiveItem = this._getActiveItem(_element, _elementItems);
139
- const _currentActiveItem = this._scrollElementListener[scrollElementId];
140
- if (_currentActiveItem == null) {
141
- if (_nextActiveItem != null) {
142
- this._setScrollElementListener(scrollElementId, _nextActiveItem);
143
- }
144
- }
145
- else if (_nextActiveItem != null) {
146
- if (_currentActiveItem.id !== _nextActiveItem.id) {
147
- this._setScrollElementListener(scrollElementId, _nextActiveItem);
148
- }
149
- }
150
- else if (_nextActiveItem == null && this._lookAhead) {
151
- this._setScrollElementListener(scrollElementId, null);
152
- }
153
- }
154
- _getActiveItem(scrollElement, listOfElements) {
155
- const _direction = scrollElement.direction;
156
- let _scrollObject = null;
157
- const nativeElement = scrollElement.elementRef.nativeElement;
158
- listOfElements.forEach((_element) => {
159
- let _active = false;
160
- switch (_direction) {
161
- case ScrollDirectionEnum.horizontal:
162
- const _scrollLeft = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageXOffset) || 0 : nativeElement.scrollLeft;
163
- _active = _element.nativeElement.offsetLeft <= _scrollLeft + scrollElement.offset;
164
- break;
165
- default: {
166
- const _scrollTop = scrollElement.id.toLowerCase() === 'window' ? (window && window.pageYOffset) || 0 : nativeElement.scrollTop;
167
- if (this._activateOnlySetItems) {
168
- _active =
169
- _element.nativeElement.offsetTop < _scrollTop + scrollElement.offset &&
170
- _element.nativeElement.offsetTop + _element.nativeElement.offsetHeight > _scrollTop + scrollElement.offset;
171
- }
172
- else {
173
- _active = _element.nativeElement.offsetTop <= _scrollTop + scrollElement.offset;
174
- }
175
- }
176
- }
177
- if (_active) {
178
- _scrollObject = _element;
179
- }
180
- });
181
- return _scrollObject;
182
- }
183
- deleteScrollElement(scrollElementId) {
184
- if (scrollElementId === 'window') {
185
- this._setScrollElementListener(scrollElementId, null);
186
- }
187
- else {
188
- this._checkScrollElementExists(scrollElementId);
189
- delete this._scrollElements[scrollElementId];
190
- delete this._$scrollElementListener[scrollElementId];
191
- delete this._scrollElementListener[scrollElementId];
192
- }
193
- }
194
- deleteItem(itemId) {
195
- if (this._scrollItems[itemId] != null) {
196
- delete this._scrollItems[itemId];
197
- }
198
- }
199
- };
200
- ScrollSpyService.ctorParameters = () => [
201
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
202
- { type: undefined, decorators: [{ type: Inject, args: [SPY_CONFIG,] }, { type: Optional }] }
203
- ];
204
- ScrollSpyService = __decorate([
205
- Injectable(),
206
- __param(0, Inject(DOCUMENT)), __param(1, Inject(SPY_CONFIG)), __param(1, Optional()),
207
- __metadata("design:paramtypes", [Object, Object])
208
- ], ScrollSpyService);
209
- export { ScrollSpyService };
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNweS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLXNweS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFZLElBQUksQ0FBQyxDQUFDO0FBcUI5RCxJQUFhLGdCQUFnQixHQUE3QixNQUFhLGdCQUFnQjtJQWdCM0IsWUFBc0MsR0FBUSxFQUFrQyxNQUFrQjtRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBZnRDLGlCQUFZLEdBQWdELEVBQUUsQ0FBQztRQUMvRCxvQkFBZSxHQUEwRCxFQUFFLENBQUM7UUFDNUUsNEJBQXVCLEdBQTBFLEVBQUUsQ0FBQztRQUVwRywyQkFBc0IsR0FBeUQsRUFBRSxDQUFDO1FBRWxGLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDakMsa0JBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENB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LGVBQWUsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztDQUNGLENBQUE7OzRDQXJOYyxNQUFNLFNBQUMsUUFBUTs0Q0FBcUIsTUFBTSxTQUFDLFVBQVUsY0FBRyxRQUFROztBQWhCbEUsZ0JBQWdCO0lBRDVCLFVBQVUsRUFBRTtJQWlCRSxXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQSxFQUFvQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQSxFQUFFLFdBQUEsUUFBUSxFQUFFLENBQUE7O0dBaEJwRSxnQkFBZ0IsQ0FxTzVCO1NBck9ZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNjcm9sbE9iamVjdEludGVyZmFjZSB9IGZyb20gJy4vc2Nyb2xsLW9iamVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Nyb2xsRWxlbWVudEludGVyZmFjZSB9IGZyb20gJy4vc2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5cbmNvbnN0IGRlZmF1bHRFbGVtZW50SWQgPSAnd2luZG93JztcblxuZXhwb3J0IGNvbnN0IFNQWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3B5Q29uZmlnPihudWxsKTtcblxuZXhwb3J0IGludGVyZmFjZSBTcHlDb25maWcge1xuICAvKipcbiAgICogQHBhcmFtIGJvb2xlYW4gbG9va0FoZWFkXG4gICAqIFNldCB0aGUgZmlyc3Qgc2Nyb2xsIGl0ZW0gYWN0aXZlIGV2ZW4gd2hlbiB0aGUgc2Nyb2xsIGVsZW1lbnQgaGFzIG5vdCB5ZXQgYmVlbiByZWFjaGVkXG4gICAqL1xuICBsb29rQWhlYWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQHBhcmFtIGJvb2xlYW4gYWN0aXZhdGVPbmx5U2V0SXRlbXNcbiAgICogU2V0IHRoZSB0aGUgc2Nyb2xsIGl0ZW1zIGFjdGl2ZSBvbmx5IHdoZW4gdGhlIHNjcm9sbCBlbGVtZW50IHJlYWNoZWQgdGhlIHNldCBvZmZzZXQgYW5kIGlzIHN0aWxsIGluIHRoZSB2aWV3cG9ydFxuICAgKi9cbiAgYWN0aXZhdGVPbmx5U2V0SXRlbXM/OiBib29sZWFuO1xuICAvKipcbiAgICogQHBhcmFtIGJvb2xlYW4gYWN0aXZhdGVPbmx5U2V0SXRlbXNcbiAgICogU2V0IHRoZSB0aGUgc2Nyb2xsIGl0ZW1zIGFjdGl2ZSBvbmx5IHdoZW4gdGhlIHNjcm9sbCBlbGVtZW50IHJlYWNoZWQgdGhlIHNldCBvZmZzZXQgYW5kIGlzIHN0aWxsIGluIHRoZSB2aWV3cG9ydFxuICAgKi9cbiAgYXR0cmlidXRlVHlwZT86ICdpZCcgfCAnZGF0YS1pZCc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY3JvbGxTcHlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfc2Nyb2xsSXRlbXM6IHsgW2l0ZW1JZDogc3RyaW5nXTogU2Nyb2xsT2JqZWN0SW50ZXJmYWNlIH0gPSB7fTtcbiAgcHJpdmF0ZSBfc2Nyb2xsRWxlbWVudHM6IHsgW3Njcm9sbEVsZW1lbnRJZDogc3RyaW5nXTogU2Nyb2xsRWxlbWVudEludGVyZmFjZSB9ID0ge307XG4gIHByaXZhdGUgXyRzY3JvbGxFbGVtZW50TGlzdGVuZXI6IHsgW3Njcm9sbEVsZW1lbnRJZDogc3RyaW5nXTogQmVoYXZpb3JTdWJqZWN0PFNjcm9sbE9iamVjdEludGVyZmFjZT4gfSA9IHt9O1xuXG4gIHByaXZhdGUgX3Njcm9sbEVsZW1lbnRMaXN0ZW5lcjogeyBbc2Nyb2xsRWxlbWVudElkOiBzdHJpbmddOiBTY3JvbGxPYmplY3RJbnRlcmZhY2UgfSA9IHt9O1xuXG4gIHByaXZhdGUgX29uU3RvcExpc3RlbmluZyA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX3Jlc2l6ZUV2ZW50cyA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKGF1ZGl0VGltZSgzMDApLCB0YWtlVW50aWwodGhpcy5fb25TdG9wTGlzdGVuaW5nKSk7XG4gIHByaXZhdGUgX3Njcm9sbEV2ZW50cyA9IGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKS5waXBlKGF1ZGl0VGltZSgxMCksIHRha2VVbnRpbCh0aGlzLl9vblN0b3BMaXN0ZW5pbmcpKTtcblxuICBwcml2YXRlIF9sb29rQWhlYWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2FjdGl2YXRlT25seVNldEl0ZW1zOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZVR5cGU6ICdpZCcgfCAnZGF0YS1pZCc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IGFueSwgQEluamVjdChTUFlfQ09ORklHKSBAT3B0aW9uYWwoKSBjb25maWc/OiBTcHlDb25maWcpIHtcbiAgICB0aGlzLl9pbml0U2Nyb2xsRWxlbWVudExpc3RlbmVyKFxuICAgICAgZGVmYXVsdEVsZW1lbnRJZCxcbiAgICAgIHRoaXMuX2dlbmVyYXRlU2Nyb2xsRWxlbWVudChkZWZhdWx0RWxlbWVudElkLCBuZXcgRWxlbWVudFJlZihkb2MuZG9jdW1lbnRFbGVtZW50IHx8IGRvYy5ib2R5KSwgU2Nyb2xsRGlyZWN0aW9uRW51bS52ZXJ0aWNhbClcbiAgICApO1xuXG4gICAgdGhpcy5fcmVzaXplRXZlbnRzLnN1YnNjcmliZSgoKSA9PiB0aGlzLl93aW5kb3dTY3JvbGwoKSk7XG4gICAgdGhpcy5fc2Nyb2xsRXZlbnRzLnN1YnNjcmliZSgoKSA9PiB0aGlzLl93aW5kb3dTY3JvbGwoKSk7XG4gICAgdGhpcy5fd2luZG93U2Nyb2xsKCk7XG4gICAgaWYgKGNvbmZpZyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fbG9va0FoZWFkID0gY29uZmlnLmxvb2tBaGVhZDtcbiAgICAgIHRoaXMuX2FjdGl2YXRlT25seVNldEl0ZW1zID0gY29uZmlnLmFjdGl2YXRlT25seVNldEl0ZW1zO1xuICAgICAgdGhpcy5hdHRyaWJ1dGVUeXBlID0gY29uZmlnLmF0dHJpYnV0ZVR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xvb2tBaGVhZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fYWN0aXZhdGVPbmx5U2V0SXRlbXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuYXR0cmlidXRlVHlwZSA9ICdpZCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdFNjcm9sbEVsZW1lbnRMaXN0ZW5lcihzY3JvbGxFbGVtZW50SWQ6IHN0cmluZywgc2Nyb2xsRWxlbWVudDogU2Nyb2xsRWxlbWVudEludGVyZmFjZSk6IHZvaWQge1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnRzW3Njcm9sbEVsZW1lbnRJZF0gPSBzY3JvbGxFbGVtZW50O1xuICAgIHRoaXMuX3Njcm9sbEVsZW1lbnRMaXN0ZW5lcltzY3JvbGxFbGVtZW50SWRdID0gbnVsbDtcbiAgICB0aGlzLl8kc2Nyb2xsRWxlbWVudExpc3RlbmVyW3Njcm9sbEVsZW1lbnRJZF0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2luZG93U2Nyb2xsKCkge1xuICAgIHRoaXMudXBkYXRlU2Nyb2xsRWxlbWVudChkZWZhdWx0RWxlbWVudElkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dlbmVyYXRlU2Nyb2xsRWxlbWVudChcbiAgICBzY3JvbGxFbGVtZW50SWQ6IHN0cmluZyxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bSxcbiAgICBvZmZzZXQ6IG51bWJlciA9IDBcbiAgKTogU2Nyb2xsRWxlbWVudEludGVyZmFjZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBzY3JvbGxFbGVtZW50SWQsXG4gICAgICBlbGVtZW50UmVmLFxuICAgICAgZGlyZWN0aW9uLFxuICAgICAgb2Zmc2V0XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPZmZzZXQoc2Nyb2xsRWxlbWVudElkOiBzdHJpbmcsIG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fY2hlY2tTY3JvbGxFbGVtZW50RXhpc3RzKHNjcm9sbEVsZW1lbnRJZCk7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudHNbc2Nyb2xsRWxlbWVudElkXS5vZmZzZXQgPSBvZmZzZXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0U2Nyb2xsRWxlbWVudChzY3JvbGxFbGVtZW50SWQ6IHN0cmluZywgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgZGlyZWN0aW9uOiBTY3JvbGxEaXJlY3Rpb25FbnVtLCBvZmZzZXQ6IG51bWJlciA9IDApOiB2b2lkIHtcbiAgICB0aGlzLl9jaGVja1Njcm9sbEVsZW1lbnROb3RFeGlzdHMoc2Nyb2xsRWxlbWVudElkKTtcbiAgICB0aGlzLl9pbml0U2Nyb2xsRWxlbWVudExpc3RlbmVyKHNjcm9sbEVsZW1lbnRJZCwgdGhpcy5fZ2VuZXJhdGVTY3JvbGxFbGVtZW50KHNjcm9sbEVsZW1lbnRJZCwgZWxlbWVudFJlZiwgZGlyZWN0aW9uLCBvZmZzZXQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrU2Nyb2xsRWxlbWVudE5vdEV4aXN0cyhzY3JvbGxFbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zY3JvbGxFbGVtZW50c1tzY3JvbGxFbGVtZW50SWRdICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2Nyb2xsU3B5U2VydmljZTogVGhlIHNjcm9sbCBlbGVtZW50IHdpdGggdGhlIGlkIFske3Njcm9sbEVsZW1lbnRJZH1dIGV4aXN0cy5gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0SXRlbShpdGVtSWQ6IHN0cmluZywgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgc2Nyb2xsRWxlbWVudElkID0gZGVmYXVsdEVsZW1lbnRJZCk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrSXRlbU5vdEV4aXN0cyhpdGVtSWQpO1xuICAgIHRoaXMuX3Njcm9sbEl0ZW1zW2l0ZW1JZF0gPSB0aGlzLl9nZW5lcmF0ZVNjcm9sbE9iamVjdChpdGVtSWQsIGVsZW1lbnRSZWYsIHNjcm9sbEVsZW1lbnRJZCk7XG4gICAgdGhpcy5fc2V0RGVmYXVsdEl0ZW0oaXRlbUlkLCBzY3JvbGxFbGVtZW50SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tJdGVtTm90RXhpc3RzKGl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3Njcm9sbEl0ZW1zW2l0ZW1JZF0gIT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTY3JvbGxTcHlTZXJ2aWNlOiBUaGUgc2Nyb2xsIGl0ZW0gd2l0aCB0aGUgaWQgWyR7aXRlbUlkfV0gZXhpc3RzLmApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dlbmVyYXRlU2Nyb2xsT2JqZWN0KGlkOiBzdHJpbmcsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHNjcm9sbEVsZW1lbnRJZDogc3RyaW5nKTogU2Nyb2xsT2JqZWN0SW50ZXJmYWNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQsXG4gICAgICBzY3JvbGxFbGVtZW50SWQsXG4gICAgICBlbGVtZW50UmVmLFxuICAgICAgbmF0aXZlRWxlbWVudDogZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldERlZmF1bHRJdGVtKGl0ZW1JZDogc3RyaW5nLCBzY3JvbGxFbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9sb29rQWhlYWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgX3ZhbHVlID0gdGhpcy5fc2Nyb2xsRWxlbWVudExpc3RlbmVyW3Njcm9sbEVsZW1lbnRJZF07XG4gICAgaWYgKF92YWx1ZSA9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZXRTY3JvbGxFbGVtZW50TGlzdGVuZXIoc2Nyb2xsRWxlbWVudElkLCB0aGlzLl9zY3JvbGxJdGVtc1tpdGVtSWRdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRTY3JvbGxFbGVtZW50TGlzdGVuZXIoc2Nyb2xsRWxlbWVudElkOiBzdHJpbmcsIHNjcm9sbE9iamVjdDogU2Nyb2xsT2JqZWN0SW50ZXJmYWNlKTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsRWxlbWVudExpc3RlbmVyW3Njcm9sbEVsZW1lbnRJZF0gPSBzY3JvbGxPYmplY3Q7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl8kc2Nyb2xsRWxlbWVudExpc3RlbmVyW3Njcm9sbEVsZW1lbnRJZF0ubmV4dChzY3JvbGxPYmplY3QpKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTY3JvbGxFbGVtZW50KGl0ZW1JZDogc3RyaW5nLCBvbGRFbGVtZW50SWQ6IHN0cmluZywgbmV3RWxlbWVudElkOiBzdHJpbmcsIG92ZXJyaWRlID0gZmFsc2UpIHtcbiAgICB0aGlzLl9jaGVja1Njcm9sbEVsZW1lbnRFeGlzdHMob2xkRWxlbWVudElkKTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbEVsZW1lbnRFeGlzdHMobmV3RWxlbWVudElkKTtcbiAgICB0aGlzLl9jaGVja0l0ZW1FeGlzdHMoaXRlbUlkKTtcblxuICAgIGNvbnN0IF9zY3JvbGxJdGVtID0gdGhpcy5fc2Nyb2xsSXRlbXNbaXRlbUlkXTtcbiAgICBpZiAoKF9zY3JvbGxJdGVtLnNjcm9sbEVsZW1lbnRJZCAhPT0gZGVmYXVsdEVsZW1lbnRJZCAmJiBvdmVycmlkZSkgfHwgX3Njcm9sbEl0ZW0uc2Nyb2xsRWxlbWVudElkID09PSBkZWZhdWx0RWxlbWVudElkKSB7XG4gICAgICB0aGlzLl9zY3JvbGxJdGVtc1tpdGVtSWRdLnNjcm9sbEVsZW1lbnRJZCA9IG5ld0VsZW1lbnRJZDtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXREZWZhdWx0SXRlbShpdGVtSWQsIG5ld0VsZW1lbnRJZCk7XG5cbiAgICBjb25zdCBfb2xkRWxlbWVudHMgPSB0aGlzLl9nZXRFbGVtZW50SXRlbXMob2xkRWxlbWVudElkKTtcbiAgICBpZiAoX29sZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NldERlZmF1bHRJdGVtKF9vbGRFbGVtZW50c1swXS5pZCwgb2xkRWxlbWVudElkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbGVtZW50SXRlbXMoc2Nyb2xsRWxlbWVudElkOiBzdHJpbmcpOiBBcnJheTxTY3JvbGxPYmplY3RJbnRlcmZhY2U+IHtcbiAgICBjb25zdCBfaXRlbXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLl9zY3JvbGxJdGVtcykge1xuICAgICAgaWYgKHRoaXMuX3Njcm9sbEl0ZW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9zY3JvbGxJdGVtc1trZXldO1xuICAgICAgICBpZiAodmFsdWUuc2Nyb2xsRWxlbWVudElkID09PSBzY3JvbGxFbGVtZW50SWQpIHtcbiAgICAgICAgICBfaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIF9pdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrSXRlbUV4aXN0cyhpdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zY3JvbGxJdGVtc1tpdGVtSWRdID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2Nyb2xsU3B5U2VydmljZTogVGhlIHNjcm9sbCBpdGVtIHdpdGggdGhlIGlkIFske2l0ZW1JZH1dIGRvZXNuJ3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9ic2VydmUoc2Nyb2xsRWxlbWVudElkOiBzdHJpbmcgPSBkZWZhdWx0RWxlbWVudElkKTogT2JzZXJ2YWJsZTxTY3JvbGxPYmplY3RJbnRlcmZhY2U+IHtcbiAgICB0aGlzLl9jaGVja1Njcm9sbEVsZW1lbnRFeGlzdHMoc2Nyb2xsRWxlbWVudElkKTtcbiAgICByZXR1cm4gdGhpcy5fJHNjcm9sbEVsZW1lbnRMaXN0ZW5lcltzY3JvbGxFbGVtZW50SWRdLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tTY3JvbGxFbGVtZW50RXhpc3RzKHNjcm9sbEVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3Njcm9sbEVsZW1lbnRzW3Njcm9sbEVsZW1lbnRJZF0gPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTY3JvbGxTcHlTZXJ2aWNlOiBUaGUgc2Nyb2xsIGVsZW1lbnQgd2l0aCB0aGUgaWQgWyR7c2Nyb2xsRWxlbWVudElkfV0gZG9lc24ndCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU2Nyb2xsRWxlbWVudChzY3JvbGxFbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2NoZWNrU2Nyb2xsRWxlbWVudEV4aXN0cyhzY3JvbGxFbGVtZW50SWQpO1xuXG4gICAgY29uc3QgX2VsZW1lbnQgPSB0aGlzLl9zY3JvbGxFbGVtZW50c1tzY3JvbGxFbGVtZW50SWRdO1xuICAgIGNvbnN0IF9lbGVtZW50SXRlbXMgPSB0aGlzLl9nZXRFbGVtZW50SXRlbXMoc2Nyb2xsRWxlbWVudElkKTtcblxuICAgIGNvbnN0IF9uZXh0QWN0aXZlSXRlbSA9IHRoaXMuX2dldEFjdGl2ZUl0ZW0oX2VsZW1lbnQsIF9lbGVtZW50SXRlbXMpO1xuICAgIGNvbnN0IF9jdXJyZW50QWN0aXZlSXRlbSA9IHRoaXMuX3Njcm9sbEVsZW1lbnRMaXN0ZW5lcltzY3JvbGxFbGVtZW50SWRdO1xuXG4gICAgaWYgKF9jdXJyZW50QWN0aXZlSXRlbSA9PSBudWxsKSB7XG4gICAgICBpZiAoX25leHRBY3RpdmVJdGVtICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2V0U2Nyb2xsRWxlbWVudExpc3RlbmVyKHNjcm9sbEVsZW1lbnRJZCwgX25leHRBY3RpdmVJdGVtKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKF9uZXh0QWN0aXZlSXRlbSAhPSBudWxsKSB7XG4gICAgICBpZiAoX2N1cnJlbnRBY3RpdmVJdGVtLmlkICE9PSBfbmV4dEFjdGl2ZUl0ZW0uaWQpIHtcbiAgICAgICAgdGhpcy5fc2V0U2Nyb2xsRWxlbWVudExpc3RlbmVyKHNjcm9sbEVsZW1lbnRJZCwgX25leHRBY3RpdmVJdGVtKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKF9uZXh0QWN0aXZlSXRlbSA9PSBudWxsICYmIHRoaXMuX2xvb2tBaGVhZCkge1xuICAgICAgdGhpcy5fc2V0U2Nyb2xsRWxlbWVudExpc3RlbmVyKHNjcm9sbEVsZW1lbnRJZCwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QWN0aXZlSXRlbShzY3JvbGxFbGVtZW50OiBTY3JvbGxFbGVtZW50SW50ZXJmYWNlLCBsaXN0T2ZFbGVtZW50czogQXJyYXk8U2Nyb2xsT2JqZWN0SW50ZXJmYWNlPik6IFNjcm9sbE9iamVjdEludGVyZmFjZSB7XG4gICAgY29uc3QgX2RpcmVjdGlvbiA9IHNjcm9sbEVsZW1lbnQuZGlyZWN0aW9uO1xuICAgIGxldCBfc2Nyb2xsT2JqZWN0ID0gbnVsbDtcblxuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSBzY3JvbGxFbGVtZW50LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBsaXN0T2ZFbGVtZW50cy5mb3JFYWNoKChfZWxlbWVudCkgPT4ge1xuICAgICAgbGV0IF9hY3RpdmUgPSBmYWxzZTtcbiAgICAgIHN3aXRjaCAoX2RpcmVjdGlvbikge1xuICAgICAgICBjYXNlIFNjcm9sbERpcmVjdGlvbkVudW0uaG9yaXpvbnRhbDpcbiAgICAgICAgICBjb25zdCBfc2Nyb2xsTGVmdCA9IHNjcm9sbEVsZW1lbnQuaWQudG9Mb3dlckNhc2UoKSA9PT0gJ3dpbmRvdycgPyAod2luZG93ICYmIHdpbmRvdy5wYWdlWE9mZnNldCkgfHwgMCA6IG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgICAgICAgICBfYWN0aXZlID0gX2VsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IDw9IF9zY3JvbGxMZWZ0ICsgc2Nyb2xsRWxlbWVudC5vZmZzZXQ7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIGNvbnN0IF9zY3JvbGxUb3AgPSBzY3JvbGxFbGVtZW50LmlkLnRvTG93ZXJDYXNlKCkgPT09ICd3aW5kb3cnID8gKHdpbmRvdyAmJiB3aW5kb3cucGFnZVlPZmZzZXQpIHx8IDAgOiBuYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcbiAgICAgICAgICBpZiAodGhpcy5fYWN0aXZhdGVPbmx5U2V0SXRlbXMpIHtcbiAgICAgICAgICAgIF9hY3RpdmUgPVxuICAgICAgICAgICAgICBfZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCA8IF9zY3JvbGxUb3AgKyBzY3JvbGxFbGVtZW50Lm9mZnNldCAmJlxuICAgICAgICAgICAgICBfZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCArIF9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ID4gX3Njcm9sbFRvcCArIHNjcm9sbEVsZW1lbnQub2Zmc2V0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBfYWN0aXZlID0gX2VsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3AgPD0gX3Njcm9sbFRvcCArIHNjcm9sbEVsZW1lbnQub2Zmc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKF9hY3RpdmUpIHtcbiAgICAgICAgX3Njcm9sbE9iamVjdCA9IF9lbGVtZW50O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBfc2Nyb2xsT2JqZWN0O1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVNjcm9sbEVsZW1lbnQoc2Nyb2xsRWxlbWVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoc2Nyb2xsRWxlbWVudElkID09PSAnd2luZG93Jykge1xuICAgICAgdGhpcy5fc2V0U2Nyb2xsRWxlbWVudExpc3RlbmVyKHNjcm9sbEVsZW1lbnRJZCwgbnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NoZWNrU2Nyb2xsRWxlbWVudEV4aXN0cyhzY3JvbGxFbGVtZW50SWQpO1xuICAgICAgZGVsZXRlIHRoaXMuX3Njcm9sbEVsZW1lbnRzW3Njcm9sbEVsZW1lbnRJZF07XG4gICAgICBkZWxldGUgdGhpcy5fJHNjcm9sbEVsZW1lbnRMaXN0ZW5lcltzY3JvbGxFbGVtZW50SWRdO1xuICAgICAgZGVsZXRlIHRoaXMuX3Njcm9sbEVsZW1lbnRMaXN0ZW5lcltzY3JvbGxFbGVtZW50SWRdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVJdGVtKGl0ZW1JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3Njcm9sbEl0ZW1zW2l0ZW1JZF0gIT0gbnVsbCkge1xuICAgICAgZGVsZXRlIHRoaXMuX3Njcm9sbEl0ZW1zW2l0ZW1JZF07XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-scrollspy
3
- */
4
- // enums
5
- export { ScrollDirectionEnum } from './lib/scroll-direction.enum';
6
- // services
7
- export { ScrollSpyService } from './lib/scroll-spy.service';
8
- // directives
9
- export { ScrollElementDirective } from './lib/scroll-element.directive';
10
- export { ScrollItemDirective } from './lib/scroll-item.directive';
11
- export { ScrollSpyDirective } from './lib/scroll-spy.directive';
12
- // modules
13
- export { NgxScrollspyModule } from './lib/ngx-scrollspy.module';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bmlwcmFuay9uZ3gtc2Nyb2xsc3B5LyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILFFBQVE7QUFDUixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU1sRSxXQUFXO0FBQ1gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsYUFBYTtBQUNiLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLFVBQVU7QUFDVixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXNjcm9sbHNweVxuICovXG4vLyBlbnVtc1xuZXhwb3J0IHsgU2Nyb2xsRGlyZWN0aW9uRW51bSB9IGZyb20gJy4vbGliL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5cbi8vIGludGVyZmFjZXNcbmV4cG9ydCB7IFNjcm9sbE9iamVjdEludGVyZmFjZSB9IGZyb20gJy4vbGliL3Njcm9sbC1vYmplY3QuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFNjcm9sbEVsZW1lbnRJbnRlcmZhY2UgfSBmcm9tICcuL2xpYi9zY3JvbGwtZWxlbWVudC5pbnRlcmZhY2UnO1xuXG4vLyBzZXJ2aWNlc1xuZXhwb3J0IHsgU2Nyb2xsU3B5U2VydmljZSB9IGZyb20gJy4vbGliL3Njcm9sbC1zcHkuc2VydmljZSc7XG5cbi8vIGRpcmVjdGl2ZXNcbmV4cG9ydCB7IFNjcm9sbEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zY3JvbGwtZWxlbWVudC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2Nyb2xsSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbGliL3Njcm9sbC1pdGVtLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTY3JvbGxTcHlEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5cbi8vIG1vZHVsZXNcbmV4cG9ydCB7IE5neFNjcm9sbHNweU1vZHVsZSB9IGZyb20gJy4vbGliL25neC1zY3JvbGxzcHkubW9kdWxlJztcbiJdfQ==
@@ -1,6 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { SPY_CONFIG as ɵa } from './lib/scroll-spy.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcHJhbmstbmd4LXNjcm9sbHNweS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bmlwcmFuay9uZ3gtc2Nyb2xsc3B5LyIsInNvdXJjZXMiOlsidW5pcHJhbmstbmd4LXNjcm9sbHNweS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0sMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7U1BZX0NPTkZJRyBhcyDJtWF9IGZyb20gJy4vbGliL3Njcm9sbC1zcHkuc2VydmljZSc7Il19
@@ -1,33 +0,0 @@
1
- import { __decorate, __read, __spread } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- import { ScrollSpyDirective } from './scroll-spy.directive';
4
- import { ScrollItemDirective } from './scroll-item.directive';
5
- import { ScrollElementDirective } from './scroll-element.directive';
6
- import { SPY_CONFIG, ScrollSpyService } from './scroll-spy.service';
7
- import { CommonModule } from '@angular/common';
8
- var directives = [ScrollSpyDirective, ScrollItemDirective, ScrollElementDirective];
9
- var components = [];
10
- var providers = [ScrollSpyService];
11
- var NgxScrollspyModule = /** @class */ (function () {
12
- function NgxScrollspyModule() {
13
- }
14
- NgxScrollspyModule_1 = NgxScrollspyModule;
15
- NgxScrollspyModule.forRoot = function (parameters) {
16
- if (parameters === void 0) { parameters = { lookAhead: false }; }
17
- return {
18
- ngModule: NgxScrollspyModule_1,
19
- providers: __spread(providers, [{ provide: SPY_CONFIG, useValue: parameters }])
20
- };
21
- };
22
- var NgxScrollspyModule_1;
23
- NgxScrollspyModule = NgxScrollspyModule_1 = __decorate([
24
- NgModule({
25
- imports: [CommonModule],
26
- declarations: __spread(directives, components),
27
- exports: __spread(directives, components)
28
- })
29
- ], NgxScrollspyModule);
30
- return NgxScrollspyModule;
31
- }());
32
- export { NgxScrollspyModule };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNjcm9sbHNweS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9uZ3gtc2Nyb2xsc3B5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBcUQsTUFBTSxlQUFlLENBQUM7QUFFNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxJQUFNLFVBQVUsR0FBVSxDQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDNUYsSUFBTSxVQUFVLEdBQVUsRUFBRSxDQUFDO0FBQzdCLElBQU0sU0FBUyxHQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQU9qRDtJQUFBO0lBT0EsQ0FBQzsyQkFQWSxrQkFBa0I7SUFDYiwwQkFBTyxHQUFyQixVQUFzQixVQUE0QztRQUE1QywyQkFBQSxFQUFBLGVBQTBCLFNBQVMsRUFBRSxLQUFLLEVBQUU7UUFDOUQsT0FBTztZQUNILFFBQVEsRUFBRSxvQkFBa0I7WUFDNUIsU0FBUyxXQUFNLFNBQVMsR0FBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFDO1NBQzNFLENBQUM7SUFDTixDQUFDOztJQU5RLGtCQUFrQjtRQUw5QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDdkIsWUFBWSxXQUFNLFVBQVUsRUFBSyxVQUFVLENBQUM7WUFDNUMsT0FBTyxXQUFNLFVBQVUsRUFBSyxVQUFVLENBQUM7U0FDMUMsQ0FBQztPQUNXLGtCQUFrQixDQU85QjtJQUFELHlCQUFDO0NBQUEsQUFQRCxJQU9DO1NBUFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFByb3ZpZGVyLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBTa2lwU2VsZiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2Nyb2xsU3B5RGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2Nyb2xsRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgU1BZX0NPTkZJRywgU3B5Q29uZmlnLCBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3QgZGlyZWN0aXZlczogYW55W10gPSBbU2Nyb2xsU3B5RGlyZWN0aXZlLCBTY3JvbGxJdGVtRGlyZWN0aXZlLCBTY3JvbGxFbGVtZW50RGlyZWN0aXZlXTtcbmNvbnN0IGNvbXBvbmVudHM6IGFueVtdID0gW107XG5jb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbU2Nyb2xsU3B5U2VydmljZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZGlyZWN0aXZlcywgLi4uY29tcG9uZW50c10sXG4gICAgZXhwb3J0czogWy4uLmRpcmVjdGl2ZXMsIC4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIE5neFNjcm9sbHNweU1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KHBhcmFtZXRlcnM6IFNweUNvbmZpZyA9IHsgbG9va0FoZWFkOiBmYWxzZSB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hTY3JvbGxzcHlNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hTY3JvbGxzcHlNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi5wcm92aWRlcnMsIHsgcHJvdmlkZTogU1BZX0NPTkZJRywgdXNlVmFsdWU6IHBhcmFtZXRlcnMgfV1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- export var ScrollDirectionEnum;
2
- (function (ScrollDirectionEnum) {
3
- ScrollDirectionEnum["vertical"] = "vertical";
4
- ScrollDirectionEnum["horizontal"] = "horizontal";
5
- })(ScrollDirectionEnum || (ScrollDirectionEnum = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWRpcmVjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWRpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1CQUdYO0FBSEQsV0FBWSxtQkFBbUI7SUFDM0IsNENBQXFCLENBQUE7SUFDckIsZ0RBQXlCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JvbGxEaXJlY3Rpb25FbnVtIHtcbiAgICB2ZXJ0aWNhbCA9ICd2ZXJ0aWNhbCcsXG4gICAgaG9yaXpvbnRhbCA9ICdob3Jpem9udGFsJ1xufVxuIl19
@@ -1,65 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, HostListener, ElementRef, Input, OnInit, OnDestroy, ContentChildren, QueryList, AfterViewInit } from '@angular/core';
3
- import { ScrollDirectionEnum } from './scroll-direction.enum';
4
- import { ScrollSpyService } from './scroll-spy.service';
5
- import { ScrollSpyDirective } from './scroll-spy.directive';
6
- var ScrollElementDirective = /** @class */ (function () {
7
- function ScrollElementDirective(_el, _scrollSpyService) {
8
- this._el = _el;
9
- this._scrollSpyService = _scrollSpyService;
10
- this.direction = ScrollDirectionEnum.vertical;
11
- }
12
- ScrollElementDirective.prototype.onScroll = function ($event) {
13
- this._scrollSpyService.updateScrollElement(this.elementId);
14
- };
15
- ScrollElementDirective.prototype.ngOnInit = function () {
16
- this._scrollSpyService.setScrollElement(this.elementId, this._el, this.direction);
17
- if (this._scrollSpyService.attributeType === 'id') {
18
- this._el.nativeElement.setAttribute('id', this.elementId);
19
- }
20
- else {
21
- this._el.nativeElement.setAttribute('data-id', this.elementId);
22
- }
23
- };
24
- ScrollElementDirective.prototype.ngAfterViewInit = function () {
25
- var _this = this;
26
- var _scrollSpyElements = this._scrollSpyElements.toArray();
27
- _scrollSpyElements.forEach(function (element) {
28
- _this._scrollSpyService.changeScrollElement(element.itemId, element.scrollElement, _this.elementId);
29
- });
30
- };
31
- ScrollElementDirective.prototype.ngOnDestroy = function () {
32
- this._scrollSpyService.deleteScrollElement(this.elementId);
33
- };
34
- ScrollElementDirective.ctorParameters = function () { return [
35
- { type: ElementRef },
36
- { type: ScrollSpyService }
37
- ]; };
38
- __decorate([
39
- Input('uniScrollElement'),
40
- __metadata("design:type", String)
41
- ], ScrollElementDirective.prototype, "elementId", void 0);
42
- __decorate([
43
- Input(),
44
- __metadata("design:type", String)
45
- ], ScrollElementDirective.prototype, "direction", void 0);
46
- __decorate([
47
- ContentChildren(ScrollSpyDirective, { descendants: true }),
48
- __metadata("design:type", QueryList)
49
- ], ScrollElementDirective.prototype, "_scrollSpyElements", void 0);
50
- __decorate([
51
- HostListener('scroll', ['$event']),
52
- __metadata("design:type", Function),
53
- __metadata("design:paramtypes", [Object]),
54
- __metadata("design:returntype", void 0)
55
- ], ScrollElementDirective.prototype, "onScroll", null);
56
- ScrollElementDirective = __decorate([
57
- Directive({
58
- selector: '[uniScrollElement]'
59
- }),
60
- __metadata("design:paramtypes", [ElementRef, ScrollSpyService])
61
- ], ScrollElementDirective);
62
- return ScrollElementDirective;
63
- }());
64
- export { ScrollElementDirective };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLNUQ7SUFZSSxnQ0FBb0IsR0FBZSxFQUFVLGlCQUFtQztRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQVZ2RSxjQUFTLEdBQXdCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztJQVVZLENBQUM7SUFKcEYseUNBQVEsR0FBUixVQUFTLE1BQU07UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFJRCx5Q0FBUSxHQUFSO1FBQ0ksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDO0lBRUQsZ0RBQWUsR0FBZjtRQUFBLGlCQUtDO1FBSkcsSUFBTSxrQkFBa0IsR0FBeUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25GLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxVQUFDLE9BQU87WUFDL0IsS0FBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEcsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNENBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7Z0JBcEJ3QixVQUFVO2dCQUE2QixnQkFBZ0I7O0lBWHJEO1FBQTFCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQzs7NkRBQW1CO0lBQ3BDO1FBQVIsS0FBSyxFQUFFOzs2REFBK0Q7SUFHdkU7UUFEQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBQy9CLFNBQVM7c0VBQXFCO0lBRzFEO1FBREMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7OzBEQUdsQztJQVZRLHNCQUFzQjtRQUhsQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsb0JBQW9CO1NBQ2pDLENBQUM7eUNBYTJCLFVBQVUsRUFBNkIsZ0JBQWdCO09BWnZFLHNCQUFzQixDQWlDbEM7SUFBRCw2QkFBQztDQUFBLEFBakNELElBaUNDO1NBakNZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBTY3JvbGxTcHlTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Nyb2xsU3B5RGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtc3B5LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3VuaVNjcm9sbEVsZW1lbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxFbGVtZW50RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgndW5pU2Nyb2xsRWxlbWVudCcpIGVsZW1lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bSA9IFNjcm9sbERpcmVjdGlvbkVudW0udmVydGljYWw7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFNjcm9sbFNweURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByaXZhdGUgX3Njcm9sbFNweUVsZW1lbnRzOiBRdWVyeUxpc3Q8U2Nyb2xsU3B5RGlyZWN0aXZlPjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25TY3JvbGwoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2UudXBkYXRlU2Nyb2xsRWxlbWVudCh0aGlzLmVsZW1lbnRJZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3Njcm9sbFNweVNlcnZpY2U6IFNjcm9sbFNweVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5zZXRTY3JvbGxFbGVtZW50KHRoaXMuZWxlbWVudElkLCB0aGlzLl9lbCwgdGhpcy5kaXJlY3Rpb24pO1xuICAgICAgICBpZiAodGhpcy5fc2Nyb2xsU3B5U2VydmljZS5hdHRyaWJ1dGVUeXBlID09PSAnaWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmVsZW1lbnRJZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1pZCcsIHRoaXMuZWxlbWVudElkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgX3Njcm9sbFNweUVsZW1lbnRzOiBTY3JvbGxTcHlEaXJlY3RpdmVbXSA9IHRoaXMuX3Njcm9sbFNweUVsZW1lbnRzLnRvQXJyYXkoKTtcbiAgICAgICAgX3Njcm9sbFNweUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2UuY2hhbmdlU2Nyb2xsRWxlbWVudChlbGVtZW50Lml0ZW1JZCwgZWxlbWVudC5zY3JvbGxFbGVtZW50LCB0aGlzLmVsZW1lbnRJZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmRlbGV0ZVNjcm9sbEVsZW1lbnQodGhpcy5lbGVtZW50SWQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWVsZW1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjcm9sbERpcmVjdGlvbkVudW0gfSBmcm9tICcuL3Njcm9sbC1kaXJlY3Rpb24uZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsRWxlbWVudEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIGRpcmVjdGlvbjogU2Nyb2xsRGlyZWN0aW9uRW51bTtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, Input, Output, EventEmitter, OnDestroy, HostBinding, AfterViewInit, ChangeDetectorRef } from '@angular/core';
3
- import { ScrollSpyService } from './scroll-spy.service';
4
- var ScrollItemDirective = /** @class */ (function () {
5
- function ScrollItemDirective(_scrollSpyService, _cdr) {
6
- this._scrollSpyService = _scrollSpyService;
7
- this._cdr = _cdr;
8
- this.classActive = false;
9
- this.scrollElement = 'window';
10
- this.activeEvent = new EventEmitter();
11
- }
12
- ScrollItemDirective.prototype.ngOnDestroy = function () {
13
- if (this._subscriber) {
14
- this._subscriber.unsubscribe();
15
- }
16
- };
17
- ScrollItemDirective.prototype.ngAfterViewInit = function () {
18
- var _this = this;
19
- this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe(function (element) {
20
- var _active;
21
- if (element != null) {
22
- _active = element.id === _this.itemId;
23
- _this.activeEvent.emit(_active);
24
- }
25
- else {
26
- _active = false;
27
- }
28
- setTimeout(function () {
29
- _this.classActive = _active;
30
- _this._cdr.markForCheck();
31
- });
32
- });
33
- };
34
- ScrollItemDirective.ctorParameters = function () { return [
35
- { type: ScrollSpyService },
36
- { type: ChangeDetectorRef }
37
- ]; };
38
- __decorate([
39
- HostBinding('class.active'),
40
- __metadata("design:type", Object)
41
- ], ScrollItemDirective.prototype, "classActive", void 0);
42
- __decorate([
43
- Input('uniScrollItem'),
44
- __metadata("design:type", String)
45
- ], ScrollItemDirective.prototype, "itemId", void 0);
46
- __decorate([
47
- Input(),
48
- __metadata("design:type", Object)
49
- ], ScrollItemDirective.prototype, "scrollElement", void 0);
50
- __decorate([
51
- Output(),
52
- __metadata("design:type", EventEmitter)
53
- ], ScrollItemDirective.prototype, "activeEvent", void 0);
54
- ScrollItemDirective = __decorate([
55
- Directive({
56
- selector: '[uniScrollItem]'
57
- }),
58
- __metadata("design:paramtypes", [ScrollSpyService, ChangeDetectorRef])
59
- ], ScrollItemDirective);
60
- return ScrollItemDirective;
61
- }());
62
- export { ScrollItemDirective };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXByYW5rL25neC1zY3JvbGxzcHkvIiwic291cmNlcyI6WyJsaWIvc2Nyb2xsLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3hEO0lBVUksNkJBQW9CLGlCQUFtQyxFQUFVLElBQXVCO1FBQXBFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUd4QyxrQkFBYSxHQUFHLFFBQVEsQ0FBQztRQUV4QixnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBSXlCLENBQUM7SUFFNUYseUNBQVcsR0FBWDtRQUNJLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVELDZDQUFlLEdBQWY7UUFBQSxpQkFlQztRQWRHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsT0FBTztZQUNwRixJQUFJLE9BQU8sQ0FBQztZQUNaLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDakIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSSxDQUFDLE1BQU0sQ0FBQztnQkFDckMsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUNuQjtZQUVELFVBQVUsQ0FBQztnQkFDUCxLQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztnQkFDM0IsS0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0JBdkJzQyxnQkFBZ0I7Z0JBQWdCLGlCQUFpQjs7SUFUM0Q7UUFBNUIsV0FBVyxDQUFDLGNBQWMsQ0FBQzs7NERBQXFCO0lBRXpCO1FBQXZCLEtBQUssQ0FBQyxlQUFlLENBQUM7O3VEQUFnQjtJQUM5QjtRQUFSLEtBQUssRUFBRTs7OERBQTBCO0lBRXhCO1FBQVQsTUFBTSxFQUFFO2tDQUFjLFlBQVk7NERBQStCO0lBTnpELG1CQUFtQjtRQUgvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1NBQzlCLENBQUM7eUNBV3lDLGdCQUFnQixFQUFnQixpQkFBaUI7T0FWL0UsbUJBQW1CLENBa0MvQjtJQUFELDBCQUFDO0NBQUEsQUFsQ0QsSUFrQ0M7U0FsQ1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2Nyb2xsU3B5U2VydmljZSB9IGZyb20gJy4vc2Nyb2xsLXNweS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdW5pU2Nyb2xsSXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJykgY2xhc3NBY3RpdmUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgndW5pU2Nyb2xsSXRlbScpIGl0ZW1JZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNjcm9sbEVsZW1lbnQgPSAnd2luZG93JztcblxuICAgIEBPdXRwdXQoKSBhY3RpdmVFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaWJlcjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Nyb2xsU3B5U2VydmljZTogU2Nyb2xsU3B5U2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaWJlcikge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVyID0gdGhpcy5fc2Nyb2xsU3B5U2VydmljZS5vYnNlcnZlKHRoaXMuc2Nyb2xsRWxlbWVudCkuc3Vic2NyaWJlKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBsZXQgX2FjdGl2ZTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBfYWN0aXZlID0gZWxlbWVudC5pZCA9PT0gdGhpcy5pdGVtSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVFdmVudC5lbWl0KF9hY3RpdmUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBfYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xhc3NBY3RpdmUgPSBfYWN0aXZlO1xuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLW9iamVjdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9zY3JvbGwtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjcm9sbE9iamVjdEludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzY3JvbGxFbGVtZW50SWQ6IHN0cmluZztcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xufVxuIl19
@@ -1,62 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Directive, AfterViewInit, Input, ElementRef, HostBinding, OnDestroy, ChangeDetectorRef } from '@angular/core';
3
- import { ScrollSpyService } from './scroll-spy.service';
4
- var ScrollSpyDirective = /** @class */ (function () {
5
- function ScrollSpyDirective(_el, _scrollSpyService, _cdr) {
6
- this._el = _el;
7
- this._scrollSpyService = _scrollSpyService;
8
- this._cdr = _cdr;
9
- this.classActive = false;
10
- this.scrollElement = 'window';
11
- }
12
- ScrollSpyDirective.prototype.ngOnDestroy = function () {
13
- if (this._subscriber) {
14
- this._subscriber.unsubscribe();
15
- }
16
- this._scrollSpyService.deleteItem(this.itemId);
17
- };
18
- ScrollSpyDirective.prototype.ngAfterViewInit = function () {
19
- var _this = this;
20
- this._subscriber = this._scrollSpyService.observe(this.scrollElement).subscribe(function (element) {
21
- if (element != null) {
22
- var _active_1 = element.id === _this.itemId;
23
- setTimeout(function () {
24
- _this.classActive = _active_1;
25
- _this._cdr.markForCheck();
26
- });
27
- }
28
- });
29
- this._scrollSpyService.setItem(this.itemId, this._el, this.scrollElement);
30
- var _keyType = 'id';
31
- if (this._scrollSpyService.attributeType === 'data-id') {
32
- _keyType = 'data-id';
33
- }
34
- this._el.nativeElement.setAttribute(_keyType, this.itemId);
35
- };
36
- ScrollSpyDirective.ctorParameters = function () { return [
37
- { type: ElementRef },
38
- { type: ScrollSpyService },
39
- { type: ChangeDetectorRef }
40
- ]; };
41
- __decorate([
42
- HostBinding('class.active'),
43
- __metadata("design:type", Object)
44
- ], ScrollSpyDirective.prototype, "classActive", void 0);
45
- __decorate([
46
- Input('uniScrollSpy'),
47
- __metadata("design:type", String)
48
- ], ScrollSpyDirective.prototype, "itemId", void 0);
49
- __decorate([
50
- Input(),
51
- __metadata("design:type", Object)
52
- ], ScrollSpyDirective.prototype, "scrollElement", void 0);
53
- ScrollSpyDirective = __decorate([
54
- Directive({
55
- selector: '[uniScrollSpy]'
56
- }),
57
- __metadata("design:paramtypes", [ElementRef, ScrollSpyService, ChangeDetectorRef])
58
- ], ScrollSpyDirective);
59
- return ScrollSpyDirective;
60
- }());
61
- export { ScrollSpyDirective };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNweS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdW5pcHJhbmsvbmd4LXNjcm9sbHNweS8iLCJzb3VyY2VzIjpbImxpYi9zY3JvbGwtc3B5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBS3hEO0lBUUUsNEJBQW9CLEdBQWUsRUFBVSxpQkFBbUMsRUFBVSxJQUF1QjtRQUE3RixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUHBGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBR3hDLGtCQUFhLEdBQUcsUUFBUSxDQUFDO0lBSWtGLENBQUM7SUFFckgsd0NBQVcsR0FBWDtRQUNFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELDRDQUFlLEdBQWY7UUFBQSxpQkFpQkM7UUFoQkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQyxPQUFPO1lBQ3RGLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDbkIsSUFBTSxTQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1QsS0FBSSxDQUFDLFdBQVcsR0FBRyxTQUFPLENBQUM7b0JBQzNCLEtBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUN0RCxRQUFRLEdBQUcsU0FBUyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Z0JBMUJ3QixVQUFVO2dCQUE2QixnQkFBZ0I7Z0JBQWdCLGlCQUFpQjs7SUFQcEY7UUFBNUIsV0FBVyxDQUFDLGNBQWMsQ0FBQzs7MkRBQXFCO0lBRTFCO1FBQXRCLEtBQUssQ0FBQyxjQUFjLENBQUM7O3NEQUFnQjtJQUM3QjtRQUFSLEtBQUssRUFBRTs7NkRBQTBCO0lBSnZCLGtCQUFrQjtRQUg5QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUM7eUNBU3lCLFVBQVUsRUFBNkIsZ0JBQWdCLEVBQWdCLGlCQUFpQjtPQVJ0RyxrQkFBa0IsQ0FtQzlCO0lBQUQseUJBQUM7Q0FBQSxBQW5DRCxJQW1DQztTQW5DWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEFmdGVyVmlld0luaXQsIElucHV0LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjcm9sbFNweVNlcnZpY2UgfSBmcm9tICcuL3Njcm9sbC1zcHkuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t1bmlTY3JvbGxTcHldJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxTcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpIGNsYXNzQWN0aXZlID0gZmFsc2U7XG5cbiAgQElucHV0KCd1bmlTY3JvbGxTcHknKSBpdGVtSWQ6IHN0cmluZztcbiAgQElucHV0KCkgc2Nyb2xsRWxlbWVudCA9ICd3aW5kb3cnO1xuXG4gIHByaXZhdGUgX3N1YnNjcmliZXI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBfc2Nyb2xsU3B5U2VydmljZTogU2Nyb2xsU3B5U2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3Vic2NyaWJlcikge1xuICAgICAgdGhpcy5fc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmRlbGV0ZUl0ZW0odGhpcy5pdGVtSWQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmliZXIgPSB0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLm9ic2VydmUodGhpcy5zY3JvbGxFbGVtZW50KS5zdWJzY3JpYmUoKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChlbGVtZW50ICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgX2FjdGl2ZSA9IGVsZW1lbnQuaWQgPT09IHRoaXMuaXRlbUlkO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsYXNzQWN0aXZlID0gX2FjdGl2ZTtcbiAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3Njcm9sbFNweVNlcnZpY2Uuc2V0SXRlbSh0aGlzLml0ZW1JZCwgdGhpcy5fZWwsIHRoaXMuc2Nyb2xsRWxlbWVudCk7XG5cbiAgICBsZXQgX2tleVR5cGUgPSAnaWQnO1xuICAgIGlmICh0aGlzLl9zY3JvbGxTcHlTZXJ2aWNlLmF0dHJpYnV0ZVR5cGUgPT09ICdkYXRhLWlkJykge1xuICAgICAgX2tleVR5cGUgPSAnZGF0YS1pZCc7XG4gICAgfVxuICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKF9rZXlUeXBlLCB0aGlzLml0ZW1JZCk7XG4gIH1cbn1cbiJdfQ==