ngx-sfc-common 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/button/button.component.mixins.scss +28 -0
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +8 -4
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/load-container/enums/load-container-load-type.enum.mjs +2 -1
- package/esm2020/lib/components/load-container/enums/load-container-type.enum.mjs +2 -1
- package/esm2020/lib/components/load-container/load-container.component.mjs +21 -17
- package/esm2020/lib/components/load-container/models/load-container-predicate-parameters.model.mjs +1 -1
- package/esm2020/lib/components/message/message.component.mjs +22 -0
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +14 -12
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.model.mjs +2 -0
- package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +10 -4
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +16 -17
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.constants.mjs +10 -0
- package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +13 -14
- package/esm2020/lib/components/modal/header/default/default-modal-header.constants.mjs +9 -0
- package/esm2020/lib/components/modal/modal.component.mjs +43 -12
- package/esm2020/lib/components/modal/service/modal.event.mjs +1 -1
- package/esm2020/lib/components/modal/service/modal.service.mjs +17 -13
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +10 -4
- package/esm2020/lib/constants/ui.constants.mjs +2 -1
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +3 -2
- package/esm2020/lib/directives/if/if.directive.mjs +5 -1
- package/esm2020/lib/enums/index.mjs +5 -1
- package/esm2020/lib/enums/items-view.enum.mjs +7 -0
- package/esm2020/lib/enums/notification-type.enum.mjs +7 -0
- package/esm2020/lib/enums/select.enum.mjs +6 -0
- package/esm2020/lib/enums/state.enum.mjs +6 -0
- package/esm2020/lib/models/index.mjs +2 -2
- package/esm2020/lib/models/observable.model.mjs +10 -0
- package/esm2020/lib/models/select.model.mjs +2 -0
- package/esm2020/lib/ngx-sfc-common.module.mjs +15 -7
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/pipes/repeat/repeat.pipe.mjs +14 -0
- package/esm2020/lib/pipes/sort-by/sort-by.pipe.mjs +4 -3
- package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +2 -4
- package/esm2020/lib/services/index.mjs +2 -1
- package/esm2020/lib/services/reload/reload.service.mjs +21 -0
- package/esm2020/lib/utils/collections.utils.mjs +27 -1
- package/esm2020/lib/utils/common.utils.mjs +39 -7
- package/esm2020/lib/utils/date-time.utils.mjs +33 -1
- package/esm2020/lib/utils/http.utils.mjs +3 -1
- package/esm2020/lib/utils/index.mjs +4 -4
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-sfc-common.mjs +414 -157
- package/fesm2015/ngx-sfc-common.mjs.map +1 -1
- package/fesm2020/ngx-sfc-common.mjs +411 -155
- package/fesm2020/ngx-sfc-common.mjs.map +1 -1
- package/lib/components/checkmark/checkmark.component.d.ts +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/load-container/enums/load-container-load-type.enum.d.ts +1 -0
- package/lib/components/load-container/enums/load-container-type.enum.d.ts +2 -1
- package/lib/components/load-container/load-container.component.d.ts +3 -2
- package/lib/components/load-container/models/load-container-predicate-parameters.model.d.ts +1 -0
- package/lib/components/message/message.component.d.ts +9 -0
- package/lib/components/modal/directive/click/modal-open-on-click.directive.d.ts +5 -2
- package/lib/components/modal/directive/click/modal-open-on-click.model.d.ts +4 -0
- package/lib/components/modal/directive/open/modal-open.directive.d.ts +2 -1
- package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +4 -3
- package/lib/components/modal/footer/default/default-modal-footer.constants.d.ts +5 -0
- package/lib/components/modal/header/default/default-modal-header.component.d.ts +2 -2
- package/lib/components/modal/header/default/default-modal-header.constants.d.ts +4 -0
- package/lib/components/modal/modal.component.d.ts +14 -5
- package/lib/components/modal/service/modal.event.d.ts +1 -0
- package/lib/components/modal/service/modal.service.d.ts +7 -6
- package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +4 -2
- package/lib/constants/ui.constants.d.ts +1 -0
- package/lib/directives/if/if.directive.d.ts +1 -1
- package/lib/enums/index.d.ts +4 -0
- package/lib/enums/items-view.enum.d.ts +5 -0
- package/lib/enums/notification-type.enum.d.ts +5 -0
- package/lib/enums/select.enum.d.ts +4 -0
- package/lib/enums/state.enum.d.ts +4 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/observable.model.d.ts +8 -0
- package/lib/models/select.model.d.ts +4 -0
- package/lib/ngx-sfc-common.module.d.ts +14 -12
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/repeat/repeat.pipe.d.ts +7 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/reload/reload.service.d.ts +9 -0
- package/lib/utils/collections.utils.d.ts +14 -0
- package/lib/utils/common.utils.d.ts +18 -6
- package/lib/utils/date-time.utils.d.ts +22 -1
- package/lib/utils/index.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles/_mixins.scss +11 -0
|
@@ -2,15 +2,19 @@ import { Directive, Input } from '@angular/core';
|
|
|
2
2
|
import { UIConstants } from '../../constants';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class IfDirective {
|
|
5
|
+
/* End Properties */
|
|
5
6
|
constructor(el) {
|
|
6
7
|
this.el = el;
|
|
7
8
|
this.display = this.style.display;
|
|
8
9
|
}
|
|
10
|
+
/* Inputs */
|
|
9
11
|
set sfcIf(show) {
|
|
10
12
|
this.style.display = show
|
|
11
13
|
? this.display || UIConstants.CSS_INITIAL
|
|
12
14
|
: UIConstants.CSS_NONE;
|
|
13
15
|
}
|
|
16
|
+
/* End Inputs */
|
|
17
|
+
/* Properties */
|
|
14
18
|
get style() { return this.el.nativeElement.style; }
|
|
15
19
|
}
|
|
16
20
|
IfDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IfDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -23,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
23
27
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { sfcIf: [{
|
|
24
28
|
type: Input
|
|
25
29
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2lmL2lmLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSzlDLE1BQU0sT0FBTyxXQUFXO0lBbUJ0QixvQkFBb0I7SUFFcEIsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0lBckJELFlBQVk7SUFFWixJQUNJLEtBQUssQ0FBQyxJQUFhO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUk7WUFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFdBQVc7WUFDekMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQjtJQUVoQixnQkFBZ0I7SUFFaEIsSUFBWSxLQUFLLEtBQVUsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDOzt3R0FmckQsV0FBVzs0RkFBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7aUJBQ3BCO2lHQU1LLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2ZjSWZdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSWZEaXJlY3RpdmUge1xyXG5cclxuICAvKiBJbnB1dHMgKi9cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgc2ZjSWYoc2hvdzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5zdHlsZS5kaXNwbGF5ID0gc2hvd1xyXG4gICAgICA/IHRoaXMuZGlzcGxheSB8fCBVSUNvbnN0YW50cy5DU1NfSU5JVElBTFxyXG4gICAgICA6IFVJQ29uc3RhbnRzLkNTU19OT05FO1xyXG4gIH1cclxuXHJcbiAgLyogRW5kIElucHV0cyAqL1xyXG5cclxuICAvKiBQcm9wZXJ0aWVzICovXHJcblxyXG4gIHByaXZhdGUgZ2V0IHN0eWxlKCk6IGFueSB7IHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGU7IH1cclxuXHJcbiAgcHJpdmF0ZSBkaXNwbGF5OiBzdHJpbmc7XHJcblxyXG4gIC8qIEVuZCBQcm9wZXJ0aWVzICovXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuZGlzcGxheSA9IHRoaXMuc3R5bGUuZGlzcGxheTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -7,4 +7,8 @@ export { Theme } from './theme.enum';
|
|
|
7
7
|
export { UIClass } from './ui.enum';
|
|
8
8
|
export { Sequence } from './sequence.enum';
|
|
9
9
|
export { Compare } from './compare.enum';
|
|
10
|
-
|
|
10
|
+
export { State } from './state.enum';
|
|
11
|
+
export { NotificationType } from './notification-type.enum';
|
|
12
|
+
export { Select } from './select.enum';
|
|
13
|
+
export { ItemsView } from './items-view.enum';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi9zaXplLmVudW0nO1xyXG5leHBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICcuL2RpcmVjdGlvbi5lbnVtJztcclxuZXhwb3J0IHsgTWVkaWFMaW1pdHMgfSBmcm9tICcuL21lZGlhLmVudW0nO1xyXG5leHBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4vcG9zaXRpb24uZW51bSc7XHJcbmV4cG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tICcuL3NvcnRpbmctZGlyZWN0aW9uLmVudW0nO1xyXG5leHBvcnQgeyBUaGVtZSB9IGZyb20gJy4vdGhlbWUuZW51bSc7XHJcbmV4cG9ydCB7IFVJQ2xhc3MgfSBmcm9tICcuL3VpLmVudW0nO1xyXG5leHBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gJy4vc2VxdWVuY2UuZW51bSc7XHJcbmV4cG9ydCB7IENvbXBhcmUgfSBmcm9tICcuL2NvbXBhcmUuZW51bSc7XHJcbmV4cG9ydCB7IFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS5lbnVtJztcclxuZXhwb3J0IHsgTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLXR5cGUuZW51bSc7XHJcbmV4cG9ydCB7IFNlbGVjdCB9IGZyb20gJy4vc2VsZWN0LmVudW0nO1xyXG5leHBvcnQgeyBJdGVtc1ZpZXcgfSBmcm9tICcuL2l0ZW1zLXZpZXcuZW51bSc7Il19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ItemsView;
|
|
2
|
+
(function (ItemsView) {
|
|
3
|
+
ItemsView["List"] = "list";
|
|
4
|
+
ItemsView["Icons"] = "icons";
|
|
5
|
+
ItemsView["Cards"] = "cards";
|
|
6
|
+
})(ItemsView || (ItemsView = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtdmlldy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9lbnVtcy9pdGVtcy12aWV3LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNqQiwwQkFBYSxDQUFBO0lBQ2IsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSXRlbXNWaWV3IHtcclxuICAgIExpc3QgPSAnbGlzdCcsXHJcbiAgICBJY29ucyA9ICdpY29ucycsXHJcbiAgICBDYXJkcyA9ICdjYXJkcydcclxufSJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var NotificationType;
|
|
2
|
+
(function (NotificationType) {
|
|
3
|
+
NotificationType["Info"] = "info";
|
|
4
|
+
NotificationType["Success"] = "success";
|
|
5
|
+
NotificationType["Failed"] = "failed";
|
|
6
|
+
})(NotificationType || (NotificationType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvZW51bXMvbm90aWZpY2F0aW9uLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQ3hCLGlDQUFhLENBQUE7SUFDYix1Q0FBbUIsQ0FBQTtJQUNuQixxQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblR5cGUge1xyXG4gICAgSW5mbyA9ICdpbmZvJyxcclxuICAgIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXHJcbiAgICBGYWlsZWQgPSAnZmFpbGVkJ1xyXG59Il19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var Select;
|
|
2
|
+
(function (Select) {
|
|
3
|
+
Select["Single"] = "single";
|
|
4
|
+
Select["Multiple"] = "multiple";
|
|
5
|
+
})(Select || (Select = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL2VudW1zL3NlbGVjdC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE1BR1g7QUFIRCxXQUFZLE1BQU07SUFDZCwyQkFBaUIsQ0FBQTtJQUNqQiwrQkFBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsTUFBTSxLQUFOLE1BQU0sUUFHakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTZWxlY3Qge1xyXG4gICAgU2luZ2xlID0gJ3NpbmdsZScsXHJcbiAgICBNdWx0aXBsZSA9ICdtdWx0aXBsZSdcclxufSJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var State;
|
|
2
|
+
(function (State) {
|
|
3
|
+
State["Added"] = "added";
|
|
4
|
+
State["Removed"] = "removed";
|
|
5
|
+
})(State || (State = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvZW51bXMvc3RhdGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxLQUdYO0FBSEQsV0FBWSxLQUFLO0lBQ2Isd0JBQWUsQ0FBQTtJQUNmLDRCQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxLQUFLLEtBQUwsS0FBSyxRQUdoQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN0YXRlIHtcclxuICAgIEFkZGVkID0gJ2FkZGVkJyxcclxuICAgIFJlbW92ZWQgPSAncmVtb3ZlZCdcclxufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { ObservableModel } from './observable.model';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJQ2xhc3NNb2RlbCB9IGZyb20gJy4vY2xhc3MubW9kZWwnO1xyXG5leHBvcnQgeyBJU2VsZWN0TW9kZWwgfSBmcm9tICcuL3NlbGVjdC5tb2RlbCc7XHJcbmV4cG9ydCB7IE9ic2VydmFibGVNb2RlbCB9IGZyb20gJy4vb2JzZXJ2YWJsZS5tb2RlbCc7Il19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BehaviorSubject } from "rxjs";
|
|
2
|
+
export class ObservableModel {
|
|
3
|
+
constructor(defaultValue = null) {
|
|
4
|
+
this.defaultValue = defaultValue;
|
|
5
|
+
this.subject = new BehaviorSubject(this.defaultValue);
|
|
6
|
+
this.value$ = this.subject.asObservable();
|
|
7
|
+
}
|
|
8
|
+
get value() { return this.subject.value; }
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvbW9kZWxzL29ic2VydmFibGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsTUFBTSxNQUFNLENBQUM7QUFHNUQsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsZUFBeUIsSUFBSTtRQUE3QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFFMUMsWUFBTyxHQUF1QixJQUFJLGVBQWUsQ0FBSSxJQUFJLENBQUMsWUFBYSxDQUFDLENBQUM7UUFFekUsV0FBTSxHQUFrQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBSk4sQ0FBQztJQU10RCxJQUFXLEtBQUssS0FBZSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztDQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE9ic2VydmFibGVNb2RlbDxUPiB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWZhdWx0VmFsdWU6IFQgfCBudWxsID0gbnVsbCkgeyB9XHJcblxyXG4gICAgcHVibGljIHN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxUPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4odGhpcy5kZWZhdWx0VmFsdWUhKTtcclxuXHJcbiAgICBwdWJsaWMgdmFsdWUkOiBPYnNlcnZhYmxlPFQ+ID0gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB8IG51bGwgeyByZXR1cm4gdGhpcy5zdWJqZWN0LnZhbHVlOyB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9tb2RlbHMvc2VsZWN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElTZWxlY3RNb2RlbCB7XHJcbiAgICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcclxufSJdfQ==
|
|
@@ -3,8 +3,8 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
4
4
|
import { DOCUMENT_PROVIDERS, WINDOW_PROVIDERS } from './services';
|
|
5
5
|
import { ClickOutsideDirective, ShowHideElementDirective, CollapseExpandDirective, IfDirective, ThrowElementOnHoverDirective, TemplateReferenceDirective, MouseDownDirective, ComponentSizeDirective, DestroyParentDirective, DomChangesDirective, ScrollTrackerDirective, ScrollIntoViewDirective, ImageLoadDirective, ComponentReferenceDirective } from './directives';
|
|
6
|
-
import { SwitchMultiCasePipe, SortByPipe } from './pipes';
|
|
7
|
-
import { ButtonComponent, TooltipComponent, DelimeterComponent, BounceLoaderComponent, CircleLoaderComponent, ModalComponent, ModalOpenOnClickDirective, ModalOpenDirective, DefaultModalHeaderComponent, DefaultModalFooterComponent, HamburgerComponent, HamburgerMenuComponent, DotComponent, DotsComponent, ToggleSwitcherComponent, CheckmarkComponent, TemplateContentComponent, CloseComponent, PaginationComponent, LoadContainerComponent, LoadMoreButtonComponent, IconComponent, CollapseExpandComponent, CollapseExpandContainerComponent, ToggleComponent } from './components';
|
|
6
|
+
import { SwitchMultiCasePipe, SortByPipe, RepeatPipe } from './pipes';
|
|
7
|
+
import { ButtonComponent, TooltipComponent, DelimeterComponent, BounceLoaderComponent, CircleLoaderComponent, ModalComponent, ModalOpenOnClickDirective, ModalOpenDirective, DefaultModalHeaderComponent, DefaultModalFooterComponent, HamburgerComponent, HamburgerMenuComponent, DotComponent, DotsComponent, ToggleSwitcherComponent, CheckmarkComponent, TemplateContentComponent, CloseComponent, PaginationComponent, LoadContainerComponent, LoadMoreButtonComponent, IconComponent, CollapseExpandComponent, CollapseExpandContainerComponent, ToggleComponent, MessageComponent } from './components';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class NgxSfcCommonModule {
|
|
10
10
|
}
|
|
@@ -44,6 +44,7 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
44
44
|
CollapseExpandComponent,
|
|
45
45
|
CollapseExpandContainerComponent,
|
|
46
46
|
ToggleComponent,
|
|
47
|
+
MessageComponent,
|
|
47
48
|
// loaders
|
|
48
49
|
BounceLoaderComponent,
|
|
49
50
|
CircleLoaderComponent,
|
|
@@ -55,7 +56,8 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
55
56
|
DefaultModalFooterComponent,
|
|
56
57
|
// pipes
|
|
57
58
|
SwitchMultiCasePipe,
|
|
58
|
-
SortByPipe
|
|
59
|
+
SortByPipe,
|
|
60
|
+
RepeatPipe], imports: [CommonModule,
|
|
59
61
|
FontAwesomeModule], exports: [
|
|
60
62
|
// directives
|
|
61
63
|
ClickOutsideDirective,
|
|
@@ -91,6 +93,7 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
91
93
|
CollapseExpandComponent,
|
|
92
94
|
CollapseExpandContainerComponent,
|
|
93
95
|
ToggleComponent,
|
|
96
|
+
MessageComponent,
|
|
94
97
|
// loaders
|
|
95
98
|
BounceLoaderComponent,
|
|
96
99
|
CircleLoaderComponent,
|
|
@@ -102,7 +105,8 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
102
105
|
DefaultModalFooterComponent,
|
|
103
106
|
// pipes
|
|
104
107
|
SwitchMultiCasePipe,
|
|
105
|
-
SortByPipe
|
|
108
|
+
SortByPipe,
|
|
109
|
+
RepeatPipe] });
|
|
106
110
|
NgxSfcCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS], imports: [CommonModule,
|
|
107
111
|
FontAwesomeModule] });
|
|
108
112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, decorators: [{
|
|
@@ -143,6 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
143
147
|
CollapseExpandComponent,
|
|
144
148
|
CollapseExpandContainerComponent,
|
|
145
149
|
ToggleComponent,
|
|
150
|
+
MessageComponent,
|
|
146
151
|
// loaders
|
|
147
152
|
BounceLoaderComponent,
|
|
148
153
|
CircleLoaderComponent,
|
|
@@ -154,7 +159,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
154
159
|
DefaultModalFooterComponent,
|
|
155
160
|
// pipes
|
|
156
161
|
SwitchMultiCasePipe,
|
|
157
|
-
SortByPipe
|
|
162
|
+
SortByPipe,
|
|
163
|
+
RepeatPipe
|
|
158
164
|
],
|
|
159
165
|
imports: [
|
|
160
166
|
CommonModule,
|
|
@@ -195,6 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
195
201
|
CollapseExpandComponent,
|
|
196
202
|
CollapseExpandContainerComponent,
|
|
197
203
|
ToggleComponent,
|
|
204
|
+
MessageComponent,
|
|
198
205
|
// loaders
|
|
199
206
|
BounceLoaderComponent,
|
|
200
207
|
CircleLoaderComponent,
|
|
@@ -206,9 +213,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
206
213
|
DefaultModalFooterComponent,
|
|
207
214
|
// pipes
|
|
208
215
|
SwitchMultiCasePipe,
|
|
209
|
-
SortByPipe
|
|
216
|
+
SortByPipe,
|
|
217
|
+
RepeatPipe
|
|
210
218
|
],
|
|
211
219
|
providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS]
|
|
212
220
|
}]
|
|
213
221
|
}] });
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNmYy1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9uZ3gtc2ZjLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDakIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDNUIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsYUFBYSxFQUNi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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQge1xyXG4gIERPQ1VNRU5UX1BST1ZJREVSUyxcclxuICBXSU5ET1dfUFJPVklERVJTXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gIFNob3dIaWRlRWxlbWVudERpcmVjdGl2ZSxcclxuICBDb2xsYXBzZUV4cGFuZERpcmVjdGl2ZSxcclxuICBJZkRpcmVjdGl2ZSxcclxuICBUaHJvd0VsZW1lbnRPbkhvdmVyRGlyZWN0aXZlLFxyXG4gIFRlbXBsYXRlUmVmZXJlbmNlRGlyZWN0aXZlLFxyXG4gIE1vdXNlRG93bkRpcmVjdGl2ZSxcclxuICBDb21wb25lbnRTaXplRGlyZWN0aXZlLFxyXG4gIERlc3Ryb3lQYXJlbnREaXJlY3RpdmUsXHJcbiAgRG9tQ2hhbmdlc0RpcmVjdGl2ZSxcclxuICBTY3JvbGxUcmFja2VyRGlyZWN0aXZlLFxyXG4gIFNjcm9sbEludG9WaWV3RGlyZWN0aXZlLFxyXG4gIEltYWdlTG9hZERpcmVjdGl2ZSxcclxuICBDb21wb25lbnRSZWZlcmVuY2VEaXJlY3RpdmVcclxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBTd2l0Y2hNdWx0aUNhc2VQaXBlLCBTb3J0QnlQaXBlIH0gZnJvbSAnLi9waXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uQ29tcG9uZW50LFxyXG4gIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgRGVsaW1ldGVyQ29tcG9uZW50LFxyXG4gIEJvdW5jZUxvYWRlckNvbXBvbmVudCxcclxuICBDaXJjbGVMb2FkZXJDb21wb25lbnQsXHJcbiAgTW9kYWxDb21wb25lbnQsXHJcbiAgTW9kYWxPcGVuT25DbGlja0RpcmVjdGl2ZSxcclxuICBNb2RhbE9wZW5EaXJlY3RpdmUsXHJcbiAgRGVmYXVsdE1vZGFsSGVhZGVyQ29tcG9uZW50LFxyXG4gIERlZmF1bHRNb2RhbEZvb3RlckNvbXBvbmVudCxcclxuICBIYW1idXJnZXJDb21wb25lbnQsXHJcbiAgSGFtYnVyZ2VyTWVudUNvbXBvbmVudCxcclxuICBEb3RDb21wb25lbnQsXHJcbiAgRG90c0NvbXBvbmVudCxcclxuICBUb2dnbGVTd2l0Y2hlckNvbXBvbmVudCxcclxuICBDaGVja21hcmtDb21wb25lbnQsXHJcbiAgVGVtcGxhdGVDb250ZW50Q29tcG9uZW50LFxyXG4gIENsb3NlQ29tcG9uZW50LFxyXG4gIFBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgTG9hZENvbnRhaW5lckNvbXBvbmVudCxcclxuICBMb2FkTW9yZUJ1dHRvbkNvbXBvbmVudCxcclxuICBJY29uQ29tcG9uZW50LFxyXG4gIENvbGxhcHNlRXhwYW5kQ29tcG9uZW50LFxyXG4gIENvbGxhcHNlRXhwYW5kQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIFRvZ2dsZUNvbXBvbmVudFxyXG59IGZyb20gJy4vY29tcG9uZW50cyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgLy8gZGlyZWN0aXZlc1xyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgU2hvd0hpZGVFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgQ29sbGFwc2VFeHBhbmREaXJlY3RpdmUsXHJcbiAgICBJZkRpcmVjdGl2ZSxcclxuICAgIFRocm93RWxlbWVudE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIE1vdXNlRG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFNpemVEaXJlY3RpdmUsXHJcbiAgICBEZXN0cm95UGFyZW50RGlyZWN0aXZlLFxyXG4gICAgRG9tQ2hhbmdlc0RpcmVjdGl2ZSxcclxuICAgIFNjcm9sbFRyYWNrZXJEaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSxcclxuICAgIEltYWdlTG9hZERpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIC8vIGNvbXBvbmVudHNcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBEZWxpbWV0ZXJDb21wb25lbnQsXHJcbiAgICBUb2dnbGVTd2l0Y2hlckNvbXBvbmVudCxcclxuICAgIENoZWNrbWFya0NvbXBvbmVudCxcclxuICAgIFRlbXBsYXRlQ29udGVudENvbXBvbmVudCxcclxuICAgIENsb3NlQ29tcG9uZW50LFxyXG4gICAgSGFtYnVyZ2VyQ29tcG9uZW50LFxyXG4gICAgSGFtYnVyZ2VyTWVudUNvbXBvbmVudCxcclxuICAgIERvdENvbXBvbmVudCxcclxuICAgIERvdHNDb21wb25lbnQsXHJcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gICAgTG9hZE1vcmVCdXR0b25Db21wb25lbnQsXHJcbiAgICBMb2FkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgSWNvbkNvbXBvbmVudCxcclxuICAgIENvbGxhcHNlRXhwYW5kQ29tcG9uZW50LFxyXG4gICAgQ29sbGFwc2VFeHBhbmRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBUb2dnbGVDb21wb25lbnQsXHJcbiAgICAvLyBsb2FkZXJzXHJcbiAgICBCb3VuY2VMb2FkZXJDb21wb25lbnQsXHJcbiAgICBDaXJjbGVMb2FkZXJDb21wb25lbnQsXHJcbiAgICAvLyBtb2RhbFxyXG4gICAgTW9kYWxDb21wb25lbnQsXHJcbiAgICBNb2RhbE9wZW5EaXJlY3RpdmUsXHJcbiAgICBNb2RhbE9wZW5PbkNsaWNrRGlyZWN0aXZlLFxyXG4gICAgRGVmYXVsdE1vZGFsSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgRGVmYXVsdE1vZGFsRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgLy8gcGlwZXNcclxuICAgIFN3aXRjaE11bHRpQ2FzZVBpcGUsXHJcbiAgICBTb3J0QnlQaXBlXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb250QXdlc29tZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLy8gZGlyZWN0aXZlc1xyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgU2hvd0hpZGVFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgQ29sbGFwc2VFeHBhbmREaXJlY3RpdmUsXHJcbiAgICBJZkRpcmVjdGl2ZSxcclxuICAgIFRocm93RWxlbWVudE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIE1vdXNlRG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFNpemVEaXJlY3RpdmUsXHJcbiAgICBEZXN0cm95UGFyZW50RGlyZWN0aXZlLFxyXG4gICAgRG9tQ2hhbmdlc0RpcmVjdGl2ZSxcclxuICAgIFNjcm9sbFRyYWNrZXJEaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSxcclxuICAgIEltYWdlTG9hZERpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIC8vIGNvbXBvbmVudHNcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBEZWxpbWV0ZXJDb21wb25lbnQsXHJcbiAgICBDbG9zZUNvbXBvbmVudCxcclxuICAgIENoZWNrbWFya0NvbXBvbmVudCxcclxuICAgIFRlbXBsYXRlQ29udGVudENvbXBvbmVudCxcclxuICAgIFRvZ2dsZVN3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgRG90Q29tcG9uZW50LFxyXG4gICAgRG90c0NvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlckNvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlck1lbnVDb21wb25lbnQsXHJcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gICAgTG9hZE1vcmVCdXR0b25Db21wb25lbnQsXHJcbiAgICBMb2FkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgSWNvbkNvbXBvbmVudCxcclxuICAgIENvbGxhcHNlRXhwYW5kQ29tcG9uZW50LFxyXG4gICAgQ29sbGFwc2VFeHBhbmRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBUb2dnbGVDb21wb25lbnQsXHJcbiAgICAvLyBsb2FkZXJzXHJcbiAgICBCb3VuY2VMb2FkZXJDb21wb25lbnQsXHJcbiAgICBDaXJjbGVMb2FkZXJDb21wb25lbnQsXHJcbiAgICAvLyBtb2RhbFxyXG4gICAgTW9kYWxDb21wb25lbnQsXHJcbiAgICBNb2RhbE9wZW5EaXJlY3RpdmUsXHJcbiAgICBNb2RhbE9wZW5PbkNsaWNrRGlyZWN0aXZlLFxyXG4gICAgRGVmYXVsdE1vZGFsSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgRGVmYXVsdE1vZGFsRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgLy8gcGlwZXNcclxuICAgIFN3aXRjaE11bHRpQ2FzZVBpcGUsXHJcbiAgICBTb3J0QnlQaXBlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtET0NVTUVOVF9QUk9WSURFUlMsIFdJTkRPV19QUk9WSURFUlNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hTZmNDb21tb25Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNmYy1jb21tb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9uZ3gtc2ZjLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDakIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCw0QkFBNEIsRUFDNUIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDNUIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sU0FBUyxDQUFDO0FBQ2xCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCx5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBQ1osYUFBYSxFQUNiLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2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QiwyQkFBMkI7d0JBQzNCLFFBQVE7d0JBQ1IsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLFVBQVU7cUJBQ1g7b0JBQ0QsU0FBUyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcbmltcG9ydCB7XHJcbiAgRE9DVU1FTlRfUFJPVklERVJTLFxyXG4gIFdJTkRPV19QUk9WSURFUlNcclxufSBmcm9tICcuL3NlcnZpY2VzJztcclxuaW1wb3J0IHtcclxuICBDbGlja091dHNpZGVEaXJlY3RpdmUsXHJcbiAgU2hvd0hpZGVFbGVtZW50RGlyZWN0aXZlLFxyXG4gIENvbGxhcHNlRXhwYW5kRGlyZWN0aXZlLFxyXG4gIElmRGlyZWN0aXZlLFxyXG4gIFRocm93RWxlbWVudE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUsXHJcbiAgTW91c2VEb3duRGlyZWN0aXZlLFxyXG4gIENvbXBvbmVudFNpemVEaXJlY3RpdmUsXHJcbiAgRGVzdHJveVBhcmVudERpcmVjdGl2ZSxcclxuICBEb21DaGFuZ2VzRGlyZWN0aXZlLFxyXG4gIFNjcm9sbFRyYWNrZXJEaXJlY3RpdmUsXHJcbiAgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsXHJcbiAgSW1hZ2VMb2FkRGlyZWN0aXZlLFxyXG4gIENvbXBvbmVudFJlZmVyZW5jZURpcmVjdGl2ZVxyXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IFxyXG4gIFN3aXRjaE11bHRpQ2FzZVBpcGUsIFxyXG4gIFNvcnRCeVBpcGUsXHJcbiAgUmVwZWF0UGlwZVxyXG4gfSBmcm9tICcuL3BpcGVzJztcclxuaW1wb3J0IHtcclxuICBCdXR0b25Db21wb25lbnQsXHJcbiAgVG9vbHRpcENvbXBvbmVudCxcclxuICBEZWxpbWV0ZXJDb21wb25lbnQsXHJcbiAgQm91bmNlTG9hZGVyQ29tcG9uZW50LFxyXG4gIENpcmNsZUxvYWRlckNvbXBvbmVudCxcclxuICBNb2RhbENvbXBvbmVudCxcclxuICBNb2RhbE9wZW5PbkNsaWNrRGlyZWN0aXZlLFxyXG4gIE1vZGFsT3BlbkRpcmVjdGl2ZSxcclxuICBEZWZhdWx0TW9kYWxIZWFkZXJDb21wb25lbnQsXHJcbiAgRGVmYXVsdE1vZGFsRm9vdGVyQ29tcG9uZW50LFxyXG4gIEhhbWJ1cmdlckNvbXBvbmVudCxcclxuICBIYW1idXJnZXJNZW51Q29tcG9uZW50LFxyXG4gIERvdENvbXBvbmVudCxcclxuICBEb3RzQ29tcG9uZW50LFxyXG4gIFRvZ2dsZVN3aXRjaGVyQ29tcG9uZW50LFxyXG4gIENoZWNrbWFya0NvbXBvbmVudCxcclxuICBUZW1wbGF0ZUNvbnRlbnRDb21wb25lbnQsXHJcbiAgQ2xvc2VDb21wb25lbnQsXHJcbiAgUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICBMb2FkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gIExvYWRNb3JlQnV0dG9uQ29tcG9uZW50LFxyXG4gIEljb25Db21wb25lbnQsXHJcbiAgQ29sbGFwc2VFeHBhbmRDb21wb25lbnQsXHJcbiAgQ29sbGFwc2VFeHBhbmRDb250YWluZXJDb21wb25lbnQsXHJcbiAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gIE1lc3NhZ2VDb21wb25lbnRcclxufSBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIC8vIGRpcmVjdGl2ZXNcclxuICAgIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcclxuICAgIFNob3dIaWRlRWxlbWVudERpcmVjdGl2ZSxcclxuICAgIENvbGxhcHNlRXhwYW5kRGlyZWN0aXZlLFxyXG4gICAgSWZEaXJlY3RpdmUsXHJcbiAgICBUaHJvd0VsZW1lbnRPbkhvdmVyRGlyZWN0aXZlLFxyXG4gICAgVGVtcGxhdGVSZWZlcmVuY2VEaXJlY3RpdmUsXHJcbiAgICBNb3VzZURvd25EaXJlY3RpdmUsXHJcbiAgICBDb21wb25lbnRTaXplRGlyZWN0aXZlLFxyXG4gICAgRGVzdHJveVBhcmVudERpcmVjdGl2ZSxcclxuICAgIERvbUNoYW5nZXNEaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxUcmFja2VyRGlyZWN0aXZlLFxyXG4gICAgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsXHJcbiAgICBJbWFnZUxvYWREaXJlY3RpdmUsXHJcbiAgICBDb21wb25lbnRSZWZlcmVuY2VEaXJlY3RpdmUsXHJcbiAgICAvLyBjb21wb25lbnRzXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgRGVsaW1ldGVyQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlU3dpdGNoZXJDb21wb25lbnQsXHJcbiAgICBDaGVja21hcmtDb21wb25lbnQsXHJcbiAgICBUZW1wbGF0ZUNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBDbG9zZUNvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlckNvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlck1lbnVDb21wb25lbnQsXHJcbiAgICBEb3RDb21wb25lbnQsXHJcbiAgICBEb3RzQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICAgIExvYWRNb3JlQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgTG9hZENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIEljb25Db21wb25lbnQsXHJcbiAgICBDb2xsYXBzZUV4cGFuZENvbXBvbmVudCxcclxuICAgIENvbGxhcHNlRXhwYW5kQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIC8vIGxvYWRlcnNcclxuICAgIEJvdW5jZUxvYWRlckNvbXBvbmVudCxcclxuICAgIENpcmNsZUxvYWRlckNvbXBvbmVudCxcclxuICAgIC8vIG1vZGFsXHJcbiAgICBNb2RhbENvbXBvbmVudCxcclxuICAgIE1vZGFsT3BlbkRpcmVjdGl2ZSxcclxuICAgIE1vZGFsT3Blbk9uQ2xpY2tEaXJlY3RpdmUsXHJcbiAgICBEZWZhdWx0TW9kYWxIZWFkZXJDb21wb25lbnQsXHJcbiAgICBEZWZhdWx0TW9kYWxGb290ZXJDb21wb25lbnQsXHJcbiAgICAvLyBwaXBlc1xyXG4gICAgU3dpdGNoTXVsdGlDYXNlUGlwZSxcclxuICAgIFNvcnRCeVBpcGUsXHJcbiAgICBSZXBlYXRQaXBlXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb250QXdlc29tZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLy8gZGlyZWN0aXZlc1xyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgU2hvd0hpZGVFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgQ29sbGFwc2VFeHBhbmREaXJlY3RpdmUsXHJcbiAgICBJZkRpcmVjdGl2ZSxcclxuICAgIFRocm93RWxlbWVudE9uSG92ZXJEaXJlY3RpdmUsXHJcbiAgICBUZW1wbGF0ZVJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIE1vdXNlRG93bkRpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFNpemVEaXJlY3RpdmUsXHJcbiAgICBEZXN0cm95UGFyZW50RGlyZWN0aXZlLFxyXG4gICAgRG9tQ2hhbmdlc0RpcmVjdGl2ZSxcclxuICAgIFNjcm9sbFRyYWNrZXJEaXJlY3RpdmUsXHJcbiAgICBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSxcclxuICAgIEltYWdlTG9hZERpcmVjdGl2ZSxcclxuICAgIENvbXBvbmVudFJlZmVyZW5jZURpcmVjdGl2ZSxcclxuICAgIC8vIGNvbXBvbmVudHNcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBEZWxpbWV0ZXJDb21wb25lbnQsXHJcbiAgICBDbG9zZUNvbXBvbmVudCxcclxuICAgIENoZWNrbWFya0NvbXBvbmVudCxcclxuICAgIFRlbXBsYXRlQ29udGVudENvbXBvbmVudCxcclxuICAgIFRvZ2dsZVN3aXRjaGVyQ29tcG9uZW50LFxyXG4gICAgRG90Q29tcG9uZW50LFxyXG4gICAgRG90c0NvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlckNvbXBvbmVudCxcclxuICAgIEhhbWJ1cmdlck1lbnVDb21wb25lbnQsXHJcbiAgICBQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gICAgTG9hZE1vcmVCdXR0b25Db21wb25lbnQsXHJcbiAgICBMb2FkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgSWNvbkNvbXBvbmVudCxcclxuICAgIENvbGxhcHNlRXhwYW5kQ29tcG9uZW50LFxyXG4gICAgQ29sbGFwc2VFeHBhbmRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBUb2dnbGVDb21wb25lbnQsXHJcbiAgICBNZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgLy8gbG9hZGVyc1xyXG4gICAgQm91bmNlTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgQ2lyY2xlTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgLy8gbW9kYWxcclxuICAgIE1vZGFsQ29tcG9uZW50LFxyXG4gICAgTW9kYWxPcGVuRGlyZWN0aXZlLFxyXG4gICAgTW9kYWxPcGVuT25DbGlja0RpcmVjdGl2ZSxcclxuICAgIERlZmF1bHRNb2RhbEhlYWRlckNvbXBvbmVudCxcclxuICAgIERlZmF1bHRNb2RhbEZvb3RlckNvbXBvbmVudCxcclxuICAgIC8vIHBpcGVzXHJcbiAgICBTd2l0Y2hNdWx0aUNhc2VQaXBlLFxyXG4gICAgU29ydEJ5UGlwZSxcclxuICAgIFJlcGVhdFBpcGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0RPQ1VNRU5UX1BST1ZJREVSUywgV0lORE9XX1BST1ZJREVSU11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFNmY0NvbW1vbk1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { SwitchMultiCasePipe } from './switch-multi-case/switch-multi-case.pipe';
|
|
2
2
|
export { SortByPipe } from './sort-by/sort-by.pipe';
|
|
3
|
-
|
|
3
|
+
export { RepeatPipe } from './repeat/repeat.pipe';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTd2l0Y2hNdWx0aUNhc2VQaXBlIH0gZnJvbSAnLi9zd2l0Y2gtbXVsdGktY2FzZS9zd2l0Y2gtbXVsdGktY2FzZS5waXBlJztcclxuZXhwb3J0IHsgU29ydEJ5UGlwZSB9IGZyb20gJy4vc29ydC1ieS9zb3J0LWJ5LnBpcGUnO1xyXG5leHBvcnQgeyBSZXBlYXRQaXBlIH0gZnJvbSAnLi9yZXBlYXQvcmVwZWF0LnBpcGUnOyJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RepeatPipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
return [].constructor(value);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
RepeatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RepeatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
9
|
+
RepeatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: RepeatPipe, name: "sfcRepeat" });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RepeatPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{ name: 'sfcRepeat' }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3BpcGVzL3JlcGVhdC9yZXBlYXQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLFVBQVU7SUFFbkIsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O3VHQUpRLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3NmY1JlcGVhdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJlcGVhdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcik6IG51bWJlcltdIHtcclxuICAgICAgICByZXR1cm4gW10uY29uc3RydWN0b3IodmFsdWUpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -2,6 +2,7 @@ import { Pipe } from '@angular/core';
|
|
|
2
2
|
import { SortingDirection } from '../../enums';
|
|
3
3
|
import { any, isNullOrEmptyString, sortByPath } from '../../utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
// This pipe has "pure: false" (impure pipe) which has huge impact on performance!
|
|
5
6
|
export class SortByPipe {
|
|
6
7
|
transform(value, path, direction = SortingDirection.Ascending) {
|
|
7
8
|
if (!any(value)) {
|
|
@@ -17,9 +18,9 @@ export class SortByPipe {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
SortByPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortByPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
20
|
-
SortByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: SortByPipe, name: "sfcSortBy" });
|
|
21
|
+
SortByPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: SortByPipe, name: "sfcSortBy", pure: false });
|
|
21
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortByPipe, decorators: [{
|
|
22
23
|
type: Pipe,
|
|
23
|
-
args: [{ name: 'sfcSortBy' }]
|
|
24
|
+
args: [{ name: 'sfcSortBy', pure: false }]
|
|
24
25
|
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ieS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNmYy1jb21tb24vc3JjL2xpYi9waXBlcy9zb3J0LWJ5L3NvcnQtYnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRW5FLGtGQUFrRjtBQUVsRixNQUFNLE9BQU8sVUFBVTtJQUVyQixTQUFTLENBQUMsS0FBWSxFQUFFLElBQVksRUFBRSxZQUE4QixnQkFBZ0IsQ0FBQyxTQUFTO1FBQzVGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLEtBQUssQ0FBQztTQUFFLENBQUMsV0FBVztRQUM5QyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRSxDQUFDLDJCQUEyQjtRQUNwRSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRSxDQUFDLFVBQVU7UUFFM0QsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUMzQyxDQUFDOzt1R0FSVSxVQUFVO3FHQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFEdEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHsgYW55LCBpc051bGxPckVtcHR5U3RyaW5nLCBzb3J0QnlQYXRoIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuLy8gVGhpcyBwaXBlIGhhcyBcInB1cmU6IGZhbHNlXCIgKGltcHVyZSBwaXBlKSB3aGljaCBoYXMgaHVnZSBpbXBhY3Qgb24gcGVyZm9ybWFuY2UhXHJcbkBQaXBlKHsgbmFtZTogJ3NmY1NvcnRCeScsIHB1cmU6IGZhbHNlIH0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0QnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55W10sIHBhdGg6IHN0cmluZywgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uID0gU29ydGluZ0RpcmVjdGlvbi5Bc2NlbmRpbmcpOiBhbnlbXSB7XHJcbiAgICBpZiAoIWFueSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9IC8vIG5vIGFycmF5XHJcbiAgICBpZiAodmFsdWUubGVuZ3RoIDw9IDEpIHsgcmV0dXJuIHZhbHVlOyB9IC8vIGFycmF5IHdpdGggb25seSBvbmUgaXRlbVxyXG4gICAgaWYgKGlzTnVsbE9yRW1wdHlTdHJpbmcocGF0aCkpIHsgcmV0dXJuIHZhbHVlOyB9IC8vIG5vIHBhdGhcclxuXHJcbiAgICByZXR1cm4gc29ydEJ5UGF0aCh2YWx1ZSwgcGF0aCwgZGlyZWN0aW9uKVxyXG4gIH1cclxuICBcclxufSJdfQ==
|
|
@@ -9,8 +9,6 @@ SwitchMultiCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", vers
|
|
|
9
9
|
SwitchMultiCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: SwitchMultiCasePipe, name: "sfcSwitchMultiCase" });
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SwitchMultiCasePipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
|
-
args: [{
|
|
13
|
-
name: 'sfcSwitchMultiCase'
|
|
14
|
-
}]
|
|
12
|
+
args: [{ name: 'sfcSwitchMultiCase' }]
|
|
15
13
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLW11bHRpLWNhc2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZmMtY29tbW9uL3NyYy9saWIvcGlwZXMvc3dpdGNoLW11bHRpLWNhc2Uvc3dpdGNoLW11bHRpLWNhc2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixTQUFTLENBQUMsS0FBWSxFQUFFLFlBQWlCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNyRSxDQUFDOztnSEFKVSxtQkFBbUI7OEdBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnc2ZjU3dpdGNoTXVsdGlDYXNlJyB9KVxyXG5leHBvcnQgY2xhc3MgU3dpdGNoTXVsdGlDYXNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0oY2FzZXM6IGFueVtdLCBzd2l0Y2hPcHRpb246IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gY2FzZXMuaW5jbHVkZXMoc3dpdGNoT3B0aW9uKSA/IHN3aXRjaE9wdGlvbiA6ICFzd2l0Y2hPcHRpb247XHJcbiAgfVxyXG4gIFxyXG59XHJcbiJdfQ==
|
|
@@ -4,4 +4,5 @@ export * from './resize.service';
|
|
|
4
4
|
export { LoadMoreService } from './load-more/load-more.service';
|
|
5
5
|
export { PaginationService } from './pagination/pagination.service';
|
|
6
6
|
export { SortingService } from './sorting/sorting.service';
|
|
7
|
-
|
|
7
|
+
export { ReloadService } from './reload/reload.service';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLGtCQUFrQixDQUFBO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCAqIGZyb20gJy4vZG9jdW1lbnQtcmVmLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vd2luZG93LXJlZi5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS5zZXJ2aWNlJ1xyXG5leHBvcnQgeyBMb2FkTW9yZVNlcnZpY2UgfSBmcm9tICcuL2xvYWQtbW9yZS9sb2FkLW1vcmUuc2VydmljZSc7XHJcbmV4cG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCB7IFNvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9zb3J0aW5nL3NvcnRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCB7IElTb3J0aW5nTW9kZWwgfSBmcm9tICcuL3NvcnRpbmcvc29ydGluZy5tb2RlbCc7XHJcbmV4cG9ydCB7IFJlbG9hZFNlcnZpY2UgfSBmcm9tICcuL3JlbG9hZC9yZWxvYWQuc2VydmljZSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { ObservableModel } from "../../models";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ReloadService {
|
|
5
|
+
constructor() {
|
|
6
|
+
/* Properties */
|
|
7
|
+
this.model = new ObservableModel();
|
|
8
|
+
}
|
|
9
|
+
get reload$() { return this.model.value$; }
|
|
10
|
+
/* End Properties */
|
|
11
|
+
reload(...ids) {
|
|
12
|
+
this.model.subject.next(ids);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
ReloadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ReloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
ReloadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ReloadService, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ReloadService, decorators: [{
|
|
18
|
+
type: Injectable,
|
|
19
|
+
args: [{ providedIn: 'root' }]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3JlbG9hZC9yZWxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBR0ksZ0JBQWdCO1FBRVIsVUFBSyxHQUE4QixJQUFJLGVBQWUsRUFBWSxDQUFDO0tBUzlFO0lBUEcsSUFBVyxPQUFPLEtBQTJCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRXhFLG9CQUFvQjtJQUViLE1BQU0sQ0FBQyxHQUFHLEdBQWE7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OzBHQVpRLGFBQWE7OEdBQWIsYUFBYSxjQURBLE1BQU07MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUmVsb2FkU2VydmljZSB7XHJcblxyXG4gICAgLyogUHJvcGVydGllcyAqL1xyXG5cclxuICAgIHByaXZhdGUgbW9kZWw6IE9ic2VydmFibGVNb2RlbDxzdHJpbmdbXT4gPSBuZXcgT2JzZXJ2YWJsZU1vZGVsPHN0cmluZ1tdPigpO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsb2FkJCgpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7IHJldHVybiB0aGlzLm1vZGVsLnZhbHVlJDsgfVxyXG5cclxuICAgIC8qIEVuZCBQcm9wZXJ0aWVzICovXHJcblxyXG4gICAgcHVibGljIHJlbG9hZCguLi5pZHM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5zdWJqZWN0Lm5leHQoaWRzKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -42,6 +42,15 @@ property, value) {
|
|
|
42
42
|
&& collection.findIndex(item => item.hasOwnProperty(property)
|
|
43
43
|
&& item[property] === value) !== CommonConstants.NOT_FOUND_INDEX;
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Return true if first collection has item in second collection
|
|
47
|
+
* @param collection1 Array of objects where search
|
|
48
|
+
* @param collection2 Array of objects where try to find
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
export function hasAnyItem(collection1, collection2) {
|
|
52
|
+
return collection1.some(item => collection2.includes(item));
|
|
53
|
+
}
|
|
45
54
|
/**
|
|
46
55
|
* Return value from collection by predicate function
|
|
47
56
|
* @param collection Array of items
|
|
@@ -277,4 +286,21 @@ export function updateItemBy(collection, predicate, newItem) {
|
|
|
277
286
|
export function getCollectionOrEmpty(collection) {
|
|
278
287
|
return isDefined(collection) ? collection : [];
|
|
279
288
|
}
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3V0aWxzL2NvbGxlY3Rpb25zLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBSSxVQUF1QztJQUMxRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSyxVQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBSSxVQUFvQixFQUFFLEtBQVE7SUFDckQsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDO1dBQ2YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxlQUFlLENBQUMsZUFBZSxDQUFDO0FBQzVGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUksVUFBb0IsRUFBRSxTQUErQjtJQUM5RSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUM7QUFDbEcsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUksVUFBc0IsRUFBRSxvQkFBb0I7QUFDekUsUUFBZ0IsRUFBRSxLQUFRO0lBQzFCLE9BQU8s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U0FDYixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUE7S0FDaEI7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxVQUFvQjtJQUN4RCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbkNvbnN0YW50cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgU29ydGluZ0RpcmVjdGlvbiB9IGZyb20gXCIuLi9lbnVtc1wiO1xyXG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tIFwiLi9jb21tb24udXRpbHNcIjtcclxuaW1wb3J0IHsgaXNOdWxsT3JFbXB0eVN0cmluZyB9IGZyb20gXCIuL3N0cmluZy51dGlsc1wiO1xyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGNvbGxlY3Rpb24gbm90IGVtcHR5XHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgY29sbGVjdGlvbiBub3QgZW1wdHlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhbnk8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4gfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gaXNEZWZpbmVkKGNvbGxlY3Rpb24pICYmIChjb2xsZWN0aW9uIGFzIEFycmF5PFQ+KS5sZW5ndGggPiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgY29sbGVjdGlvbiBoYXMgc3VjaCB2YWx1ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gY2hlY2tcclxuICogQHJldHVybnMgVHJ1ZSBpZiBmb3VuZCB2YWx1ZSBpbiBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaGFzSXRlbTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgdmFsdWU6IFQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbilcclxuICAgICAgICAmJiBjb2xsZWN0aW9uLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IHZhbHVlKSAhPT0gQ29tbW9uQ29uc3RhbnRzLk5PVF9GT1VORF9JTkRFWDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGNvbGxlY3Rpb24gaGFzIHN1Y2ggdmFsdWUgYnkgcHJlZGljYXRlIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIGNoZWNrIGxvZ2ljXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZm91bmQgdmFsdWUgaW4gY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc0l0ZW1CeTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgcHJlZGljYXRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKSAmJiBjb2xsZWN0aW9uLmZpbmRJbmRleChwcmVkaWNhdGUpICE9PSBDb21tb25Db25zdGFudHMuTk9UX0ZPVU5EX0lOREVYO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHRydWUgaWYgY29sbGVjdGlvbiBvZiBvYmplY3RzIGhhcyBzdWNoIHZhbHVlIGFzIG9iamVjdFxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBvYmplY3RzXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lXHJcbiAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBjaGVja1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZvdW5kIHZhbHVlIGluIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBoYXNPYmplY3RJdGVtPFQ+KGNvbGxlY3Rpb246IEFycmF5PGFueT4sIC8vIFRPRE8gPC0tIEFycmF5PFQ+XHJcbiAgICBwcm9wZXJ0eTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKVxyXG4gICAgICAgICYmIGNvbGxlY3Rpb24uZmluZEluZGV4KGl0ZW0gPT5cclxuICAgICAgICAgICAgaXRlbS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSlcclxuICAgICAgICAgICAgJiYgaXRlbVtwcm9wZXJ0eV0gPT09IHZhbHVlKSAhPT0gQ29tbW9uQ29uc3RhbnRzLk5PVF9GT1VORF9JTkRFWDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB2YWx1ZSBmcm9tIGNvbGxlY3Rpb24gYnkgcHJlZGljYXRlIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIHNlYXJjaCBsb2dpY1xyXG4gKiBAcmV0dXJucyBWYWx1ZSBmcm9tIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdE9yRGVmYXVsdDxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICBwcmVkaWNhdGU6IChpdGVtOiBUKSA9PiBib29sZWFuKVxyXG4gICAgOiBUIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uPy5maW5kKHByZWRpY2F0ZSkgOiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gZmlyc3QgaXRlbSBmcm9tIGNvbGxlY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHJldHVybnMgRmlyc3QgdmFsdWUgZnJvbSBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RJdGVtPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+KTogVCB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKSA/IGNvbGxlY3Rpb25bMF0gOiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGxhc3QgaXRlbSBmcm9tIGNvbGxlY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHJldHVybnMgTGFzdCB2YWx1ZSBmcm9tIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBsYXN0SXRlbTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPik6IFQgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uW2NvbGxlY3Rpb24ubGVuZ3RoIC0gMV0gOiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIFRydWUgaWYgYWxsIHZhbHVlcyBtYXRjaCBwcmVkaWNhdGUgZnVuY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2Ygb2JqZWN0c1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSBjaGVjayBsb2dpY1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGFsbCB2YWx1ZXMgbWF0Y2ggcHJlZGljYXRlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWxsPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwcmVkaWNhdGU6IChpdGVtOiBUKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gYW55KGNvbGxlY3Rpb24pID8gY29sbGVjdGlvbi5maWx0ZXIocHJlZGljYXRlKS5sZW5ndGggPT0gY29sbGVjdGlvbi5sZW5ndGggOiBmYWxzZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBjb3VudCBieSBwcmVkaWNhdGVcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2Ygb2JqZWN0c1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSBjaGVjayBsb2dpY1xyXG4gKiBAcmV0dXJucyBJdGVtcyBjb3VudFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvdW50PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwcmVkaWNhdGU6IChpdGVtOiBUKSA9PiBib29sZWFuKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBjb2xsZWN0aW9uLmZpbHRlcihwcmVkaWNhdGUpLmxlbmd0aDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBpdGVtcyBmcm9tIGNvbGxlY3Rpb24gYnkgcHJlZGljYXRlIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIHNlYXJjaCBsb2dpY1xyXG4gKiBAcmV0dXJucyBWYWx1ZXMgZnJvbSBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gd2hlcmU8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pXHJcbiAgICA6IEFycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gYW55KGNvbGxlY3Rpb24pID8gY29sbGVjdGlvbi5maWx0ZXIocHJlZGljYXRlKSA6IG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gc2xpY2VkIGNvbGxlY3Rpb24gYnkgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcGFnZSBQYWdlIG51bWJlclxyXG4gKiBAcGFyYW0gc2l6ZSBQYWdlIHNpemVcclxuICogQHJldHVybnMgU2xpY2VkIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBza2lwPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlcik6IEFycmF5PFQ+IHtcclxuICAgIGlmIChhbnkoY29sbGVjdGlvbikpIHtcclxuICAgICAgICBsZXQgc3RhcnQgPSAocGFnZSAtIDEpICogc2l6ZTtcclxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5zbGljZShzdGFydCwgc3RhcnQgKyBzaXplKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sbGVjdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNvcnQ8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIGRpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbiA9IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nKTogQXJyYXk8VD4ge1xyXG4gICAgaWYgKGFueShjb2xsZWN0aW9uKSkge1xyXG4gICAgICAgIHJldHVybiBkaXJlY3Rpb24gPT0gU29ydGluZ0RpcmVjdGlvbi5Bc2NlbmRpbmdcclxuICAgICAgICAgICAgPyBjb2xsZWN0aW9uLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBhIC0gYilcclxuICAgICAgICAgICAgOiBjb2xsZWN0aW9uLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBiIC0gYSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gc29ydGVkIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBieSBwcm9wZXJ0eVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgbmFtZVxyXG4gKiBAcGFyYW0gZGlyZWN0aW9uIFNvcnRpbmcgZGlyZWN0aW9uXHJcbiAqIEByZXR1cm5zIFNvcnRlZCBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc29ydEJ5PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwcm9wZXJ0eTogc3RyaW5nLFxyXG4gICAgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uKTogQXJyYXk8VD4ge1xyXG4gICAgaWYgKGFueShjb2xsZWN0aW9uKSkge1xyXG4gICAgICAgIGxldCBfc29ydEZ1bmMgPSAoYTogYW55LCBiOiBhbnkpID0+XHJcbiAgICAgICAgICAgICh0MTogbnVtYmVyLCB0MjogbnVtYmVyKSA9PlxyXG4gICAgICAgICAgICAgICAgKGFbcHJvcGVydHldID4gYltwcm9wZXJ0eV0gPyB0MSA6IHQyKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZ1xyXG4gICAgICAgICAgICA/IGNvbGxlY3Rpb24uc29ydCgoYTogYW55LCBiOiBhbnkpID0+IF9zb3J0RnVuYyhhLCBiKSgxLCAtMSkpXHJcbiAgICAgICAgICAgIDogY29sbGVjdGlvbi5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gX3NvcnRGdW5jKGEsIGIpKC0xLCAxKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gc29ydGVkIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBieSBwYXRoXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwYXRoIFBhdGggdG8gcHJvcGVydHlcclxuICogQHBhcmFtIGRpcmVjdGlvbiBTb3J0aW5nIGRpcmVjdGlvblxyXG4gKiBAcmV0dXJucyBTb3J0ZWQgY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRCeVBhdGg8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHBhdGg6IHN0cmluZywgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uKVxyXG4gICAgOiBBcnJheTxUPiB7XHJcbiAgICBpZiAoYW55KGNvbGxlY3Rpb24pKSB7XHJcbiAgICAgICAgaWYgKGlzTnVsbE9yRW1wdHlTdHJpbmcocGF0aCkpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29sbGVjdGlvbiB1dGlscyB8IFNvcnQgQnkgUGF0aCBmdW5jdGlvbiAtLT4gUGF0aCBpcyBlbXB0eS4nKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGF0aFBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xyXG5cclxuICAgICAgICBpZiAoIWFueShwYXRoUGFydHMpKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbGxlY3Rpb24gdXRpbHMgfCBTb3J0IEJ5IFBhdGggZnVuY3Rpb24gLS0+IFBhdGggaXMgaW5jb3JyZWN0LicpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJ0c0xlbmd0aCA9IHBhdGhQYXJ0cy5sZW5ndGg7XHJcblxyXG4gICAgICAgIGNvbGxlY3Rpb24uc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdmFyIGkgPSAwO1xyXG4gICAgICAgICAgICB3aGlsZSAoaSA8IHBhcnRzTGVuZ3RoKSB7IGEgPSBhW3BhdGhQYXJ0c1tpXV07IGIgPSBiW3BhdGhQYXJ0c1tpXV07IGkrKzsgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZ1xyXG4gICAgICAgICAgICAgICAgPyBhID49IGIgPyAxIDogLTFcclxuICAgICAgICAgICAgICAgIDogYSA+IGIgPyAtMSA6IDE7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGNvbGxlY3Rpb24gd2l0aG91dCBtYXRjaGVzXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEByZXR1cm5zIENvbGxlY3Rpb24gd2l0aG91dCBtYXRjaGVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3Q8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4pOiBBcnJheTxUPiB7XHJcbiAgICByZXR1cm4gYW55KGNvbGxlY3Rpb24pXHJcbiAgICAgICAgPyBjb2xsZWN0aW9uLmZpbHRlcigodmFsdWUsIGluZGV4LCBzZWxmKSA9PiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleClcclxuICAgICAgICA6IGNvbGxlY3Rpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gc3VtIHZhbHVlIGZyb20gY29sbGVjdGlvbiBpdGVtcyBieSBtYXAgZnVuY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHNlbGVjdCBNYXAgZnVuY3Rpb25cclxuICogQHJldHVybnMgU3VtIHZhbHVlIG9mIGNvbGVjdGlvbiBpdGVtc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHN1bTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgc2VsZWN0OiAoaXRlbTogVCkgPT4gbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbilcclxuICAgICAgICA/IGNvbGxlY3Rpb25cclxuICAgICAgICAgICAgLm1hcChzZWxlY3QpXHJcbiAgICAgICAgICAgIC5yZWR1Y2UoKGEsIGIpID0+IHsgcmV0dXJuIGEgKyBiIH0sIDApXHJcbiAgICAgICAgOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIG1heCB2YWx1ZSBmcm9tIGNvbGxlY3Rpb24gaXRlbXMgYnkgbWFwIGZ1bmN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBzZWxlY3QgTWFwIGZ1bmN0aW9uXHJcbiAqIEByZXR1cm5zIE1heCB2YWx1ZSBvZiBjb2xsZWN0aW9uIGl0ZW1zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWF4PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBzZWxlY3Q6IChpdGVtOiBUKSA9PiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKGFueShjb2xsZWN0aW9uKSlcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoLi4uY29sbGVjdGlvbi5tYXAoc2VsZWN0KSk7XHJcblxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb2xsZWN0aW9uIHV0aWxzIHwgTWF4IGZ1bmN0aW9uIC0tPiBDb2xsZWN0aW9uIGlzIGVtcHR5LicpXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgaXRlbXMgZnJvbSBjb2xsZWN0aW9uIGJ5IHByZWRpY2F0ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSByZW1vdmUgbG9naWNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmU8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHZhciBpID0gY29sbGVjdGlvbi5sZW5ndGg7XHJcbiAgICB3aGlsZSAoaS0tKSB7XHJcbiAgICAgICAgaWYgKHByZWRpY2F0ZShjb2xsZWN0aW9uW2ldKSkge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLnNwbGljZShpLCAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgaXRlbSB0byBjb2xsZWN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBpdGVtIE5ldyBpdGVtXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIGlmIGFsbG93ZWQgdG8gYWRkIG5ldyBpdGVtXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgc3VjY2Vzc2Z1bGx5IGFkZGVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYWRkSXRlbTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgaXRlbTogVCxcclxuICAgIHByZWRpY2F0ZTogKChpdGVtOiBUKSA9PiBib29sZWFuKSB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKCFpc0RlZmluZWQoY29sbGVjdGlvbikpXHJcbiAgICAgICAgY29sbGVjdGlvbiA9IG5ldyBBcnJheTxUPigpO1xyXG5cclxuICAgIGlmIChpc0RlZmluZWQocHJlZGljYXRlKSAmJiBwcmVkaWNhdGUhKGl0ZW0pKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb2xsZWN0aW9uLnB1c2goaXRlbSk7XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgaXRlbSBmcm9tIGNvbGxlY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIGl0ZW0gSXRlbSB0byBkZWxldGVcclxuICogQHJldHVybnMgVHJ1ZSBpZiBzdWNjZXNzZnVsbHkgcmVtb3ZlZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW08VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIGl0ZW06IFQpOiBib29sZWFuIHtcclxuICAgIGlmIChpc0RlZmluZWQoaXRlbSkgJiYgaGFzSXRlbShjb2xsZWN0aW9uLCBpdGVtKSkge1xyXG4gICAgICAgIGNvbGxlY3Rpb24uc3BsaWNlKGNvbGxlY3Rpb24uaW5kZXhPZihpdGVtKSwgMSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG4vKipcclxuICogRGVsZXRlIGl0ZW0gZnJvbSBjb2xsZWN0aW9uIGJ5IHByZWRpY2F0ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSByZW1vdmUgbG9naWNcclxuICogQHJldHVybnMgVHJ1ZSBpZiBzdWNjZXNzZnVsbHkgcmVtb3ZlZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUl0ZW1CeTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgcHJlZGljYXRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZm91bmRJdGVtOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCA9IGZpcnN0T3JEZWZhdWx0KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSk7XHJcbiAgICBpZiAoaXNEZWZpbmVkKGZvdW5kSXRlbSkpIHtcclxuICAgICAgICBjb2xsZWN0aW9uLnNwbGljZShjb2xsZWN0aW9uLmluZGV4T2YoZm91bmRJdGVtIGFzIFQpLCAxKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBVcGRhdGUgaXRlbSBpbiBjb2xsZWN0aW9uIGJ5IHByZWRpY2F0ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSBpdGVtIGZvciBkZWxldGluZ1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHN1Y2Nlc3NmdWxseSByZW1vdmVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlSXRlbUJ5PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwcmVkaWNhdGU6IChpdGVtOiBUKSA9PiBib29sZWFuLCBuZXdJdGVtOiBUKVxyXG4gICAgOiBBcnJheTxUPiB8IG51bGwge1xyXG4gICAgY29uc3QgaXRlbUluZGV4ID0gY29sbGVjdGlvbi5maW5kSW5kZXgocHJlZGljYXRlKTtcclxuXHJcbiAgICBpZiAoaXRlbUluZGV4ICE9PSBDb21tb25Db25zdGFudHMuTk9UX0ZPVU5EX0lOREVYKSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY29sbGVjdGlvbi5zbGljZSgwKTtcclxuICAgICAgICByZXN1bHRbaXRlbUluZGV4XSA9IHtcclxuICAgICAgICAgICAgLi4uY29sbGVjdGlvbltpdGVtSW5kZXhdLFxyXG4gICAgICAgICAgICAuLi5uZXdJdGVtXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gY29sbGVjdGlvbiBvciBlbXB0eSBpZiBjb2xsZWN0aW9uIGlzIG5vdCBkZWZpbmVkXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEByZXR1cm5zIENvbGxlY3Rpb24gb3IgZW1wdHlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2xsZWN0aW9uT3JFbXB0eTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPik6IEFycmF5PFQ+IHtcclxuICAgIHJldHVybiBpc0RlZmluZWQoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uIDogW107XHJcbn0iXX0=
|
|
289
|
+
/**
|
|
290
|
+
* Check if arrays are equal
|
|
291
|
+
* @param a First array
|
|
292
|
+
* @param b Second array
|
|
293
|
+
* @returns True if arrays are equal
|
|
294
|
+
*/
|
|
295
|
+
export function isArraysEquals(a, b) {
|
|
296
|
+
if (a.length !== b.length)
|
|
297
|
+
return false;
|
|
298
|
+
a.sort();
|
|
299
|
+
b.sort();
|
|
300
|
+
for (let i = 0; i < a.length; i++) {
|
|
301
|
+
if (a[i] !== b[i])
|
|
302
|
+
return false;
|
|
303
|
+
}
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2ZjLWNvbW1vbi9zcmMvbGliL3V0aWxzL2NvbGxlY3Rpb25zLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBSSxVQUF1QztJQUMxRCxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSyxVQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDeEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBSSxVQUFvQixFQUFFLEtBQVE7SUFDckQsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDO1dBQ2YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxlQUFlLENBQUMsZUFBZSxDQUFDO0FBQzVGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUksVUFBb0IsRUFBRSxTQUErQjtJQUM5RSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUM7QUFDbEcsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUksVUFBc0IsRUFBRSxvQkFBb0I7QUFDekUsUUFBZ0IsRUFBRSxLQUFRO0lBQzFCLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQztXQUNmLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7ZUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxLQUFLLGVBQWUsQ0FBQyxlQUFlLENBQUM7QUFDN0UsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxXQUFnQixFQUFFLFdBQWdCO0lBQzVELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFJLFVBQXVDLEVBQ3JFLFNBQStCO0lBRS9CLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDckUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFJLFVBQW9CO0lBQzdDLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNsRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUksVUFBb0I7SUFDNUMsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBSSxVQUFvQixFQUFFLFNBQStCO0lBQ3hFLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDOUYsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBSSxVQUFvQixFQUFFLFNBQStCO0lBQzFFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDL0MsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBSSxVQUFvQixFQUFFLFNBQStCO0lBRTFFLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQUksVUFBb0IsRUFBRSxJQUFZLEVBQUUsSUFBWTtJQUNwRSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUNqQixJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUM7S0FDaEQ7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FBSSxVQUFvQixFQUFFLFlBQThCLGdCQUFnQixDQUFDLFNBQVM7SUFDbEcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakIsT0FBTyxTQUFTLElBQUksZ0JBQWdCLENBQUMsU0FBUztZQUMxQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDcEQ7SUFFRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBSSxVQUFvQixFQUFFLFFBQWdCLEVBQzVELFNBQTJCO0lBQzNCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ2pCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQy9CLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQ3ZCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5QyxPQUFPLFNBQVMsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTO1lBQzFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRTtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFJLFVBQW9CLEVBQUUsSUFBWSxFQUFFLFNBQTJCO0lBRXpGLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ2pCLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZELENBQUMsQ0FBQztRQUVuRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO1FBRXZGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFFckMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDVixPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUU7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsRUFBRSxDQUFDO2FBQUU7WUFFMUUsT0FBTyxTQUFTLElBQUksZ0JBQWdCLENBQUMsU0FBUztnQkFDMUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sVUFBVSxDQUFDO0tBQ3JCO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLFVBQW9CO0lBQzVDLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNsQixDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssQ0FBQztRQUMxRSxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQUksVUFBb0IsRUFBRSxNQUEyQjtJQUNwRSxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDbEIsQ0FBQyxDQUFDLFVBQVU7YUFDUCxHQUFHLENBQUMsTUFBTSxDQUFDO2FBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBSSxVQUFvQixFQUFFLE1BQTJCO0lBQ3BFLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUUvQyxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFJLFVBQW9CLEVBQUUsU0FBK0I7SUFDM0UsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMxQixPQUFPLENBQUMsRUFBRSxFQUFFO1FBQ1IsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0I7S0FDSjtBQUNMLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFJLFVBQW9CLEVBQUUsSUFBTyxFQUNwRCxZQUEyQyxJQUFJO0lBRS9DLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQ3RCLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBSyxDQUFDO0lBRWhDLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVUsQ0FBQyxJQUFJLENBQUM7UUFDeEMsT0FBTyxLQUFLLENBQUM7SUFFakIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0QixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFJLFVBQW9CLEVBQUUsSUFBTztJQUN2RCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQzlDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBSSxVQUFvQixFQUFFLFNBQStCO0lBQ2pGLE1BQU0sU0FBUyxHQUF5QixjQUFjLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlFLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3RCLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBSSxVQUFvQixFQUFFLFNBQStCLEVBQUUsT0FBVTtJQUU3RixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWxELElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQyxlQUFlLEVBQUU7UUFDL0MsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUc7WUFDaEIsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ3hCLEdBQUcsT0FBTztTQUNiLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQTtLQUNoQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFJLFVBQW9CO0lBQ3hELE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFJLENBQVcsRUFBRSxDQUFXO0lBQ3RELElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXhDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNULENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVULEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQy9CLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztLQUNuQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Db25zdGFudHMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IFNvcnRpbmdEaXJlY3Rpb24gfSBmcm9tIFwiLi4vZW51bXNcIjtcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSBcIi4vY29tbW9uLnV0aWxzXCI7XHJcbmltcG9ydCB7IGlzTnVsbE9yRW1wdHlTdHJpbmcgfSBmcm9tIFwiLi9zdHJpbmcudXRpbHNcIjtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBjb2xsZWN0aW9uIG5vdCBlbXB0eVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGNvbGxlY3Rpb24gbm90IGVtcHR5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYW55PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGlzRGVmaW5lZChjb2xsZWN0aW9uKSAmJiAoY29sbGVjdGlvbiBhcyBBcnJheTxUPikubGVuZ3RoID4gMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGNvbGxlY3Rpb24gaGFzIHN1Y2ggdmFsdWVcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIGNoZWNrXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgZm91bmQgdmFsdWUgaW4gY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc0l0ZW08VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHZhbHVlOiBUKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gYW55KGNvbGxlY3Rpb24pXHJcbiAgICAgICAgJiYgY29sbGVjdGlvbi5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB2YWx1ZSkgIT09IENvbW1vbkNvbnN0YW50cy5OT1RfRk9VTkRfSU5ERVg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBjb2xsZWN0aW9uIGhhcyBzdWNoIHZhbHVlIGJ5IHByZWRpY2F0ZSBmdW5jdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIHRvIGRlZmluZSBjaGVjayBsb2dpY1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIGZvdW5kIHZhbHVlIGluIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBoYXNJdGVtQnk8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbikgJiYgY29sbGVjdGlvbi5maW5kSW5kZXgocHJlZGljYXRlKSAhPT0gQ29tbW9uQ29uc3RhbnRzLk5PVF9GT1VORF9JTkRFWDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiB0cnVlIGlmIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBoYXMgc3VjaCB2YWx1ZSBhcyBvYmplY3RcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2Ygb2JqZWN0c1xyXG4gKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgbmFtZVxyXG4gKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gY2hlY2tcclxuICogQHJldHVybnMgVHJ1ZSBpZiBmb3VuZCB2YWx1ZSBpbiBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaGFzT2JqZWN0SXRlbTxUPihjb2xsZWN0aW9uOiBBcnJheTxhbnk+LCAvLyBUT0RPIDwtLSBBcnJheTxUPlxyXG4gICAgcHJvcGVydHk6IHN0cmluZywgdmFsdWU6IFQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbilcclxuICAgICAgICAmJiBjb2xsZWN0aW9uLmZpbmRJbmRleChpdGVtID0+XHJcbiAgICAgICAgICAgIGl0ZW0uaGFzT3duUHJvcGVydHkocHJvcGVydHkpXHJcbiAgICAgICAgICAgICYmIGl0ZW1bcHJvcGVydHldID09PSB2YWx1ZSkgIT09IENvbW1vbkNvbnN0YW50cy5OT1RfRk9VTkRfSU5ERVg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmaXJzdCBjb2xsZWN0aW9uIGhhcyBpdGVtIGluIHNlY29uZCBjb2xsZWN0aW9uXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uMSBBcnJheSBvZiBvYmplY3RzIHdoZXJlIHNlYXJjaFxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbjIgQXJyYXkgb2Ygb2JqZWN0cyB3aGVyZSB0cnkgdG8gZmluZFxyXG4gKiBAcmV0dXJucyBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBoYXNBbnlJdGVtPFQ+KGNvbGxlY3Rpb24xOiBUW10sIGNvbGxlY3Rpb24yOiBUW10pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBjb2xsZWN0aW9uMS5zb21lKGl0ZW0gPT4gY29sbGVjdGlvbjIuaW5jbHVkZXMoaXRlbSkpO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIHZhbHVlIGZyb20gY29sbGVjdGlvbiBieSBwcmVkaWNhdGUgZnVuY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHByZWRpY2F0ZSBGdW5jdGlvbiB0byBkZWZpbmUgc2VhcmNoIGxvZ2ljXHJcbiAqIEByZXR1cm5zIFZhbHVlIGZyb20gY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0T3JEZWZhdWx0PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pXHJcbiAgICA6IFQgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKSA/IGNvbGxlY3Rpb24/LmZpbmQocHJlZGljYXRlKSA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBmaXJzdCBpdGVtIGZyb20gY29sbGVjdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcmV0dXJucyBGaXJzdCB2YWx1ZSBmcm9tIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdEl0ZW08VD4oY29sbGVjdGlvbjogQXJyYXk8VD4pOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gYW55KGNvbGxlY3Rpb24pID8gY29sbGVjdGlvblswXSA6IG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gbGFzdCBpdGVtIGZyb20gY29sbGVjdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcmV0dXJucyBMYXN0IHZhbHVlIGZyb20gY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGxhc3RJdGVtPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+KTogVCB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKSA/IGNvbGxlY3Rpb25bY29sbGVjdGlvbi5sZW5ndGggLSAxXSA6IG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gVHJ1ZSBpZiBhbGwgdmFsdWVzIG1hdGNoIHByZWRpY2F0ZSBmdW5jdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBvYmplY3RzXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIGNoZWNrIGxvZ2ljXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgYWxsIHZhbHVlcyBtYXRjaCBwcmVkaWNhdGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhbGw8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uLmZpbHRlcihwcmVkaWNhdGUpLmxlbmd0aCA9PSBjb2xsZWN0aW9uLmxlbmd0aCA6IGZhbHNlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGNvdW50IGJ5IHByZWRpY2F0ZVxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBvYmplY3RzXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIGNoZWNrIGxvZ2ljXHJcbiAqIEByZXR1cm5zIEl0ZW1zIGNvdW50XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY291bnQ8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKHByZWRpY2F0ZSkubGVuZ3RoO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGl0ZW1zIGZyb20gY29sbGVjdGlvbiBieSBwcmVkaWNhdGUgZnVuY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHByZWRpY2F0ZSBGdW5jdGlvbiB0byBkZWZpbmUgc2VhcmNoIGxvZ2ljXHJcbiAqIEByZXR1cm5zIFZhbHVlcyBmcm9tIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB3aGVyZTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgcHJlZGljYXRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbilcclxuICAgIDogQXJyYXk8VD4gfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbikgPyBjb2xsZWN0aW9uLmZpbHRlcihwcmVkaWNhdGUpIDogbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBzbGljZWQgY29sbGVjdGlvbiBieSBwYWdlIG51bWJlciBhbmQgcGFnZSBzaXplXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwYWdlIFBhZ2UgbnVtYmVyXHJcbiAqIEBwYXJhbSBzaXplIFBhZ2Ugc2l6ZVxyXG4gKiBAcmV0dXJucyBTbGljZWQgY29sbGVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNraXA8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyKTogQXJyYXk8VD4ge1xyXG4gICAgaWYgKGFueShjb2xsZWN0aW9uKSkge1xyXG4gICAgICAgIGxldCBzdGFydCA9IChwYWdlIC0gMSkgKiBzaXplO1xyXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLnNsaWNlKHN0YXJ0LCBzdGFydCArIHNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc29ydDxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgZGlyZWN0aW9uOiBTb3J0aW5nRGlyZWN0aW9uID0gU29ydGluZ0RpcmVjdGlvbi5Bc2NlbmRpbmcpOiBBcnJheTxUPiB7XHJcbiAgICBpZiAoYW55KGNvbGxlY3Rpb24pKSB7XHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBTb3J0aW5nRGlyZWN0aW9uLkFzY2VuZGluZ1xyXG4gICAgICAgICAgICA/IGNvbGxlY3Rpb24uc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGEgLSBiKVxyXG4gICAgICAgICAgICA6IGNvbGxlY3Rpb24uc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGIgLSBhKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sbGVjdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBzb3J0ZWQgY29sbGVjdGlvbiBvZiBvYmplY3RzIGJ5IHByb3BlcnR5XHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBuYW1lXHJcbiAqIEBwYXJhbSBkaXJlY3Rpb24gU29ydGluZyBkaXJlY3Rpb25cclxuICogQHJldHVybnMgU29ydGVkIGNvbGxlY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3J0Qnk8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByb3BlcnR5OiBzdHJpbmcsXHJcbiAgICBkaXJlY3Rpb246IFNvcnRpbmdEaXJlY3Rpb24pOiBBcnJheTxUPiB7XHJcbiAgICBpZiAoYW55KGNvbGxlY3Rpb24pKSB7XHJcbiAgICAgICAgbGV0IF9zb3J0RnVuYyA9IChhOiBhbnksIGI6IGFueSkgPT5cclxuICAgICAgICAgICAgKHQxOiBudW1iZXIsIHQyOiBudW1iZXIpID0+XHJcbiAgICAgICAgICAgICAgICAoYVtwcm9wZXJ0eV0gPiBiW3Byb3BlcnR5XSA/IHQxIDogdDIpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGlyZWN0aW9uID09IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nXHJcbiAgICAgICAgICAgID8gY29sbGVjdGlvbi5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gX3NvcnRGdW5jKGEsIGIpKDEsIC0xKSlcclxuICAgICAgICAgICAgOiBjb2xsZWN0aW9uLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBfc29ydEZ1bmMoYSwgYikoLTEsIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sbGVjdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBzb3J0ZWQgY29sbGVjdGlvbiBvZiBvYmplY3RzIGJ5IHBhdGhcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHBhdGggUGF0aCB0byBwcm9wZXJ0eVxyXG4gKiBAcGFyYW0gZGlyZWN0aW9uIFNvcnRpbmcgZGlyZWN0aW9uXHJcbiAqIEByZXR1cm5zIFNvcnRlZCBjb2xsZWN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc29ydEJ5UGF0aDxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgcGF0aDogc3RyaW5nLCBkaXJlY3Rpb246IFNvcnRpbmdEaXJlY3Rpb24pXHJcbiAgICA6IEFycmF5PFQ+IHtcclxuICAgIGlmIChhbnkoY29sbGVjdGlvbikpIHtcclxuICAgICAgICBpZiAoaXNOdWxsT3JFbXB0eVN0cmluZyhwYXRoKSlcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb2xsZWN0aW9uIHV0aWxzIHwgU29ydCBCeSBQYXRoIGZ1bmN0aW9uIC0tPiBQYXRoIGlzIGVtcHR5LicpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXRoUGFydHMgPSBwYXRoLnNwbGl0KCcuJyk7XHJcblxyXG4gICAgICAgIGlmICghYW55KHBhdGhQYXJ0cykpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29sbGVjdGlvbiB1dGlscyB8IFNvcnQgQnkgUGF0aCBmdW5jdGlvbiAtLT4gUGF0aCBpcyBpbmNvcnJlY3QuJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcnRzTGVuZ3RoID0gcGF0aFBhcnRzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgY29sbGVjdGlvbi5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgaSA9IDA7XHJcbiAgICAgICAgICAgIHdoaWxlIChpIDwgcGFydHNMZW5ndGgpIHsgYSA9IGFbcGF0aFBhcnRzW2ldXTsgYiA9IGJbcGF0aFBhcnRzW2ldXTsgaSsrOyB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZGlyZWN0aW9uID09IFNvcnRpbmdEaXJlY3Rpb24uQXNjZW5kaW5nXHJcbiAgICAgICAgICAgICAgICA/IGEgPj0gYiA/IDEgOiAtMVxyXG4gICAgICAgICAgICAgICAgOiBhID4gYiA/IC0xIDogMTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gY29sbGVjdGlvbiB3aXRob3V0IG1hdGNoZXNcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHJldHVybnMgQ29sbGVjdGlvbiB3aXRob3V0IG1hdGNoZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkaXN0aW5jdDxUPihjb2xsZWN0aW9uOiBBcnJheTxUPik6IEFycmF5PFQ+IHtcclxuICAgIHJldHVybiBhbnkoY29sbGVjdGlvbilcclxuICAgICAgICA/IGNvbGxlY3Rpb24uZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIHNlbGYpID0+IHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4KVxyXG4gICAgICAgIDogY29sbGVjdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBzdW0gdmFsdWUgZnJvbSBjb2xsZWN0aW9uIGl0ZW1zIGJ5IG1hcCBmdW5jdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gc2VsZWN0IE1hcCBmdW5jdGlvblxyXG4gKiBAcmV0dXJucyBTdW0gdmFsdWUgb2YgY29sZWN0aW9uIGl0ZW1zXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc3VtPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBzZWxlY3Q6IChpdGVtOiBUKSA9PiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGFueShjb2xsZWN0aW9uKVxyXG4gICAgICAgID8gY29sbGVjdGlvblxyXG4gICAgICAgICAgICAubWFwKHNlbGVjdClcclxuICAgICAgICAgICAgLnJlZHVjZSgoYSwgYikgPT4geyByZXR1cm4gYSArIGIgfSwgMClcclxuICAgICAgICA6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gbWF4IHZhbHVlIGZyb20gY29sbGVjdGlvbiBpdGVtcyBieSBtYXAgZnVuY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIHNlbGVjdCBNYXAgZnVuY3Rpb25cclxuICogQHJldHVybnMgTWF4IHZhbHVlIG9mIGNvbGxlY3Rpb24gaXRlbXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXg8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHNlbGVjdDogKGl0ZW06IFQpID0+IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoYW55KGNvbGxlY3Rpb24pKVxyXG4gICAgICAgIHJldHVybiBNYXRoLm1heCguLi5jb2xsZWN0aW9uLm1hcChzZWxlY3QpKTtcclxuXHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbGxlY3Rpb24gdXRpbHMgfCBNYXggZnVuY3Rpb24gLS0+IENvbGxlY3Rpb24gaXMgZW1wdHkuJylcclxufVxyXG5cclxuLyoqXHJcbiAqIERlbGV0ZSBpdGVtcyBmcm9tIGNvbGxlY3Rpb24gYnkgcHJlZGljYXRlXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIHJlbW92ZSBsb2dpY1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgcHJlZGljYXRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdmFyIGkgPSBjb2xsZWN0aW9uLmxlbmd0aDtcclxuICAgIHdoaWxlIChpLS0pIHtcclxuICAgICAgICBpZiAocHJlZGljYXRlKGNvbGxlY3Rpb25baV0pKSB7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCBpdGVtIHRvIGNvbGxlY3Rpb25cclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHBhcmFtIGl0ZW0gTmV3IGl0ZW1cclxuICogQHBhcmFtIHByZWRpY2F0ZSBGdW5jdGlvbiB0byBkZWZpbmUgaWYgYWxsb3dlZCB0byBhZGQgbmV3IGl0ZW1cclxuICogQHJldHVybnMgVHJ1ZSBpZiBzdWNjZXNzZnVsbHkgYWRkZWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRJdGVtPFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBpdGVtOiBULFxyXG4gICAgcHJlZGljYXRlOiAoKGl0ZW06IFQpID0+IGJvb2xlYW4pIHwgbnVsbCA9IG51bGwpOiBib29sZWFuIHtcclxuXHJcbiAgICBpZiAoIWlzRGVmaW5lZChjb2xsZWN0aW9uKSlcclxuICAgICAgICBjb2xsZWN0aW9uID0gbmV3IEFycmF5PFQ+KCk7XHJcblxyXG4gICAgaWYgKGlzRGVmaW5lZChwcmVkaWNhdGUpICYmIHByZWRpY2F0ZSEoaXRlbSkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGNvbGxlY3Rpb24ucHVzaChpdGVtKTtcclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlbGV0ZSBpdGVtIGZyb20gY29sbGVjdGlvblxyXG4gKiBAcGFyYW0gY29sbGVjdGlvbiBBcnJheSBvZiBpdGVtc1xyXG4gKiBAcGFyYW0gaXRlbSBJdGVtIHRvIGRlbGV0ZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHN1Y2Nlc3NmdWxseSByZW1vdmVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSXRlbTxUPihjb2xsZWN0aW9uOiBBcnJheTxUPiwgaXRlbTogVCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGlzRGVmaW5lZChpdGVtKSAmJiBoYXNJdGVtKGNvbGxlY3Rpb24sIGl0ZW0pKSB7XHJcbiAgICAgICAgY29sbGVjdGlvbi5zcGxpY2UoY29sbGVjdGlvbi5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgaXRlbSBmcm9tIGNvbGxlY3Rpb24gYnkgcHJlZGljYXRlXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIHJlbW92ZSBsb2dpY1xyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHN1Y2Nlc3NmdWxseSByZW1vdmVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlSXRlbUJ5PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+LCBwcmVkaWNhdGU6IChpdGVtOiBUKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBmb3VuZEl0ZW06IFQgfCBudWxsIHwgdW5kZWZpbmVkID0gZmlyc3RPckRlZmF1bHQoY29sbGVjdGlvbiwgcHJlZGljYXRlKTtcclxuICAgIGlmIChpc0RlZmluZWQoZm91bmRJdGVtKSkge1xyXG4gICAgICAgIGNvbGxlY3Rpb24uc3BsaWNlKGNvbGxlY3Rpb24uaW5kZXhPZihmb3VuZEl0ZW0gYXMgVCksIDEpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFVwZGF0ZSBpdGVtIGluIGNvbGxlY3Rpb24gYnkgcHJlZGljYXRlXHJcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIEFycmF5IG9mIGl0ZW1zXHJcbiAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gdG8gZGVmaW5lIGl0ZW0gZm9yIGRlbGV0aW5nXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgc3VjY2Vzc2Z1bGx5IHJlbW92ZWRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJdGVtQnk8VD4oY29sbGVjdGlvbjogQXJyYXk8VD4sIHByZWRpY2F0ZTogKGl0ZW06IFQpID0+IGJvb2xlYW4sIG5ld0l0ZW06IFQpXHJcbiAgICA6IEFycmF5PFQ+IHwgbnVsbCB7XHJcbiAgICBjb25zdCBpdGVtSW5kZXggPSBjb2xsZWN0aW9uLmZpbmRJbmRleChwcmVkaWNhdGUpO1xyXG5cclxuICAgIGlmIChpdGVtSW5kZXggIT09IENvbW1vbkNvbnN0YW50cy5OT1RfRk9VTkRfSU5ERVgpIHtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBjb2xsZWN0aW9uLnNsaWNlKDApO1xyXG4gICAgICAgIHJlc3VsdFtpdGVtSW5kZXhdID0ge1xyXG4gICAgICAgICAgICAuLi5jb2xsZWN0aW9uW2l0ZW1JbmRleF0sXHJcbiAgICAgICAgICAgIC4uLm5ld0l0ZW1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiByZXN1bHRcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBjb2xsZWN0aW9uIG9yIGVtcHR5IGlmIGNvbGxlY3Rpb24gaXMgbm90IGRlZmluZWRcclxuICogQHBhcmFtIGNvbGxlY3Rpb24gQXJyYXkgb2YgaXRlbXNcclxuICogQHJldHVybnMgQ29sbGVjdGlvbiBvciBlbXB0eVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25PckVtcHR5PFQ+KGNvbGxlY3Rpb246IEFycmF5PFQ+KTogQXJyYXk8VD4ge1xyXG4gICAgcmV0dXJuIGlzRGVmaW5lZChjb2xsZWN0aW9uKSA/IGNvbGxlY3Rpb24gOiBbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrIGlmIGFycmF5cyBhcmUgZXF1YWxcclxuICogQHBhcmFtIGEgRmlyc3QgYXJyYXlcclxuICogQHBhcmFtIGIgU2Vjb25kIGFycmF5XHJcbiAqIEByZXR1cm5zIFRydWUgaWYgYXJyYXlzIGFyZSBlcXVhbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXlzRXF1YWxzPFQ+KGE6IEFycmF5PFQ+LCBiOiBBcnJheTxUPik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGEuc29ydCgpO1xyXG4gICAgYi5zb3J0KCk7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFbaV0gIT09IGJbaV0pIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufSJdfQ==
|