@firestitch/common 12.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/firestitch-common.umd.js +17 -0
- package/bundles/firestitch-common.umd.js.map +1 -1
- package/esm2015/libs/rxjs/keyboard-shortcut.js +18 -0
- package/esm2015/public_api.js +2 -1
- package/fesm2015/firestitch-common.js +19 -3
- package/fesm2015/firestitch-common.js.map +1 -1
- package/libs/rxjs/keyboard-shortcut.d.ts +2 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { combineLatest, fromEvent, merge } from 'rxjs';
|
|
2
|
+
import { distinctUntilChanged, filter, share } from 'rxjs/operators';
|
|
3
|
+
export const keyboardShortcut = (shortcut) => {
|
|
4
|
+
// Observables for all keydown and keyup events
|
|
5
|
+
const keyDown$ = fromEvent(document, 'keydown');
|
|
6
|
+
const keyUp$ = fromEvent(document, 'keyup');
|
|
7
|
+
// All KeyboardEvents - emitted only when KeyboardEvent changes (key or type)
|
|
8
|
+
const keyEvents$ = merge(keyDown$, keyUp$).pipe(distinctUntilChanged((a, b) => a.code === b.code && a.type === b.type), share());
|
|
9
|
+
// Create KeyboardEvent Observable for specified KeyCode
|
|
10
|
+
const createKeyPressStream = (charCode) => keyEvents$.pipe(filter((event) => event.keyCode === charCode));
|
|
11
|
+
// Create Event Stream for every KeyCode in shortcut
|
|
12
|
+
const keyCodeEvents$ = shortcut.map((s) => createKeyPressStream(s));
|
|
13
|
+
// Emit when specified keys are pressed (keydown).
|
|
14
|
+
// Emit only when all specified keys are pressed at the same time.
|
|
15
|
+
// More on combineLatest below
|
|
16
|
+
return combineLatest(keyCodeEvents$).pipe(filter((arr) => arr.every((a) => a.type === 'keydown')));
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGlicy9yeGpzL2tleWJvYXJkLXNob3J0Y3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBbUIsRUFBK0IsRUFBRTtJQUNuRiwrQ0FBK0M7SUFDL0MsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0QsNkVBQTZFO0lBQzdFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUM3QyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDdEUsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUVGLHdEQUF3RDtJQUN4RCxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBaUIsRUFBRSxFQUFFLENBQ2pELFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFakUsb0RBQW9EO0lBQ3BELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEUsa0RBQWtEO0lBQ2xELGtFQUFrRTtJQUNsRSw4QkFBOEI7SUFDOUIsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN2QyxNQUFNLENBQWtCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQ3pFLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5leHBvcnQgY29uc3Qga2V5Ym9hcmRTaG9ydGN1dCA9IChzaG9ydGN1dDogdW5rbm93bltdKTogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50W10+ID0+IHtcbiAgLy8gT2JzZXJ2YWJsZXMgZm9yIGFsbCBrZXlkb3duIGFuZCBrZXl1cCBldmVudHNcbiAgY29uc3Qga2V5RG93biQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXlkb3duJyk7XG4gIGNvbnN0IGtleVVwJCA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pihkb2N1bWVudCwgJ2tleXVwJyk7XG5cbiAgLy8gQWxsIEtleWJvYXJkRXZlbnRzIC0gZW1pdHRlZCBvbmx5IHdoZW4gS2V5Ym9hcmRFdmVudCBjaGFuZ2VzIChrZXkgb3IgdHlwZSlcbiAgY29uc3Qga2V5RXZlbnRzJCA9IG1lcmdlKGtleURvd24kLCBrZXlVcCQpLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGEuY29kZSA9PT0gYi5jb2RlICYmIGEudHlwZSA9PT0gYi50eXBlKSxcbiAgICBzaGFyZSgpLFxuICApO1xuXG4gIC8vIENyZWF0ZSBLZXlib2FyZEV2ZW50IE9ic2VydmFibGUgZm9yIHNwZWNpZmllZCBLZXlDb2RlXG4gIGNvbnN0IGNyZWF0ZUtleVByZXNzU3RyZWFtID0gKGNoYXJDb2RlOiB1bmtub3duKSA9PlxuICAgIGtleUV2ZW50cyQucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5rZXlDb2RlID09PSBjaGFyQ29kZSkpO1xuXG4gIC8vIENyZWF0ZSBFdmVudCBTdHJlYW0gZm9yIGV2ZXJ5IEtleUNvZGUgaW4gc2hvcnRjdXRcbiAgY29uc3Qga2V5Q29kZUV2ZW50cyQgPSBzaG9ydGN1dC5tYXAoKHMpID0+IGNyZWF0ZUtleVByZXNzU3RyZWFtKHMpKTtcblxuICAvLyBFbWl0IHdoZW4gc3BlY2lmaWVkIGtleXMgYXJlIHByZXNzZWQgKGtleWRvd24pLlxuICAvLyBFbWl0IG9ubHkgd2hlbiBhbGwgc3BlY2lmaWVkIGtleXMgYXJlIHByZXNzZWQgYXQgdGhlIHNhbWUgdGltZS5cbiAgLy8gTW9yZSBvbiBjb21iaW5lTGF0ZXN0IGJlbG93XG4gIHJldHVybiBjb21iaW5lTGF0ZXN0KGtleUNvZGVFdmVudHMkKS5waXBlKFxuICAgIGZpbHRlcjxLZXlib2FyZEV2ZW50W10+KChhcnIpID0+IGFyci5ldmVyeSgoYSkgPT4gYS50eXBlID09PSAna2V5ZG93bicpKVxuICApO1xufTtcbiJdfQ==
|
package/esm2015/public_api.js
CHANGED
|
@@ -18,4 +18,5 @@ export { FsStopPropagationDirective } from './app/directives/stop-propagation.di
|
|
|
18
18
|
export { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';
|
|
19
19
|
export { FsAutofocusDirective } from './app/directives/autofocus.directive';
|
|
20
20
|
export { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';
|
|
21
|
-
|
|
21
|
+
export { keyboardShortcut } from './libs/rxjs/keyboard-shortcut';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsVUFBVTtBQUNWLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxXQUFXO0FBQ1gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELGNBQWMsUUFBUSxDQUFDO0FBR3ZCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixvQkFBb0IsR0FDckIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZnMtbWVudVxuICovXG5cbi8vIE1vZHVsZXNcbmV4cG9ydCB7IEZzQ29tbW9uTW9kdWxlIH0gZnJvbSAnLi9hcHAvZnMtY29tbW9uLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgeyBGc0FycmF5IH0gZnJvbSAnLi9hcHAvc2VydmljZXMvYXJyYXkuc2VydmljZSc7XG5leHBvcnQgeyBGc01hdGggfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9tYXRoLnNlcnZpY2UnO1xuZXhwb3J0IHsgRnNVdGlsIH0gZnJvbSAnLi9hcHAvc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmV4cG9ydCB7IEZzVmFsaWRhdGUgfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy92YWlsZGF0ZS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWJzJztcblxuXG5leHBvcnQge1xuICBGc1V0aWxHdWlkUGlwZSxcbiAgRnNVdGlsU3RyaW5naWZ5UGlwZSxcbiAgRnNVdGlsSXNFbXB0eVBpcGUsXG4gIEZzVXRpbElzTm90RW1wdHlQaXBlLFxufSBmcm9tICcuL2FwcC9waXBlcy91dGlsLnBpcGUnO1xuZXhwb3J0IHsgRnNGb3JtYXROdW1iZXJQaXBlIH0gZnJvbSAnLi9hcHAvcGlwZXMvbnVtYmVyLnBpcGUnO1xuZXhwb3J0IHsgRnNGb3JtYXRDdXJyZW5jeVBpcGUgfSBmcm9tICcuL2FwcC9waXBlcy9jdXJyZW5jeS5waXBlJztcbmV4cG9ydCB7IEZzRm9ybWF0VHJ1bmNhdGVQaXBlfSBmcm9tICcuL2FwcC9waXBlcy90cnVuY2F0ZS5waXBlJztcbmV4cG9ydCB7IEZzRm9ybWF0Qnl0ZXNQaXBlIH0gZnJvbSAnLi9hcHAvcGlwZXMvYnl0ZXMucGlwZSc7XG5leHBvcnQgeyBGc1N0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvc3RvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNQcmV2ZW50RGVmYXVsdERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvcHJldmVudC1kZWZhdWx0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0F1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1hdE9yZGluYWxOdW1iZXJQaXBlIH0gZnJvbSAnLi9hcHAvcGlwZXMvb3JkaW5hbC1udW1iZXIucGlwZSc7XG5leHBvcnQgeyBrZXlib2FyZFNob3J0Y3V0IH0gZnJvbSAnLi9saWJzL3J4anMva2V5Ym9hcmQtc2hvcnRjdXQnO1xuIl19
|
|
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, Pipe, LOCALE_ID, Inject, Directive, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import { CurrencyPipe, CommonModule } from '@angular/common';
|
|
4
4
|
import { toString, isObject, isArray } from 'lodash-es';
|
|
5
|
-
import { Subject, Observable, of, iif, throwError, timer } from 'rxjs';
|
|
6
|
-
import { takeUntil, delay, retryWhen, tap, concatMap } from 'rxjs/operators';
|
|
5
|
+
import { Subject, Observable, of, iif, throwError, timer, fromEvent, merge, combineLatest } from 'rxjs';
|
|
6
|
+
import { takeUntil, delay, retryWhen, tap, concatMap, distinctUntilChanged, share, filter as filter$1 } from 'rxjs/operators';
|
|
7
7
|
|
|
8
8
|
class FsArray {
|
|
9
9
|
/**
|
|
@@ -1367,6 +1367,22 @@ const getErrorMessage = (maxRetry, defaultMessage) => {
|
|
|
1367
1367
|
}
|
|
1368
1368
|
};
|
|
1369
1369
|
|
|
1370
|
+
const keyboardShortcut = (shortcut) => {
|
|
1371
|
+
// Observables for all keydown and keyup events
|
|
1372
|
+
const keyDown$ = fromEvent(document, 'keydown');
|
|
1373
|
+
const keyUp$ = fromEvent(document, 'keyup');
|
|
1374
|
+
// All KeyboardEvents - emitted only when KeyboardEvent changes (key or type)
|
|
1375
|
+
const keyEvents$ = merge(keyDown$, keyUp$).pipe(distinctUntilChanged((a, b) => a.code === b.code && a.type === b.type), share());
|
|
1376
|
+
// Create KeyboardEvent Observable for specified KeyCode
|
|
1377
|
+
const createKeyPressStream = (charCode) => keyEvents$.pipe(filter$1((event) => event.keyCode === charCode));
|
|
1378
|
+
// Create Event Stream for every KeyCode in shortcut
|
|
1379
|
+
const keyCodeEvents$ = shortcut.map((s) => createKeyPressStream(s));
|
|
1380
|
+
// Emit when specified keys are pressed (keydown).
|
|
1381
|
+
// Emit only when all specified keys are pressed at the same time.
|
|
1382
|
+
// More on combineLatest below
|
|
1383
|
+
return combineLatest(keyCodeEvents$).pipe(filter$1((arr) => arr.every((a) => a.type === 'keydown')));
|
|
1384
|
+
};
|
|
1385
|
+
|
|
1370
1386
|
/*
|
|
1371
1387
|
* Public API Surface of fs-menu
|
|
1372
1388
|
*/
|
|
@@ -1375,5 +1391,5 @@ const getErrorMessage = (maxRetry, defaultMessage) => {
|
|
|
1375
1391
|
* Generated bundle index. Do not edit.
|
|
1376
1392
|
*/
|
|
1377
1393
|
|
|
1378
|
-
export { FsArray, FsAutofocusDirective, FsCommonModule, FsFormatBytesPipe, FsFormatCurrencyPipe, FsFormatNumberPipe, FsFormatOrdinalNumberPipe, FsFormatTruncatePipe, FsMath, FsPreventDefaultDirective, FsStopPropagationDirective, FsUtil, FsUtilGuidPipe, FsUtilIsEmptyPipe, FsUtilIsNotEmptyPipe, FsUtilStringifyPipe, FsValidate, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_ALT, KEY_BACKSPACE, KEY_CANCEL, KEY_CAPS_LOCK, KEY_CLEAR, KEY_CONTROL, KEY_DELETE, KEY_DOWN, KEY_END, KEY_ENTER, KEY_EQUALS, KEY_ESCAPE, KEY_HELP, KEY_HOME, KEY_INSERT, KEY_LEFT, KEY_PAGE_DOWN, KEY_PAGE_UP, KEY_PAUSE, KEY_PRINTSCREEN, KEY_RETURN, KEY_RIGHT, KEY_SEMICOLON, KEY_SHIFT, KEY_SPACE, KEY_TAB, KEY_UP, Queue, QueueState, acronym, boolean, bytes, compare, currency, debounce, delayedRetry, email, filter, find, getNormalizedPath, guid, inArray, index, indexOf, isClass, isEmpty, isNumeric, keyExists, ksort, length, list, nameValue, number, ordinalNumber, phone, remove, removeQueryParams, resolve, rsort, sort, stringify, throttle, truncate, url, uuid, value };
|
|
1394
|
+
export { FsArray, FsAutofocusDirective, FsCommonModule, FsFormatBytesPipe, FsFormatCurrencyPipe, FsFormatNumberPipe, FsFormatOrdinalNumberPipe, FsFormatTruncatePipe, FsMath, FsPreventDefaultDirective, FsStopPropagationDirective, FsUtil, FsUtilGuidPipe, FsUtilIsEmptyPipe, FsUtilIsNotEmptyPipe, FsUtilStringifyPipe, FsValidate, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_ALT, KEY_BACKSPACE, KEY_CANCEL, KEY_CAPS_LOCK, KEY_CLEAR, KEY_CONTROL, KEY_DELETE, KEY_DOWN, KEY_END, KEY_ENTER, KEY_EQUALS, KEY_ESCAPE, KEY_HELP, KEY_HOME, KEY_INSERT, KEY_LEFT, KEY_PAGE_DOWN, KEY_PAGE_UP, KEY_PAUSE, KEY_PRINTSCREEN, KEY_RETURN, KEY_RIGHT, KEY_SEMICOLON, KEY_SHIFT, KEY_SPACE, KEY_TAB, KEY_UP, Queue, QueueState, acronym, boolean, bytes, compare, currency, debounce, delayedRetry, email, filter, find, getNormalizedPath, guid, inArray, index, indexOf, isClass, isEmpty, isNumeric, keyExists, keyboardShortcut, ksort, length, list, nameValue, number, ordinalNumber, phone, remove, removeQueryParams, resolve, rsort, sort, stringify, throttle, truncate, url, uuid, value };
|
|
1379
1395
|
//# sourceMappingURL=firestitch-common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-common.js","sources":["../../src/app/services/array.service.ts","../../src/app/services/math.service.ts","../../src/app/services/util.service.ts","../../src/app/services/vaildate.service.ts","../../src/libs/util/stringify/stringify.ts","../../src/libs/util/guid/guid.ts","../../src/libs/util/isEmpty/isEmpty.ts","../../src/app/pipes/util.pipe.ts","../../src/libs/format/number/number.ts","../../src/app/pipes/number.pipe.ts","../../src/libs/format/currency/currency.ts","../../src/app/pipes/currency.pipe.ts","../../src/libs/format/truncate/truncate.ts","../../src/app/pipes/truncate.pipe.ts","../../src/libs/format/bytes/bytes.ts","../../src/app/pipes/bytes.pipe.ts","../../src/app/directives/stop-propagation.directive.ts","../../src/app/directives/prevent-default.directive.ts","../../src/app/directives/autofocus.directive.ts","../../src/libs/util/ordinal-number/ordinal-number.ts","../../src/app/pipes/ordinal-number.pipe.ts","../../src/app/fs-common.module.ts","../../src/libs/validate/email/email.ts","../../src/libs/validate/phone/phone.ts","../../src/libs/validate/url/url.ts","../../src/libs/array/compare/compare.ts","../../src/libs/array/filter/filter.ts","../../src/libs/array/inArray/inArray.ts","../../src/libs/array/index/index.ts","../../src/libs/array/indexOf/indexOf.ts","../../src/libs/array/keyExists/keyExists.ts","../../src/libs/array/ksort/ksort.ts","../../src/libs/array/list/list.ts","../../src/libs/array/nameValue/nameValue.ts","../../src/libs/array/remove/remove.ts","../../src/libs/array/sort/sort.ts","../../src/libs/array/rsort/rsort.ts","../../src/libs/array/find/find.ts","../../src/libs/util/boolean/boolean.ts","../../src/libs/util/debounce/debounce.ts","../../src/libs/util/keys/keys.ts","../../src/libs/util/length/length.ts","../../src/libs/util/resolve/resolve.ts","../../src/libs/util/uuid/uuid.ts","../../src/libs/util/value/value.ts","../../src/libs/util/isClass/isClass.ts","../../src/libs/util/isNumeric/isNumeric.ts","../../src/libs/util/throttle/throttle.ts","../../src/libs/util/queue/operation.ts","../../src/libs/util/queue/queue.enum.ts","../../src/libs/util/queue/queue.ts","../../src/libs/util/remove-query-params/remove-query-params.ts","../../src/libs/util/get-normalized-path/get-normalized-path.ts","../../src/libs/format/acronym/acronym.ts","../../src/libs/rxjs/delayedRetry.ts","../../src/public_api.ts","../../src/firestitch-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n return pattern.replace(/[x]/g, function(c) {\n const i = (Math.random() * chars.length) | 0;\n return chars[i];\n });\n}\n","import { isObject, toString } from 'lodash-es';\n\nexport function isEmpty(value, options?) {\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !toString(value).length ||\n (\n isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { stringify } from '../../libs/util/stringify/stringify';\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/isEmpty/isEmpty';\n\n\n@Pipe({\n name: 'fsUtilStringify'\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid'\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty'\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty'\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function number(value, decimals?) {\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { isArray } from 'lodash-es';\n\n\nexport function currency(amount, precision: [number, number] | number = [2,10], currencyCode = 'USD', locale = 'en-US') {\n const digitsInfo = isArray(precision) ? precision : [precision, precision];\n return new CurrencyPipe(locale).transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","import { Pipe, PipeTransform, LOCALE_ID, Inject } from '@angular/core';\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency'\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n transform(amount, precision?, currencyCode?): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","export function bytes(bytes: number) {\n if (!bytes) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n\n const decimals = (bytes / 1024) > 1000 ? 2 : 0;\n console.log(bytes, (bytes / 1024), decimals);\n return `${(bytes / Math.pow(1024, e)).toFixed(decimals)}`.replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number): string {\n return bytes(value);\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class FsAutofocusDirective implements AfterViewInit {\n\n constructor(\n private _el: ElementRef,\n ) {}\n\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this._el.nativeElement.focus();\n })\n }\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\nimport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './pipes/util.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatTruncatePipe} from './pipes/truncate.pipe';\nimport { FsFormatBytesPipe } from './pipes/bytes.pipe';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsAutofocusDirective } from './directives/autofocus.directive';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n static forRoot(): ModuleWithProviders<FsCommonModule> {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate\n ]\n };\n }\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, name, value = null) {\n const list = {};\n \n array.forEach(function (item) {\n list[item[name]] = value ? item[value] : item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","import { toString } from 'lodash-es';\n\nexport function boolean(value) {\n return toString(value).toLowerCase() !== 'false' && !!value;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","import { isObject, isArray } from 'lodash-es'\n\nexport function length(object) {\n if (isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (isArray(object)) {\n return object.length;\n }\n\n return 0;\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","import { toString } from 'lodash-es';\n\nexport function isNumeric(value) {\n const str = toString(value);\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target, name?) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Operation } from './operation';\nimport { QueueState } from './queue.enum';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nexport class Queue {\n\n private _done = new Subject();\n\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n\n private _total = 0;\n private _completed = 0;\n private _errors = 0;\n\n private _state: QueueState = QueueState.Idle;\n\n private _destroy$ = new Subject<void>();\n\n constructor(private _limit = Infinity) {}\n\n get total() {\n return this._total;\n }\n\n get completed() {\n return this._completed;\n }\n\n get pending() {\n return this._queue.length;\n }\n\n get inProgress() {\n return this._inProgress.length;\n }\n\n get errors() {\n return this._errors;\n }\n\n get state() {\n return this._state;\n }\n\n get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n public subscribe(fun, err?, complete?) {\n this._done\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(fun, err, complete);\n }\n\n public complete(fun, err?, complete?) {\n\n Observable.create(observer => {\n\n if (!this.isProcessing()) {\n observer.next();\n observer.complete();\n return;\n }\n\n this.subscribe(() => {\n observer.next();\n observer.complete();\n }, (error) => {\n observer.error(error);\n this.clear();\n });\n }).subscribe(fun, err, complete);\n }\n\n public push(target, name?) {\n const operation = new Operation(target, name);\n\n this._total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear() {\n this._queue = [];\n this._total = 0;\n this._errors = 0;\n this._completed = 0;\n this._state = QueueState.Idle;\n this._done = new Subject();\n }\n\n public destroy() {\n this.clear();\n this._done.complete();\n }\n\n private _processOperation(operation: Operation) {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n\n error: (error) => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._errors++;\n\n operation.ready$.error(error);\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.error(error);\n }\n },\n\n complete: () => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._completed++;\n\n operation.ready$.complete();\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }\n });\n }\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\n// Modules\nexport { FsCommonModule } from './app/fs-common.module';\n\n// Services\nexport { FsArray } from './app/services/array.service';\nexport { FsMath } from './app/services/math.service';\nexport { FsUtil } from './app/services/util.service';\nexport { FsValidate } from './app/services/vaildate.service';\n\nexport * from './libs';\n\n\nexport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './app/pipes/util.pipe';\nexport { FsFormatNumberPipe } from './app/pipes/number.pipe';\nexport { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';\nexport { FsFormatTruncatePipe} from './app/pipes/truncate.pipe';\nexport { FsFormatBytesPipe } from './app/pipes/bytes.pipe';\nexport { FsStopPropagationDirective } from './app/directives/stop-propagation.directive';\nexport { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';\nexport { FsAutofocusDirective } from './app/directives/autofocus.directive';\nexport { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS","i1.FsUtil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firestitch-common.js","sources":["../../src/app/services/array.service.ts","../../src/app/services/math.service.ts","../../src/app/services/util.service.ts","../../src/app/services/vaildate.service.ts","../../src/libs/util/stringify/stringify.ts","../../src/libs/util/guid/guid.ts","../../src/libs/util/isEmpty/isEmpty.ts","../../src/app/pipes/util.pipe.ts","../../src/libs/format/number/number.ts","../../src/app/pipes/number.pipe.ts","../../src/libs/format/currency/currency.ts","../../src/app/pipes/currency.pipe.ts","../../src/libs/format/truncate/truncate.ts","../../src/app/pipes/truncate.pipe.ts","../../src/libs/format/bytes/bytes.ts","../../src/app/pipes/bytes.pipe.ts","../../src/app/directives/stop-propagation.directive.ts","../../src/app/directives/prevent-default.directive.ts","../../src/app/directives/autofocus.directive.ts","../../src/libs/util/ordinal-number/ordinal-number.ts","../../src/app/pipes/ordinal-number.pipe.ts","../../src/app/fs-common.module.ts","../../src/libs/validate/email/email.ts","../../src/libs/validate/phone/phone.ts","../../src/libs/validate/url/url.ts","../../src/libs/array/compare/compare.ts","../../src/libs/array/filter/filter.ts","../../src/libs/array/inArray/inArray.ts","../../src/libs/array/index/index.ts","../../src/libs/array/indexOf/indexOf.ts","../../src/libs/array/keyExists/keyExists.ts","../../src/libs/array/ksort/ksort.ts","../../src/libs/array/list/list.ts","../../src/libs/array/nameValue/nameValue.ts","../../src/libs/array/remove/remove.ts","../../src/libs/array/sort/sort.ts","../../src/libs/array/rsort/rsort.ts","../../src/libs/array/find/find.ts","../../src/libs/util/boolean/boolean.ts","../../src/libs/util/debounce/debounce.ts","../../src/libs/util/keys/keys.ts","../../src/libs/util/length/length.ts","../../src/libs/util/resolve/resolve.ts","../../src/libs/util/uuid/uuid.ts","../../src/libs/util/value/value.ts","../../src/libs/util/isClass/isClass.ts","../../src/libs/util/isNumeric/isNumeric.ts","../../src/libs/util/throttle/throttle.ts","../../src/libs/util/queue/operation.ts","../../src/libs/util/queue/queue.enum.ts","../../src/libs/util/queue/queue.ts","../../src/libs/util/remove-query-params/remove-query-params.ts","../../src/libs/util/get-normalized-path/get-normalized-path.ts","../../src/libs/format/acronym/acronym.ts","../../src/libs/rxjs/delayedRetry.ts","../../src/libs/rxjs/keyboard-shortcut.ts","../../src/public_api.ts","../../src/firestitch-common.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsArray {\n /**\n * @deprecated use import { nameValue } from @firestitch/common/array; instead\n */\n public nameValue(array, name, value): Array<any> {\n console.warn('@deprecated use import { nameValue } from @firestitch/common/array; instead');\n let list = [];\n if (name || value) {\n\n let nameFn = typeof name === 'function' ? name : function (item) { return item[name] };\n let valueFn = typeof value === 'function' ? value : function (item) { return item[value] };\n\n array.forEach(function (item) {\n list.push({ name: nameFn(item), value: valueFn(item) });\n });\n\n } else {\n array.forEach(function (name, value) {\n list.push({ name: name, value: value });\n });\n }\n\n return list;\n }\n\n /**\n * @deprecated use import { remove } from @firestitch/common/array; instead\n */\n public remove(array, query): any {\n console.warn('@deprecated use import { remove } from @firestitch/common/array; instead');\n let idx = this.indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n }\n\n /**\n * @deprecated use import { indexOf } from @firestitch/common/array; instead\n */\n public indexOf(array, query): number {\n console.warn('@deprecated use import { indexOf } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * @deprecated use import { compare } from @firestitch/common/array; instead\n */\n public compare(query, item): boolean {\n console.warn('@deprecated use import { compare } from @firestitch/common/array; instead');\n let value = true;\n for (let key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n }\n\n /**\n * @deprecated use import { filter } from @firestitch/common/array; instead\n */\n public filter(array, query): Array<any> {\n console.warn('@deprecated use import { filter } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryObj = query;\n query = (item) => {\n\n return this.compare(queryObj, item);\n }\n }\n\n let isarray = Array.isArray(array);\n let list: any = isarray ? [] : {};\n if (isarray)\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n else Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n return list;\n }\n\n /**\n * @deprecated use import { index } from @firestitch/common/array; instead\n */\n public index(array, property): Object {\n console.warn('@deprecated use import { index } from @firestitch/common/array; instead');\n let list = {};\n array.forEach(function (item, idx) {\n list[item[property]] = item;\n });\n return list;\n }\n\n\n /**\n * @deprecated use import { sort } from @firestitch/common/array; instead\n */\n public sort(array, query, reverse = false): Array<any> {\n console.warn('@deprecated use import { sort } from @firestitch/common/array; instead');\n if (typeof query !== 'function') {\n let queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n }\n\n /**\n * @deprecated use import { rsort } from @firestitch/common/array; instead\n */\n public rsort(array, query): Array<any> {\n console.warn('@deprecated use import { rsort } from @firestitch/common/array; instead');\n return this.sort(array, query, true);\n }\n\n\n /**\n * @deprecated use import { list } from @firestitch/common/array; instead\n */\n public list(array, property, index = null): Object {\n console.warn('@deprecated use import { list } from @firestitch/common/array; instead');\n let list: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n list[item[index]] = item[property];\n } else {\n list.push(item[property]);\n }\n });\n return list;\n }\n\n /**\n * @deprecated use import { applyDepth } from @firestitch/common/array; instead\n */\n public applyDepth(objects, parent_property, id_property = 'id', depth_property = 'depth') {\n console.warn('@deprecated use import { applyDepth } from @firestitch/common/array; instead');\n let keyed = {};\n objects.forEach(function (object) {\n if (!object[parent_property]) {\n object[depth_property] = 0;\n }\n keyed[object[id_property]] = object;\n });\n Object.keys(keyed).forEach(key => {\n Object.keys(keyed).forEach(key => {\n let object = keyed[key];\n if (!keyed[key][depth_property]) {\n if (keyed[key][parent_property]) {\n keyed[key][depth_property] = keyed[keyed[key][parent_property]][depth_property] + 1;\n }\n }\n })\n })\n\n return keyed;\n }\n\n /**\n * @deprecated use import { inArray } from @firestitch/common/array; instead\n */\n inArray(values, array) {\n console.warn('@deprecated use import { inArray } from @firestitch/common/array; instead');\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use import { keyExists } from @firestitch/common/array; instead\n */\n keyExists(array, key) {\n console.warn('@deprecated use import { keyExists } from @firestitch/common/array; instead');\n return array.hasOwnProperty(key);\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/array; instead\n */\n length(array) {\n console.warn('@deprecated use import { length } from @firestitch/common/array; instead');\n return array.length;\n }\n\n /**\n * @deprecated use import { ksort } from @firestitch/common/array; instead\n */\n ksort(unordered) {\n console.warn('@deprecated use import { ksort } from @firestitch/common/array; instead');\n Object.keys(unordered).sort().forEach(function (key) {\n let value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n }\n\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class FsMath {\n\n /**\n * @deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}\n */\n public round(number, precision): number {\n console.warn('@deprecated use _.round() instead {@link https://lodash.com/docs/4.17.5#round}');\n precision = precision || 0;\n let factor = Math.pow(10, precision);\n let tempNumber = number * factor;\n let roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport const KEY_CANCEL = 3,\n KEY_HELP = 6,\n KEY_BACKSPACE = 8,\n KEY_TAB = 9,\n KEY_CLEAR = 12,\n KEY_RETURN = 13,\n KEY_ENTER = 14,\n KEY_SHIFT = 16,\n KEY_CONTROL = 17,\n KEY_ALT = 18,\n KEY_PAUSE = 19,\n KEY_CAPS_LOCK = 20,\n KEY_ESCAPE = 27,\n KEY_SPACE = 32,\n KEY_PAGE_UP = 33,\n KEY_PAGE_DOWN = 34,\n KEY_END = 35,\n KEY_HOME = 36,\n KEY_LEFT = 37,\n KEY_UP = 38,\n KEY_RIGHT = 39,\n KEY_DOWN = 40,\n KEY_PRINTSCREEN = 44,\n KEY_INSERT = 45,\n KEY_DELETE = 46,\n KEY_0 = 48,\n KEY_1 = 49,\n KEY_2 = 50,\n KEY_3 = 51,\n KEY_4 = 52,\n KEY_5 = 53,\n KEY_6 = 54,\n KEY_7 = 55,\n KEY_8 = 56,\n KEY_9 = 57,\n KEY_SEMICOLON = 59,\n KEY_EQUALS = 61;\n\n/*\n Basically, just copy-pasted functionality from fs-boilerplate v1.x, with some small changes (like we dont have angular.bind anymore, had to go with a workaround)\n There might be a better way to organise constatns but I need to know use-cases\n*/\n\n\n@Injectable()\nexport class FsUtil {\n\n private intervals = {};\n\n /**\n * @deprecated use @firestitch/common/util/guid instead\n */\n public guid(pattern?: string): string {\n console.warn('@deprecated use @firestitch/common/util/guid instead');\n pattern = pattern || 'xxxxxx';\n return pattern.replace(/[xy]/g, function(c) {\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n /**\n * @deprecated use import { uuid } from @firestitch/common/util; instead\n */\n public uuid(): string {\n console.warn('@deprecated use @firestitch/common/util/uuid instead');\n return this.guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n }\n\n /**\n * @deprecated use import { resolve } from @firestitch/common/util; instead\n */\n public resolve(promise: Promise<object>, defaults = []): Promise<object> {\n console.warn('@deprecated use @firestitch/common/util/resolve instead');\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key])\n resolve(result)\n });\n })\n }\n\n /**\n * @deprecated use _.toInteger() instead\n */\n public int(value: any): number {\n console.warn('@deprecated use _.toInteger() instead');\n value = parseInt(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toFinite() instead\n */\n public float(value): number {\n console.warn('@deprecated use _.toFinite() instead');\n value = parseFloat(value);\n if (isNaN(value)) {\n value = 0;\n }\n return value;\n }\n\n /**\n * @deprecated use _.toString() instead\n */\n public string(string): string {\n console.warn('@deprecated use _.toString() instead');\n if (string === null || string === undefined) {\n string = '';\n }\n\n return (string).toString();\n }\n\n /**\n * @deprecated use import { isEmpty } from @firestitch/common/util; instead\n */\n public isEmpty(value, options?): boolean {\n console.warn('@deprecated use import { isEmpty } from @firestitch/common/util; instead');\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !this.string(value).length ||\n (\n this.isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n }\n\n /**\n * @deprecated use _.isInteger() instead\n */\n public isInt(value, type?) {\n console.warn('@deprecated use _.isInteger() instead');\n const int = !!this.string(value).match(/^\\d+$/);\n\n if (!int) {\n return false;\n }\n\n if (type) {\n return Number.isInteger(value);\n }\n\n return true;\n }\n\n /**\n * @deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}\n */\n public each(object, func) {\n console.warn('@deprecated use _.each() instead {@link https://lodash.com/docs/4.17.5#forEach}');\n if (!this.isArray(object) && !this.isObject(object)) {\n return;\n }\n\n Object.keys(object).forEach(function(key) {\n func(object[key],key);\n });\n }\n\n /**\n * @deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject}\n * or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead\n */\n public isObject(value): boolean {\n console.warn('@deprecated use _.isArrayLikeObject() {@link https://lodash.com/docs/4.17.5#isArrayLikeObject} or _.isObject() {@link https://lodash.com/docs/4.17.5#isObject} instead');\n return value !== null && typeof value === 'object' && !this.isArray(value);\n }\n\n /**\n * @deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}\n */\n public isString(value): boolean {\n console.warn('@deprecated use _.isString() instead {@link https://lodash.com/docs/4.17.5#isString}');\n return typeof value === 'string' || value instanceof String;\n }\n\n /**\n * @deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}\n */\n public isArray(value): boolean {\n console.warn('@deprecated use _.isArray() instead {@link https://lodash.com/docs/4.17.5#isArray}');\n return value instanceof Array;\n }\n\n /**\n * @deprecated use import { isNumeric } from @firestitch/common/util; instead\n */\n public isNumeric(value): boolean {\n console.warn('@deprecated use import { isNumeric } from @firestitch/common/util; instead');\n return this.string(value).length && !!this.string(value).match(/^-?\\d*\\.?\\d*$/);\n }\n\n /**\n * @deprecated use import { isClass } from @firestitch/common/util; instead\n */\n public isClass(value, cls) {\n console.warn('@deprecated use import { isClass } from @firestitch/common/util; instead');\n if (this.isObject(value)) {\n\n if (this.isString(cls)) {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * @deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}\n */\n public isBoolean(value): boolean {\n console.warn('@deprecated use _.isBoolean() instead {@link https://lodash.com/docs/4.17.5#isBoolean}');\n return value === true || value === false;\n }\n\n /**\n * @deprecated use import { value } from @firestitch/common/util; instead\n */\n public value(object, key, def): any {\n console.warn('@deprecated use import { value } from @firestitch/common/util; instead');\n if (this.isObject(object) || this.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n }\n\n public throttle(func, wait) {\n console.warn('@deprecated use import { throttle } from @firestitch/common/util; instead');\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n }\n\n /**\n * @deprecated use import { debounce } from @firestitch/common/util; instead\n */\n public debounce(func, wait, immediate) {\n console.warn('@deprecated use import { debounce } from @firestitch/common/util; instead');\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n /**\n * @deprecated use import { length } from @firestitch/common/util; instead\n */\n public length(object): number {\n console.warn('@deprecated use import { length } from @firestitch/common/util; instead');\n if (this.isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (this.isArray(object)) {\n return object.length;\n }\n\n return 0;\n }\n\n /**\n * @deprecated use import { boolean } from @firestitch/common/util; instead\n */\n public boolean(value) {\n console.warn('@deprecated use import { boolean } from @firestitch/common/util; instead');\n return this.string(value).toLowerCase() !== 'false' && !!value;\n }\n\n /**\n * @deprecated use import { stringify } from @firestitch/common/util; instead\n */\n public stringify(value) {\n console.warn('@deprecated use import { stringify } from @firestitch/common/util; instead');\n return JSON.stringify(value);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FsUtil } from './util.service';\n\n@Injectable()\nexport class FsValidate {\n\n constructor(private fsUtil: FsUtil) { }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(value);\n return valid || !String(value).length;\n }\n\n /**\n * @deprecated use import { email } from @firestitch/common/validate; instead\n */\n email(value) {\n return !!this.fsUtil.string(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n }\n}\n","export function stringify(value) {\n return JSON.stringify(value);\n}\n","export function guid(pattern?: string, options: any = { case: 'lower', numbers: true }): string {\n pattern = pattern || 'xxxxxx';\n let s = '';\n\n if (options.numbers !== false) {\n s = '0123456789';\n }\n\n if (!options.case || options.case === 'lower' || options.case === 'mixed') {\n s = s.concat('abcdefghijklmnopqrstuvwxyz');\n }\n\n if (options.case === 'upper' || options.case === 'mixed') {\n s = s.concat('ABCDEFGHIJKLMNOPQRSTUVWXYZ');\n }\n\n const chars = s.match(/(.{1,1})/g);\n return pattern.replace(/[x]/g, function(c) {\n const i = (Math.random() * chars.length) | 0;\n return chars[i];\n });\n}\n","import { isObject, toString } from 'lodash-es';\n\nexport function isEmpty(value, options?) {\n options = options || {};\n return value === undefined ||\n value === null ||\n value === false ||\n value === '' ||\n !toString(value).length ||\n (\n isObject(value) &&\n (value.constructor.name === 'Object' && !Object.keys(value).length)) ||\n (!options.zero && (value === 0 || value === '0')\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { stringify } from '../../libs/util/stringify/stringify';\nimport { guid } from '../../libs/util/guid/guid';\nimport { isEmpty } from '../../libs/util/isEmpty/isEmpty';\n\n\n@Pipe({\n name: 'fsUtilStringify'\n})\nexport class FsUtilStringifyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: any): string {\n return stringify(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilGuid'\n})\nexport class FsUtilGuidPipe implements PipeTransform {\n constructor() {}\n\n transform(): string {\n return guid();\n }\n}\n\n@Pipe({\n name: 'fsUtilIsEmpty'\n})\nexport class FsUtilIsEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return isEmpty(value);\n }\n}\n\n\n@Pipe({\n name: 'fsUtilIsNotEmpty'\n})\nexport class FsUtilIsNotEmptyPipe implements PipeTransform {\n\n transform(value): any {\n return !isEmpty(value);\n }\n}\n","export function number(value, decimals?) {\n return Number(value || 0).toLocaleString(undefined, { maximumFractionDigits: decimals });\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { number } from '../../libs/format/number/number';\n\n@Pipe({\n name: 'fsFormatNumber'\n})\nexport class FsFormatNumberPipe implements PipeTransform {\n\n transform(value, decimals?): string {\n return number(value, decimals);\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { isArray } from 'lodash-es';\n\n\nexport function currency(amount, precision: [number, number] | number = [2,10], currencyCode = 'USD', locale = 'en-US') {\n const digitsInfo = isArray(precision) ? precision : [precision, precision];\n return new CurrencyPipe(locale).transform(amount, currencyCode, 'symbol', `1.${digitsInfo[0]}-${digitsInfo[1]}`);\n}\n","import { Pipe, PipeTransform, LOCALE_ID, Inject } from '@angular/core';\nimport { currency } from '../../libs/format/currency/currency';\n\n\n@Pipe({\n name: 'fsFormatCurrency'\n})\nexport class FsFormatCurrencyPipe implements PipeTransform {\n\n constructor(@Inject(LOCALE_ID) public locale: string) { }\n\n transform(amount, precision?, currencyCode?): string {\n return currency(amount, precision, currencyCode);\n }\n\n}\n","export function truncate(value: string, limit = 100, completeWords = false, ellipsis = '...') {\n\n value = value || '';\n\n if (completeWords) {\n limit = value.substr(0, limit).lastIndexOf(' ');\n }\n\n let result = `${value.substr(0, limit)}`;\n\n if (result !== value) {\n result += ellipsis;\n }\n\n return result;\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { truncate } from '../../libs/format/truncate/truncate';\n\n\n@Pipe({\n name: 'fsFormatTruncate'\n})\nexport class FsFormatTruncatePipe implements PipeTransform {\n\n constructor() { }\n\n transform(value, limit?, completeWords?, ellipsis?): string {\n return truncate(value, limit, completeWords, ellipsis);\n }\n\n}\n","export function bytes(bytes: number) {\n if (!bytes) { return '0.00 B'; }\n const e = Math.floor(Math.log(bytes) / Math.log(1024));\n\n const decimals = (bytes / 1024) > 1000 ? 2 : 0;\n console.log(bytes, (bytes / 1024), decimals);\n return `${(bytes / Math.pow(1024, e)).toFixed(decimals)}`.replace(/\\.00/, '')\n + ' '\n + (e ? ' KMGTP'.charAt(e) : '') + 'B';\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { bytes } from '../../libs/format/bytes/bytes';\n\n@Pipe({\n name: 'fsFormatBytes',\n})\nexport class FsFormatBytesPipe implements PipeTransform {\n\n transform(value: number): string {\n return bytes(value);\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsStopPropagation]',\n})\nexport class FsStopPropagationDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.stopPropagation();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[fsPreventDefault]',\n})\nexport class FsPreventDefaultDirective {\n @HostListener('click', ['$event'])\n public preventClick(event) {\n event.preventDefault();\n }\n}\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[autofocus]',\n})\nexport class FsAutofocusDirective implements AfterViewInit {\n\n constructor(\n private _el: ElementRef,\n ) {}\n\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this._el.nativeElement.focus();\n })\n }\n}\n","export function ordinalNumber(value: any): string {\n value = String(value);\n\n const index = value.match`1?.$`;\n const endings = [, 'st', 'nd', 'rd'];\n const ending = endings[index] || 'th';\n\n return value + ending;\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ordinalNumber } from '../../libs/util/ordinal-number/ordinal-number';\n\n@Pipe({\n name: 'fsFormatOrdinalNumber',\n})\nexport class FsFormatOrdinalNumberPipe implements PipeTransform {\n\n public transform(value: any): string {\n return ordinalNumber(value);\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FsArray } from './services/array.service';\nimport { FsMath } from './services/math.service';\nimport { FsUtil } from './services/util.service';\nimport { FsValidate } from './services/vaildate.service';\nimport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './pipes/util.pipe';\nimport { FsFormatNumberPipe } from './pipes/number.pipe';\nimport { FsFormatCurrencyPipe } from './pipes/currency.pipe';\nimport { FsFormatTruncatePipe} from './pipes/truncate.pipe';\nimport { FsFormatBytesPipe } from './pipes/bytes.pipe';\nimport { FsStopPropagationDirective } from './directives/stop-propagation.directive';\nimport { FsPreventDefaultDirective } from './directives/prevent-default.directive';\nimport { FsAutofocusDirective } from './directives/autofocus.directive';\nimport { FsFormatOrdinalNumberPipe } from './pipes/ordinal-number.pipe';\n\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n declarations: [\n FsStopPropagationDirective,\n FsPreventDefaultDirective,\n FsAutofocusDirective,\n FsUtilGuidPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n FsUtilStringifyPipe,\n FsFormatNumberPipe,\n FsFormatCurrencyPipe,\n FsFormatTruncatePipe,\n FsFormatBytesPipe,\n FsFormatOrdinalNumberPipe,\n ],\n})\nexport class FsCommonModule {\n static forRoot(): ModuleWithProviders<FsCommonModule> {\n return {\n ngModule: FsCommonModule,\n providers: [\n FsArray,\n FsMath,\n FsUtil,\n FsValidate\n ]\n };\n }\n}\n","export function email(value) {\n return !!String(value).match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\n}\n","export function phone(value) {\n const valid = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4}/.test(value);\n return valid || !String(value).length;\n}\n","/**\n * Check validity of the url.\n * Protocol (http/https) isn't required.\n * @param value\n * @returns {boolean}\n */\n\nexport function url(value) {\n const expression = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#%[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/gm;\n const regexp = new RegExp(expression);\n\n return !!String(value).match(regexp);\n}\n","export function compare(query, item) {\n\n let value = true;\n for (const key in query) {\n value = value && item[key] == query[key];\n }\n\n return value;\n}\n","import { compare } from '../compare';\n\nexport function filter(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n return compare(queryObj, item);\n }\n }\n\n const isarray = Array.isArray(array);\n const list: any = isarray ? [] : {};\n if (isarray) {\n array.forEach(function (item, idx) {\n if (query(item)) {\n list.push(item);\n }\n });\n } else {\n Object.keys(array).forEach(key => {\n if (query(array[key])) {\n list[key] = array[key];\n }\n })\n }\n return list;\n}\n","export function inArray(values, array) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n for (let i = 0, len = values.length; i < len; i++) {\n if (array.indexOf(values[i]) >= 0) {\n return true;\n }\n }\n\n return false;\n}\n","export function index(array, name, value = null) {\n const list = {};\n \n array.forEach(function (item) {\n list[item[name]] = value ? item[value] : item;\n });\n \n return list;\n}\n","import { compare } from '../compare';\nexport function indexOf(array, query) {\n\n if (typeof query !== 'function') {\n const queryObj = query;\n query = (item) => {\n\n return compare(queryObj, item);\n }\n }\n\n for (let i = 0, len = array.length; i < len; i++) {\n if (query(array[i])) {\n return i;\n }\n }\n\n return -1;\n}\n","export function keyExists(array, key) {\n return array.hasOwnProperty(key);\n}\n","export function ksort(unordered) {\n Object.keys(unordered).sort().forEach(function (key) {\n const value = unordered[key];\n delete unordered[key];\n unordered[key] = value;\n });\n}\n","export function list(array, property, index = null) {\n const resultList: any = index ? {} : [];\n array.forEach(function (item, idx) {\n if (index) {\n resultList[item[index]] = item[property];\n } else {\n resultList.push(item[property]);\n }\n });\n return resultList;\n}\n","export function nameValue(array, name, value) {\n\n const list = [];\n if (name || value) {\n\n const nameFn = typeof name === 'function' ? name : function (item) {\n return item[name];\n };\n const valueFn = typeof value === 'function' ? value : function (item) {\n return item[value];\n };\n\n array.forEach(function (item) {\n list.push({name: nameFn(item), value: valueFn(item)});\n });\n\n } else {\n array.forEach(function (n, v) {\n list.push({name: n, value: v});\n });\n }\n\n return list;\n}\n","import { indexOf } from '../indexOf';\nexport function remove(array, query) {\n\n const idx = indexOf(array, query);\n\n if (idx >= 0) {\n return array.splice(idx, 1);\n }\n\n return idx;\n}\n","export function sort(array, query, reverse = false) {\n if (typeof query !== 'function') {\n const queryStr = query;\n query = function (a, b) {\n if (reverse) {\n if (a[queryStr] < b[queryStr]) {\n return 1;\n } else if (a[queryStr] > b[queryStr]) {\n return -1;\n }\n } else {\n if (a[queryStr] > b[queryStr]) {\n return 1;\n } else if (a[queryStr] < b[queryStr]) {\n return -1;\n }\n }\n return 0;\n };\n }\n\n array.sort(query);\n return array;\n}\n","import {sort} from '../sort'\n\nexport function rsort(array, query) {\n return sort(array, query, true);\n}\n","import { filter } from '../filter';\n\nexport function find(array, query) {\n const data = filter(array, query);\n return data.length ? data[0] : null;\n}\n","import { toString } from 'lodash-es';\n\nexport function boolean(value) {\n return toString(value).toLowerCase() !== 'false' && !!value;\n}\n","export function debounce(func, wait, immediate) {\n let timeout;\n return function () {\n const context = this, args = arguments;\n const later = function () {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n","export const KEY_CANCEL = 3;\nexport const KEY_HELP = 6;\nexport const KEY_BACKSPACE = 8;\nexport const KEY_TAB = 9;\nexport const KEY_CLEAR = 12;\nexport const KEY_RETURN = 13;\nexport const KEY_ENTER = 14;\nexport const KEY_SHIFT = 16;\nexport const KEY_CONTROL = 17;\nexport const KEY_ALT = 18;\nexport const KEY_PAUSE = 19;\nexport const KEY_CAPS_LOCK = 20;\nexport const KEY_ESCAPE = 27;\nexport const KEY_SPACE = 32;\nexport const KEY_PAGE_UP = 33;\nexport const KEY_PAGE_DOWN = 34;\nexport const KEY_END = 35;\nexport const KEY_HOME = 36;\nexport const KEY_LEFT = 37;\nexport const KEY_UP = 38;\nexport const KEY_RIGHT = 39;\nexport const KEY_DOWN = 40;\nexport const KEY_PRINTSCREEN = 44;\nexport const KEY_INSERT = 45;\nexport const KEY_DELETE = 46;\nexport const KEY_0 = 48;\nexport const KEY_1 = 49;\nexport const KEY_2 = 50;\nexport const KEY_3 = 51;\nexport const KEY_4 = 52;\nexport const KEY_5 = 53;\nexport const KEY_6 = 54;\nexport const KEY_7 = 55;\nexport const KEY_8 = 56;\nexport const KEY_9 = 57;\nexport const KEY_SEMICOLON = 59;\nexport const KEY_EQUALS = 61;\n","import { isObject, isArray } from 'lodash-es'\n\nexport function length(object) {\n if (isObject(object)) {\n return Object.keys(object).length;\n }\n\n if (isArray(object)) {\n return object.length;\n }\n\n return 0;\n}\n","export function resolve(promise: Promise<object>, defaults = []) {\n const result = defaults;\n return new Promise(resolve => {\n promise.then(function (data) {\n Object.keys(data).forEach(key => result[key] = data[key]);\n resolve(result)\n });\n })\n}\n","import { guid } from '../guid';\n\nexport function uuid(): string {\n return guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx');\n}\n\n","export function value(object, key, def) {\n\n if (typeof object === 'object' || Array.isArray(object)) {\n\n if (object.hasOwnProperty(key)) {\n return object[key];\n }\n }\n\n return def;\n}\n","export function isClass(value, cls) {\n\n if (typeof value === 'object') {\n\n if (typeof cls === 'string') {\n\n if (value.constructor) {\n if (value.constructor.name === cls) {\n return true;\n }\n }\n\n } else {\n\n if (value instanceof cls) {\n return true;\n }\n }\n }\n\n return false;\n}\n","import { toString } from 'lodash-es';\n\nexport function isNumeric(value) {\n const str = toString(value);\n return str.length && !!str.match(/^-?\\d*\\.?\\d*$/);\n}\n","export function throttle(func, wait) {\n let waiting = false; \t// Initially, we're not waiting\n return function () { \t\t// We return a throttled function\n if (!waiting) { \t// If we're not waiting\n func.apply(null, arguments); // Execute users function\n waiting = true; \t// Prevent future invocations\n setTimeout(function () { \t\t// After a period of time\n waiting = false; \t// And allow future invocations\n }, wait);\n }\n }\n}\n","import { Observable, Subject, of } from 'rxjs';\nimport { guid } from '../guid';\n\n\nexport class Operation {\n\n public name: string;\n public target: Observable<any>;\n public ready$ = new Subject();\n\n constructor(target, name?) {\n this.name = name ? name : guid();\n\n if (target instanceof Observable) {\n this.target = target;\n } else {\n this.target = of(target);\n }\n }\n}\n","export enum QueueState {\n Idle = 'idle',\n Processing = 'processing'\n}\n","import { Observable, Subject } from 'rxjs';\nimport { Operation } from './operation';\nimport { QueueState } from './queue.enum';\nimport { delay, takeUntil } from 'rxjs/operators';\n\nexport class Queue {\n\n private _done = new Subject();\n\n private _queue: Operation[] = [];\n private _inProgress: Operation[] = [];\n\n private _total = 0;\n private _completed = 0;\n private _errors = 0;\n\n private _state: QueueState = QueueState.Idle;\n\n private _destroy$ = new Subject<void>();\n\n constructor(private _limit = Infinity) {}\n\n get total() {\n return this._total;\n }\n\n get completed() {\n return this._completed;\n }\n\n get pending() {\n return this._queue.length;\n }\n\n get inProgress() {\n return this._inProgress.length;\n }\n\n get errors() {\n return this._errors;\n }\n\n get state() {\n return this._state;\n }\n\n get empty() {\n return !this._queue.length && !this._inProgress.length\n }\n\n get pendingOperations(): string[] {\n return this._queue\n .map((operation) => operation.name);\n }\n\n get inProgressOperations(): string[] {\n return this._inProgress\n .map((operation) => operation.name);\n }\n\n public isProcessing(): boolean {\n return this._state === QueueState.Processing;\n }\n\n public isIdle(): boolean {\n return this._state === QueueState.Idle;\n }\n\n public setLimit(value: number) {\n this._limit = value;\n }\n\n public subscribe(fun, err?, complete?) {\n this._done\n .pipe(\n takeUntil(this._destroy$),\n )\n .subscribe(fun, err, complete);\n }\n\n public complete(fun, err?, complete?) {\n\n Observable.create(observer => {\n\n if (!this.isProcessing()) {\n observer.next();\n observer.complete();\n return;\n }\n\n this.subscribe(() => {\n observer.next();\n observer.complete();\n }, (error) => {\n observer.error(error);\n this.clear();\n });\n }).subscribe(fun, err, complete);\n }\n\n public push(target, name?) {\n const operation = new Operation(target, name);\n\n this._total++;\n this._state = QueueState.Processing;\n\n if (this._inProgress.length < this._limit) {\n this._processOperation(operation);\n } else {\n this._queue.push(operation);\n }\n\n return operation.ready$;\n }\n\n public clear() {\n this._queue = [];\n this._total = 0;\n this._errors = 0;\n this._completed = 0;\n this._state = QueueState.Idle;\n this._done = new Subject();\n }\n\n public destroy() {\n this.clear();\n this._done.complete();\n }\n\n private _processOperation(operation: Operation) {\n this._inProgress.push(operation);\n\n operation.target\n .pipe(\n delay(200), // Hack to prevent extra quick proccess execution\n takeUntil(this._destroy$),\n ).subscribe({\n next: (data) => {\n operation.ready$.next(data);\n },\n\n error: (error) => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._errors++;\n\n operation.ready$.error(error);\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.error(error);\n }\n },\n\n complete: () => {\n const opIndex = this._inProgress.indexOf(operation);\n this._inProgress.splice(opIndex, 1);\n\n this._completed++;\n\n operation.ready$.complete();\n\n if (this.empty) {\n this._state = QueueState.Idle;\n this._done.next();\n } else {\n if (this._queue.length) {\n const queueItem = this._queue.shift();\n this._processOperation(queueItem);\n }\n }\n }\n });\n }\n}\n","export function removeQueryParams(path: string) {\n return path.split('?')[0];\n}\n","import { Location } from '@angular/common';\nimport { removeQueryParams } from '../remove-query-params';\n\n\nexport function getNormalizedPath(locationSrv: Location) {\n const path = locationSrv.prepareExternalUrl(locationSrv.path());\n\n return removeQueryParams(path);\n}\n","export function acronym(str: string, length = 2): string {\n const splittedString = str\n .replace(/[^a-zA-Z0-9]+/g, ' ')\n .split(' ');\n\n let result = '';\n\n for (let i = 0; i < length; i++) {\n if (!splittedString[i]) {\n if (splittedString.length === 1) {\n\n for (let j = 1; j < length; j++) {\n if (!splittedString[i-1][j]) {\n break;\n }\n result += splittedString[i-1][j].toUpperCase();\n }\n }\n break;\n }\n result += splittedString[i][0].toUpperCase();\n }\n\n return result;\n}\n","import { iif, Observable, throwError, timer } from 'rxjs';\nimport { concatMap, retryWhen, tap } from 'rxjs/operators';\n\n\nexport function delayedRetry(delayMs: number, maxRetry = 5, message?: string) {\n let retries = 0;\n\n return (src: Observable<unknown>) =>\n src.pipe(\n retryWhen((errors: Observable<unknown>) =>\n errors.pipe(\n tap(() => {\n retries++;\n\n if (retries <= maxRetry) {\n console.info(`Failed to load Resource. Retry in ${delayMs / 1000} sec. ${retries}/${maxRetry} times...`)\n }\n }),\n concatMap((error) =>\n iif(\n () => retries > maxRetry,\n throwError(getErrorMessage(maxRetry, message)),\n timer(delayMs),\n ),\n ),\n )\n )\n )\n}\n\n\n\nconst getErrorMessage = (maxRetry: number, defaultMessage: string) => {\n if (!defaultMessage) {\n return `Failed to load Resource for ${maxRetry} times. Giving up.`;\n } else {\n return defaultMessage\n }\n}\n","import { combineLatest, fromEvent, merge, Observable } from 'rxjs';\nimport { distinctUntilChanged, filter, share } from 'rxjs/operators';\n\n\nexport const keyboardShortcut = (shortcut: unknown[]): Observable<KeyboardEvent[]> => {\n // Observables for all keydown and keyup events\n const keyDown$ = fromEvent<KeyboardEvent>(document, 'keydown');\n const keyUp$ = fromEvent<KeyboardEvent>(document, 'keyup');\n\n // All KeyboardEvents - emitted only when KeyboardEvent changes (key or type)\n const keyEvents$ = merge(keyDown$, keyUp$).pipe(\n distinctUntilChanged((a, b) => a.code === b.code && a.type === b.type),\n share(),\n );\n\n // Create KeyboardEvent Observable for specified KeyCode\n const createKeyPressStream = (charCode: unknown) =>\n keyEvents$.pipe(filter((event) => event.keyCode === charCode));\n\n // Create Event Stream for every KeyCode in shortcut\n const keyCodeEvents$ = shortcut.map((s) => createKeyPressStream(s));\n\n // Emit when specified keys are pressed (keydown).\n // Emit only when all specified keys are pressed at the same time.\n // More on combineLatest below\n return combineLatest(keyCodeEvents$).pipe(\n filter<KeyboardEvent[]>((arr) => arr.every((a) => a.type === 'keydown'))\n );\n};\n","/*\n * Public API Surface of fs-menu\n */\n\n// Modules\nexport { FsCommonModule } from './app/fs-common.module';\n\n// Services\nexport { FsArray } from './app/services/array.service';\nexport { FsMath } from './app/services/math.service';\nexport { FsUtil } from './app/services/util.service';\nexport { FsValidate } from './app/services/vaildate.service';\n\nexport * from './libs';\n\n\nexport {\n FsUtilGuidPipe,\n FsUtilStringifyPipe,\n FsUtilIsEmptyPipe,\n FsUtilIsNotEmptyPipe,\n} from './app/pipes/util.pipe';\nexport { FsFormatNumberPipe } from './app/pipes/number.pipe';\nexport { FsFormatCurrencyPipe } from './app/pipes/currency.pipe';\nexport { FsFormatTruncatePipe} from './app/pipes/truncate.pipe';\nexport { FsFormatBytesPipe } from './app/pipes/bytes.pipe';\nexport { FsStopPropagationDirective } from './app/directives/stop-propagation.directive';\nexport { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';\nexport { FsAutofocusDirective } from './app/directives/autofocus.directive';\nexport { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';\nexport { keyboardShortcut } from './libs/rxjs/keyboard-shortcut';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["KEY_CANCEL","KEY_HELP","KEY_BACKSPACE","KEY_TAB","KEY_CLEAR","KEY_RETURN","KEY_ENTER","KEY_SHIFT","KEY_CONTROL","KEY_ALT","KEY_PAUSE","KEY_CAPS_LOCK","KEY_ESCAPE","KEY_SPACE","KEY_PAGE_UP","KEY_PAGE_DOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_PRINTSCREEN","KEY_INSERT","KEY_DELETE","KEY_0","KEY_1","KEY_2","KEY_3","KEY_4","KEY_5","KEY_6","KEY_7","KEY_8","KEY_9","KEY_SEMICOLON","KEY_EQUALS","i1.FsUtil","filter"],"mappings":";;;;;;;MAGa,OAAO,CAAA;AAChB;;AAEE;AACK,IAAA,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAA;AAC/B,QAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,IAAI,KAAK,EAAE;YAEf,IAAI,MAAM,GAAG,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,UAAU,IAAI,EAAI,EAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;YACvF,IAAI,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,UAAU,IAAI,EAAI,EAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,EAAE,CAAC;AAE3F,YAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAA;AACxB,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5D,aAAC,CAAC,CAAC;AAEN,SAAA;AAAM,aAAA;AACH,YAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,EAAA;AAC/B,gBAAA,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEE;IACK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAErC,IAAI,GAAG,IAAI,CAAC,EAAE;YACV,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACd;AAED;;AAEE;IACK,OAAO,CAAC,KAAK,EAAE,KAAK,EAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;AAC1F,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,YAAA,KAAK,GAAG,CAAC,IAAI,KAAI;gBAEb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,aAAC,CAAA;AACJ,SAAA;AAED,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC9C,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjB,gBAAA,OAAO,CAAC,CAAC;AACZ,aAAA;AACJ,SAAA;QAED,OAAO,CAAC,CAAC,CAAC;KACb;AAED;;AAEE;IACK,OAAO,CAAC,KAAK,EAAE,IAAI,EAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC1F,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,QAAA,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;AACnB,YAAA,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;IACK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;AACzF,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,YAAA,KAAK,GAAG,CAAC,IAAI,KAAI;gBAEb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,aAAC,CAAA;AACJ,SAAA;QAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,GAAQ,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAClC,QAAA,IAAI,OAAO;AACP,YAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,GAAG,EAAA;AAC7B,gBAAA,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;AACb,oBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnB,iBAAA;AACL,aAAC,CAAC,CAAC;;YACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAClC,gBAAA,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;oBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,iBAAA;AACL,aAAC,CAAC,CAAA;AACF,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEE;IACK,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAA;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACxF,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,GAAG,EAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;AAChC,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACf;AAGD;;AAEE;AACK,IAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAA;AACrC,QAAA,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;AACvF,QAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,YAAA,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,EAAA;AAClB,gBAAA,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC3B,wBAAA,OAAO,CAAC,CAAC;AACZ,qBAAA;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;wBAClC,OAAO,CAAC,CAAC,CAAC;AACb,qBAAA;AACJ,iBAAA;AAAM,qBAAA;oBACH,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC3B,wBAAA,OAAO,CAAC,CAAC;AACZ,qBAAA;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;wBAClC,OAAO,CAAC,CAAC,CAAC;AACb,qBAAA;AACJ,iBAAA;AACD,gBAAA,OAAO,CAAC,CAAC;AACb,aAAC,CAAC;AACL,SAAA;AAED,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClB,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;IACK,KAAK,CAAC,KAAK,EAAE,KAAK,EAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;KACtC;AAGD;;AAEE;AACK,IAAA,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAA;AACrC,QAAA,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACvF,IAAI,IAAI,GAAQ,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;AAChC,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,GAAG,EAAA;AAC7B,YAAA,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7B,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEE;IACK,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,GAAG,IAAI,EAAE,cAAc,GAAG,OAAO,EAAA;AACpF,QAAA,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC7F,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,QAAA,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM,EAAA;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;AAC1B,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC9B,aAAA;YACD,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC;AACxC,SAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAC7B,gBAAA,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,EAAE;AAC7B,oBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,EAAE;wBAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACvF,qBAAA;AACJ,iBAAA;AACL,aAAC,CAAC,CAAA;AACN,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;IACF,OAAO,CAAC,MAAM,EAAE,KAAK,EAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACxB,YAAA,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,SAAA;AAED,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AAC/B,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;IACF,SAAS,CAAC,KAAK,EAAE,GAAG,EAAA;AAChB,QAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;AAC5F,QAAA,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KACpC;AAED;;AAEE;AACF,IAAA,MAAM,CAAC,KAAK,EAAA;AACR,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,MAAM,CAAC;KACvB;AAED;;AAEE;AACF,IAAA,KAAK,CAAC,SAAS,EAAA;AACX,QAAA,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;AACxF,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,EAAA;AAC/C,YAAA,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3B,YAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACtB,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3B,SAAC,CAAC,CAAC;KACN;;qGAhPQ,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;yGAAP,OAAO,EAAA,CAAA,CAAA;4FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,UAAU;;;MCCE,MAAM,CAAA;AAEf;;AAEE;IACK,KAAK,CAAC,MAAM,EAAE,SAAS,EAAA;AAC1B,QAAA,OAAO,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;AAC/F,QAAA,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACrC,QAAA,IAAI,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,iBAAiB,GAAG,MAAM,CAAC;KACrC;;oGAZQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wGAAN,MAAM,EAAA,CAAA,CAAA;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,UAAU;;;ACAJ,MAAMA,YAAU,GAAG,CAAC,EACvBC,UAAQ,GAAG,CAAC,EACZC,eAAa,GAAG,CAAC,EACjBC,SAAO,GAAG,CAAC,EACXC,WAAS,GAAG,EAAE,EACdC,YAAU,GAAG,EAAE,EACfC,WAAS,GAAG,EAAE,EACdC,WAAS,GAAG,EAAE,EACdC,aAAW,GAAG,EAAE,EAChBC,SAAO,GAAG,EAAE,EACZC,WAAS,GAAG,EAAE,EACdC,eAAa,GAAG,EAAE,EAClBC,YAAU,GAAG,EAAE,EACfC,WAAS,GAAG,EAAE,EACdC,aAAW,GAAG,EAAE,EAChBC,eAAa,GAAG,EAAE,EAClBC,SAAO,GAAG,EAAE,EACZC,UAAQ,GAAG,EAAE,EACbC,UAAQ,GAAG,EAAE,EACbC,QAAM,GAAG,EAAE,EACXC,WAAS,GAAG,EAAE,EACdC,UAAQ,GAAG,EAAE,EACbC,iBAAe,GAAG,EAAE,EACpBC,YAAU,GAAG,EAAE,EACfC,YAAU,GAAG,EAAE,EACfC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,OAAK,GAAG,EAAE,EACVC,eAAa,GAAG,EAAE,EAClBC,YAAU,GAAG,EAAE,CAAC;AAEpB;;;AAGE;MAIW,MAAM,CAAA;AADnB,IAAA,WAAA,GAAA;QAGY,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AA4Q1B,KAAA;AA1QG;;AAEE;AACK,IAAA,IAAI,CAAC,OAAgB,EAAA;AAC1B,QAAA,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;AACrE,QAAA,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;AAC9B,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,UAAS,CAAC,EAAA;AACxC,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACnE,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;KACJ;AAED;;AAEE;IACK,IAAI,GAAA;AACT,QAAA,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;AACrE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;KAC1D;AAED;;AAEE;AACK,IAAA,OAAO,CAAC,OAAwB,EAAE,QAAQ,GAAG,EAAE,EAAA;AACpD,QAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;AACvB,YAAA,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAA;gBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzD,OAAO,CAAC,MAAM,CAAC,CAAA;AACnB,aAAC,CAAC,CAAC;AACR,SAAC,CAAC,CAAA;KACJ;AAED;;AAEE;AACK,IAAA,GAAG,CAAC,KAAU,EAAA;AACjB,QAAA,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACtD,QAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxB,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACd,KAAK,GAAG,CAAC,CAAC;AACb,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;AACK,IAAA,KAAK,CAAC,KAAK,EAAA;AAChB,QAAA,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;AACrD,QAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACd,KAAK,GAAG,CAAC,CAAC;AACb,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEE;AACK,IAAA,MAAM,CAAC,MAAM,EAAA;AAClB,QAAA,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;AACnD,QAAA,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;YACzC,MAAM,GAAG,EAAE,CAAC;AACf,SAAA;AAED,QAAA,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;KAC9B;AAED;;AAEE;IACK,OAAO,CAAC,KAAK,EAAE,OAAQ,EAAA;AAC1B,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;AACzF,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,KAAK,KAAK,SAAS;AACtB,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,KAAK,KAAK,KAAK;AACf,YAAA,KAAK,KAAK,EAAE;AACZ,YAAA,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;AAC1B,aACI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,iBAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,aAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CACnD,CAAC;KACT;AAED;;AAEE;IACK,KAAK,CAAC,KAAK,EAAE,IAAK,EAAA;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACtD,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,GAAG,EAAE;AACN,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEE;IACK,IAAI,CAAC,MAAM,EAAE,IAAI,EAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnD,OAAO;AACR,SAAA;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAS,GAAG,EAAA;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,GAAG,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;KACJ;AAED;;;AAGE;AACK,IAAA,QAAQ,CAAC,KAAK,EAAA;AACnB,QAAA,OAAO,CAAC,IAAI,CAAC,wKAAwK,CAAC,CAAC;AACvL,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC5E;AAED;;AAEE;AACK,IAAA,QAAQ,CAAC,KAAK,EAAA;AACnB,QAAA,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QACrG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;KAC7D;AAED;;AAEE;AACK,IAAA,OAAO,CAAC,KAAK,EAAA;AAClB,QAAA,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;QACnG,OAAO,KAAK,YAAY,KAAK,CAAC;KAC/B;AAED;;AAEE;AACK,IAAA,SAAS,CAAC,KAAK,EAAA;AACpB,QAAA,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;KACjF;AAED;;AAEE;IACK,OAAO,CAAC,KAAK,EAAE,GAAG,EAAA;AACrB,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;AACzF,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAEtB,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAEpB,IAAI,KAAK,CAAC,WAAW,EAAE;AACnB,oBAAA,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE;AAChC,wBAAA,OAAO,IAAI,CAAC;AACf,qBAAA;AACJ,iBAAA;AAEJ,aAAA;AAAM,iBAAA;gBAEH,IAAI,KAAK,YAAY,GAAG,EAAE;AACtB,oBAAA,OAAO,IAAI,CAAC;AACf,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEE;AACK,IAAA,SAAS,CAAC,KAAK,EAAA;AACpB,QAAA,OAAO,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;AACvG,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC;KAC1C;AAED;;AAEE;AACK,IAAA,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAA;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;AACrF,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAE/C,YAAA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC5B,gBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACtB,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACd;IAEM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAA;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;AAC1F,QAAA,IAAI,OAAO,GAAG,KAAK,CAAC;QAClB,OAAO,YAAA;AACH,YAAA,IAAI,CAAC,OAAO,EAAE;gBACV,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5B,gBAAA,OAAO,GAAG,IAAI,CAAC;AACf,gBAAA,UAAU,CAAC,YAAA;AACP,oBAAA,OAAO,GAAG,KAAK,CAAC;iBACnB,EAAE,IAAI,CAAC,CAAC;AACZ,aAAA;AACL,SAAC,CAAA;KACJ;AAED;;AAEE;AACK,IAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAA;AACnC,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;AAC1F,QAAA,IAAI,OAAO,CAAC;QACV,OAAO,YAAA;AACH,YAAA,IAAI,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;AACrC,YAAA,IAAI,KAAK,GAAG,YAAA;gBACR,OAAO,GAAG,IAAI,CAAC;AACf,gBAAA,IAAI,CAAC,SAAS;AAAE,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9C,aAAC,CAAC;AACF,YAAA,IAAI,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAA,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC,YAAA,IAAI,OAAO;AAAE,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,SAAC,CAAC;KACL;AAED;;AAEE;AACK,IAAA,MAAM,CAAC,MAAM,EAAA;AAClB,QAAA,OAAO,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;AACxF,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACtB,OAAO,MAAM,CAAC,MAAM,CAAC;AACxB,SAAA;AAED,QAAA,OAAO,CAAC,CAAC;KACZ;AAED;;AAEE;AACK,IAAA,OAAO,CAAC,KAAK,EAAA;AAClB,QAAA,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;AACzF,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;KAChE;AAED;;AAEE;AACK,IAAA,SAAS,CAAC,KAAK,EAAA;AACpB,QAAA,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;AAC3F,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9B;;oGA7QQ,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wGAAN,MAAM,EAAA,CAAA,CAAA;4FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,UAAU;;;MC1CE,UAAU,CAAA;AAEnB,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAK;AAEvC;;AAEE;AACF,IAAA,KAAK,CAAC,KAAK,EAAA;QACP,MAAM,KAAK,GAAG,2DAA2D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtF,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;KACzC;AAED;;AAEE;AACF,IAAA,KAAK,CAAC,KAAK,EAAA;AACP,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,wJAAwJ,CAAC,CAAC;KACtM;;wGAjBQ,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAV,UAAU,EAAA,CAAA,CAAA;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;;;ACHL,SAAU,SAAS,CAAC,KAAK,EAAA;AAC7B,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B;;ACFgB,SAAA,IAAI,CAAC,OAAgB,EAAE,OAAe,GAAA,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAA;AACpF,IAAA,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;AAEX,IAAA,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,CAAC,GAAG,YAAY,CAAC;AAClB,KAAA;AAED,IAAA,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;AACzE,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAC5C,KAAA;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;AACxD,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAC5C,KAAA;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACnC,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,UAAS,CAAC,EAAA;AACvC,QAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AAC7C,QAAA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,KAAC,CAAC,CAAC;AACL;;ACnBgB,SAAA,OAAO,CAAC,KAAK,EAAE,OAAQ,EAAA;AACrC,IAAA,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,OAAO,KAAK,KAAK,SAAS;AACxB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,KAAK,KAAK,KAAK;AACf,QAAA,KAAK,KAAK,EAAE;AACZ,QAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM;SAErB,QAAQ,CAAC,KAAK,CAAC;AACf,aAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,SAAC,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,CAC/C,CAAC;AACN;;MCLa,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAgB;AAEhB,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;KACzB;;iHANU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA,CAAA;;MAcY,cAAc,CAAA;AACzB,IAAA,WAAA,GAAA,GAAgB;IAEhB,SAAS,GAAA;QACP,OAAO,IAAI,EAAE,CAAC;KACf;;4GALU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAAd,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AACnB,iBAAA,CAAA;;MAYY,iBAAiB,CAAA;AAE5B,IAAA,SAAS,CAAC,KAAK,EAAA;AACb,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;KACvB;;+GAJU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA,CAAA;;MAYY,oBAAoB,CAAA;AAE/B,IAAA,SAAS,CAAC,KAAK,EAAA;AACb,QAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACxB;;kHAJU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,kBAAkB;AACzB,iBAAA,CAAA;;;AC3Ce,SAAA,MAAM,CAAC,KAAK,EAAE,QAAS,EAAA;AACrC,IAAA,OAAO,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3F;;MCIa,kBAAkB,CAAA;IAE7B,SAAS,CAAC,KAAK,EAAE,QAAS,EAAA;AACxB,QAAA,OAAO,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAChC;;gHAJU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACvB,iBAAA,CAAA;;;SCDe,QAAQ,CAAC,MAAM,EAAE,SAAA,GAAuC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAE,YAAY,GAAG,KAAK,EAAE,MAAM,GAAG,OAAO,EAAA;AACpH,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3E,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAK,EAAA,EAAA,UAAU,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,UAAU,CAAC,CAAC,CAAC,CAAE,CAAA,CAAC,CAAC;AACnH;;MCAa,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CAAsC,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAM;AAE1D,IAAA,SAAS,CAAC,MAAM,EAAE,SAAU,EAAE,YAAa,EAAA;QACzC,OAAO,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;KAClD;;AANU,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAEX,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAFlB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,kBAAkB;AACzB,iBAAA,CAAA;;0BAGc,MAAM;2BAAC,SAAS,CAAA;;;ACTf,SAAA,QAAQ,CAAC,KAAa,EAAE,KAAK,GAAG,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAA;AAE1F,IAAA,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AAEpB,IAAA,IAAI,aAAa,EAAE;AACjB,QAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACjD,KAAA;AAED,IAAA,IAAI,MAAM,GAAG,CAAG,EAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,CAAE,CAAC;IAEzC,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM,IAAI,QAAQ,CAAC;AACpB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAEhB;;MCTa,oBAAoB,CAAA;AAE/B,IAAA,WAAA,GAAA,GAAkB;AAElB,IAAA,SAAS,CAAC,KAAK,EAAE,KAAM,EAAE,aAAc,EAAE,QAAS,EAAA;QAChD,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;KACxD;;kHANU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,kBAAkB;AACzB,iBAAA,CAAA;;;ACNK,SAAU,KAAK,CAAC,KAAa,EAAA;IACjC,IAAI,CAAC,KAAK,EAAE;AAAE,QAAA,OAAO,QAAQ,CAAC;AAAE,KAAA;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvD,IAAA,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/C,IAAA,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;IAC7C,OAAO,CAAA,EAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;UACzE,GAAG;AACH,WAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;AAC1C;;MCHa,iBAAiB,CAAA;AAE5B,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;KACrB;;+GAJU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA,CAAA;;;MCAY,0BAA0B,CAAA;AAE9B,IAAA,YAAY,CAAC,KAAK,EAAA;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;;wHAJU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA1B,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA,CAAA;8BAGQ,YAAY,EAAA,CAAA;sBADlB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCDtB,yBAAyB,CAAA;AAE7B,IAAA,YAAY,CAAC,KAAK,EAAA;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB;;uHAJU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;8BAGQ,YAAY,EAAA,CAAA;sBADlB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCDtB,oBAAoB,CAAA;AAE/B,IAAA,WAAA,CACU,GAAe,EAAA;QAAf,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;KACrB;IAEG,eAAe,GAAA;QACpB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACjC,SAAC,CAAC,CAAA;KACH;;kHAVU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAApB,oBAAoB,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACxB,iBAAA,CAAA;;;ACJK,SAAU,aAAa,CAAC,KAAU,EAAA;AACtC,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAEtB,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAEtC,OAAO,KAAK,GAAG,MAAM,CAAC;AACxB;;MCFa,yBAAyB,CAAA;AAE7B,IAAA,SAAS,CAAC,KAAU,EAAA;AACzB,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;;uHAJU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qHAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,uBAAuB;AAC9B,iBAAA,CAAA;;;MCmDY,cAAc,CAAA;AACzB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,cAAc;AACxB,YAAA,SAAS,EAAE;gBACT,OAAO;gBACP,MAAM;gBACN,MAAM;gBACN,UAAU;AACX,aAAA;SACF,CAAC;KACH;;4GAXU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAdvB,0BAA0B;QAC1B,yBAAyB;QACzB,oBAAoB;QACpB,cAAc;QACd,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,iBAAiB;QACjB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CA5BzB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,0BAA0B;QAC1B,yBAAyB;QACzB,oBAAoB;QACpB,cAAc;QACd,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,iBAAiB;QACjB,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAiBhB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAhChB,OAAA,EAAA,CAAA;YACP,YAAY;AACb,SAAA,CAAA,EAAA,CAAA,CAAA;4FA8BU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjC1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,yBAAyB;wBACzB,oBAAoB;wBACpB,cAAc;wBACd,mBAAmB;wBACnB,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,iBAAiB;wBACjB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,yBAAyB;wBACzB,oBAAoB;wBACpB,cAAc;wBACd,iBAAiB;wBACjB,oBAAoB;wBACpB,mBAAmB;wBACnB,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,iBAAiB;wBACjB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACvDK,SAAU,KAAK,CAAC,KAAK,EAAA;IACzB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,wJAAwJ,CAAC,CAAC;AACzL;;ACFM,SAAU,KAAK,CAAC,KAAK,EAAA;IACzB,MAAM,KAAK,GAAG,wDAAwD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnF,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACxC;;ACHA;;;;;AAKG;AAEG,SAAU,GAAG,CAAC,KAAK,EAAA;IACvB,MAAM,UAAU,GAAG,mFAAmF,CAAC;AACvG,IAAA,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvC;;ACZgB,SAAA,OAAO,CAAC,KAAK,EAAE,IAAI,EAAA;IAEjC,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACvB,QAAA,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf;;ACNgB,SAAA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAA;AAEjC,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,QAAA,KAAK,GAAG,CAAC,IAAI,KAAI;AACf,YAAA,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjC,SAAC,CAAA;AACF,KAAA;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAI,GAAQ,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AACpC,IAAA,IAAI,OAAO,EAAE;AACX,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,GAAG,EAAA;AAC/B,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,aAAA;AACH,SAAC,CAAC,CAAC;AACJ,KAAA;AAAM,SAAA;QACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAC/B,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,aAAA;AACH,SAAC,CAAC,CAAA;AACH,KAAA;AACD,IAAA,OAAO,IAAI,CAAC;AACd;;AC3BgB,SAAA,OAAO,CAAC,MAAM,EAAE,KAAK,EAAA;AAEnC,IAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAA,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AACnB,KAAA;AAED,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AACjC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACF,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf;;ACbM,SAAU,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAA;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC;AAEhB,IAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAChD,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC;AACd;;ACPgB,SAAA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAA;AAElC,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,QAAA,KAAK,GAAG,CAAC,IAAI,KAAI;AAEf,YAAA,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjC,SAAC,CAAA;AACF,KAAA;AAED,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAChD,QAAA,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACnB,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;AACF,KAAA;IAED,OAAO,CAAC,CAAC,CAAC;AACZ;;AClBgB,SAAA,SAAS,CAAC,KAAK,EAAE,GAAG,EAAA;AAClC,IAAA,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACnC;;ACFM,SAAU,KAAK,CAAC,SAAS,EAAA;AAC7B,IAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7B,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACtB,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACzB,KAAC,CAAC,CAAC;AACL;;ACNM,SAAU,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAA;IAChD,MAAM,UAAU,GAAQ,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,IAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,GAAG,EAAA;AAC/B,QAAA,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1C,SAAA;AAAM,aAAA;YACL,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjC,SAAA;AACH,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,UAAU,CAAC;AACpB;;SCVgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAA;IAE1C,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,IAAI,IAAI,KAAK,EAAE;AAEjB,QAAA,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,UAAU,IAAI,EAAA;AAC/D,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,SAAC,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,GAAG,UAAU,IAAI,EAAA;AAClE,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;AACrB,SAAC,CAAC;AAEF,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAA;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;AACxD,SAAC,CAAC,CAAC;AAEJ,KAAA;AAAM,SAAA;AACL,QAAA,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAA;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;AACJ,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AACd;;ACtBgB,SAAA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAA;IAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAElC,IAAI,GAAG,IAAI,CAAC,EAAE;QACZ,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC7B,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACb;;ACVM,SAAU,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAA;AAChD,IAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC;AACvB,QAAA,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,EAAA;AACpB,YAAA,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC7B,oBAAA,OAAO,CAAC,CAAC;AACV,iBAAA;qBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACpC,OAAO,CAAC,CAAC,CAAC;AACX,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC7B,oBAAA,OAAO,CAAC,CAAC;AACV,iBAAA;qBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE;oBACpC,OAAO,CAAC,CAAC,CAAC;AACX,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACX,SAAC,CAAC;AACH,KAAA;AAED,IAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClB,IAAA,OAAO,KAAK,CAAC;AACf;;ACrBgB,SAAA,KAAK,CAAC,KAAK,EAAE,KAAK,EAAA;IAChC,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC;;ACFgB,SAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAA;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClC,IAAA,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACtC;;ACHM,SAAU,OAAO,CAAC,KAAK,EAAA;AAC3B,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;AAC9D;;SCJgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAA;AAC5C,IAAA,IAAI,OAAO,CAAC;IACZ,OAAO,YAAA;AACL,QAAA,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;AACvC,QAAA,MAAM,KAAK,GAAG,YAAA;YACZ,OAAO,GAAG,IAAI,CAAC;AACf,YAAA,IAAI,CAAC,SAAS;AAAE,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5C,SAAC,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,QAAA,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,OAAO;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzC,KAAC,CAAC;AACJ;;ACbO,MAAM,UAAU,GAAG,EAAE;AACrB,MAAM,QAAQ,GAAG,EAAE;AACnB,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,OAAO,GAAG,EAAE;AAClB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,WAAW,GAAG,GAAG;AACvB,MAAM,OAAO,GAAG,GAAG;AACnB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,aAAa,GAAG,GAAG;AACzB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,WAAW,GAAG,GAAG;AACvB,MAAM,aAAa,GAAG,GAAG;AACzB,MAAM,OAAO,GAAG,GAAG;AACnB,MAAM,QAAQ,GAAG,GAAG;AACpB,MAAM,QAAQ,GAAG,GAAG;AACpB,MAAM,MAAM,GAAG,GAAG;AAClB,MAAM,SAAS,GAAG,GAAG;AACrB,MAAM,QAAQ,GAAG,GAAG;AACpB,MAAM,eAAe,GAAG,GAAG;AAC3B,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,UAAU,GAAG,GAAG;AACtB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,KAAK,GAAG,GAAG;AACjB,MAAM,aAAa,GAAG,GAAG;AACzB,MAAM,UAAU,GAAG;;AClCpB,SAAU,MAAM,CAAC,MAAM,EAAA;AAC3B,IAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AACnC,KAAA;AAED,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC;AACtB,KAAA;AAED,IAAA,OAAO,CAAC,CAAC;AACX;;SCZgB,OAAO,CAAC,OAAwB,EAAE,QAAQ,GAAG,EAAE,EAAA;IAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC;AACxB,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAA;YACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,CAAC,CAAA;AACjB,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAA;AACJ;;SCNgB,IAAI,GAAA;AAClB,IAAA,OAAO,IAAI,CAAC,sCAAsC,CAAC,CAAC;AACtD;;SCJgB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAA;IAEpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAEvD,QAAA,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC9B,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,SAAA;AACF,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACb;;ACVgB,SAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAA;AAEhC,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAE7B,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAE3B,IAAI,KAAK,CAAC,WAAW,EAAE;AACrB,gBAAA,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE;AAClC,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AAEF,SAAA;AAAM,aAAA;YAEL,IAAI,KAAK,YAAY,GAAG,EAAE;AACxB,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AACF,SAAA;AACF,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf;;ACnBM,SAAU,SAAS,CAAC,KAAK,EAAA;AAC7B,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5B,IAAA,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACpD;;ACLgB,SAAA,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAA;AACjC,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,YAAA;AACL,QAAA,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5B,YAAA,OAAO,GAAG,IAAI,CAAC;AACf,YAAA,UAAU,CAAC,YAAA;AACT,gBAAA,OAAO,GAAG,KAAK,CAAC;aACjB,EAAE,IAAI,CAAC,CAAC;AACV,SAAA;AACH,KAAC,CAAA;AACH;;MCPa,SAAS,CAAA;IAMpB,WAAY,CAAA,MAAM,EAAE,IAAK,EAAA;AAFlB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;AAG5B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAEjC,IAAI,MAAM,YAAY,UAAU,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AAC1B,SAAA;KACF;AACF;;ICnBW,WAGX;AAHD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,KAAV,UAAU,GAGrB,EAAA,CAAA,CAAA;;MCEY,KAAK,CAAA;AAehB,IAAA,WAAA,CAAoB,SAAS,QAAQ,EAAA;QAAjB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAb7B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;QAEtB,IAAM,CAAA,MAAA,GAAgB,EAAE,CAAC;QACzB,IAAW,CAAA,WAAA,GAAgB,EAAE,CAAC;QAE9B,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;QACX,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QACf,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;AAEZ,QAAA,IAAA,CAAA,MAAM,GAAe,UAAU,CAAC,IAAI,CAAC;AAErC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAEC;AAEzC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC3B;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;KAChC;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;KACvD;AAED,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;KACvC;AAED,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,WAAW;aACpB,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;KACvC;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,UAAU,CAAC;KAC9C;IAEM,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC;KACxC;AAEM,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAEM,IAAA,SAAS,CAAC,GAAG,EAAE,GAAI,EAAE,QAAS,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK;AACP,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;AACA,aAAA,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;KAClC;AAEM,IAAA,QAAQ,CAAC,GAAG,EAAE,GAAI,EAAE,QAAS,EAAA;AAElC,QAAA,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAG;AAE3B,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;gBACtB,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO;AACV,aAAA;AAED,YAAA,IAAI,CAAC,SAAS,CAAC,MAAK;gBAClB,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACtB,aAAC,EAAE,CAAC,KAAK,KAAI;AACX,gBAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,aAAC,CAAC,CAAC;SACJ,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;KAClC;IAEM,IAAI,CAAC,MAAM,EAAE,IAAK,EAAA;QACvB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;QAEpC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AACzC,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,SAAA;QAED,OAAO,SAAS,CAAC,MAAM,CAAC;KACzB;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;KAC5B;IAEM,OAAO,GAAA;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvB;AAEO,IAAA,iBAAiB,CAAC,SAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEjC,QAAA,SAAS,CAAC,MAAM;AACb,aAAA,IAAI,CACH,KAAK,CAAC,GAAG,CAAC;QACV,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B,CAAC,SAAS,CAAC;AACV,YAAA,IAAI,EAAE,CAAC,IAAI,KAAI;AACb,gBAAA,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;AAED,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;AAEf,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE9B,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,oBAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;AAC9B,oBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,iBAAA;aACF;YAED,QAAQ,EAAE,MAAK;gBACb,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;AAElB,gBAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAE5B,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,oBAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;AAC9B,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACnB,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;wBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACtC,wBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnC,qBAAA;AACF,iBAAA;aACF;AACF,SAAA,CAAC,CAAC;KACN;AACF;;AC/KK,SAAU,iBAAiB,CAAC,IAAY,EAAA;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B;;ACEM,SAAU,iBAAiB,CAAC,WAAqB,EAAA;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhE,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC;;SCRgB,OAAO,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC,EAAA;IAC7C,MAAM,cAAc,GAAG,GAAG;AACvB,SAAA,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,KAAK,CAAC,GAAG,CAAC,CAAC;IAEd,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AACtB,YAAA,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/B,IAAI,CAAC,cAAc,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC3B,MAAM;AACP,qBAAA;AACD,oBAAA,MAAM,IAAI,cAAc,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAChD,iBAAA;AACF,aAAA;YACD,MAAM;AACP,SAAA;QACD,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9C,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB;;ACpBM,SAAU,YAAY,CAAC,OAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,OAAgB,EAAA;IAC1E,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,CAAC,GAAwB,KAC9B,GAAG,CAAC,IAAI,CACN,SAAS,CAAC,CAAC,MAA2B,KACpC,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,MAAK;AACP,QAAA,OAAO,EAAE,CAAC;QAEV,IAAI,OAAO,IAAI,QAAQ,EAAE;AACvB,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,kCAAA,EAAqC,OAAO,GAAG,IAAI,CAAA,MAAA,EAAS,OAAO,CAAA,CAAA,EAAI,QAAQ,CAAA,SAAA,CAAW,CAAC,CAAA;AACzG,SAAA;AACH,KAAC,CAAC,EACF,SAAS,CAAC,CAAC,KAAK,KACd,GAAG,CACD,MAAM,OAAO,GAAG,QAAQ,EACxB,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAC9C,KAAK,CAAC,OAAO,CAAC,CACf,CACF,CACF,CACF,CACF,CAAA;AACL,CAAC;AAID,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,cAAsB,KAAI;IACnE,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,CAAA,4BAAA,EAA+B,QAAQ,CAAA,kBAAA,CAAoB,CAAC;AACpE,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,cAAc,CAAA;AACtB,KAAA;AACH,CAAC;;AClCY,MAAA,gBAAgB,GAAG,CAAC,QAAmB,KAAiC;;IAEnF,MAAM,QAAQ,GAAG,SAAS,CAAgB,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAgB,QAAQ,EAAE,OAAO,CAAC,CAAC;;AAG3D,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7C,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EACtE,KAAK,EAAE,CACR,CAAC;;IAGF,MAAM,oBAAoB,GAAG,CAAC,QAAiB,KAC7C,UAAU,CAAC,IAAI,CAACC,QAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC;;AAGjE,IAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;;;;AAKpE,IAAA,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CACvCA,QAAM,CAAkB,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CACzE,CAAC;AACJ;;AC5BA;;AAEG;;ACFH;;AAEG;;;;"}
|
package/package.json
CHANGED
package/public_api.d.ts
CHANGED
|
@@ -13,3 +13,4 @@ export { FsStopPropagationDirective } from './app/directives/stop-propagation.di
|
|
|
13
13
|
export { FsPreventDefaultDirective } from './app/directives/prevent-default.directive';
|
|
14
14
|
export { FsAutofocusDirective } from './app/directives/autofocus.directive';
|
|
15
15
|
export { FsFormatOrdinalNumberPipe } from './app/pipes/ordinal-number.pipe';
|
|
16
|
+
export { keyboardShortcut } from './libs/rxjs/keyboard-shortcut';
|