@acorex/platform 20.0.3 → 20.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-core.mjs","sources":["../tmp-esm2022/core/lib/utils/object-util.js","../tmp-esm2022/core/lib/context/context-store.service.js","../tmp-esm2022/core/lib/data/data-generator.js","../tmp-esm2022/core/lib/data/value-transformer.js","../tmp-esm2022/core/lib/data/datasource-definition-provider.service.js","../tmp-esm2022/core/lib/directives/element-data.directive.js","../tmp-esm2022/core/lib/directives/dbl-click.directive.js","../tmp-esm2022/core/lib/directives/grid-layout.directive.js","../tmp-esm2022/core/lib/directives/content-checker.directive.js","../tmp-esm2022/core/lib/event-service/event.service.js","../tmp-esm2022/core/lib/expression-evaluator/expression-evaluator-scope-provider.service.js","../tmp-esm2022/core/lib/expression-evaluator/expression-evaluator.service.js","../tmp-esm2022/core/lib/startup/app-startup.service.js","../tmp-esm2022/core/lib/types/actions.types.js","../tmp-esm2022/core/lib/types/core.types.js","../tmp-esm2022/core/lib/types/logo.types.js","../tmp-esm2022/core/lib/types/scope.types.js","../tmp-esm2022/core/lib/utils/countdown-timer.js","../tmp-esm2022/core/lib/utils/data-conditioner.js","../tmp-esm2022/core/lib/utils/highlighter.js","../tmp-esm2022/core/lib/utils/string.js","../tmp-esm2022/core/lib/activity-log/activity-log.service.js","../tmp-esm2022/core/lib/activity-log/activity-log.provider.js","../tmp-esm2022/core/acorex-platform-core.js"],"sourcesContent":["import { get, isArray, isEmpty, isNil, isObjectLike, isPlainObject, merge, set, transform } from 'lodash-es';\nexport function extractNestedFieldsWildcard(obj, basePath, fields) {\n const result = {};\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = get(obj, basePath);\n return isPlainObject(fullObj) ? fullObj : {};\n }\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const value = get(obj, fullPath);\n set(result, field, value);\n }\n return result;\n}\nexport function setSmart(obj, smartPath, value) {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n if (!fieldMatch) {\n set(obj, smartPath, value);\n return obj;\n }\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const [arrayKey, ...restPath] = basePath.split('.');\n // Make sure the array exists\n if (!obj[arrayKey])\n obj[arrayKey] = [];\n // 🟡 Case A: value is array (normal set)\n if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n if (restPath.length > 0) {\n const picked = extractNestedFieldsWildcard(item, restPath.join('.'), fields);\n set(nested, restPath.join('.'), picked);\n }\n else {\n const picked = extractNestedFieldsWildcard(item, '', fields);\n Object.assign(nested, picked);\n }\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n // 🟢 Case B: value is a single value → broadcast\n else {\n for (let i = 0; i < obj[arrayKey].length; i++) {\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n if (restPath.length > 0) {\n for (const field of fields) {\n set(nested, `${restPath.join('.')}.${field}`, value);\n }\n }\n else {\n for (const field of fields) {\n set(nested, field, value);\n }\n }\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n return obj;\n}\nfunction extractFieldsFromPath(obj, basePath, fields) {\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = basePath ? get(obj, basePath) : obj;\n return isPlainObject(fullObj) ? fullObj : {};\n }\n const result = {};\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const val = get(obj, fullPath);\n if (val !== undefined) {\n result[field] = val;\n }\n }\n return result;\n}\nexport function getSmart(obj, smartPath) {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n // Simple get (no fields)\n if (!fieldMatch) {\n return get(obj, smartPath);\n }\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const items = get(obj, basePath);\n if (!isArray(items))\n return [];\n const nestedPath = basePath.includes('.') ? basePath.split('.').slice(1).join('.') : '';\n return items.map((item) => {\n return extractFieldsFromPath(item, nestedPath, fields);\n });\n}\nexport function extractValue(value, key = 'id') {\n if (isNil(value)) {\n return null;\n }\n ;\n return isObjectLike(value) ? get(value, key) : value;\n}\nexport function cleanDeep(obj) {\n return transform(obj, (result, value, key) => {\n if (isObjectLike(value)) {\n const cleaned = cleanDeep(value);\n if (!isEmpty(cleaned)) {\n result[key] = cleaned;\n }\n }\n else if (!isNil(value) && // not null or undefined\n !(typeof value === 'string' && value.trim() === '') && // not empty string\n !(Array.isArray(value) && value.length === 0) // not empty array\n ) {\n result[key] = value;\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0csTUFBTSxVQUFVLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxRQUFnQixFQUFFLE1BQWdCO0lBQ3RGLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUV2QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUSxF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LEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBVSxrQkFBa0I7VUFDekUsQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCwgaXNBcnJheSwgaXNFbXB0eSwgaXNOaWwsIGlzT2JqZWN0TGlrZSwgaXNQbGFpbk9iamVjdCwgbWVyZ2UsIHNldCwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3ROZXN0ZWRGaWVsZHNXaWxkY2FyZChvYmo6IGFueSwgYmFzZVBhdGg6IHN0cmluZywgZmllbGRzOiBzdHJpbmdbXSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDEgJiYgZmllbGRzWzBdID09PSAnKicpIHtcbiAgICBjb25zdCBmdWxsT2JqID0gZ2V0KG9iaiwgYmFzZVBhdGgpO1xuICAgIHJldHVybiBpc1BsYWluT2JqZWN0KGZ1bGxPYmopID8gZnVsbE9iaiA6IHt9O1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IGJhc2VQYXRoID8gYCR7YmFzZVBhdGh9LiR7ZmllbGR9YCA6IGZpZWxkO1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0KG9iaiwgZnVsbFBhdGgpO1xuICAgIHNldChyZXN1bHQsIGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U21hcnQob2JqOiBhbnksIHNtYXJ0UGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogYW55IHtcbiAgY29uc3QgcGF0aFBhcnRzID0gc21hcnRQYXRoLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGxhc3RQYXJ0ID0gcGF0aFBhcnRzW3BhdGhQYXJ0cy5sZW5ndGggLSAxXTtcbiAgY29uc3QgZmllbGRNYXRjaCA9IGxhc3RQYXJ0Lm1hdGNoKC9eXFx7KC4rKVxcfSQvKTtcblxuICBpZiAoIWZpZWxkTWF0Y2gpIHtcbiAgICBzZXQob2JqLCBzbWFydFBhdGgsIHZhbHVlKTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgY29uc3QgZmllbGRzID0gZmllbGRNYXRjaFsxXS5zcGxpdCgnLCcpLm1hcCgoZikgPT4gZi50cmltKCkpO1xuICBjb25zdCBiYXNlUGF0aCA9IHBhdGhQYXJ0cy5zbGljZSgwLCAtMSkuam9pbignLicpO1xuICBjb25zdCBbYXJyYXlLZXksIC4uLnJlc3RQYXRoXSA9IGJhc2VQYXRoLnNwbGl0KCcuJyk7XG5cbiAgLy8gTWFrZSBzdXJlIHRoZSBhcnJheSBleGlzdHNcbiAgaWYgKCFvYmpbYXJyYXlLZXldKSBvYmpbYXJyYXlLZXldID0gW107XG5cbiAgLy8g8J+foSBDYXNlIEE6IHZhbHVlIGlzIGFycmF5IChub3JtYWwgc2V0KVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpdGVtID0gdmFsdWVbaV07XG4gICAgICBjb25zdCB0YXJnZXRJdGVtID0gb2JqW2FycmF5S2V5XVtpXSA/PyB7fTtcbiAgICAgIGNvbnN0IG5lc3RlZCA9IHt9O1xuXG4gICAgICBpZiAocmVzdFBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwaWNrZWQgPSBleHRyYWN0TmVzdGVkRmllbGRzV2lsZGNhcmQoaXRlbSwgcmVzdFBhdGguam9pbignLicpLCBmaWVsZHMpO1xuICAgICAgICBzZXQobmVzdGVkLCByZXN0UGF0aC5qb2luKCcuJyksIHBpY2tlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwaWNrZWQgPSBleHRyYWN0TmVzdGVkRmllbGRzV2lsZGNhcmQoaXRlbSwgJycsIGZpZWxkcyk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24obmVzdGVkLCBwaWNrZWQpO1xuICAgICAgfVxuXG4gICAgICBvYmpbYXJyYXlLZXldW2ldID0gbWVyZ2Uoe30sIHRhcmdldEl0ZW0sIG5lc3RlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8g8J+foiBDYXNlIEI6IHZhbHVlIGlzIGEgc2luZ2xlIHZhbHVlIOKGkiBicm9hZGNhc3RcbiAgZWxzZSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmpbYXJyYXlLZXldLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0YXJnZXRJdGVtID0gb2JqW2FycmF5S2V5XVtpXSA/PyB7fTtcbiAgICAgIGNvbnN0IG5lc3RlZCA9IHt9O1xuXG4gICAgICBpZiAocmVzdFBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgICAgIHNldChuZXN0ZWQsIGAke3Jlc3RQYXRoLmpvaW4oJy4nKX0uJHtmaWVsZH1gLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICAgICAgc2V0KG5lc3RlZCwgZmllbGQsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvYmpbYXJyYXlLZXldW2ldID0gbWVyZ2Uoe30sIHRhcmdldEl0ZW0sIG5lc3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdEZpZWxkc0Zyb21QYXRoKG9iajogYW55LCBiYXNlUGF0aDogc3RyaW5nLCBmaWVsZHM6IHN0cmluZ1tdKTogYW55IHtcbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDEgJiYgZmllbGRzWzBdID09PSAnKicpIHtcbiAgICBjb25zdCBmdWxsT2JqID0gYmFzZVBhdGggPyBnZXQob2JqLCBiYXNlUGF0aCkgOiBvYmo7XG4gICAgcmV0dXJuIGlzUGxhaW5PYmplY3QoZnVsbE9iaikgPyBmdWxsT2JqIDoge307XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gYmFzZVBhdGggPyBgJHtiYXNlUGF0aH0uJHtmaWVsZH1gIDogZmllbGQ7XG4gICAgY29uc3QgdmFsID0gZ2V0KG9iaiwgZnVsbFBhdGgpO1xuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0W2ZpZWxkXSA9IHZhbDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNtYXJ0KG9iajogYW55LCBzbWFydFBhdGg6IHN0cmluZyk6IGFueSB7XG4gIGNvbnN0IHBhdGhQYXJ0cyA9IHNtYXJ0UGF0aC5zcGxpdCgnLicpO1xuICBjb25zdCBsYXN0UGFydCA9IHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV07XG4gIGNvbnN0IGZpZWxkTWF0Y2ggPSBsYXN0UGFydC5tYXRjaCgvXlxceyguKylcXH0kLyk7XG5cbiAgLy8gU2ltcGxlIGdldCAobm8gZmllbGRzKVxuICBpZiAoIWZpZWxkTWF0Y2gpIHtcbiAgICByZXR1cm4gZ2V0KG9iaiwgc21hcnRQYXRoKTtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkcyA9IGZpZWxkTWF0Y2hbMV0uc3BsaXQoJywnKS5tYXAoKGYpID0+IGYudHJpbSgpKTtcbiAgY29uc3QgYmFzZVBhdGggPSBwYXRoUGFydHMuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKTtcbiAgY29uc3QgaXRlbXMgPSBnZXQob2JqLCBiYXNlUGF0aCk7XG5cbiAgaWYgKCFpc0FycmF5KGl0ZW1zKSkgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IG5lc3RlZFBhdGggPSBiYXNlUGF0aC5pbmNsdWRlcygnLicpID8gYmFzZVBhdGguc3BsaXQoJy4nKS5zbGljZSgxKS5qb2luKCcuJykgOiAnJztcblxuICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgcmV0dXJuIGV4dHJhY3RGaWVsZHNGcm9tUGF0aChpdGVtLCBuZXN0ZWRQYXRoLCBmaWVsZHMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYWx1ZTxUID0gYW55PihcbiAgdmFsdWU6IGFueSxcbiAga2V5OiBzdHJpbmcgPSAnaWQnXG4pOiBUIHwgbnVsbCB7XG4gIGlmIChpc05pbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgPyBnZXQodmFsdWUsIGtleSkgOiB2YWx1ZTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5EZWVwKG9iajogYW55KSB7XG4gIHJldHVybiB0cmFuc2Zvcm0ob2JqLCAocmVzdWx0OiBhbnksIHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IGNsZWFuZWQgPSBjbGVhbkRlZXAodmFsdWUpO1xuICAgICAgaWYgKCFpc0VtcHR5KGNsZWFuZWQpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gY2xlYW5lZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIWlzTmlsKHZhbHVlKSAmJiAgICAgICAgICAgIC8vIG5vdCBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgISh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSA9PT0gJycpICYmIC8vIG5vdCBlbXB0eSBzdHJpbmdcbiAgICAgICEoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSAgICAgICAgICAvLyBub3QgZW1wdHkgYXJyYXlcbiAgICApIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgfVxuICB9KTtcbn0iXX0=","import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { computed } from '@angular/core';\nimport { getSmart, setSmart } from '../utils/object-util';\nexport class AXPContextChangeEvent {\n}\nexport const AXPContextStore = signalStore({\n providedIn: 'root',\n}, \n// Initial State\nwithState(() => ({\n data: {}, // Shared context data\n state: 'initiated', // Current state\n initialSnapshot: {}, // Snapshot of the first initialized state\n previousSnapshot: {}, // Snapshot of the previous state\n lastChange: {\n state: 'initiated',\n }, // Last change event\n})), \n// Computed Signals\nwithComputed(({ data, state, lastChange, initialSnapshot, previousSnapshot }) => ({\n isChanged: computed(() => state() === 'changed'),\n isReset: computed(() => state() === 'restored'),\n isInitiated: computed(() => state() === 'initiated'),\n isEmpty: computed(() => Object.keys(data()).length === 0),\n snapshot: computed(() => cloneDeep(data())), // Current data snapshot\n initial: computed(() => cloneDeep(initialSnapshot())), // Initial snapshot\n previous: computed(() => cloneDeep(previousSnapshot())), // Previous snapshot\n changeEvent: computed(() => lastChange()), // Reactive last change event\n})), \n// Methods for State Management\nwithMethods((store) => ({\n // Update a specific value\n update(path, value) {\n const currentData = cloneDeep(store.data());\n const oldValue = getSmart(currentData, path);\n // Skip if the value hasn't changed\n if (isEqual(oldValue, value)) {\n return;\n }\n // Update the value and prepare the change event\n const updatedData = setSmart(currentData, path, value);\n const changeEvent = {\n oldValue,\n newValue: value,\n path,\n state: 'changed',\n data: updatedData,\n };\n // Patch the state\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: updatedData,\n state: 'changed',\n lastChange: changeEvent,\n });\n },\n patch(context) {\n const currentData = cloneDeep(store.data());\n // Update the value and prepare the change event\n const updatedData = { ...currentData, ...context };\n const changeEvent = {\n state: 'patch',\n data: updatedData,\n };\n // Patch the state\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: updatedData,\n state: 'changed',\n lastChange: changeEvent,\n });\n },\n // Reset to the initial state\n reset() {\n const initialData = store.initial();\n const changeEvent = {\n oldValue: cloneDeep(store.data()), // Current data becomes old value\n newValue: cloneDeep(initialData), // Reset to the initial state\n path: '',\n state: 'restored',\n data: initialData,\n };\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: initialData,\n state: 'restored',\n lastChange: changeEvent,\n });\n },\n // Initialize the state\n set(initialData) {\n const currentData = store.data();\n if (isEqual(currentData, initialData)) {\n return; // Skip if the current state matches the initial state\n }\n const changeEvent = {\n oldValue: null,\n newValue: cloneDeep(initialData),\n path: '',\n state: 'initiated',\n data: initialData,\n };\n patchState(store, {\n initialSnapshot: cloneDeep(initialData), // Save the initial state\n previousSnapshot: store.snapshot(), // Save the current state as the previous\n data: initialData,\n state: 'initiated',\n lastChange: changeEvent,\n });\n },\n // Get a specific value\n getValue(path) {\n return getSmart(store.data(), path);\n },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUzFELE1BQU0sT0FBTyxxQkFBcUI7Q0FNakM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUN0QztJQUNJLFVBQVUsRUFBRSxNQUFNO0NBQ3JCO0FBQ0QsZ0JBQWdCO0FBQ2hCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxFQUFFLEVBQW9CLEVBQUUsc0JBQXNCO0lBQ2xELEtBQUssRUFBRSxXQUE4QixFQUFFLGdCQUFnQjtJQUN2RCxlQUFlLEVBQUUsRUFBRSxFQUFFLDBDQUEwQztJQUMvRCxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsaUNBQWlDO0lBQ3ZELFVBQVUsRUFBRTtRQUNSLEtBQUssRUFBRSxXQUFXO0tBQ0ksRUFBRSxvQkFBb0I7Q0FDbkQsQ0FBQyxDQUFDO0FBRUgsbUJBQW1CO0FBQ25CLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUs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QyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0osQ0FBQyxDQUFDLENBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoU3RhdGUsIHdpdGhDb21wdXRlZCwgd2l0aE1ldGhvZHMsIHBhdGNoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0U21hcnQsIHNldFNtYXJ0IH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LXV0aWwnO1xuXG5cbmV4cG9ydCB0eXBlIEFYUENvbnRleHRTdGF0ZSA9ICdpbml0aWF0ZWQnIHwgJ3Jlc3RvcmVkJyB8ICdjaGFuZ2VkJyB8ICdwYXRjaCc7XG5cbmV4cG9ydCB0eXBlIEFYUENvbnRleHREYXRhID0ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUENvbnRleHRDaGFuZ2VFdmVudCB7XG4gICAgb2xkVmFsdWU/OiBhbnk7XG4gICAgbmV3VmFsdWU/OiBhbnk7XG4gICAgcGF0aD86IHN0cmluZztcbiAgICBzdGF0ZTogQVhQQ29udGV4dFN0YXRlO1xuICAgIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUENvbnRleHRTdG9yZSA9IHNpZ25hbFN0b3JlKFxuICAgIHtcbiAgICAgICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIH0sXG4gICAgLy8gSW5pdGlhbCBTdGF0ZVxuICAgIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgICAgICBkYXRhOiB7fSBhcyBBWFBDb250ZXh0RGF0YSwgLy8gU2hhcmVkIGNvbnRleHQgZGF0YVxuICAgICAgICBzdGF0ZTogJ2luaXRpYXRlZCcgYXMgQVhQQ29udGV4dFN0YXRlLCAvLyBDdXJyZW50IHN0YXRlXG4gICAgICAgIGluaXRpYWxTbmFwc2hvdDoge30sIC8vIFNuYXBzaG90IG9mIHRoZSBmaXJzdCBpbml0aWFsaXplZCBzdGF0ZVxuICAgICAgICBwcmV2aW91c1NuYXBzaG90OiB7fSwgLy8gU25hcHNob3Qgb2YgdGhlIHByZXZpb3VzIHN0YXRlXG4gICAgICAgIGxhc3RDaGFuZ2U6IHtcbiAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgfSBhcyBBWFBDb250ZXh0Q2hhbmdlRXZlbnQsIC8vIExhc3QgY2hhbmdlIGV2ZW50XG4gICAgfSkpLFxuXG4gICAgLy8gQ29tcHV0ZWQgU2lnbmFsc1xuICAgIHdpdGhDb21wdXRlZCgoeyBkYXRhLCBzdGF0ZSwgbGFzdENoYW5nZSwgaW5pdGlhbFNuYXBzaG90LCBwcmV2aW91c1NuYXBzaG90IH0pID0+ICh7XG4gICAgICAgIGlzQ2hhbmdlZDogY29tcHV0ZWQoKCkgPT4gc3RhdGUoKSA9PT0gJ2NoYW5nZWQnKSxcbiAgICAgICAgaXNSZXNldDogY29tcHV0ZWQoKCkgPT4gc3RhdGUoKSA9PT0gJ3Jlc3RvcmVkJyksXG4gICAgICAgIGlzSW5pdGlhdGVkOiBjb21wdXRlZCgoKSA9PiBzdGF0ZSgpID09PSAnaW5pdGlhdGVkJyksXG4gICAgICAgIGlzRW1wdHk6IGNvbXB1dGVkKCgpID0+IE9iamVjdC5rZXlzKGRhdGEoKSkubGVuZ3RoID09PSAwKSxcbiAgICAgICAgc25hcHNob3Q6IGNvbXB1dGVkKCgpID0+IGNsb25lRGVlcChkYXRhKCkpKSwgLy8gQ3VycmVudCBkYXRhIHNuYXBzaG90XG4gICAgICAgIGluaXRpYWw6IGNvbXB1dGVkKCgpID0+IGNsb25lRGVlcChpbml0aWFsU25hcHNob3QoKSkpLCAvLyBJbml0aWFsIHNuYXBzaG90XG4gICAgICAgIHByZXZpb3VzOiBjb21wdXRlZCgoKSA9PiBjbG9uZURlZXAocHJldmlvdXNTbmFwc2hvdCgpKSksIC8vIFByZXZpb3VzIHNuYXBzaG90XG4gICAgICAgIGNoYW5nZUV2ZW50OiBjb21wdXRlZCgoKSA9PiBsYXN0Q2hhbmdlKCkpLCAvLyBSZWFjdGl2ZSBsYXN0IGNoYW5nZSBldmVudFxuICAgIH0pKSxcblxuICAgIC8vIE1ldGhvZHMgZm9yIFN0YXRlIE1hbmFnZW1lbnRcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICAgIC8vIFVwZGF0ZSBhIHNwZWNpZmljIHZhbHVlXG4gICAgICAgIHVwZGF0ZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gY2xvbmVEZWVwKHN0b3JlLmRhdGEoKSk7XG4gICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IGdldFNtYXJ0KGN1cnJlbnREYXRhLCBwYXRoKTtcblxuICAgICAgICAgICAgLy8gU2tpcCBpZiB0aGUgdmFsdWUgaGFzbid0IGNoYW5nZWRcbiAgICAgICAgICAgIGlmIChpc0VxdWFsKG9sZFZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgdmFsdWUgYW5kIHByZXBhcmUgdGhlIGNoYW5nZSBldmVudFxuICAgICAgICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBzZXRTbWFydChjdXJyZW50RGF0YSwgcGF0aCwgdmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlRXZlbnQ6IEFYUENvbnRleHRDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoYW5nZWQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHVwZGF0ZWREYXRhLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gUGF0Y2ggdGhlIHN0YXRlXG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTbmFwc2hvdDogc3RvcmUuc25hcHNob3QoKSwgLy8gU2F2ZSB0aGUgcHJldmlvdXMgc3RhdGVcbiAgICAgICAgICAgICAgICBkYXRhOiB1cGRhdGVkRGF0YSxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoYW5nZWQnLFxuICAgICAgICAgICAgICAgIGxhc3RDaGFuZ2U6IGNoYW5nZUV2ZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcGF0Y2goY29udGV4dDoge30pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gY2xvbmVEZWVwKHN0b3JlLmRhdGEoKSk7XG4gICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHZhbHVlIGFuZCBwcmVwYXJlIHRoZSBjaGFuZ2UgZXZlbnRcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0geyAuLi5jdXJyZW50RGF0YSwgLi4uY29udGV4dCB9O1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlRXZlbnQ6IEFYUENvbnRleHRDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ3BhdGNoJyxcbiAgICAgICAgICAgICAgICBkYXRhOiB1cGRhdGVkRGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIFBhdGNoIHRoZSBzdGF0ZVxuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgIHByZXZpb3VzU25hcHNob3Q6IHN0b3JlLnNuYXBzaG90KCksIC8vIFNhdmUgdGhlIHByZXZpb3VzIHN0YXRlXG4gICAgICAgICAgICAgICAgZGF0YTogdXBkYXRlZERhdGEsXG4gICAgICAgICAgICAgICAgc3RhdGU6ICdjaGFuZ2VkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8vIFJlc2V0IHRvIHRoZSBpbml0aWFsIHN0YXRlXG4gICAgICAgIHJlc2V0KCkge1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbERhdGEgPSBzdG9yZS5pbml0aWFsKCk7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogQVhQQ29udGV4dENoYW5nZUV2ZW50ID0ge1xuICAgICAgICAgICAgICAgIG9sZFZhbHVlOiBjbG9uZURlZXAoc3RvcmUuZGF0YSgpKSwgLy8gQ3VycmVudCBkYXRhIGJlY29tZXMgb2xkIHZhbHVlXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IGNsb25lRGVlcChpbml0aWFsRGF0YSksIC8vIFJlc2V0IHRvIHRoZSBpbml0aWFsIHN0YXRlXG4gICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgc3RhdGU6ICdyZXN0b3JlZCcsXG4gICAgICAgICAgICAgICAgZGF0YTogaW5pdGlhbERhdGEsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTbmFwc2hvdDogc3RvcmUuc25hcHNob3QoKSwgLy8gU2F2ZSB0aGUgcHJldmlvdXMgc3RhdGVcbiAgICAgICAgICAgICAgICBkYXRhOiBpbml0aWFsRGF0YSxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ3Jlc3RvcmVkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHN0YXRlXG4gICAgICAgIHNldChpbml0aWFsRGF0YTogYW55KSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IHN0b3JlLmRhdGEoKTtcbiAgICAgICAgICAgIGlmIChpc0VxdWFsKGN1cnJlbnREYXRhLCBpbml0aWFsRGF0YSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47IC8vIFNraXAgaWYgdGhlIGN1cnJlbnQgc3RhdGUgbWF0Y2hlcyB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogQVhQQ29udGV4dENoYW5nZUV2ZW50ID0ge1xuICAgICAgICAgICAgICAgIG9sZFZhbHVlOiBudWxsLFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlOiBjbG9uZURlZXAoaW5pdGlhbERhdGEpLFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBpbml0aWFsRGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICBpbml0aWFsU25hcHNob3Q6IGNsb25lRGVlcChpbml0aWFsRGF0YSksIC8vIFNhdmUgdGhlIGluaXRpYWwgc3RhdGVcbiAgICAgICAgICAgICAgICBwcmV2aW91c1NuYXBzaG90OiBzdG9yZS5zbmFwc2hvdCgpLCAvLyBTYXZlIHRoZSBjdXJyZW50IHN0YXRlIGFzIHRoZSBwcmV2aW91c1xuICAgICAgICAgICAgICAgIGRhdGE6IGluaXRpYWxEYXRhLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAvLyBHZXQgYSBzcGVjaWZpYyB2YWx1ZVxuICAgICAgICBnZXRWYWx1ZShwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRTbWFydChzdG9yZS5kYXRhKCksIHBhdGgpO1xuICAgICAgICB9LFxuICAgIH0pKVxuKTtcbiJdfQ==","export class AXPDataGenerator {\n static uuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n static number(...args) {\n let min = 0;\n let max = 100;\n if (args.length == 1)\n max = args[0];\n if (args.length == 2) {\n min = args[0];\n max = args[1];\n }\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n static date(...args) {\n let start = new Date(2000, 0, 1);\n let end = new Date();\n if (args.length === 1) {\n start = args[0];\n }\n else if (args.length === 2) {\n start = args[0];\n end = args[1];\n }\n const startTime = start.getTime();\n const endTime = end.getTime();\n return new Date(startTime + Math.random() * (endTime - startTime));\n }\n static array(length = 5, generator) {\n return Array.from({ length }, generator);\n }\n static pick(...args) {\n if (args.length < 1) {\n throw new Error('Invalid parameters');\n }\n const items = args[0];\n const count = args[1] ?? 1;\n if (count < 1) {\n throw new Error('Count must be at least 1');\n }\n // If the count is greater than the number of items, just return a shuffled copy of the array\n if (count >= items.length) {\n return [...items].sort(() => Math.random() - 0.5);\n }\n // Shuffle the array and slice the first 'count' elements\n const shuffled = items.slice();\n for (let i = shuffled.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]]; // Swap elements\n }\n return count == 1 ? shuffled.slice(0, count)[0] : shuffled.slice(0, count);\n }\n static string(length = 10) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static boolean() {\n return Math.random() >= 0.5;\n }\n static item(array = []) {\n return array.length > 0 ? array[Math.floor(Math.random() * array.length)] : undefined;\n }\n static color(format = 'hex') {\n // Generate HSL values with safe ranges for good contrast\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 20) + 60; // 60% - 80%\n const l = Math.floor(Math.random() * 20) + 40; // 40% - 60%\n if (format === 'hsl') {\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n // Convert HSL to RGB\n const { r, g, b } = this.hslToRgb(h, s / 100, l / 100);\n if (format === 'rgb') {\n return `rgb(${r}, ${g}, ${b})`;\n }\n // Convert RGB to HEX\n const toHex = (val) => val.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n }\n //TODO: move or read from utils\n static hslToRgb(h, s, l) {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = l - c / 2;\n let r = 0, g = 0, b = 0;\n if (h < 60)\n [r, g, b] = [c, x, 0];\n else if (h < 120)\n [r, g, b] = [x, c, 0];\n else if (h < 180)\n [r, g, b] = [0, c, x];\n else if (h < 240)\n [r, g, b] = [0, x, c];\n else if (h < 300)\n [r, g, b] = [x, 0, c];\n else\n [r, g, b] = [c, 0, x];\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255)\n };\n }\n static alphanumeric(length = 10) {\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static alphabet(length = 10) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static phone() {\n const areaCode = this.number(100, 999);\n const exchangeCode = this.number(100, 999);\n const lineNumber = this.number(1000, 9999);\n return `${areaCode}-${exchangeCode}-${lineNumber}`;\n }\n static firstName() {\n const firstNames = ['John', 'Allen', 'Jak', 'Rose', 'Kate', 'Liam', 'Olivia', 'Noah', 'Emma', 'Ava'];\n return this.pick(firstNames);\n }\n static lastName() {\n const lastNames = ['Gates', 'Jonsen', 'Smith', 'Ford', 'Jakson', 'Brown', 'Johnson', 'Williams', 'Jones', 'Garcia'];\n return this.pick(lastNames);\n }\n static email(...args) {\n const domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'example.com'];\n const domain = this.pick(domains);\n const separator = this.pick(['.', '_', '']);\n const randomSuffix = this.boolean() ? this.number(1, 99).toString() : '';\n if (args.length === 2) {\n const firstName = args[0].toLowerCase();\n const lastName = args[1].toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n else {\n const firstName = this.firstName().toLowerCase();\n const lastName = this.lastName().toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n }\n static country() {\n const countries = ['USA', 'Canada', 'Mexico', 'Germany', 'France', 'Japan', 'Australia'];\n return this.pick(countries);\n }\n static city() {\n const cities = ['Los Angeles', 'Toronto', 'Vancouver', 'Berlin', 'Paris', 'Tokyo', 'Sydney'];\n return this.pick(cities);\n }\n static state() {\n const states = ['NY', 'CA', 'TX', 'ON', 'BC', 'NSW', 'BER', 'IDF', 'TYO'];\n return this.pick(states);\n }\n static address() {\n const streets = ['Main St', 'High St', 'Maple Ave', 'Oak St', 'Pine St', 'Cedar St'];\n const streetNumber = this.number(100, 9999);\n const street = this.pick(streets);\n const city = this.city();\n const state = this.state();\n const zip = this.number(10000, 99999);\n const country = this.country();\n return `${streetNumber} ${street}, ${city}, ${state} ${zip}, ${country}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL2RhdGEtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFjO1FBQzdCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osTUFBTSxPQUFPLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLFlBQVksSUFBSSxNQUFNLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7SUFDM0UsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb2xvclV0aWwgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3V0aWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBBWFBEYXRhR2VuZXJhdG9yIHtcbiAgc3RhdGljIHV1aWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoY2hhcikgPT4ge1xuICAgICAgY29uc3QgcmFuZG9tID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwO1xuICAgICAgY29uc3QgdmFsdWUgPSBjaGFyID09PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzKSB8IDB4ODtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygxNik7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbnVtYmVyKG1heDogbnVtYmVyKTogbnVtYmVyO1xuICBzdGF0aWMgbnVtYmVyKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlcjtcbiAgc3RhdGljIG51bWJlciguLi5hcmdzOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgbGV0IG1pbiA9IDA7XG4gICAgbGV0IG1heCA9IDEwMDtcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMSkgbWF4ID0gYXJnc1swXTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMikge1xuICAgICAgbWluID0gYXJnc1swXTtcbiAgICAgIG1heCA9IGFyZ3NbMV07XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgc3RhdGljIGRhdGUoKTogRGF0ZTtcbiAgc3RhdGljIGRhdGUoc3RhcnQ6IERhdGUpOiBEYXRlO1xuICBzdGF0aWMgZGF0ZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogRGF0ZTtcbiAgc3RhdGljIGRhdGUoLi4uYXJnczogYW55W10pOiBEYXRlIHtcbiAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTtcbiAgICBsZXQgZW5kID0gbmV3IERhdGUoKTtcblxuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgc3RhcnQgPSBhcmdzWzBdO1xuICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHN0YXJ0ID0gYXJnc1swXTtcbiAgICAgIGVuZCA9IGFyZ3NbMV07XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gc3RhcnQuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGVuZFRpbWUgPSBlbmQuZ2V0VGltZSgpO1xuICAgIHJldHVybiBuZXcgRGF0ZShzdGFydFRpbWUgKyBNYXRoLnJhbmRvbSgpICogKGVuZFRpbWUgLSBzdGFydFRpbWUpKTtcbiAgfVxuXG4gIHN0YXRpYyBhcnJheTxUPihsZW5ndGg6IG51bWJlciA9IDUsIGdlbmVyYXRvcjogKCkgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgZ2VuZXJhdG9yKTtcbiAgfVxuXG4gIHN0YXRpYyBwaWNrPFQ+KGl0ZW1zOiBUW10pOiBUO1xuICBzdGF0aWMgcGljazxUPihpdGVtczogVFtdLCBjb3VudDogbnVtYmVyKTogVFtdO1xuICBzdGF0aWMgcGljazxUPiguLi5hcmdzOiBhbnlbXSk6IFQgfCBUW10ge1xuICAgIGlmIChhcmdzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwYXJhbWV0ZXJzJyk7XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1zOiBUW10gPSBhcmdzWzBdO1xuICAgIGNvbnN0IGNvdW50OiBudW1iZXIgPSBhcmdzWzFdID8/IDE7XG4gICAgaWYgKGNvdW50IDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VudCBtdXN0IGJlIGF0IGxlYXN0IDEnKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgY291bnQgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgaXRlbXMsIGp1c3QgcmV0dXJuIGEgc2h1ZmZsZWQgY29weSBvZiB0aGUgYXJyYXlcbiAgICBpZiAoY291bnQgPj0gaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gWy4uLml0ZW1zXS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xuICAgIH1cblxuICAgIC8vIFNodWZmbGUgdGhlIGFycmF5IGFuZCBzbGljZSB0aGUgZmlyc3QgJ2NvdW50JyBlbGVtZW50c1xuICAgIGNvbnN0IHNodWZmbGVkID0gaXRlbXMuc2xpY2UoKTtcbiAgICBmb3IgKGxldCBpID0gc2h1ZmZsZWQubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChpICsgMSkpO1xuICAgICAgW3NodWZmbGVkW2ldLCBzaHVmZmxlZFtqXV0gPSBbc2h1ZmZsZWRbal0sIHNodWZmbGVkW2ldXTsgLy8gU3dhcCBlbGVtZW50c1xuICAgIH1cbiAgICByZXR1cm4gY291bnQgPT0gMSA/IHNodWZmbGVkLnNsaWNlKDAsIGNvdW50KVswXSA6IHNodWZmbGVkLnNsaWNlKDAsIGNvdW50KTtcbiAgfVxuXG4gIHN0YXRpYyBzdHJpbmcobGVuZ3RoOiBudW1iZXIgPSAxMCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sICgpID0+IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKSkuam9pbignJyk7XG4gIH1cblxuICBzdGF0aWMgYm9vbGVhbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gTWF0aC5yYW5kb20oKSA+PSAwLjU7XG4gIH1cblxuICBzdGF0aWMgaXRlbTxUPihhcnJheTogVFtdID0gW10pOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gYXJyYXkubGVuZ3RoID4gMCA/IGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIGNvbG9yKGZvcm1hdDogJ2hzbCcgfCAncmdiJyB8ICdoZXgnID0gJ2hleCcpOiBzdHJpbmcge1xuICAgIC8vIEdlbmVyYXRlIEhTTCB2YWx1ZXMgd2l0aCBzYWZlIHJhbmdlcyBmb3IgZ29vZCBjb250cmFzdFxuICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAzNjApO1xuICAgIGNvbnN0IHMgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMCkgKyA2MDsgLy8gNjAlIC0gODAlXG4gICAgY29uc3QgbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIwKSArIDQwOyAvLyA0MCUgLSA2MCVcblxuICAgIGlmIChmb3JtYXQgPT09ICdoc2wnKSB7XG4gICAgICByZXR1cm4gYGhzbCgke2h9LCAke3N9JSwgJHtsfSUpYDtcbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IEhTTCB0byBSR0JcbiAgICBjb25zdCB7IHIsIGcsIGIgfSA9IHRoaXMuaHNsVG9SZ2IoaCwgcyAvIDEwMCwgbCAvIDEwMCk7XG5cbiAgICBpZiAoZm9ybWF0ID09PSAncmdiJykge1xuICAgICAgcmV0dXJuIGByZ2IoJHtyfSwgJHtnfSwgJHtifSlgO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgUkdCIHRvIEhFWFxuICAgIGNvbnN0IHRvSGV4ID0gKHZhbDogbnVtYmVyKSA9PiB2YWwudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgcmV0dXJuIGAjJHt0b0hleChyKX0ke3RvSGV4KGcpfSR7dG9IZXgoYil9YDtcbiAgfVxuXG4gIC8vVE9ETzogbW92ZSBvciByZWFkIGZyb20gdXRpbHNcbiAgcHJpdmF0ZSBzdGF0aWMgaHNsVG9SZ2IoaDogbnVtYmVyLCBzOiBudW1iZXIsIGw6IG51bWJlcik6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlciB9IHtcbiAgICBjb25zdCBjID0gKDEgLSBNYXRoLmFicygyICogbCAtIDEpKSAqIHM7XG4gICAgY29uc3QgeCA9IGMgKiAoMSAtIE1hdGguYWJzKChoIC8gNjApICUgMiAtIDEpKTtcbiAgICBjb25zdCBtID0gbCAtIGMgLyAyO1xuICAgIGxldCByID0gMCwgZyA9IDAsIGIgPSAwO1xuXG4gICAgaWYgKGggPCA2MCkgW3IsIGcsIGJdID0gW2MsIHgsIDBdO1xuICAgIGVsc2UgaWYgKGggPCAxMjApIFtyLCBnLCBiXSA9IFt4LCBjLCAwXTtcbiAgICBlbHNlIGlmIChoIDwgMTgwKSBbciwgZywgYl0gPSBbMCwgYywgeF07XG4gICAgZWxzZSBpZiAoaCA8IDI0MCkgW3IsIGcsIGJdID0gWzAsIHgsIGNdO1xuICAgIGVsc2UgaWYgKGggPCAzMDApIFtyLCBnLCBiXSA9IFt4LCAwLCBjXTtcbiAgICBlbHNlW3IsIGcsIGJdID0gW2MsIDAsIHhdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHI6IE1hdGgucm91bmQoKHIgKyBtKSAqIDI1NSksXG4gICAgICBnOiBNYXRoLnJvdW5kKChnICsgbSkgKiAyNTUpLFxuICAgICAgYjogTWF0aC5yb3VuZCgoYiArIG0pICogMjU1KVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgYWxwaGFudW1lcmljKGxlbmd0aDogbnVtYmVyID0gMTApOiBzdHJpbmcge1xuICAgIGNvbnN0IGNoYXJzID0gJzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICB9XG4gIHN0YXRpYyBhbHBoYWJldChsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICB9XG5cbiAgc3RhdGljIHBob25lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJlYUNvZGUgPSB0aGlzLm51bWJlcigxMDAsIDk5OSk7XG4gICAgY29uc3QgZXhjaGFuZ2VDb2RlID0gdGhpcy5udW1iZXIoMTAwLCA5OTkpO1xuICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLm51bWJlcigxMDAwLCA5OTk5KTtcbiAgICByZXR1cm4gYCR7YXJlYUNvZGV9LSR7ZXhjaGFuZ2VDb2RlfS0ke2xpbmVOdW1iZXJ9YDtcbiAgfVxuXG4gIHN0YXRpYyBmaXJzdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaXJzdE5hbWVzID0gWydKb2huJywgJ0FsbGVuJywgJ0phaycsICdSb3NlJywgJ0thdGUnLCAnTGlhbScsICdPbGl2aWEnLCAnTm9haCcsICdFbW1hJywgJ0F2YSddO1xuICAgIHJldHVybiB0aGlzLnBpY2soZmlyc3ROYW1lcyk7XG4gIH1cblxuICBzdGF0aWMgbGFzdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYXN0TmFtZXMgPSBbJ0dhdGVzJywgJ0pvbnNlbicsICdTbWl0aCcsICdGb3JkJywgJ0pha3NvbicsICdCcm93bicsICdKb2huc29uJywgJ1dpbGxpYW1zJywgJ0pvbmVzJywgJ0dhcmNpYSddO1xuICAgIHJldHVybiB0aGlzLnBpY2sobGFzdE5hbWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBlbWFpbCgpOiBzdHJpbmc7XG4gIHN0YXRpYyBlbWFpbChmaXJzdE5hbWU6IHN0cmluZywgbGFzdE5hbWU6IHN0cmluZyk6IHN0cmluZztcbiAgc3RhdGljIGVtYWlsKC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW5zID0gWydnbWFpbC5jb20nLCAneWFob28uY29tJywgJ291dGxvb2suY29tJywgJ2V4YW1wbGUuY29tJ107XG4gICAgY29uc3QgZG9tYWluID0gdGhpcy5waWNrKGRvbWFpbnMpO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMucGljayhbJy4nLCAnXycsICcnXSk7XG4gICAgY29uc3QgcmFuZG9tU3VmZml4ID0gdGhpcy5ib29sZWFuKCkgPyB0aGlzLm51bWJlcigxLCA5OSkudG9TdHJpbmcoKSA6ICcnO1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBmaXJzdE5hbWUgPSBhcmdzWzBdLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBsYXN0TmFtZSA9IGFyZ3NbMV0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5maXJzdE5hbWUoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY291bnRyeSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50cmllcyA9IFsnVVNBJywgJ0NhbmFkYScsICdNZXhpY28nLCAnR2VybWFueScsICdGcmFuY2UnLCAnSmFwYW4nLCAnQXVzdHJhbGlhJ107XG4gICAgcmV0dXJuIHRoaXMucGljayhjb3VudHJpZXMpO1xuICB9XG5cbiAgc3RhdGljIGNpdHkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaXRpZXMgPSBbJ0xvcyBBbmdlbGVzJywgJ1Rvcm9udG8nLCAnVmFuY291dmVyJywgJ0JlcmxpbicsICdQYXJpcycsICdUb2t5bycsICdTeWRuZXknXTtcbiAgICByZXR1cm4gdGhpcy5waWNrKGNpdGllcyk7XG4gIH1cblxuICBzdGF0aWMgc3RhdGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0ZXMgPSBbJ05ZJywgJ0NBJywgJ1RYJywgJ09OJywgJ0JDJywgJ05TVycsICdCRVInLCAnSURGJywgJ1RZTyddO1xuICAgIHJldHVybiB0aGlzLnBpY2soc3RhdGVzKTtcbiAgfVxuXG4gIHN0YXRpYyBhZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RyZWV0cyA9IFsnTWFpbiBTdCcsICdIaWdoIFN0JywgJ01hcGxlIEF2ZScsICdPYWsgU3QnLCAnUGluZSBTdCcsICdDZWRhciBTdCddO1xuICAgIGNvbnN0IHN0cmVldE51bWJlciA9IHRoaXMubnVtYmVyKDEwMCwgOTk5OSk7XG4gICAgY29uc3Qgc3RyZWV0ID0gdGhpcy5waWNrKHN0cmVldHMpO1xuICAgIGNvbnN0IGNpdHkgPSB0aGlzLmNpdHkoKTtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUoKTtcbiAgICBjb25zdCB6aXAgPSB0aGlzLm51bWJlcigxMDAwMCwgOTk5OTkpO1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmNvdW50cnkoKTtcbiAgICByZXR1cm4gYCR7c3RyZWV0TnVtYmVyfSAke3N0cmVldH0sICR7Y2l0eX0sICR7c3RhdGV9ICR7emlwfSwgJHtjb3VudHJ5fWA7XG4gIH1cbn1cbiJdfQ==","import { extractValue } from \"../utils/object-util\";\nexport function objectKeyValueTransforms(keyName) {\n return {\n getter: (value) => {\n return extractValue(value, keyName);\n },\n setter: (value) => {\n return extractValue(value, keyName);\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL3ZhbHVlLXRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFwRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsT0FBZTtJQUNwRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbkIsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNuQixPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0cmFjdFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL29iamVjdC11dGlsXCI7XG5leHBvcnQgdHlwZSBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb24gPSAodmFsdWU6IGFueSkgPT4gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb25zID0ge1xuICAgIGdldHRlcj86IEFYUFZhbHVlVHJhbnNmb3JtZXJGdW5jdGlvbjtcbiAgICBzZXR0ZXI/OiBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb247XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKGtleU5hbWU6IHN0cmluZyk6IEFYUFZhbHVlVHJhbnNmb3JtZXJGdW5jdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICAgIGdldHRlcjogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0VmFsdWUodmFsdWUsIGtleU5hbWUpO1xuICAgICAgICB9LFxuICAgICAgICBzZXR0ZXI6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXh0cmFjdFZhbHVlKHZhbHVlLCBrZXlOYW1lKTtcbiAgICAgICAgfSxcbiAgICB9O1xufSJdfQ==","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_DATASOURCE_DEFINITION_PROVIDER = new InjectionToken('AXP_DATASOURCE_TYPE_PROVIDER');\nexport class AXPDataSourceDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_DATASOURCE_DEFINITION_PROVIDER, { optional: true });\n }\n async items() {\n const items = [];\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n items.push(...(await provider.items()));\n }\n }\n return items;\n }\n async get(name) {\n return (await this.items()).find((c) => c.name == name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1kZWZpbml0aW9uLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL2RhdGFzb3VyY2UtZGVmaW5pdGlvbi1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2Qm5FLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLElBQUksY0FBYyxDQUNsRSw4QkFBOEIsQ0FDL0IsQ0FBQztBQUdGLE1BQU0sT0FBTyxzQ0FBc0M7SUFEbkQ7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FnQnBGO0lBZEMsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLEtBQUssR0FBOEIsRUFBRSxDQUFDO1FBRTVDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQWhCVSxzQ0FBc0M7a0hBQXRDLHNDQUFzQyxjQUR6QixNQUFNOzsyRkFDbkIsc0NBQXNDO2tCQURsRCxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBPcHRpb25zRGF0YSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBEYXRhU291cmNlRGVmaW5pdGlvbjxUID0gYW55PiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdmFsdWVGaWVsZD86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgfTtcbiAgdGV4dEZpZWxkPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICB9O1xuICBjb2x1bW5zOiB7XG4gICAgbmFtZTogc3RyaW5nOyBcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRhdGF0eXBlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBBWFBPcHRpb25zRGF0YTtcbiAgfVtdO1xuICBzYW1wbGVzPzogYW55W107XG4gIHNvdXJjZTogKCkgPT4gQVhEYXRhU291cmNlPFQ+IHwgUHJvbWlzZTxBWERhdGFTb3VyY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERhdGFTb3VyY2VEZWZpbml0aW9uUHJvdmlkZXIge1xuICBpdGVtcygpOiBQcm9taXNlPEFYUERhdGFTb3VyY2VEZWZpbml0aW9uW10+O1xufVxuXG5leHBvcnQgY29uc3QgQVhQX0RBVEFTT1VSQ0VfREVGSU5JVElPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBEYXRhU291cmNlRGVmaW5pdGlvblByb3ZpZGVyW10+KFxuICAnQVhQX0RBVEFTT1VSQ0VfVFlQRV9QUk9WSURFUicsXG4pO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUERhdGFTb3VyY2VEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgQVhQRGF0YVNvdXJjZURlZmluaXRpb25Qcm92aWRlciB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9EQVRBU09VUkNFX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBEYXRhU291cmNlRGVmaW5pdGlvbltdPiB7XG4gICAgY29uc3QgaXRlbXM6IEFYUERhdGFTb3VyY2VEZWZpbml0aW9uW10gPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBpdGVtcy5wdXNoKC4uLihhd2FpdCBwcm92aWRlci5pdGVtcygpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGFzeW5jIGdldChuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUERhdGFTb3VyY2VEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLml0ZW1zKCkpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef, input, effect } from '@angular/core';\nimport { set, get } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nexport class AXPElementDataDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.data = input(null, { alias: 'axp-data' });\n this.path = input('__data__', { alias: 'axp-data-path' });\n // Effect to update element data when inputs change\n this.updateEffect = effect(() => {\n const currentData = this.data();\n const currentPath = this.path();\n set(this.elementRef.nativeElement, currentPath, currentData);\n });\n }\n ngOnInit() {\n // Initial data setup\n set(this.elementRef.nativeElement, this.path(), this.data());\n }\n /**\n * Get data from the element\n */\n getData() {\n return get(this.elementRef.nativeElement, this.path());\n }\n /**\n * Update data at runtime\n */\n setData(data) {\n set(this.elementRef.nativeElement, this.path(), data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPElementDataDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXPElementDataDirective, isStandalone: true, selector: \"[axp-data]\", inputs: { data: { classPropertyName: \"data\", publicName: \"axp-data\", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: \"path\", publicName: \"axp-data-path\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPElementDataDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-data]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1kYXRhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZWxlbWVudC1kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQU1yQyxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBSHZELFNBQUksR0FBRyxLQUFLLENBQU0sSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0MsU0FBSSxHQUFHLEtBQUssQ0FBUyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQVM3RCxtREFBbUQ7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztJQVp3RCxDQUFDO0lBRTVELFFBQVE7UUFDSixxQkFBcUI7UUFDckIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBU0Q7O09BRUc7SUFDSCxPQUFPO1FBQ0gsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQVM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBL0JRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGlucHV0LCBPbkluaXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2V0LCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1theHAtZGF0YV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQVhQRWxlbWVudERhdGFEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgZGF0YSA9IGlucHV0PGFueT4obnVsbCwgeyBhbGlhczogJ2F4cC1kYXRhJyB9KTtcbiAgICBwYXRoID0gaW5wdXQ8c3RyaW5nPignX19kYXRhX18nLCB7IGFsaWFzOiAnYXhwLWRhdGEtcGF0aCcgfSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBJbml0aWFsIGRhdGEgc2V0dXBcbiAgICAgICAgc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnBhdGgoKSwgdGhpcy5kYXRhKCkpO1xuICAgIH1cblxuICAgIC8vIEVmZmVjdCB0byB1cGRhdGUgZWxlbWVudCBkYXRhIHdoZW4gaW5wdXRzIGNoYW5nZVxuICAgIHByaXZhdGUgdXBkYXRlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSB0aGlzLmRhdGEoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFBhdGggPSB0aGlzLnBhdGgoKTtcbiAgICAgICAgc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjdXJyZW50UGF0aCwgY3VycmVudERhdGEpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogR2V0IGRhdGEgZnJvbSB0aGUgZWxlbWVudFxuICAgICAqL1xuICAgIGdldERhdGEoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5wYXRoKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBkYXRhIGF0IHJ1bnRpbWVcbiAgICAgKi9cbiAgICBzZXREYXRhKGRhdGE6IGFueSkge1xuICAgICAgICBzZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMucGF0aCgpLCBkYXRhKTtcbiAgICB9XG59ICJdfQ==","import { Directive, HostListener, Output, EventEmitter } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPDblClickDirective {\n constructor() {\n this.onDblClick = new EventEmitter();\n this.lastTap = 0;\n this.doubleTapThreshold = 300; // milliseconds\n }\n // Listen for the native dblclick event (desktop)\n handleOnDblClick(event) {\n this.onDblClick.emit(event);\n }\n // Listen for touchend events (mobile)\n onTouchEnd(event) {\n const currentTime = new Date().getTime();\n const tapGap = currentTime - this.lastTap;\n if (tapGap > 0 && tapGap < this.doubleTapThreshold) {\n // Detected a double-tap\n this.onDblClick.emit(event);\n event.preventDefault(); // Optionally prevent further default actions\n }\n this.lastTap = currentTime;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDblClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXPDblClickDirective, isStandalone: true, selector: \"[onDblClick]\", outputs: { onDblClick: \"onDblClick\" }, host: { listeners: { \"dblclick\": \"handleOnDblClick($event)\", \"touchend\": \"onTouchEnd($event)\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDblClickDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[onDblClick]'\n }]\n }], propDecorators: { onDblClick: [{\n type: Output\n }], handleOnDblClick: [{\n type: HostListener,\n args: ['dblclick', ['$event']]\n }], onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJsLWNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZGJsLWNsaWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs5RSxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSWMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFFekMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNILHVCQUFrQixHQUFHLEdBQUcsQ0FBQyxDQUFDLGVBQWU7S0FxQjdEO0lBbkJHLGlEQUFpRDtJQUVqRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQ0FBc0M7SUFFdEMsVUFBVSxDQUFDLEtBQWlCO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNqRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsNkNBQTZDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztJQUMvQixDQUFDOzhHQXhCUSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7OEJBRWEsVUFBVTtzQkFBbkIsTUFBTTtnQkFPUCxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT3BDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbb25EYmxDbGlja10nXG59KVxuZXhwb3J0IGNsYXNzIEFYUERibENsaWNrRGlyZWN0aXZlIHtcbiAgICBAT3V0cHV0KCkgb25EYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIGxhc3RUYXAgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG91YmxlVGFwVGhyZXNob2xkID0gMzAwOyAvLyBtaWxsaXNlY29uZHNcblxuICAgIC8vIExpc3RlbiBmb3IgdGhlIG5hdGl2ZSBkYmxjbGljayBldmVudCAoZGVza3RvcClcbiAgICBASG9zdExpc3RlbmVyKCdkYmxjbGljaycsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlT25EYmxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRibENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBmb3IgdG91Y2hlbmQgZXZlbnRzIChtb2JpbGUpXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICAgIG9uVG91Y2hFbmQoZXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgdGFwR2FwID0gY3VycmVudFRpbWUgLSB0aGlzLmxhc3RUYXA7XG5cbiAgICAgICAgaWYgKHRhcEdhcCA+IDAgJiYgdGFwR2FwIDwgdGhpcy5kb3VibGVUYXBUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgIC8vIERldGVjdGVkIGEgZG91YmxlLXRhcFxuICAgICAgICAgICAgdGhpcy5vbkRibENsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gT3B0aW9uYWxseSBwcmV2ZW50IGZ1cnRoZXIgZGVmYXVsdCBhY3Rpb25zXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXN0VGFwID0gY3VycmVudFRpbWU7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, ElementRef, Renderer2, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPGridLayoutDirective {\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n this.options = input.required({ alias: 'axp-grid-layout' });\n }\n ngOnChanges(changes) {\n if (changes['options']) {\n this.applyTailwindClasses();\n }\n }\n applyTailwindClasses() {\n const placement = this.options()?.placement;\n if (!placement)\n return;\n // Clear existing grid classes\n this.clearClasses();\n // Apply new grid classes based on the input options\n this.setClasses(placement.md, 'md:');\n this.setClasses(placement.lg, 'lg:');\n this.setClasses(placement.xl, 'xl:');\n this.setClasses(placement.xxl, '2xl:');\n }\n setClasses(placement, prefix) {\n if (placement == null)\n return;\n const colStart = placement.colStart ? `${prefix}ax-col-start-${placement.colStart}` : '';\n const colEnd = placement.colEnd ? `${prefix}ax-col-end-${placement.colEnd}` : '';\n const colSpan = placement.colSpan ? `${prefix}ax-col-span-${placement.colSpan}` : '';\n const rowStart = placement.rowStart ? `${prefix}ax-row-start-${placement.rowStart}` : '';\n const rowEnd = placement.rowEnd ? `${prefix}ax-row-end-${placement.rowEnd}` : '';\n const rowSpan = placement.rowSpan ? `${prefix}ax-row-span-${placement.rowSpan}` : '';\n const order = placement.order ? `${prefix}ax-order-${placement.order}` : ''; // Handling order\n [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {\n if (cls) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n });\n }\n clearClasses() {\n const currentClasses = this.el.nativeElement.className.split(' ');\n currentClasses.forEach((className) => {\n if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {\n this.renderer.removeClass(this.el.nativeElement, className);\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXPGridLayoutDirective, isStandalone: true, selector: \"[axp-grid-layout]\", inputs: { options: { classPropertyName: \"options\", publicName: \"axp-grid-layout\", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-grid-layout]',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9ncmlkLWxheW91dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9sRyxNQUFNLE9BQU8sc0JBQXNCO0lBRy9CLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUYvRCxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBdUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBRVYsQ0FBQztJQUVwRSxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN2Qiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFVBQVUsQ0FBQyxTQUF1QyxFQUFFLE1BQWM7UUFDdEUsSUFBSSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU87UUFFOUIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLGdCQUFnQixTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sY0FBYyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sZUFBZSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sZ0JBQWdCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxjQUFjLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxlQUFlLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxZQUFZLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCO1FBRTlGLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hFLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVk7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBaUIsRUFBRSxFQUFFO1lBQ3pDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDMUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDaEUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqRFEsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2FwcC9kaXJlY3RpdmVzL2dyaWQtbGF5b3V0LmRpcmVjdGl2ZS50c1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEdyaWRQbGFjZW1lbnQgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2F4cC1ncmlkLWxheW91dF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIG9wdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oeyBhbGlhczogJ2F4cC1ncmlkLWxheW91dCcgfSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snb3B0aW9ucyddKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5VGFpbHdpbmRDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5VGFpbHdpbmRDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwbGFjZW1lbnQgPSB0aGlzLm9wdGlvbnMoKT8ucGxhY2VtZW50O1xuICAgICAgICBpZiAoIXBsYWNlbWVudCkgcmV0dXJuO1xuICAgICAgICAvLyBDbGVhciBleGlzdGluZyBncmlkIGNsYXNzZXNcbiAgICAgICAgdGhpcy5jbGVhckNsYXNzZXMoKTtcblxuICAgICAgICAvLyBBcHBseSBuZXcgZ3JpZCBjbGFzc2VzIGJhc2VkIG9uIHRoZSBpbnB1dCBvcHRpb25zXG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcyhwbGFjZW1lbnQubWQsICdtZDonKTtcbiAgICAgICAgdGhpcy5zZXRDbGFzc2VzKHBsYWNlbWVudC5sZywgJ2xnOicpO1xuICAgICAgICB0aGlzLnNldENsYXNzZXMocGxhY2VtZW50LnhsLCAneGw6Jyk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcyhwbGFjZW1lbnQueHhsLCAnMnhsOicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2xhc3NlcyhwbGFjZW1lbnQ6IEFYUEdyaWRQbGFjZW1lbnQgfCB1bmRlZmluZWQsIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChwbGFjZW1lbnQgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGNvbFN0YXJ0ID0gcGxhY2VtZW50LmNvbFN0YXJ0ID8gYCR7cHJlZml4fWF4LWNvbC1zdGFydC0ke3BsYWNlbWVudC5jb2xTdGFydH1gIDogJyc7XG4gICAgICAgIGNvbnN0IGNvbEVuZCA9IHBsYWNlbWVudC5jb2xFbmQgPyBgJHtwcmVmaXh9YXgtY29sLWVuZC0ke3BsYWNlbWVudC5jb2xFbmR9YCA6ICcnO1xuICAgICAgICBjb25zdCBjb2xTcGFuID0gcGxhY2VtZW50LmNvbFNwYW4gPyBgJHtwcmVmaXh9YXgtY29sLXNwYW4tJHtwbGFjZW1lbnQuY29sU3Bhbn1gIDogJyc7XG4gICAgICAgIGNvbnN0IHJvd1N0YXJ0ID0gcGxhY2VtZW50LnJvd1N0YXJ0ID8gYCR7cHJlZml4fWF4LXJvdy1zdGFydC0ke3BsYWNlbWVudC5yb3dTdGFydH1gIDogJyc7XG4gICAgICAgIGNvbnN0IHJvd0VuZCA9IHBsYWNlbWVudC5yb3dFbmQgPyBgJHtwcmVmaXh9YXgtcm93LWVuZC0ke3BsYWNlbWVudC5yb3dFbmR9YCA6ICcnO1xuICAgICAgICBjb25zdCByb3dTcGFuID0gcGxhY2VtZW50LnJvd1NwYW4gPyBgJHtwcmVmaXh9YXgtcm93LXNwYW4tJHtwbGFjZW1lbnQucm93U3Bhbn1gIDogJyc7XG4gICAgICAgIGNvbnN0IG9yZGVyID0gcGxhY2VtZW50Lm9yZGVyID8gYCR7cHJlZml4fWF4LW9yZGVyLSR7cGxhY2VtZW50Lm9yZGVyfWAgOiAnJzsgLy8gSGFuZGxpbmcgb3JkZXJcblxuICAgICAgICBbY29sU3RhcnQsIGNvbEVuZCwgY29sU3Bhbiwgcm93U3RhcnQsIHJvd0VuZCwgcm93U3Bhbiwgb3JkZXJdLmZvckVhY2goY2xzID0+IHtcbiAgICAgICAgICAgIGlmIChjbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzc2VzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5zcGxpdCgnICcpO1xuICAgICAgICBjdXJyZW50Q2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKCdheC1jb2wtJykgfHwgY2xhc3NOYW1lLnN0YXJ0c1dpdGgoJ2F4LXJvdy0nKSB8fCBjbGFzc05hbWUuc3RhcnRzV2l0aCgnYXgtb3JkZXItJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, ElementRef, ViewContainerRef, computed, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPContentCheckerDirective {\n constructor() {\n this.viewContainerRef = inject(ViewContainerRef);\n this.elementRef = inject((ElementRef));\n this.isEmpty = computed(() => this.viewContainerRef.length === 0);\n }\n ngAfterViewInit() {\n setTimeout(() => {\n console.log(this.elementRef.nativeElement.childNodes);\n }, 1000);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPContentCheckerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXPContentCheckerDirective, isStandalone: true, selector: \"[axp-content-checker]\", exportAs: [\"checker\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPContentCheckerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-content-checker]',\n standalone: true,\n exportAs: 'checker'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jaGVja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvY29udGVudC1jaGVja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4Q0FBOEM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUYsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU9XLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBK0IsTUFBTSxDQUFDLENBQUEsVUFBMEIsQ0FBQSxDQUFDLENBQUM7UUFFNUUsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBUXZFO0lBTkcsZUFBZTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7OEdBWFEsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxTQUFTO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9hcHAvZGlyZWN0aXZlcy9ncmlkLWxheW91dC5kaXJlY3RpdmUudHNcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2F4cC1jb250ZW50LWNoZWNrZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGV4cG9ydEFzOiAnY2hlY2tlcidcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29udGVudENoZWNrZXJEaXJlY3RpdmUge1xuXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KTtcblxuICAgIHB1YmxpYyBpc0VtcHR5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmxlbmd0aCA9PT0gMCk7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxufVxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXPDataGenerator } from '../data/data-generator';\nimport { isUndefined } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nexport class AXPBroadcastEventService {\n constructor() {\n this.eventSubjects = new Map();\n this.pendingRequests = new Map();\n this.multiTabEventHistory = new Set(); // Prevent duplicate processing of the same event\n this.channel = new BroadcastChannel('platform_global_events');\n // Handle incoming messages\n this.channel.onmessage = (event) => {\n const { type, payload, requestId, response } = event.data;\n // Prevent processing the same event multiple times (multi-tab synchronization)\n if (requestId && this.multiTabEventHistory.has(requestId)) {\n return;\n }\n if (requestId) {\n this.multiTabEventHistory.add(requestId); // Store processed requestId\n setTimeout(() => this.multiTabEventHistory.delete(requestId), 10000); // Cleanup after 10 sec\n }\n // Handle responses to pending requests\n if (requestId && !isUndefined(response) && this.pendingRequests.has(requestId)) {\n this.pendingRequests.get(requestId)(response);\n this.pendingRequests.delete(requestId);\n return;\n }\n // Handle normal broadcast events\n if (type && this.eventSubjects.has(type)) {\n this.eventSubjects.get(type).next({ data: payload, requestId });\n }\n };\n }\n /**\n * Publish an event without expecting a response\n */\n publish(type, payload) {\n this.channel.postMessage({ type, payload });\n }\n /**\n * Subscribe to an event\n */\n listen(type) {\n if (!this.eventSubjects.has(type)) {\n this.eventSubjects.set(type, new Subject());\n }\n return this.eventSubjects.get(type).asObservable();\n }\n /**\n * Unsubscribe from an event\n */\n unsubscribe(type) {\n if (this.eventSubjects.has(type)) {\n this.eventSubjects.get(type).complete();\n this.eventSubjects.delete(type);\n }\n }\n /**\n * Send a message and wait for a response with retry logic\n */\n async sendAndWaitForResponse(type, payload, options = { timeout: 60 * 60 * 1000, retries: 3, retryDelay: 1000 }) {\n const requestId = AXPDataGenerator.uuid();\n const attemptRequest = (attempt) => {\n return new Promise((resolve, reject) => {\n this.pendingRequests.set(requestId, resolve);\n this.channel.postMessage({ type, payload, requestId });\n setTimeout(() => {\n if (this.pendingRequests.has(requestId)) {\n this.pendingRequests.delete(requestId);\n if (attempt < options.retries) {\n console.warn(`Retrying request '${type}' (${attempt + 1}/${options.retries})...`);\n resolve(attemptRequest(attempt + 1)); // Retry request\n }\n else {\n reject(new Error(`Timeout: No response received for event '${type}' after ${options.retries} attempts.`));\n }\n }\n }, options.timeout);\n });\n };\n return attemptRequest(0);\n }\n /**\n * Respond to a request\n */\n respondToRequest(requestId, response) {\n if (!requestId) {\n console.warn('Invalid requestId. Cannot send response.');\n return;\n }\n this.channel.postMessage({ requestId, response });\n }\n /**\n * Cleanup when the service is destroyed\n */\n ngOnDestroy() {\n this.channel.close();\n // Complete all subjects\n this.eventSubjects.forEach((subject) => subject.complete());\n this.eventSubjects.clear();\n // Reject all pending requests to avoid dangling promises\n this.pendingRequests.forEach((resolve, requestId) => {\n resolve(Promise.reject(new Error(`Service destroyed. Request ${requestId} was not completed.`)));\n });\n this.pendingRequests.clear();\n // Cleanup multi-tab event history\n this.multiTabEventHistory.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V2ZW50LXNlcnZpY2UvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQztRQUpRLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXNELENBQUM7UUFDOUUsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztRQUM3RCx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDLENBQUMsaURBQWlEO1FBRy9GLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzFELCtFQUErRTtZQUMvRSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsNEJBQTRC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SSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsOEJBQThCLFNBQVMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0E3SFEsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGckIsTUFBTTs7MkZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQRGF0YUdlbmVyYXRvciB9IGZyb20gJy4uL2RhdGEvZGF0YS1nZW5lcmF0b3InO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUEJyb2FkY2FzdEV2ZW50U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjaGFubmVsOiBCcm9hZGNhc3RDaGFubmVsO1xuICAgIHByaXZhdGUgZXZlbnRTdWJqZWN0cyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJqZWN0PHsgZGF0YTogYW55LCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4+KCk7XG4gICAgcHJpdmF0ZSBwZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgKHJlc3BvbnNlOiBhbnkpID0+IHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBtdWx0aVRhYkV2ZW50SGlzdG9yeSA9IG5ldyBTZXQ8c3RyaW5nPigpOyAvLyBQcmV2ZW50IGR1cGxpY2F0ZSBwcm9jZXNzaW5nIG9mIHRoZSBzYW1lIGV2ZW50XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jaGFubmVsID0gbmV3IEJyb2FkY2FzdENoYW5uZWwoJ3BsYXRmb3JtX2dsb2JhbF9ldmVudHMnKTtcblxuICAgICAgICAvLyBIYW5kbGUgaW5jb21pbmcgbWVzc2FnZXNcbiAgICAgICAgdGhpcy5jaGFubmVsLm9ubWVzc2FnZSA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlLCBwYXlsb2FkLCByZXF1ZXN0SWQsIHJlc3BvbnNlIH0gPSBldmVudC5kYXRhO1xuICAgICAgICAgICAgLy8gUHJldmVudCBwcm9jZXNzaW5nIHRoZSBzYW1lIGV2ZW50IG11bHRpcGxlIHRpbWVzIChtdWx0aS10YWIgc3luY2hyb25pemF0aW9uKVxuICAgICAgICAgICAgaWYgKHJlcXVlc3RJZCAmJiB0aGlzLm11bHRpVGFiRXZlbnRIaXN0b3J5LmhhcyhyZXF1ZXN0SWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVxdWVzdElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5hZGQocmVxdWVzdElkKTsgLy8gU3RvcmUgcHJvY2Vzc2VkIHJlcXVlc3RJZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5kZWxldGUocmVxdWVzdElkKSwgMTAwMDApOyAvLyBDbGVhbnVwIGFmdGVyIDEwIHNlY1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIYW5kbGUgcmVzcG9uc2VzIHRvIHBlbmRpbmcgcmVxdWVzdHNcbiAgICAgICAgICAgIGlmIChyZXF1ZXN0SWQgJiYgIWlzVW5kZWZpbmVkKHJlc3BvbnNlKSAmJiB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5oYXMocmVxdWVzdElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChyZXF1ZXN0SWQpIShyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIYW5kbGUgbm9ybWFsIGJyb2FkY2FzdCBldmVudHNcbiAgICAgICAgICAgIGlmICh0eXBlICYmIHRoaXMuZXZlbnRTdWJqZWN0cy5oYXModHlwZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuZ2V0KHR5cGUpIS5uZXh0KHsgZGF0YTogcGF5bG9hZCwgcmVxdWVzdElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggYW4gZXZlbnQgd2l0aG91dCBleHBlY3RpbmcgYSByZXNwb25zZVxuICAgICAqL1xuICAgIHB1YmxpYyBwdWJsaXNoPFQ+KHR5cGU6IHN0cmluZywgcGF5bG9hZD86IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmUgdG8gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbGlzdGVuPFQ+KHR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8eyBkYXRhOiBULCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXZlbnRTdWJqZWN0cy5oYXModHlwZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRTdWJqZWN0cy5zZXQodHlwZSwgbmV3IFN1YmplY3Q8eyBkYXRhOiBULCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4oKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0cy5nZXQodHlwZSkhLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuc3Vic2NyaWJlIGZyb20gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgdW5zdWJzY3JpYmUodHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV2ZW50U3ViamVjdHMuaGFzKHR5cGUpKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuZ2V0KHR5cGUpIS5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5ldmVudFN1YmplY3RzLmRlbGV0ZSh0eXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYSBtZXNzYWdlIGFuZCB3YWl0IGZvciBhIHJlc3BvbnNlIHdpdGggcmV0cnkgbG9naWNcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgc2VuZEFuZFdhaXRGb3JSZXNwb25zZTxULCBSPihcbiAgICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgICBwYXlsb2FkPzogVCxcbiAgICAgICAgb3B0aW9uczogeyB0aW1lb3V0OiBudW1iZXI7IHJldHJpZXM6IG51bWJlcjsgcmV0cnlEZWxheTogbnVtYmVyIH0gPSB7IHRpbWVvdXQ6IDYwICogNjAgKiAxMDAwLCByZXRyaWVzOiAzLCByZXRyeURlbGF5OiAxMDAwIH1cbiAgICApOiBQcm9taXNlPFI+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdElkID0gQVhQRGF0YUdlbmVyYXRvci51dWlkKCk7XG5cbiAgICAgICAgY29uc3QgYXR0ZW1wdFJlcXVlc3QgPSAoYXR0ZW1wdDogbnVtYmVyKTogUHJvbWlzZTxSPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLnNldChyZXF1ZXN0SWQsIHJlc29sdmUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZSwgcGF5bG9hZCwgcmVxdWVzdElkIH0pO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5oYXMocmVxdWVzdElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0ZW1wdCA8IG9wdGlvbnMucmV0cmllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUmV0cnlpbmcgcmVxdWVzdCAnJHt0eXBlfScgKCR7YXR0ZW1wdCArIDF9LyR7b3B0aW9ucy5yZXRyaWVzfSkuLi5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGF0dGVtcHRSZXF1ZXN0KGF0dGVtcHQgKyAxKSk7IC8vIFJldHJ5IHJlcXVlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgVGltZW91dDogTm8gcmVzcG9uc2UgcmVjZWl2ZWQgZm9yIGV2ZW50ICcke3R5cGV9JyBhZnRlciAke29wdGlvbnMucmV0cmllc30gYXR0ZW1wdHMuYCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgb3B0aW9ucy50aW1lb3V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBhdHRlbXB0UmVxdWVzdCgwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNwb25kIHRvIGEgcmVxdWVzdFxuICAgICAqL1xuICAgIHB1YmxpYyByZXNwb25kVG9SZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nLCByZXNwb25zZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghcmVxdWVzdElkKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgcmVxdWVzdElkLiBDYW5ub3Qgc2VuZCByZXNwb25zZS4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5uZWwucG9zdE1lc3NhZ2UoeyByZXF1ZXN0SWQsIHJlc3BvbnNlIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFudXAgd2hlbiB0aGUgc2VydmljZSBpcyBkZXN0cm95ZWRcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLmNsb3NlKCk7XG5cbiAgICAgICAgLy8gQ29tcGxldGUgYWxsIHN1YmplY3RzXG4gICAgICAgIHRoaXMuZXZlbnRTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PiBzdWJqZWN0LmNvbXBsZXRlKCkpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuY2xlYXIoKTtcblxuICAgICAgICAvLyBSZWplY3QgYWxsIHBlbmRpbmcgcmVxdWVzdHMgdG8gYXZvaWQgZGFuZ2xpbmcgcHJvbWlzZXNcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZm9yRWFjaCgocmVzb2x2ZSwgcmVxdWVzdElkKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgU2VydmljZSBkZXN0cm95ZWQuIFJlcXVlc3QgJHtyZXF1ZXN0SWR9IHdhcyBub3QgY29tcGxldGVkLmApKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpO1xuXG4gICAgICAgIC8vIENsZWFudXAgbXVsdGktdGFiIGV2ZW50IGhpc3RvcnlcbiAgICAgICAgdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5jbGVhcigpO1xuICAgIH1cbn1cbiJdfQ==","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPExpressionEvaluatorScopeProviderContext {\n constructor() {\n this.scopes = {};\n }\n addScope(namespace, functions) {\n this.scopes[namespace] = { ...this.scopes[namespace], ...functions };\n }\n getScopes() {\n return this.scopes;\n }\n}\nexport const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER = new InjectionToken('AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER');\nexport class AXPExpressionEvaluatorScopeProviderService {\n constructor() {\n this.providers = inject(AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache)\n return;\n const context = new AXPExpressionEvaluatorScopeProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n this.cache = context.getScopes();\n }\n async getScopesAsync() {\n await this.load();\n return this.cache || {};\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi1ldmFsdWF0b3Itc2NvcGUtcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V4cHJlc3Npb24tZXZhbHVhdG9yL2V4cHJlc3Npb24tZXZhbHVhdG9yLXNjb3BlLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9uRSxNQUFNLE9BQU8sMENBQTBDO0lBQXZEO1FBQ1ksV0FBTSxHQUFnQyxFQUFFLENBQUM7SUFPckQsQ0FBQztJQU5HLFFBQVEsQ0FBQyxTQUFpQixFQUFFLFNBQXVDO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0o7QUFHRCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxJQUFJLGNBQWMsQ0FDckUseUNBQXlDLENBQzVDLENBQUM7QUFHRixNQUFNLE9BQU8sMENBQTBDO0lBRHZEO1FBRVksY0FBUyxHQUFHLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLFVBQUssR0FBdUMsSUFBSSxDQUFDO0tBaUI1RDtJQWZXLEtBQUssQ0FBQyxJQUFJO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQ0FBMEMsRUFBRSxDQUFDO1FBQ2pFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FsQlEsMENBQTBDO2tIQUExQywwQ0FBMEMsY0FEN0IsTUFBTTs7MkZBQ25CLDBDQUEwQztrQkFEdEQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgfSBmcm9tICcuL2V4cHJlc3Npb24tZXZhbHVhdG9yLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcbiAgICBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQge1xuICAgIHByaXZhdGUgc2NvcGVzOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgPSB7fTtcbiAgICBhZGRTY29wZShuYW1lc3BhY2U6IHN0cmluZywgZnVuY3Rpb25zOiB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvbiB9KSB7XG4gICAgICAgIHRoaXMuc2NvcGVzW25hbWVzcGFjZV0gPSB7IC4uLnRoaXMuc2NvcGVzW25hbWVzcGFjZV0sIC4uLmZ1bmN0aW9ucyB9O1xuICAgIH1cbiAgICBnZXRTY29wZXMoKTogQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NvcGVzO1xuICAgIH1cbn1cbmV4cG9ydCB0eXBlIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVycyA9IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyW10gfCAoKCkgPT4gQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJbXSk7XG5cbmV4cG9ydCBjb25zdCBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJzPihcbiAgICAnQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSJ1xuKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIGNhY2hlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQoKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcHJvdmlkZXIucHJvdmlkZShjb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhY2hlID0gY29udGV4dC5nZXRTY29wZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2NvcGVzQXN5bmMoKTogUHJvbWlzZTxBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGU+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlIHx8IHt9O1xuICAgIH1cbn0gIl19","import { Injectable, inject } from '@angular/core';\nimport { AXPExpressionEvaluatorScopeProviderService } from './expression-evaluator-scope-provider.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPExpressionEvaluatorService {\n constructor() {\n // Memoization cache for compiled expressions\n this.expressionCache = new Map();\n this.providerService = inject(AXPExpressionEvaluatorScopeProviderService);\n }\n getOrCompileFunction(expression) {\n if (!this.expressionCache.has(expression)) {\n const fn = new Function('scope', `with (scope) { return (async function() { return ${expression}; })(); }`);\n this.expressionCache.set(expression, fn);\n }\n return this.expressionCache.get(expression);\n }\n async getMergedScope(userScope) {\n const pluginScopes = await this.providerService.getScopesAsync();\n // Merge pluginScopes and userScope (userScope takes precedence)\n return { ...pluginScopes, ...userScope };\n }\n async evaluate(source, scope) {\n try {\n const mergedScope = await this.getMergedScope(scope);\n if (typeof source === 'string' && source.includes('{{')) {\n return await this.evaluateStringExpression(source, mergedScope);\n }\n else if (Array.isArray(source)) {\n const evaluatedArray = [];\n for (const item of source) {\n evaluatedArray.push(await this.evaluate(item, mergedScope));\n }\n return evaluatedArray;\n }\n else if (typeof source === 'object' && source !== null) {\n const evaluatedObject = {};\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n evaluatedObject[key] = await this.evaluate(source[key], mergedScope);\n }\n }\n return evaluatedObject;\n }\n else {\n return source;\n }\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async evaluateStringExpression(templateExpression, scope) {\n // Check if the input is exactly a single {{ ... }} expression\n const exactMatch = templateExpression.match(/^\\s*\\{\\{\\s*(.*?)\\s*\\}\\}\\s*$/);\n if (exactMatch) {\n const expression = exactMatch[1];\n const sandbox = this.getOrCompileFunction(expression);\n return await sandbox(scope);\n }\n // Otherwise, interpolate all {{ ... }} expressions in the string\n const regex = /\\{\\{\\s*(.*?)\\s*\\}\\}/g;\n // Collect all matches and their positions\n const matches = [];\n let match;\n while ((match = regex.exec(templateExpression)) !== null) {\n matches.push({\n expression: match[1],\n start: match.index,\n end: regex.lastIndex,\n raw: match[0],\n });\n }\n // Evaluate all expressions in parallel\n const values = await Promise.all(matches.map(m => {\n const sandbox = this.getOrCompileFunction(m.expression);\n return sandbox(scope);\n }));\n // Reconstruct the string with evaluated values\n let result = '';\n let lastIndex = 0;\n matches.forEach((m, i) => {\n result += templateExpression.slice(lastIndex, m.start);\n const value = values[i];\n result += value !== undefined && value !== null ? value : '';\n lastIndex = m.end;\n });\n result += templateExpression.slice(lastIndex);\n return result;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi1ldmFsdWF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V4cHJlc3Npb24tZXZhbHVhdG9yL2V4cHJlc3Npb24tZXZhbHVhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBSzNHLE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFRSw2Q0FBNkM7UUFDckMsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUM5QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0tBb0Y5RTtJQWxGUyxvQkFBb0IsQ0FBQyxVQUFrQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELFVBQVUsV0FBVyxDQUFDLENBQUM7WUFDNUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDO0lBQy9DLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQXNDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqRSxnRUFBZ0U7UUFDaEUsT0FBTyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBbUIsRUFBRSxLQUFrQztRQUMzRSxJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNsRSxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQzFCLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO2dCQUNELE9BQU8sY0FBYyxDQUFDO1lBQ3hCLENBQUM7aUJBQU0sSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN6RCxNQUFNLGVBQWUsR0FBUSxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ3pCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMvQixlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDdkUsQ0FBQztnQkFDSCxDQUFDO2dCQUNELE9BQU8sZUFBZSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLHdCQUF3QixDQUFDLGtCQUEwQixFQUFFLEtBQWtDO1FBQ25HLDhEQUE4RDtRQUM5RCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMzRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RCxPQUFPLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxpRUFBaUU7UUFDakUsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUM7UUFDckMsMENBQTBDO1FBQzFDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLEtBQUssQ0FBQztRQUNWLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDWCxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixHQUFHLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQ3BCLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELHVDQUF1QztRQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRiwrQ0FBK0M7UUFDL0MsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBdEZVLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07OzJGQUNuQiw2QkFBNkI7a0JBRHpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL2V4cHJlc3Npb24tZXZhbHVhdG9yLXNjb3BlLXByb3ZpZGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgPSB7IFtuYW1lOiBzdHJpbmddOiB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvbiB9IH07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNlcnZpY2Uge1xuICAvLyBNZW1vaXphdGlvbiBjYWNoZSBmb3IgY29tcGlsZWQgZXhwcmVzc2lvbnNcbiAgcHJpdmF0ZSBleHByZXNzaW9uQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgRnVuY3Rpb24+KCk7XG4gIHByaXZhdGUgcHJvdmlkZXJTZXJ2aWNlID0gaW5qZWN0KEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXRPckNvbXBpbGVGdW5jdGlvbihleHByZXNzaW9uOiBzdHJpbmcpOiBGdW5jdGlvbiB7XG4gICAgaWYgKCF0aGlzLmV4cHJlc3Npb25DYWNoZS5oYXMoZXhwcmVzc2lvbikpIHtcbiAgICAgIGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGB3aXRoIChzY29wZSkgeyByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSkoKTsgfWApO1xuICAgICAgdGhpcy5leHByZXNzaW9uQ2FjaGUuc2V0KGV4cHJlc3Npb24sIGZuKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbkNhY2hlLmdldChleHByZXNzaW9uKSE7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE1lcmdlZFNjb3BlKHVzZXJTY29wZTogQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlKTogUHJvbWlzZTxBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGU+IHtcbiAgICBjb25zdCBwbHVnaW5TY29wZXMgPSBhd2FpdCB0aGlzLnByb3ZpZGVyU2VydmljZS5nZXRTY29wZXNBc3luYygpO1xuICAgIC8vIE1lcmdlIHBsdWdpblNjb3BlcyBhbmQgdXNlclNjb3BlICh1c2VyU2NvcGUgdGFrZXMgcHJlY2VkZW5jZSlcbiAgICByZXR1cm4geyAuLi5wbHVnaW5TY29wZXMsIC4uLnVzZXJTY29wZSB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGV2YWx1YXRlKHNvdXJjZTogYW55IHwgYW55W10sIHNjb3BlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpOiBQcm9taXNlPGFueT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtZXJnZWRTY29wZSA9IGF3YWl0IHRoaXMuZ2V0TWVyZ2VkU2NvcGUoc2NvcGUpO1xuICAgICAgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdzdHJpbmcnICYmIHNvdXJjZS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5ldmFsdWF0ZVN0cmluZ0V4cHJlc3Npb24oc291cmNlLCBtZXJnZWRTY29wZSk7XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkge1xuICAgICAgICBjb25zdCBldmFsdWF0ZWRBcnJheSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlKSB7XG4gICAgICAgICAgZXZhbHVhdGVkQXJyYXkucHVzaChhd2FpdCB0aGlzLmV2YWx1YXRlKGl0ZW0sIG1lcmdlZFNjb3BlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV2YWx1YXRlZEFycmF5O1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc291cmNlID09PSAnb2JqZWN0JyAmJiBzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZXZhbHVhdGVkT2JqZWN0OiBhbnkgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBldmFsdWF0ZWRPYmplY3Rba2V5XSA9IGF3YWl0IHRoaXMuZXZhbHVhdGUoc291cmNlW2tleV0sIG1lcmdlZFNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV2YWx1YXRlZE9iamVjdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV2YWx1YXRpbmcgZXhwcmVzc2lvbjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBldmFsdWF0ZVN0cmluZ0V4cHJlc3Npb24odGVtcGxhdGVFeHByZXNzaW9uOiBzdHJpbmcsIHNjb3BlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIENoZWNrIGlmIHRoZSBpbnB1dCBpcyBleGFjdGx5IGEgc2luZ2xlIHt7IC4uLiB9fSBleHByZXNzaW9uXG4gICAgY29uc3QgZXhhY3RNYXRjaCA9IHRlbXBsYXRlRXhwcmVzc2lvbi5tYXRjaCgvXlxccypcXHtcXHtcXHMqKC4qPylcXHMqXFx9XFx9XFxzKiQvKTtcbiAgICBpZiAoZXhhY3RNYXRjaCkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGV4YWN0TWF0Y2hbMV07XG4gICAgICBjb25zdCBzYW5kYm94ID0gdGhpcy5nZXRPckNvbXBpbGVGdW5jdGlvbihleHByZXNzaW9uKTtcbiAgICAgIHJldHVybiBhd2FpdCBzYW5kYm94KHNjb3BlKTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCBpbnRlcnBvbGF0ZSBhbGwge3sgLi4uIH19IGV4cHJlc3Npb25zIGluIHRoZSBzdHJpbmdcbiAgICBjb25zdCByZWdleCA9IC9cXHtcXHtcXHMqKC4qPylcXHMqXFx9XFx9L2c7XG4gICAgLy8gQ29sbGVjdCBhbGwgbWF0Y2hlcyBhbmQgdGhlaXIgcG9zaXRpb25zXG4gICAgY29uc3QgbWF0Y2hlcyA9IFtdO1xuICAgIGxldCBtYXRjaDtcbiAgICB3aGlsZSAoKG1hdGNoID0gcmVnZXguZXhlYyh0ZW1wbGF0ZUV4cHJlc3Npb24pKSAhPT0gbnVsbCkge1xuICAgICAgbWF0Y2hlcy5wdXNoKHtcbiAgICAgICAgZXhwcmVzc2lvbjogbWF0Y2hbMV0sXG4gICAgICAgIHN0YXJ0OiBtYXRjaC5pbmRleCxcbiAgICAgICAgZW5kOiByZWdleC5sYXN0SW5kZXgsXG4gICAgICAgIHJhdzogbWF0Y2hbMF0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gRXZhbHVhdGUgYWxsIGV4cHJlc3Npb25zIGluIHBhcmFsbGVsXG4gICAgY29uc3QgdmFsdWVzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBtYXRjaGVzLm1hcChtID0+IHtcbiAgICAgICAgY29uc3Qgc2FuZGJveCA9IHRoaXMuZ2V0T3JDb21waWxlRnVuY3Rpb24obS5leHByZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIHNhbmRib3goc2NvcGUpO1xuICAgICAgfSlcbiAgICApO1xuICAgIC8vIFJlY29uc3RydWN0IHRoZSBzdHJpbmcgd2l0aCBldmFsdWF0ZWQgdmFsdWVzXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgIG1hdGNoZXMuZm9yRWFjaCgobSwgaSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IHRlbXBsYXRlRXhwcmVzc2lvbi5zbGljZShsYXN0SW5kZXgsIG0uc3RhcnQpO1xuICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaV07XG4gICAgICByZXN1bHQgKz0gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCA/IHZhbHVlIDogJyc7XG4gICAgICBsYXN0SW5kZXggPSBtLmVuZDtcbiAgICB9KTtcbiAgICByZXN1bHQgKz0gdGVtcGxhdGVFeHByZXNzaW9uLnNsaWNlKGxhc3RJbmRleCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19","import { Injectable, inject, provideAppInitializer } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPAppStartUpService {\n constructor() {\n this.tasks = [];\n }\n registerTask(task) {\n this.tasks.push(task);\n }\n async runAllTasks() {\n for (const task of this.tasks.sort((a, b) => a.priority - b.priority)) {\n console.log(`Running \"${task.statusText}\" with priority \"${task.priority}\"`);\n this.updateStatus(task.statusText);\n await task.run();\n }\n }\n updateStatus(status) {\n const loadingText = document.querySelector('#loadingText');\n if (loadingText) {\n loadingText.innerHTML = status;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\nfunction initAppFactory(appInitService) {\n return () => appInitService.runAllTasks();\n}\nexport const AXPAppStartUpProvider = provideAppInitializer(() => {\n const initializerFn = initAppFactory(inject(AXPAppStartUpService));\n return initializerFn();\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3N0YXJ0dXAvYXBwLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLFVBQUssR0FBcUIsRUFBRSxDQUFDO0tBb0J0QztJQWxCQyxZQUFZLENBQUMsSUFBb0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVLG9CQUFvQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixXQUFXLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQzs4R0FwQlUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUF3QkQsU0FBUyxjQUFjLENBQUMsY0FBb0M7SUFDMUQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtJQUM5RCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUNuRSxPQUFPLGFBQWEsRUFBRSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0LCBwcm92aWRlQXBwSW5pdGlhbGl6ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFN0YXJ0VXBUYXNrIH0gZnJvbSAnLi9hcHAtc3RhcnR1cC50eXBlcyc7XG5cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQXBwU3RhcnRVcFNlcnZpY2Uge1xuICBwcml2YXRlIHRhc2tzOiBBWFBTdGFydFVwVGFza1tdID0gW107XG5cbiAgcmVnaXN0ZXJUYXNrKHRhc2s6IEFYUFN0YXJ0VXBUYXNrKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKHRhc2spO1xuICB9XG5cbiAgYXN5bmMgcnVuQWxsVGFza3MoKSB7XG4gICAgZm9yIChjb25zdCB0YXNrIG9mIHRoaXMudGFza3Muc29ydCgoYSwgYikgPT4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHkpKSB7XG4gICAgICBjb25zb2xlLmxvZyhgUnVubmluZyBcIiR7dGFzay5zdGF0dXNUZXh0fVwiIHdpdGggcHJpb3JpdHkgXCIke3Rhc2sucHJpb3JpdHl9XCJgKTtcbiAgICAgIHRoaXMudXBkYXRlU3RhdHVzKHRhc2suc3RhdHVzVGV4dCk7XG4gICAgICBhd2FpdCB0YXNrLnJ1bigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdHVzKHN0YXR1czogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9hZGluZ1RleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbG9hZGluZ1RleHQnKTtcbiAgICBpZiAobG9hZGluZ1RleHQpIHtcbiAgICAgIGxvYWRpbmdUZXh0LmlubmVySFRNTCA9IHN0YXR1cztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEFwcEZhY3RvcnkoYXBwSW5pdFNlcnZpY2U6IEFYUEFwcFN0YXJ0VXBTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiBhcHBJbml0U2VydmljZS5ydW5BbGxUYXNrcygpO1xufVxuXG5leHBvcnQgY29uc3QgQVhQQXBwU3RhcnRVcFByb3ZpZGVyID0gcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgY29uc3QgaW5pdGlhbGl6ZXJGbiA9IGluaXRBcHBGYWN0b3J5KGluamVjdChBWFBBcHBTdGFydFVwU2VydmljZSkpO1xuICByZXR1cm4gaW5pdGlhbGl6ZXJGbigpO1xufSk7XG4iXX0=","export var AXPSystemActionType;\n(function (AXPSystemActionType) {\n AXPSystemActionType[\"View\"] = \"view\";\n AXPSystemActionType[\"Create\"] = \"create\";\n AXPSystemActionType[\"Update\"] = \"update\";\n AXPSystemActionType[\"Delete\"] = \"delete\";\n AXPSystemActionType[\"Approve\"] = \"approve\";\n AXPSystemActionType[\"Reject\"] = \"reject\";\n AXPSystemActionType[\"Submit\"] = \"submit\";\n AXPSystemActionType[\"Export\"] = \"export\";\n AXPSystemActionType[\"Import\"] = \"import\";\n AXPSystemActionType[\"Print\"] = \"print\";\n AXPSystemActionType[\"Assign\"] = \"assign\";\n AXPSystemActionType[\"Lock\"] = \"lock\";\n AXPSystemActionType[\"Unlock\"] = \"unlock\";\n AXPSystemActionType[\"Share\"] = \"share\";\n AXPSystemActionType[\"Configure\"] = \"configure\";\n AXPSystemActionType[\"Reorder\"] = \"reorder\";\n AXPSystemActionType[\"Preview\"] = \"preview\";\n AXPSystemActionType[\"Duplicate\"] = \"duplicate\";\n AXPSystemActionType[\"Archive\"] = \"archive\";\n AXPSystemActionType[\"Publish\"] = \"publish\";\n AXPSystemActionType[\"Unpublish\"] = \"unpublish\";\n AXPSystemActionType[\"Upload\"] = \"upload\";\n AXPSystemActionType[\"Download\"] = \"download\";\n AXPSystemActionType[\"Copy\"] = \"copy\";\n AXPSystemActionType[\"Move\"] = \"move\";\n AXPSystemActionType[\"Rename\"] = \"rename\";\n AXPSystemActionType[\"Restore\"] = \"restore\";\n})(AXPSystemActionType || (AXPSystemActionType = {}));\nconst i18n = (key) => `t('actions.${key}',{scope:'general'})`;\nexport const AXPSystemActions = Object.freeze({\n View: {\n key: AXPSystemActionType.View,\n title: i18n('view.title'),\n icon: 'fa-light fa-eye',\n color: 'default',\n descriptions: {\n button: i18n('view.button'),\n tooltip: i18n('view.tooltip'),\n permission: i18n('view.permission'),\n audit: i18n('view.audit')\n }\n },\n Create: {\n key: AXPSystemActionType.Create,\n title: i18n('create.title'),\n icon: 'fa-light fa-plus',\n color: 'success',\n descriptions: {\n button: i18n('create.button'),\n tooltip: i18n('create.tooltip'),\n permission: i18n('create.permission'),\n audit: i18n('create.audit')\n }\n },\n Edit: {\n key: AXPSystemActionType.Update,\n title: i18n('edit.title'),\n icon: 'fa-light fa-pen',\n color: 'primary',\n descriptions: {\n button: i18n('edit.button'),\n tooltip: i18n('edit.tooltip'),\n permission: i18n('edit.permission'),\n audit: i18n('edit.audit')\n }\n },\n Delete: {\n key: AXPSystemActionType.Delete,\n title: i18n('delete.title'),\n icon: 'fa-light fa-trash',\n color: 'danger',\n critical: true,\n descriptions: {\n button: i18n('delete.button'),\n tooltip: i18n('delete.tooltip'),\n permission: i18n('delete.permission'),\n audit: i18n('delete.audit')\n }\n },\n Approve: {\n key: AXPSystemActionType.Approve,\n title: i18n('approve.title'),\n icon: 'fa-light fa-circle-check',\n color: 'success',\n critical: true,\n descriptions: {\n button: i18n('approve.button'),\n tooltip: i18n('approve.tooltip'),\n permission: i18n('approve.permission'),\n audit: i18n('approve.audit')\n }\n },\n Submit: {\n key: AXPSystemActionType.Submit,\n title: i18n('submit.title'),\n icon: 'fa-light fa-paper-plane',\n color: 'primary',\n descriptions: {\n button: i18n('submit.button'),\n tooltip: i18n('submit.tooltip'),\n permission: i18n('submit.permission'),\n audit: i18n('submit.audit')\n }\n },\n Reject: {\n key: AXPSystemActionType.Reject,\n title: i18n('reject.title'),\n icon: 'fa-light fa-ban',\n color: 'danger',\n critical: true,\n descriptions: {\n button: i18n('reject.button'),\n tooltip: i18n('reject.tooltip'),\n permission: i18n('reject.permission'),\n audit: i18n('reject.audit')\n }\n },\n Export: {\n key: AXPSystemActionType.Export,\n title: i18n('export.title'),\n icon: 'fa-light fa-download',\n color: 'default',\n descriptions: {\n button: i18n('export.button'),\n tooltip: i18n('export.tooltip'),\n permission: i18n('export.permission'),\n audit: i18n('export.audit')\n }\n },\n Import: {\n key: AXPSystemActionType.Import,\n title: i18n('import.title'),\n icon: 'fa-light fa-upload',\n color: 'default',\n descriptions: {\n button: i18n('import.button'),\n tooltip: i18n('import.tooltip'),\n permission: i18n('import.permission'),\n audit: i18n('import.audit')\n }\n },\n Print: {\n key: AXPSystemActionType.Print,\n title: i18n('print.title'),\n icon: 'fa-light fa-print',\n color: 'default',\n descriptions: {\n button: i18n('print.button'),\n tooltip: i18n('print.tooltip'),\n permission: i18n('print.permission'),\n audit: i18n('print.audit')\n }\n },\n Duplicate: {\n key: AXPSystemActionType.Duplicate,\n title: i18n('duplicate.title'),\n icon: 'fa-light fa-clone',\n color: 'warning',\n descriptions: {\n button: i18n('duplicate.button'),\n tooltip: i18n('duplicate.tooltip'),\n permission: i18n('duplicate.permission'),\n audit: i18n('duplicate.audit')\n }\n },\n Archive: {\n key: AXPSystemActionType.Archive,\n title: i18n('archive.title'),\n icon: 'fa-light fa-box-archive',\n color: 'neutral',\n descriptions: {\n button: i18n('archive.button'),\n tooltip: i18n('archive.tooltip'),\n permission: i18n('archive.permission'),\n audit: i18n('archive.audit')\n }\n },\n Restore: {\n key: AXPSystemActionType.Restore,\n title: i18n('restore.title'),\n icon: 'fa-light fa-arrow-rotate-left',\n color: 'info',\n descriptions: {\n button: i18n('restore.button'),\n tooltip: i18n('restore.tooltip'),\n permission: i18n('restore.permission'),\n audit: i18n('restore.audit')\n }\n },\n Assign: {\n key: AXPSystemActionType.Assign,\n title: i18n('assign.title'),\n icon: 'fa-light fa-user-plus',\n color: 'primary',\n descriptions: {\n button: i18n('assign.button'),\n tooltip: i18n('assign.tooltip'),\n permission: i18n('assign.permission'),\n audit: i18n('assign.audit')\n }\n },\n Lock: {\n key: AXPSystemActionType.Lock,\n title: i18n('lock.title'),\n icon: 'fa-light fa-lock',\n color: 'warning',\n descriptions: {\n button: i18n('lock.button'),\n tooltip: i18n('lock.tooltip'),\n permission: i18n('lock.permission'),\n audit: i18n('lock.audit')\n }\n },\n Unlock: {\n key: AXPSystemActionType.Unlock,\n title: i18n('unlock.title'),\n icon: 'fa-light fa-unlock',\n color: 'success',\n descriptions: {\n button: i18n('unlock.button'),\n tooltip: i18n('unlock.tooltip'),\n permission: i18n('unlock.permission'),\n audit: i18n('unlock.audit')\n }\n },\n Share: {\n key: AXPSystemActionType.Share,\n title: i18n('share.title'),\n icon: 'fa-light fa-share-nodes',\n color: 'info',\n descriptions: {\n button: i18n('share.button'),\n tooltip: i18n('share.tooltip'),\n permission: i18n('share.permission'),\n audit: i18n('share.audit')\n }\n },\n Configure: {\n key: AXPSystemActionType.Configure,\n title: i18n('configure.title'),\n icon: 'fa-light fa-sliders',\n color: 'primary',\n descriptions: {\n button: i18n('configure.button'),\n tooltip: i18n('configure.tooltip'),\n permission: i18n('configure.permission'),\n audit: i18n('configure.audit')\n }\n },\n Reorder: {\n key: AXPSystemActionType.Reorder,\n title: i18n('reorder.title'),\n icon: 'fa-light fa-arrow-down-up-across-line',\n color: 'default',\n descriptions: {\n button: i18n('reorder.button'),\n tooltip: i18n('reorder.tooltip'),\n permission: i18n('reorder.permission'),\n audit: i18n('reorder.audit')\n }\n },\n Preview: {\n key: AXPSystemActionType.Preview,\n title: i18n('preview.title'),\n icon: 'fa-light fa-magnifying-glass',\n color: 'default',\n descriptions: {\n button: i18n('preview.button'),\n tooltip: i18n('preview.tooltip'),\n permission: i18n('preview.permission'),\n audit: i18n('preview.audit')\n }\n },\n Publish: {\n key: AXPSystemActionType.Publish,\n title: i18n('publish.title'),\n icon: 'fa-light fa-globe',\n color: 'success',\n descriptions: {\n button: i18n('publish.button'),\n tooltip: i18n('publish.tooltip'),\n permission: i18n('publish.permission'),\n audit: i18n('publish.audit')\n }\n },\n Unpublish: {\n key: AXPSystemActionType.Unpublish,\n title: i18n('unpublish.title'),\n icon: 'fa-light fa-globe-slash',\n color: 'danger',\n descriptions: {\n button: i18n('unpublish.button'),\n tooltip: i18n('unpublish.tooltip'),\n permission: i18n('unpublish.permission'),\n audit: i18n('unpublish.audit')\n }\n },\n Upload: {\n key: AXPSystemActionType.Upload,\n title: i18n('upload.title'),\n icon: 'fa-light fa-upload',\n color: 'primary',\n descriptions: {\n button: i18n('upload.button'),\n tooltip: i18n('upload.tooltip'),\n permission: i18n('upload.permission'),\n audit: i18n('upload.audit')\n }\n },\n Download: {\n key: AXPSystemActionType.Download,\n title: i18n('download.title'),\n icon: 'fa-light fa-download',\n color: 'success',\n descriptions: {\n button: i18n('download.button'),\n tooltip: i18n('download.tooltip'),\n permission: i18n('download.permission'),\n audit: i18n('download.audit')\n }\n },\n Copy: {\n key: AXPSystemActionType.Copy,\n title: i18n('copy.title'),\n icon: 'fa-light fa-copy',\n color: 'primary',\n descriptions: {\n button: i18n('copy.button'),\n tooltip: i18n('copy.tooltip'),\n permission: i18n('copy.permission'),\n audit: i18n('copy.audit')\n }\n },\n Move: {\n key: AXPSystemActionType.Move,\n title: i18n('move.title'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n color: 'default',\n descriptions: {\n button: i18n('move.button'),\n tooltip: i18n('move.tooltip'),\n permission: i18n('move.permission'),\n audit: i18n('move.audit')\n }\n },\n Rename: {\n key: AXPSystemActionType.Rename,\n title: i18n('rename.title'),\n icon: 'fa-light fa-pen',\n color: 'default',\n descriptions: {\n button: i18n('rename.button'),\n tooltip: i18n('rename.tooltip'),\n permission: i18n('rename.permission'),\n audit: i18n('rename.audit')\n }\n },\n});\nexport function getSystemActions(type) {\n return Object.values(AXPSystemActions).find(action => action.key === type);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2FjdGlvbnMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBNEJYO0FBNUJELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0lBQ2Ysd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBdUIsQ0FBQTtJQUN2Qix3Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBcUIsQ0FBQTtJQUNyQixvQ0FBYSxDQUFBO0lBQ2Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLDBDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUE1QlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQTRCOUI7QUFlRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUMsSUFBSSxFQUFFO1FBQ0YsR0FBRyxFQUFFLG1CQUFtQixDQUFDLElBQUk7UUFDN0Is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QUFDO1lBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzlCO0tBQ0o7Q0FFK0MsQ0FBQyxDQUFDO0FBSXRELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUF5QjtJQUN0RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBWFBTeXN0ZW1BY3Rpb25UeXBlIHtcbiAgICBWaWV3ID0gJ3ZpZXcnLFxuICAgIENyZWF0ZSA9ICdjcmVhdGUnLFxuICAgIFVwZGF0ZSA9ICd1cGRhdGUnLFxuICAgIERlbGV0ZSA9ICdkZWxldGUnLFxuICAgIEFwcHJvdmUgPSAnYXBwcm92ZScsXG4gICAgUmVqZWN0ID0gJ3JlamVjdCcsXG4gICAgU3VibWl0ID0gJ3N1Ym1pdCcsXG4gICAgRXhwb3J0ID0gJ2V4cG9ydCcsXG4gICAgSW1wb3J0ID0gJ2ltcG9ydCcsXG4gICAgUHJpbnQgPSAncHJpbnQnLFxuICAgIEFzc2lnbiA9ICdhc3NpZ24nLFxuICAgIExvY2sgPSAnbG9jaycsXG4gICAgVW5sb2NrID0gJ3VubG9jaycsXG4gICAgU2hhcmUgPSAnc2hhcmUnLFxuICAgIENvbmZpZ3VyZSA9ICdjb25maWd1cmUnLFxuICAgIFJlb3JkZXIgPSAncmVvcmRlcicsXG4gICAgUHJldmlldyA9ICdwcmV2aWV3JyxcbiAgICBEdXBsaWNhdGUgPSAnZHVwbGljYXRlJyxcbiAgICBBcmNoaXZlID0gJ2FyY2hpdmUnLFxuICAgIFB1Ymxpc2ggPSAncHVibGlzaCcsXG4gICAgVW5wdWJsaXNoID0gJ3VucHVibGlzaCcsXG4gICAgVXBsb2FkID0gJ3VwbG9hZCcsXG4gICAgRG93bmxvYWQgPSAnZG93bmxvYWQnLFxuICAgIENvcHkgPSAnY29weScsXG4gICAgTW92ZSA9ICdtb3ZlJyxcbiAgICBSZW5hbWUgPSAncmVuYW1lJyxcbiAgICBSZXN0b3JlID0gJ3Jlc3RvcmUnLFxufVxuZXhwb3J0IGludGVyZmFjZSBBWFBTeXN0ZW1BY3Rpb24ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBjcml0aWNhbD86IGJvb2xlYW47XG4gICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgIGJ1dHRvbjogc3RyaW5nO1xuICAgICAgICB0b29sdGlwOiBzdHJpbmc7XG4gICAgICAgIHBlcm1pc3Npb246IHN0cmluZztcbiAgICAgICAgYXVkaXQ6IHN0cmluZztcbiAgICB9O1xufVxuXG5jb25zdCBpMThuID0gKGtleTogc3RyaW5nKSA9PiBgdCgnYWN0aW9ucy4ke2tleX0nLHtzY29wZTonZ2VuZXJhbCd9KWA7XG5cbmV4cG9ydCBjb25zdCBBWFBTeXN0ZW1BY3Rpb25zID0gT2JqZWN0LmZyZWV6ZSh7XG4gICAgVmlldzoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuVmlldyxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ZpZXcudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd2aWV3LmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigndmlldy50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCd2aWV3LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd2aWV3LmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQ3JlYXRlOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5DcmVhdGUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdjcmVhdGUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsdXMnLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignY3JlYXRlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignY3JlYXRlLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2NyZWF0ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignY3JlYXRlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgRWRpdDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuVXBkYXRlLFxuICAgICAgICB0aXRsZTogaTE4bignZWRpdC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcGVuJyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ2VkaXQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdlZGl0LnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2VkaXQucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ2VkaXQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBEZWxldGU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkRlbGV0ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2RlbGV0ZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdHJhc2gnLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIGNyaXRpY2FsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignZGVsZXRlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignZGVsZXRlLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2RlbGV0ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignZGVsZXRlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQXBwcm92ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuQXBwcm92ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2FwcHJvdmUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNpcmNsZS1jaGVjaycsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGNyaXRpY2FsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignYXBwcm92ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2FwcHJvdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXBwcm92ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignYXBwcm92ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFN1Ym1pdDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuU3VibWl0LFxuICAgICAgICB0aXRsZTogaTE4bignc3VibWl0LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wYXBlci1wbGFuZScsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdzdWJtaXQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdzdWJtaXQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignc3VibWl0LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdzdWJtaXQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBSZWplY3Q6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlJlamVjdCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3JlamVjdC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICBjcml0aWNhbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ3JlamVjdC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3JlamVjdC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZWplY3QucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ3JlamVjdC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIEV4cG9ydDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRXhwb3J0LFxuICAgICAgICB0aXRsZTogaTE4bignZXhwb3J0LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1kb3dubG9hZCcsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdleHBvcnQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdleHBvcnQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignZXhwb3J0LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdleHBvcnQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBJbXBvcnQ6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkltcG9ydCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2ltcG9ydC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdXBsb2FkJyxcbiAgICAgICAgY29sb3I6ICdkZWZhdWx0JyxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ2ltcG9ydC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2ltcG9ydC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdpbXBvcnQucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ2ltcG9ydC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFByaW50OiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5QcmludCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ByaW50LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wcmludCcsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdwcmludC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3ByaW50LnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3ByaW50LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdwcmludC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIER1cGxpY2F0ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRHVwbGljYXRlLFxuICAgICAgICB0aXRsZTogaTE4bignZHVwbGljYXRlLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jbG9uZScsXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdkdXBsaWNhdGUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdkdXBsaWNhdGUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignZHVwbGljYXRlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdkdXBsaWNhdGUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBBcmNoaXZlOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5BcmNoaXZlLFxuICAgICAgICB0aXRsZTogaTE4bignYXJjaGl2ZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYm94LWFyY2hpdmUnLFxuICAgICAgICBjb2xvcjogJ25ldXRyYWwnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignYXJjaGl2ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2FyY2hpdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXJjaGl2ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignYXJjaGl2ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFJlc3RvcmU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlJlc3RvcmUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdyZXN0b3JlLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1hcnJvdy1yb3RhdGUtbGVmdCcsXG4gICAgICAgIGNvbG9yOiAnaW5mbycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdyZXN0b3JlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVzdG9yZS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZXN0b3JlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdyZXN0b3JlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQXNzaWduOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Bc3NpZ24sXG4gICAgICAgIHRpdGxlOiBpMThuKCdhc3NpZ24udGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVzZXItcGx1cycsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdhc3NpZ24uYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdhc3NpZ24udG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXNzaWduLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdhc3NpZ24uYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBMb2NrOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Mb2NrLFxuICAgICAgICB0aXRsZTogaTE4bignbG9jay50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbG9jaycsXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdsb2NrLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignbG9jay50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdsb2NrLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdsb2NrLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVW5sb2NrOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VbmxvY2ssXG4gICAgICAgIHRpdGxlOiBpMThuKCd1bmxvY2sudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVubG9jaycsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd1bmxvY2suYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCd1bmxvY2sudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigndW5sb2NrLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd1bmxvY2suYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBTaGFyZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuU2hhcmUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdzaGFyZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2hhcmUtbm9kZXMnLFxuICAgICAgICBjb2xvcjogJ2luZm8nLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignc2hhcmUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdzaGFyZS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdzaGFyZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignc2hhcmUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBDb25maWd1cmU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkNvbmZpZ3VyZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2NvbmZpZ3VyZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2xpZGVycycsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdjb25maWd1cmUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdjb25maWd1cmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignY29uZmlndXJlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdjb25maWd1cmUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBSZW9yZGVyOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5SZW9yZGVyLFxuICAgICAgICB0aXRsZTogaTE4bigncmVvcmRlci50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZScsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdyZW9yZGVyLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVvcmRlci50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZW9yZGVyLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdyZW9yZGVyLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgUHJldmlldzoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuUHJldmlldyxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ByZXZpZXcudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLW1hZ25pZnlpbmctZ2xhc3MnLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigncHJldmlldy5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3ByZXZpZXcudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigncHJldmlldy5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigncHJldmlldy5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFB1Ymxpc2g6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlB1Ymxpc2gsXG4gICAgICAgIHRpdGxlOiBpMThuKCdwdWJsaXNoLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1nbG9iZScsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdwdWJsaXNoLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncHVibGlzaC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdwdWJsaXNoLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdwdWJsaXNoLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVW5wdWJsaXNoOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VbnB1Ymxpc2gsXG4gICAgICAgIHRpdGxlOiBpMThuKCd1bnB1Ymxpc2gudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWdsb2JlLXNsYXNoJyxcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigndW5wdWJsaXNoLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigndW5wdWJsaXNoLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3VucHVibGlzaC5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigndW5wdWJsaXNoLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVXBsb2FkOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGxvYWQsXG4gICAgICAgIHRpdGxlOiBpMThuKCd1cGxvYWQudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVwbG9hZCcsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd1cGxvYWQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCd1cGxvYWQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigndXBsb2FkLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd1cGxvYWQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBEb3dubG9hZDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRG93bmxvYWQsXG4gICAgICAgIHRpdGxlOiBpMThuKCdkb3dubG9hZC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZG93bmxvYWQnLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignZG93bmxvYWQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdkb3dubG9hZC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdkb3dubG9hZC5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignZG93bmxvYWQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBDb3B5OiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Db3B5LFxuICAgICAgICB0aXRsZTogaTE4bignY29weS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY29weScsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdjb3B5LmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignY29weS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdjb3B5LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdjb3B5LmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgTW92ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuTW92ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ21vdmUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignbW92ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ21vdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignbW92ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignbW92ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFJlbmFtZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuUmVuYW1lLFxuICAgICAgICB0aXRsZTogaTE4bigncmVuYW1lLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wZW4nLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigncmVuYW1lLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVuYW1lLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3JlbmFtZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigncmVuYW1lLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG5cbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIEFYUFN5c3RlbUFjdGlvbj4pO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN5c3RlbUFjdGlvbnModHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZSkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEFYUFN5c3RlbUFjdGlvbnMpLmZpbmQoYWN0aW9uID0+IGFjdGlvbi5rZXkgPT09IHR5cGUpO1xufVxuIl19","export function getNestedKeys(obj, prefix = '') {\n let keys = [];\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {\n keys = [...keys, ...getNestedKeys(obj[key], prefix + key + '.')];\n }\n else {\n keys.push(prefix + key);\n }\n }\n return keys;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2NvcmUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFRLEVBQUUsU0FBaUIsRUFBRTtJQUN6RCxJQUFJLElBQUksR0FBYSxFQUFFLENBQUM7SUFDeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xGLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYUFBhcnRpYWxOZXN0ZWQ8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdPzogVFtLXSBleHRlbmRzIG9iamVjdCA/IEFYUFBhcnRpYWxOZXN0ZWQ8VFtLXT4gOiBUW0tdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5lc3RlZEtleXMob2JqOiBhbnksIHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmdbXSB7XG4gIGxldCBrZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyAmJiBvYmpba2V5XSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmpba2V5XSkpIHtcbiAgICAgIGtleXMgPSBbLi4ua2V5cywgLi4uZ2V0TmVzdGVkS2V5cyhvYmpba2V5XSwgcHJlZml4ICsga2V5ICsgJy4nKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGtleXMucHVzaChwcmVmaXggKyBrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4ga2V5cztcbn1cblxuZXhwb3J0IHR5cGUgQVhQRXhwcmVzc2lvbiA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQVhQTWV0YURhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgdHlwZSBBWFBPcHRpb25zRGF0YSA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVmFsdWVVbml0IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICByYXRpbzogbnVtYmVyO1xuICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFZhbHVlVW5pdHMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGl0ZW1zOiBBWFBWYWx1ZVVuaXRbXTtcbiAgZGVmYXVsdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVJlZmVyZW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBVc2VyUmVmZXJlbmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFwcGxpY2F0aW9uVXNlclJlZmVyZW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQVhQQ29udGVudFR5cGUgPSAndGV4dCcgfCAnaW1hZ2UnIHwgJ2ZpbGUnIHwgJ3ZpZGVvJyB8ICdsaW5rJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb250ZW50IHtcbiAgY29udGVudDogc3RyaW5nO1xuICBjb250ZW50VHlwZTogQVhQQ29udGVudFR5cGU7XG59XG4iXX0=","export class AXPImageUrlLogoConfig {\n constructor(url, width, height) {\n this.url = url;\n this.width = width;\n this.height = height;\n }\n}\nexport class AXPComponentLogoConfig {\n constructor(component) {\n this.component = component;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2xvZ28udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFtQixHQUFXLEVBQVMsS0FBYyxFQUFTLE1BQWU7UUFBMUQsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVM7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztDQUNsRjtBQUNELE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBbUIsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7Q0FDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTG9nb0NvbmZpZyB7fVxuXG5leHBvcnQgY2xhc3MgQVhQSW1hZ2VVcmxMb2dvQ29uZmlnIGltcGxlbWVudHMgQVhQTG9nb0NvbmZpZyB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1cmw6IHN0cmluZywgcHVibGljIHdpZHRoPzogbnVtYmVyLCBwdWJsaWMgaGVpZ2h0PzogbnVtYmVyKSB7fVxufVxuZXhwb3J0IGNsYXNzIEFYUENvbXBvbmVudExvZ29Db25maWcgaW1wbGVtZW50cyBBWFBMb2dvQ29uZmlnIHtcbiAgaGVpZ2h0PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICB3aWR0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogVHlwZTxhbnk+KSB7fVxufVxuIl19","export var AXPPlatformScope;\n(function (AXPPlatformScope) {\n AXPPlatformScope[\"Environment\"] = \"C\";\n AXPPlatformScope[\"Global\"] = \"G\";\n AXPPlatformScope[\"Platform\"] = \"P\";\n AXPPlatformScope[\"Tenant\"] = \"T\";\n AXPPlatformScope[\"User\"] = \"U\";\n})(AXPPlatformScope || (AXPPlatformScope = {}));\n;\nexport function resolvePlatformScopeKey(name) {\n const scopeMap = {\n environment: AXPPlatformScope.Environment,\n global: AXPPlatformScope.Global,\n platform: AXPPlatformScope.Platform,\n tenant: AXPPlatformScope.Tenant,\n user: AXPPlatformScope.User,\n };\n return scopeMap[name.toLowerCase()] ?? AXPPlatformScope.User;\n}\nexport function resolvePlatformScopeName(scope) {\n const scopeMap = {\n C: 'environment',\n G: 'global',\n P: 'platform',\n T: 'tenant',\n U: 'user',\n };\n return scopeMap[scope] ?? 'user';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi90eXBlcy9zY29wZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQ3hCLHFDQUFpQixDQUFBO0lBQ2pCLGdDQUFZLENBQUE7SUFDWixrQ0FBYyxDQUFBO0lBQ2QsZ0NBQVksQ0FBQTtJQUNaLDhCQUFVLENBQUE7QUFDZCxDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUFBLENBQUM7QUFFRixNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBWTtJQUNoRCxNQUFNLFFBQVEsR0FBd0M7UUFDbEQsV0FBVyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7UUFDekMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07UUFDL0IsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7UUFDbkMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07UUFDL0IsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7S0FDOUIsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQTBCO0lBQy9ELE1BQU0sUUFBUSxHQUF3QztRQUNsRCxDQUFDLEVBQUUsYUFBYTtRQUNoQixDQUFDLEVBQUUsUUFBUTtRQUNYLENBQUMsRUFBRSxVQUFVO1FBQ2IsQ0FBQyxFQUFFLFFBQVE7UUFDWCxDQUFDLEVBQUUsTUFBTTtLQUNaLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYUFBsYXRmb3JtU2NvcGVLZXkgPSAnQycgfCAnRycgfCAnUCcgfCAnVCcgfCAnVSc7XG5leHBvcnQgZW51bSBBWFBQbGF0Zm9ybVNjb3BlIHtcbiAgICBFbnZpcm9ubWVudCA9ICdDJyxcbiAgICBHbG9iYWwgPSAnRycsXG4gICAgUGxhdGZvcm0gPSAnUCcsXG4gICAgVGVuYW50ID0gJ1QnLFxuICAgIFVzZXIgPSAnVSdcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUGxhdGZvcm1TY29wZUtleShuYW1lOiBzdHJpbmcpOiBBWFBQbGF0Zm9ybVNjb3BlS2V5IHtcbiAgICBjb25zdCBzY29wZU1hcDogUmVjb3JkPHN0cmluZywgQVhQUGxhdGZvcm1TY29wZUtleT4gPSB7XG4gICAgICAgIGVudmlyb25tZW50OiBBWFBQbGF0Zm9ybVNjb3BlLkVudmlyb25tZW50LFxuICAgICAgICBnbG9iYWw6IEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgICBwbGF0Zm9ybTogQVhQUGxhdGZvcm1TY29wZS5QbGF0Zm9ybSxcbiAgICAgICAgdGVuYW50OiBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAgICAgdXNlcjogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgIH07XG4gICAgcmV0dXJuIHNjb3BlTWFwW25hbWUudG9Mb3dlckNhc2UoKV0gPz8gQVhQUGxhdGZvcm1TY29wZS5Vc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzY29wZU1hcDogUmVjb3JkPEFYUFBsYXRmb3JtU2NvcGVLZXksIHN0cmluZz4gPSB7XG4gICAgICAgIEM6ICdlbnZpcm9ubWVudCcsXG4gICAgICAgIEc6ICdnbG9iYWwnLFxuICAgICAgICBQOiAncGxhdGZvcm0nLFxuICAgICAgICBUOiAndGVuYW50JyxcbiAgICAgICAgVTogJ3VzZXInLFxuICAgIH07XG4gICAgcmV0dXJuIHNjb3BlTWFwW3Njb3BlXSA/PyAndXNlcic7XG59Il19","import { AXCalendarService } from '@acorex/core/date-time';\nimport { inject, Pipe, signal } from '@angular/core';\nimport { interval } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class AXPCountdownPipe {\n constructor() {\n this.calendarService = inject(AXCalendarService);\n this.countdownSignal = signal(this.setupTimer());\n this.targetDate = 0;\n this.prevValue = 0;\n }\n transform(value) {\n if (this.prevValue != value) {\n this.prevValue = value;\n const expireTime = this.calendarService.calendar.add(new Date(), 'second', value).date;\n this.updateTargetDate(expireTime.toISOString());\n }\n return this.countdownSignal();\n }\n setupTimer() {\n return interval(1000).pipe(startWith(0), map(() => {\n const diff = this.targetDate - new Date().getTime();\n if (diff < 0) {\n return \"Time's up!\";\n }\n const times = [86400, 3600, 60, 1].map((seconds) => Math.floor((diff / 1000 / seconds) % (seconds === 1 ? 60 : 24)));\n const labels = ['d', 'h', 'm', 's'];\n return times\n .map((t, i) => (t > 0 || i === 3 ? `${t}${labels[i]}` : ''))\n .join(' ')\n .trim();\n }));\n }\n updateTargetDate(value) {\n this.targetDate = new Date(value).getTime();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, isStandalone: true, name: \"countdown\", pure: false }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'countdown',\n pure: false,\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLXRpbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvdXRpbHMvY291bnRkb3duLXRpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU9oRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUU1QyxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxDQUFDLENBQUM7S0FpQ3ZCO0lBL0JDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixPQUFPLFlBQVksQ0FBQztZQUN0QixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckgsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxPQUFPLEtBQUs7aUJBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDVCxJQUFJLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlDLENBQUM7OEdBdENVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUw1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGludGVydmFsLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY291bnRkb3duJyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvdW50ZG93blBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgY291bnRkb3duU2lnbmFsID0gc2lnbmFsKHRoaXMuc2V0dXBUaW1lcigpKTtcblxuICBwcml2YXRlIHRhcmdldERhdGU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgcHJldlZhbHVlID0gMDtcblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMucHJldlZhbHVlICE9IHZhbHVlKSB7XG4gICAgICB0aGlzLnByZXZWYWx1ZSA9IHZhbHVlO1xuICAgICAgY29uc3QgZXhwaXJlVGltZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyLmFkZChuZXcgRGF0ZSgpLCAnc2Vjb25kJywgdmFsdWUpLmRhdGU7XG4gICAgICB0aGlzLnVwZGF0ZVRhcmdldERhdGUoZXhwaXJlVGltZS50b0lTT1N0cmluZygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY291bnRkb3duU2lnbmFsKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwVGltZXIoKSB7XG4gICAgcmV0dXJuIGludGVydmFsKDEwMDApLnBpcGUoXG4gICAgICBzdGFydFdpdGgoMCksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy50YXJnZXREYXRlIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgIHJldHVybiBcIlRpbWUncyB1cCFcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWVzID0gWzg2NDAwLCAzNjAwLCA2MCwgMV0ubWFwKChzZWNvbmRzKSA9PiBNYXRoLmZsb29yKChkaWZmIC8gMTAwMCAvIHNlY29uZHMpICUgKHNlY29uZHMgPT09IDEgPyA2MCA6IDI0KSkpO1xuICAgICAgICBjb25zdCBsYWJlbHMgPSBbJ2QnLCAnaCcsICdtJywgJ3MnXTtcbiAgICAgICAgcmV0dXJuIHRpbWVzXG4gICAgICAgICAgLm1hcCgodCwgaSkgPT4gKHQgPiAwIHx8IGkgPT09IDMgPyBgJHt0fSR7bGFiZWxzW2ldfWAgOiAnJykpXG4gICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgIC50cmltKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRhcmdldERhdGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudGFyZ2V0RGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lKCk7XG4gIH1cbn1cbiJdfQ==","import { endsWith, get, gt, gte, includes, isEmpty, isEqual, isNil, lt, lte, orderBy, startsWith } from 'lodash-es';\nconst loggingEnabled = false; // Set to true to enable logging, false to disable\nfunction applyCondition(item, condition) {\n const rawValue = condition.field ? get(item, condition.field) : null;\n const itemValue = typeof rawValue === 'string' ? rawValue.toLowerCase() : rawValue;\n const conditionValue = typeof condition.value === 'string' ? condition.value.toLowerCase() : condition.value;\n // Conditional Logging for debugging\n if (loggingEnabled) {\n console.log('Condition:', condition);\n console.log('Item Value:', itemValue);\n console.log('Condition Value:', conditionValue);\n }\n let result;\n const valueToCompare = isNil(condition.field) || condition.field === '' ? conditionValue : itemValue;\n const conditionType = condition?.operator?.type;\n if (!conditionType) {\n return true;\n }\n switch (conditionType) {\n case 'equal':\n result = isEqual(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Equal check result:', result);\n }\n break;\n case 'notEqual':\n result = !isEqual(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Not equal check result:', result);\n }\n break;\n case 'greaterThan':\n result = gt(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Greater than check result:', result);\n }\n break;\n case 'lessThan':\n result = lt(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Less than check result:', result);\n }\n break;\n case 'greaterThanOrEqual':\n result = gte(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Greater than or equal check result:', result);\n }\n break;\n case 'lessThanOrEqual':\n result = lte(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Less than or equal check result:', result);\n }\n break;\n case 'contains':\n if (typeof valueToCompare === 'string') {\n result = includes(valueToCompare, conditionValue);\n }\n else if (Array.isArray(valueToCompare)) {\n result = includes(valueToCompare.map((val) => val.toString().toLowerCase()), conditionValue);\n }\n else {\n result = false;\n }\n if (loggingEnabled) {\n console.log('Contains check result:', result);\n }\n break;\n case 'notContains':\n if (typeof valueToCompare === 'string') {\n result = !includes(valueToCompare, conditionValue);\n }\n else if (Array.isArray(valueToCompare)) {\n result = !includes(valueToCompare.map((val) => val.toString().toLowerCase()), conditionValue);\n }\n else {\n result = false;\n }\n if (loggingEnabled) {\n console.log('Not contains check result:', result);\n }\n break;\n case 'startsWith':\n result = typeof valueToCompare === 'string' && startsWith(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Starts with check result:', result);\n }\n break;\n case 'endsWith':\n result = typeof valueToCompare === 'string' && endsWith(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Ends with check result:', result);\n }\n break;\n case 'isEmpty':\n result = isEmpty(valueToCompare);\n if (loggingEnabled) {\n console.log('Is empty check result:', result);\n }\n break;\n case 'isNull':\n result = isNil(valueToCompare);\n if (loggingEnabled) {\n console.log('Is null check result:', result);\n }\n break;\n case 'isNotEmpty':\n result = !isEmpty(valueToCompare);\n if (loggingEnabled) {\n console.log('Is not empty check result:', result);\n }\n break;\n case 'between':\n result = !isNil(valueToCompare) && valueToCompare >= condition.value.from && valueToCompare <= condition.value.to;\n if (loggingEnabled) {\n console.log('Between check result:', result);\n }\n break;\n default:\n result = true;\n if (loggingEnabled) {\n console.log('Default case, returning true');\n }\n }\n return result;\n}\nexport function applyFilterArray(dataArray, filters, logic = 'and') {\n if (filters && filters.length) {\n return dataArray.filter((item) => {\n if (logic === 'and') {\n return filters.every((f) => {\n return f.filters ? applyFilterArray([item], f.filters, f.logic).length > 0 : applyCondition(item, f);\n });\n }\n else {\n // logic === 'or'\n return filters.some((f) => {\n return f.filters ? applyFilterArray([item], f.filters, f.logic).length > 0 : applyCondition(item, f);\n });\n }\n });\n }\n else {\n return dataArray;\n }\n}\nexport function applySortArray(dataArray, sorts) {\n if (sorts && sorts.length > 0) {\n const sortFields = sorts.map((s) => s.field);\n const sortOrders = sorts.map((s) => s.dir);\n return orderBy(dataArray, sortFields, sortOrders);\n }\n else\n return dataArray;\n}\nexport function applyPagination(dataArray, skip, take) {\n return dataArray.slice(skip, skip + take);\n}\nexport async function applyQueryArray(dataArray, query) {\n let result = [...dataArray];\n // Apply filtering\n if (query.filter) {\n result = applyFilterArray(result, [query.filter], query.filter.logic ?? 'and');\n }\n // Store total count before pagination\n const total = result.length;\n // Apply sorting\n if (query.sort && query.sort.length > 0) {\n result = applySortArray(result, query.sort);\n }\n // Apply pagination\n result = applyPagination(result, query.skip, query.take);\n return {\n items: result,\n total,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb25kaXRpb25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3V0aWxzL2RhdGEtY29uZGl0aW9uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBILE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLGtEQUFrRDtBQUVoRixTQUFTLGNBQWMsQ0FBQyxJQUFTLEVBQUUsU0FBYztJQUMvQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JFLE1BQU0sU0FBUyxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkYsTUFBTSxjQUFjLEdBQUcsT0FBTyxTQUFTLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUU3RyxvQ0FBb0M7SUFDcEMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0QyxPQUFPLENB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QUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpELE9BQU87UUFDTCxLQUFLLEVBQUUsTUFBTTtRQUNiLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0LFxuICBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sXG4gIEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjayxcbiAgQVhEYXRhU291cmNlUXVlcnksXG4gIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24sXG59IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBlbmRzV2l0aCwgZ2V0LCBndCwgZ3RlLCBpbmNsdWRlcywgaXNFbXB0eSwgaXNFcXVhbCwgaXNOaWwsIGx0LCBsdGUsIG9yZGVyQnksIHN0YXJ0c1dpdGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5jb25zdCBsb2dnaW5nRW5hYmxlZCA9IGZhbHNlOyAvLyBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgbG9nZ2luZywgZmFsc2UgdG8gZGlzYWJsZVxuXG5mdW5jdGlvbiBhcHBseUNvbmRpdGlvbihpdGVtOiBhbnksIGNvbmRpdGlvbjogYW55KSB7XG4gIGNvbnN0IHJhd1ZhbHVlID0gY29uZGl0aW9uLmZpZWxkID8gZ2V0KGl0ZW0sIGNvbmRpdGlvbi5maWVsZCkgOiBudWxsO1xuICBjb25zdCBpdGVtVmFsdWUgPSB0eXBlb2YgcmF3VmFsdWUgPT09ICdzdHJpbmcnID8gcmF3VmFsdWUudG9Mb3dlckNhc2UoKSA6IHJhd1ZhbHVlO1xuICBjb25zdCBjb25kaXRpb25WYWx1ZSA9IHR5cGVvZiBjb25kaXRpb24udmFsdWUgPT09ICdzdHJpbmcnID8gY29uZGl0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkgOiBjb25kaXRpb24udmFsdWU7XG5cbiAgLy8gQ29uZGl0aW9uYWwgTG9nZ2luZyBmb3IgZGVidWdnaW5nXG4gIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgIGNvbnNvbGUubG9nKCdDb25kaXRpb246JywgY29uZGl0aW9uKTtcbiAgICBjb25zb2xlLmxvZygnSXRlbSBWYWx1ZTonLCBpdGVtVmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKCdDb25kaXRpb24gVmFsdWU6JywgY29uZGl0aW9uVmFsdWUpO1xuICB9XG5cbiAgbGV0IHJlc3VsdDogYm9vbGVhbjtcbiAgY29uc3QgdmFsdWVUb0NvbXBhcmUgPSBpc05pbChjb25kaXRpb24uZmllbGQpIHx8IGNvbmRpdGlvbi5maWVsZCA9PT0gJycgPyBjb25kaXRpb25WYWx1ZSA6IGl0ZW1WYWx1ZTtcbiAgY29uc3QgY29uZGl0aW9uVHlwZSA9IGNvbmRpdGlvbj8ub3BlcmF0b3I/LnR5cGU7XG4gIGlmICghY29uZGl0aW9uVHlwZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3dpdGNoIChjb25kaXRpb25UeXBlKSB7XG4gICAgY2FzZSAnZXF1YWwnOlxuICAgICAgcmVzdWx0ID0gaXNFcXVhbCh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdFcXVhbCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdEVxdWFsJzpcbiAgICAgIHJlc3VsdCA9ICFpc0VxdWFsKHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ05vdCBlcXVhbCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2dyZWF0ZXJUaGFuJzpcbiAgICAgIHJlc3VsdCA9IGd0KHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0dyZWF0ZXIgdGhhbiBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2xlc3NUaGFuJzpcbiAgICAgIHJlc3VsdCA9IGx0KHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0xlc3MgdGhhbiBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2dyZWF0ZXJUaGFuT3JFcXVhbCc6XG4gICAgICByZXN1bHQgPSBndGUodmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnR3JlYXRlciB0aGFuIG9yIGVxdWFsIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsJzpcbiAgICAgIHJlc3VsdCA9IGx0ZSh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdMZXNzIHRoYW4gb3IgZXF1YWwgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodHlwZW9mIHZhbHVlVG9Db21wYXJlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXN1bHQgPSBpbmNsdWRlcyh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlVG9Db21wYXJlKSkge1xuICAgICAgICByZXN1bHQgPSBpbmNsdWRlcyhcbiAgICAgICAgICB2YWx1ZVRvQ29tcGFyZS5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgY29uZGl0aW9uVmFsdWUsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnQ29udGFpbnMgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdub3RDb250YWlucyc6XG4gICAgICBpZiAodHlwZW9mIHZhbHVlVG9Db21wYXJlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXN1bHQgPSAhaW5jbHVkZXModmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZVRvQ29tcGFyZSkpIHtcbiAgICAgICAgcmVzdWx0ID0gIWluY2x1ZGVzKFxuICAgICAgICAgIHZhbHVlVG9Db21wYXJlLm1hcCgodmFsKSA9PiB2YWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICBjb25kaXRpb25WYWx1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdOb3QgY29udGFpbnMgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHNXaXRoJzpcbiAgICAgIHJlc3VsdCA9IHR5cGVvZiB2YWx1ZVRvQ29tcGFyZSA9PT0gJ3N0cmluZycgJiYgc3RhcnRzV2l0aCh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTdGFydHMgd2l0aCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2VuZHNXaXRoJzpcbiAgICAgIHJlc3VsdCA9IHR5cGVvZiB2YWx1ZVRvQ29tcGFyZSA9PT0gJ3N0cmluZycgJiYgZW5kc1dpdGgodmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRW5kcyB3aXRoIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaXNFbXB0eSc6XG4gICAgICByZXN1bHQgPSBpc0VtcHR5KHZhbHVlVG9Db21wYXJlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnSXMgZW1wdHkgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdpc051bGwnOlxuICAgICAgcmVzdWx0ID0gaXNOaWwodmFsdWVUb0NvbXBhcmUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdJcyBudWxsIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaXNOb3RFbXB0eSc6XG4gICAgICByZXN1bHQgPSAhaXNFbXB0eSh2YWx1ZVRvQ29tcGFyZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0lzIG5vdCBlbXB0eSBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JldHdlZW4nOlxuICAgICAgcmVzdWx0ID0gIWlzTmlsKHZhbHVlVG9Db21wYXJlKSAmJiB2YWx1ZVRvQ29tcGFyZSA+PSBjb25kaXRpb24udmFsdWUuZnJvbSAmJiB2YWx1ZVRvQ29tcGFyZSA8PSBjb25kaXRpb24udmFsdWUudG87XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0JldHdlZW4gY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRGVmYXVsdCBjYXNlLCByZXR1cm5pbmcgdHJ1ZScpO1xuICAgICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RmlsdGVyQXJyYXkoXG4gIGRhdGFBcnJheTogYW55W10sXG4gIGZpbHRlcnM/OiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXSxcbiAgbG9naWM6ICdhbmQnIHwgJ29yJyA9ICdhbmQnLFxuKTogYW55W10ge1xuICBpZiAoZmlsdGVycyAmJiBmaWx0ZXJzLmxlbmd0aCkge1xuICAgIHJldHVybiBkYXRhQXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICBpZiAobG9naWMgPT09ICdhbmQnKSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KChmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGYuZmlsdGVycyA/IGFwcGx5RmlsdGVyQXJyYXkoW2l0ZW1dLCBmLmZpbHRlcnMsIGYubG9naWMpLmxlbmd0aCA+IDAgOiBhcHBseUNvbmRpdGlvbihpdGVtLCBmKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBsb2dpYyA9PT0gJ29yJ1xuICAgICAgICByZXR1cm4gZmlsdGVycy5zb21lKChmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGYuZmlsdGVycyA/IGFwcGx5RmlsdGVyQXJyYXkoW2l0ZW1dLCBmLmZpbHRlcnMsIGYubG9naWMpLmxlbmd0aCA+IDAgOiBhcHBseUNvbmRpdGlvbihpdGVtLCBmKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRhdGFBcnJheTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlTb3J0QXJyYXkoZGF0YUFycmF5OiBhbnksIHNvcnRzOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10pIHtcbiAgaWYgKHNvcnRzICYmIHNvcnRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBzb3J0RmllbGRzID0gc29ydHMubWFwKChzKSA9PiBzLmZpZWxkKTtcbiAgICBjb25zdCBzb3J0T3JkZXJzID0gc29ydHMubWFwKChzKSA9PiBzLmRpcik7XG4gICAgcmV0dXJuIG9yZGVyQnkoZGF0YUFycmF5LCBzb3J0RmllbGRzLCBzb3J0T3JkZXJzKTtcbiAgfSBlbHNlIHJldHVybiBkYXRhQXJyYXk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBhZ2luYXRpb248VD4oZGF0YUFycmF5OiBUW10sIHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKTogVFtdIHtcbiAgcmV0dXJuIGRhdGFBcnJheS5zbGljZShza2lwLCBza2lwICsgdGFrZSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVF1ZXJ5QXJyYXk8VD4oXG4gIGRhdGFBcnJheTogVFtdLFxuICBxdWVyeTogQVhEYXRhU291cmNlUXVlcnksXG4pOiBQcm9taXNlPEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0PFQ+PiB7XG4gIGxldCByZXN1bHQgPSBbLi4uZGF0YUFycmF5XTtcblxuICAvLyBBcHBseSBmaWx0ZXJpbmdcbiAgaWYgKHF1ZXJ5LmZpbHRlcikge1xuICAgIHJlc3VsdCA9IGFwcGx5RmlsdGVyQXJyYXkocmVzdWx0LCBbcXVlcnkuZmlsdGVyXSwgcXVlcnkuZmlsdGVyLmxvZ2ljID8/ICdhbmQnKTtcbiAgfVxuXG4gIC8vIFN0b3JlIHRvdGFsIGNvdW50IGJlZm9yZSBwYWdpbmF0aW9uXG4gIGNvbnN0IHRvdGFsID0gcmVzdWx0Lmxlbmd0aDtcblxuICAvLyBBcHBseSBzb3J0aW5nXG4gIGlmIChxdWVyeS5zb3J0ICYmIHF1ZXJ5LnNvcnQubGVuZ3RoID4gMCkge1xuICAgIHJlc3VsdCA9IGFwcGx5U29ydEFycmF5KHJlc3VsdCwgcXVlcnkuc29ydCk7XG4gIH1cblxuICAvLyBBcHBseSBwYWdpbmF0aW9uXG4gIHJlc3VsdCA9IGFwcGx5UGFnaW5hdGlvbihyZXN1bHQsIHF1ZXJ5LnNraXAsIHF1ZXJ5LnRha2UpO1xuXG4gIHJldHVybiB7XG4gICAgaXRlbXM6IHJlc3VsdCxcbiAgICB0b3RhbCxcbiAgfTtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Service for applying and resetting text highlighting within specified HTML elements.\n */\nexport class AXHighlightService {\n constructor() { }\n /**\n * Highlights all occurrences of a search value within the elements matching the provided query selector.\n *\n * @param querySelector - CSS selector to identify target elements.\n * @param searchValue - Text to search and highlight.\n */\n highlight(querySelector, searchValue) {\n this.clear();\n if (!querySelector || !searchValue) {\n return;\n }\n this.querySelector = querySelector;\n this.searchValue = searchValue;\n const elements = document.querySelectorAll(querySelector);\n elements.forEach((element) => {\n this.applyHighlight(element);\n });\n }\n /**\n * Resets all highlighted text within the elements matching the previously used query selector.\n */\n clear() {\n const elements = document.querySelectorAll(`${this.querySelector} .ax-highlight-text`);\n elements.forEach((element) => {\n let combinedText = '';\n element.querySelectorAll('span').forEach((span) => {\n combinedText += span.textContent;\n });\n const mergedSpan = document.createElement('span');\n mergedSpan.textContent = combinedText;\n element?.parentNode?.replaceChild(mergedSpan, element);\n });\n }\n /**\n * Applies highlighting to a specific element by matching text against the search value.\n *\n * @param element - The HTML element to apply highlights to.\n */\n applyHighlight(element) {\n const searchRegex = new RegExp(`(${this.searchValue})`, 'gi');\n this.recursivelyHighlight(element, searchRegex);\n }\n /**\n * Recursively applies highlighting to text nodes within an element.\n *\n * @param element - The current node being processed.\n * @param searchRegex - Regular expression for matching text to highlight.\n */\n recursivelyHighlight(element, searchRegex) {\n const childNodes = Array.from(element.childNodes);\n childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const textContent = node.textContent || '';\n if (textContent.match(searchRegex)) {\n const highlightedHTML = this.createHighlightedHTML(textContent, searchRegex);\n const tempContainer = document.createElement('div');\n tempContainer.innerHTML = highlightedHTML;\n const fragment = document.createDocumentFragment();\n Array.from(tempContainer.childNodes).forEach((child) => fragment.appendChild(child));\n node.replaceWith(fragment);\n }\n }\n else if (node.nodeType === Node.ELEMENT_NODE) {\n this.recursivelyHighlight(node, searchRegex);\n }\n });\n }\n /**\n * Generates the HTML structure for highlighted text.\n *\n * @param textContent - The original text content to process.\n * @param searchRegex - Regular expression for matching text to highlight.\n * @returns A string of HTML with highlighted portions wrapped in span elements.\n */\n createHighlightedHTML(textContent, searchRegex) {\n let parts = [];\n let match;\n let lastIndex = 0;\n let resultHTML = '<span class=\"ax-highlight-text\">';\n while ((match = searchRegex.exec(textContent)) !== null) {\n if (match.index > lastIndex) {\n resultHTML += `<span>${textContent.slice(lastIndex, match.index)}</span>`;\n }\n resultHTML += `<span class=\"ax-highlight\">${match[0]}</span>`;\n lastIndex = searchRegex.lastIndex;\n }\n if (lastIndex < textContent.length) {\n resultHTML += `<span>${textContent.slice(lastIndex)}</span>`;\n }\n resultHTML += '</span>';\n return resultHTML;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi91dGlscy9oaWdobGlnaHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsZ0JBQWdCLENBQUM7SUFFakI7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsYUFBcUIsRUFBRSxXQUFtQjtRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBc0IsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLHNCQUFzQixDQUFDLENBQUM7UUFDeEYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2hE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TUFBTSxFQUFFLENBQUM7WUFDbkMsVUFBVSxJQUFJLFNBQVMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQy9ELENBQUM7UUFFRCxVQUFVLElBQUksU0FBUyxDQUFDO1FBRXhCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OEdBN0dVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgYXBwbHlpbmcgYW5kIHJlc2V0dGluZyB0ZXh0IGhpZ2hsaWdodGluZyB3aXRoaW4gc3BlY2lmaWVkIEhUTUwgZWxlbWVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWEhpZ2hsaWdodFNlcnZpY2Uge1xuICBwcml2YXRlIHF1ZXJ5U2VsZWN0b3I6IHN0cmluZyB8IG51bGw7XG4gIHByaXZhdGUgc2VhcmNoVmFsdWU6IHN0cmluZyB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKipcbiAgICogSGlnaGxpZ2h0cyBhbGwgb2NjdXJyZW5jZXMgb2YgYSBzZWFyY2ggdmFsdWUgd2l0aGluIHRoZSBlbGVtZW50cyBtYXRjaGluZyB0aGUgcHJvdmlkZWQgcXVlcnkgc2VsZWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeVNlbGVjdG9yIC0gQ1NTIHNlbGVjdG9yIHRvIGlkZW50aWZ5IHRhcmdldCBlbGVtZW50cy5cbiAgICogQHBhcmFtIHNlYXJjaFZhbHVlIC0gVGV4dCB0byBzZWFyY2ggYW5kIGhpZ2hsaWdodC5cbiAgICovXG4gIGhpZ2hsaWdodChxdWVyeVNlbGVjdG9yOiBzdHJpbmcsIHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgaWYgKCFxdWVyeVNlbGVjdG9yIHx8ICFzZWFyY2hWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IgPSBxdWVyeVNlbGVjdG9yO1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcnlTZWxlY3Rvcik7XG4gICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgdGhpcy5hcHBseUhpZ2hsaWdodChlbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgYWxsIGhpZ2hsaWdodGVkIHRleHQgd2l0aGluIHRoZSBlbGVtZW50cyBtYXRjaGluZyB0aGUgcHJldmlvdXNseSB1c2VkIHF1ZXJ5IHNlbGVjdG9yLlxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgJHt0aGlzLnF1ZXJ5U2VsZWN0b3J9ICAuYXgtaGlnaGxpZ2h0LXRleHRgKTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBsZXQgY29tYmluZWRUZXh0ID0gJyc7XG4gICAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NwYW4nKS5mb3JFYWNoKChzcGFuKSA9PiB7XG4gICAgICAgIGNvbWJpbmVkVGV4dCArPSBzcGFuLnRleHRDb250ZW50O1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1lcmdlZFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBtZXJnZWRTcGFuLnRleHRDb250ZW50ID0gY29tYmluZWRUZXh0O1xuXG4gICAgICBlbGVtZW50Py5wYXJlbnROb2RlPy5yZXBsYWNlQ2hpbGQobWVyZ2VkU3BhbiwgZWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBoaWdobGlnaHRpbmcgdG8gYSBzcGVjaWZpYyBlbGVtZW50IGJ5IG1hdGNoaW5nIHRleHQgYWdhaW5zdCB0aGUgc2VhcmNoIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBIVE1MIGVsZW1lbnQgdG8gYXBwbHkgaGlnaGxpZ2h0cyB0by5cbiAgICovXG4gIHByaXZhdGUgYXBwbHlIaWdobGlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hSZWdleCA9IG5ldyBSZWdFeHAoYCgke3RoaXMuc2VhcmNoVmFsdWV9KWAsICdnaScpO1xuICAgIHRoaXMucmVjdXJzaXZlbHlIaWdobGlnaHQoZWxlbWVudCwgc2VhcmNoUmVnZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGFwcGxpZXMgaGlnaGxpZ2h0aW5nIHRvIHRleHQgbm9kZXMgd2l0aGluIGFuIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGN1cnJlbnQgbm9kZSBiZWluZyBwcm9jZXNzZWQuXG4gICAqIEBwYXJhbSBzZWFyY2hSZWdleCAtIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IgbWF0Y2hpbmcgdGV4dCB0byBoaWdobGlnaHQuXG4gICAqL1xuICBwcml2YXRlIHJlY3Vyc2l2ZWx5SGlnaGxpZ2h0KGVsZW1lbnQ6IE5vZGUsIHNlYXJjaFJlZ2V4OiBSZWdFeHApOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gQXJyYXkuZnJvbShlbGVtZW50LmNoaWxkTm9kZXMpO1xuXG4gICAgY2hpbGROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgY29uc3QgdGV4dENvbnRlbnQgPSBub2RlLnRleHRDb250ZW50IHx8ICcnO1xuICAgICAgICBpZiAodGV4dENvbnRlbnQubWF0Y2goc2VhcmNoUmVnZXgpKSB7XG4gICAgICAgICAgY29uc3QgaGlnaGxpZ2h0ZWRIVE1MID0gdGhpcy5jcmVhdGVIaWdobGlnaHRlZEhUTUwodGV4dENvbnRlbnQsIHNlYXJjaFJlZ2V4KTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgdGVtcENvbnRhaW5lci5pbm5lckhUTUwgPSBoaWdobGlnaHRlZEhUTUw7XG5cbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBBcnJheS5mcm9tKHRlbXBDb250YWluZXIuY2hpbGROb2RlcykuZm9yRWFjaCgoY2hpbGQpID0+IGZyYWdtZW50LmFwcGVuZENoaWxkKGNoaWxkKSk7XG5cbiAgICAgICAgICBub2RlLnJlcGxhY2VXaXRoKGZyYWdtZW50KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xuICAgICAgICB0aGlzLnJlY3Vyc2l2ZWx5SGlnaGxpZ2h0KG5vZGUsIHNlYXJjaFJlZ2V4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgdGhlIEhUTUwgc3RydWN0dXJlIGZvciBoaWdobGlnaHRlZCB0ZXh0LlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dENvbnRlbnQgLSBUaGUgb3JpZ2luYWwgdGV4dCBjb250ZW50IHRvIHByb2Nlc3MuXG4gICAqIEBwYXJhbSBzZWFyY2hSZWdleCAtIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IgbWF0Y2hpbmcgdGV4dCB0byBoaWdobGlnaHQuXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIG9mIEhUTUwgd2l0aCBoaWdobGlnaHRlZCBwb3J0aW9ucyB3cmFwcGVkIGluIHNwYW4gZWxlbWVudHMuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUhpZ2hsaWdodGVkSFRNTCh0ZXh0Q29udGVudDogc3RyaW5nLCBzZWFyY2hSZWdleDogUmVnRXhwKTogc3RyaW5nIHtcbiAgICBsZXQgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IG1hdGNoO1xuICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgIGxldCByZXN1bHRIVE1MID0gJzxzcGFuIGNsYXNzPVwiYXgtaGlnaGxpZ2h0LXRleHRcIj4nO1xuXG4gICAgd2hpbGUgKChtYXRjaCA9IHNlYXJjaFJlZ2V4LmV4ZWModGV4dENvbnRlbnQpKSAhPT0gbnVsbCkge1xuICAgICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICAgIHJlc3VsdEhUTUwgKz0gYDxzcGFuPiR7dGV4dENvbnRlbnQuc2xpY2UobGFzdEluZGV4LCBtYXRjaC5pbmRleCl9PC9zcGFuPmA7XG4gICAgICB9XG4gICAgICByZXN1bHRIVE1MICs9IGA8c3BhbiBjbGFzcz1cImF4LWhpZ2hsaWdodFwiPiR7bWF0Y2hbMF19PC9zcGFuPmA7XG4gICAgICBsYXN0SW5kZXggPSBzZWFyY2hSZWdleC5sYXN0SW5kZXg7XG4gICAgfVxuXG4gICAgaWYgKGxhc3RJbmRleCA8IHRleHRDb250ZW50Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0SFRNTCArPSBgPHNwYW4+JHt0ZXh0Q29udGVudC5zbGljZShsYXN0SW5kZXgpfTwvc3Bhbj5gO1xuICAgIH1cblxuICAgIHJlc3VsdEhUTUwgKz0gJzwvc3Bhbj4nO1xuXG4gICAgcmV0dXJuIHJlc3VsdEhUTUw7XG4gIH1cbn1cbiJdfQ==","export function extractTextFromHtml(value) {\n const div = document.createElement('div');\n div.innerHTML = value;\n return div.textContent || div.innerText || '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvdXRpbHMvc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBRSxLQUFhO0lBQ2hELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZXh0cmFjdFRleHRGcm9tSHRtbCAodmFsdWU6IHN0cmluZykge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHZhbHVlO1xuICByZXR1cm4gZGl2LnRleHRDb250ZW50IHx8IGRpdi5pbm5lclRleHQgfHwgJyc7XG59XG5cbiJdfQ==","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_ACTIVITY_LOG_PROVIDER = new InjectionToken('AXP_ACTIVITY_LOGS_PROVIDER');\nexport class AXPActivityLogService {\n constructor() {\n this.providers = inject(AXP_ACTIVITY_LOG_PROVIDER, { optional: true });\n }\n async getHistory(refId, refType, options) {\n return (await Promise.all(this.providers?.map((p) => p.getHistory(refId, refType, options)) ?? [])).flat();\n }\n async getHistoryByIds(refId, refType, ids) {\n return (await Promise.all(this.providers?.map((p) => p.getHistoryByIds(refId, refType, ids)) ?? [])).flat();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsNEJBQTRCLENBQUMsQ0FBQztBQUdwSCxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBVTNFO0lBUkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLE9BQXFFO1FBQ3BILE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0csQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxHQUFhO1FBQ2pFLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUcsQ0FBQzs4R0FWVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQQWN0aXZpdHlMb2dQcm92aWRlciB9IGZyb20gJy4vYWN0aXZpdHktbG9nLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUEFjdGl2aXR5TG9nIH0gZnJvbSAnLi9hY3Rpdml0eS1sb2cudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX0xPR19QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBBY3Rpdml0eUxvZ1Byb3ZpZGVyW10+KCdBWFBfQUNUSVZJVFlfTE9HU19QUk9WSURFUicpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEFjdGl2aXR5TG9nU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9BQ1RJVklUWV9MT0dfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgZ2V0SGlzdG9yeShyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGZyb20/OiBEYXRlOyB0bz86IERhdGU7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXIgfSk6IFByb21pc2U8QVhQQWN0aXZpdHlMb2dbXT4ge1xuICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5wcm92aWRlcnM/Lm1hcCgocCkgPT4gcC5nZXRIaXN0b3J5KHJlZklkLCByZWZUeXBlLCBvcHRpb25zKSkgPz8gW10pKS5mbGF0KCk7XG5cbiAgfVxuXG4gIGFzeW5jIGdldEhpc3RvcnlCeUlkcyhyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcsIGlkczogc3RyaW5nW10pOiBQcm9taXNlPEFYUEFjdGl2aXR5TG9nW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMucHJvdmlkZXJzPy5tYXAoKHApID0+IHAuZ2V0SGlzdG9yeUJ5SWRzKHJlZklkLCByZWZUeXBlLCBpZHMpKSA/PyBbXSkpLmZsYXQoKTtcbiAgfVxufSJdfQ==","export class AXPActivityLogProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvYWN0aXZpdHktbG9nL2FjdGl2aXR5LWxvZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLHNCQUFzQjtDQUczQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEFjdGl2aXR5TG9nIH0gZnJvbSAnLi9hY3Rpdml0eS1sb2cudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQWN0aXZpdHlMb2dQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEhpc3RvcnkocmVmSWQ6IHN0cmluZywgcmVmVHlwZTogc3RyaW5nLCBvcHRpb25zPzogeyBmcm9tPzogRGF0ZTsgdG8/OiBEYXRlOyBsaW1pdD86IG51bWJlcjsgb2Zmc2V0PzogbnVtYmVyIH0pOiBQcm9taXNlPEFYUEFjdGl2aXR5TG9nW10+O1xuICBhYnN0cmFjdCBnZXRIaXN0b3J5QnlJZHMocmVmSWQ6IHN0cmluZywgcmVmVHlwZTogc3RyaW5nLCBpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxBWFBBY3Rpdml0eUxvZ1tdPjtcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2Fjb3JleC1wbGF0Zm9ybS1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-core.mjs","sources":["../tmp-esm2022/core/lib/utils/object-util.js","../tmp-esm2022/core/lib/context/context-store.service.js","../tmp-esm2022/core/lib/data/data-generator.js","../tmp-esm2022/core/lib/data/value-transformer.js","../tmp-esm2022/core/lib/data/datasource-definition-provider.service.js","../tmp-esm2022/core/lib/directives/element-data.directive.js","../tmp-esm2022/core/lib/directives/dbl-click.directive.js","../tmp-esm2022/core/lib/directives/grid-layout.directive.js","../tmp-esm2022/core/lib/directives/content-checker.directive.js","../tmp-esm2022/core/lib/event-service/event.service.js","../tmp-esm2022/core/lib/expression-evaluator/expression-evaluator-scope-provider.service.js","../tmp-esm2022/core/lib/expression-evaluator/expression-evaluator.service.js","../tmp-esm2022/core/lib/startup/app-startup.service.js","../tmp-esm2022/core/lib/types/actions.types.js","../tmp-esm2022/core/lib/types/core.types.js","../tmp-esm2022/core/lib/types/logo.types.js","../tmp-esm2022/core/lib/types/scope.types.js","../tmp-esm2022/core/lib/utils/countdown-timer.js","../tmp-esm2022/core/lib/utils/data-conditioner.js","../tmp-esm2022/core/lib/utils/highlighter.js","../tmp-esm2022/core/lib/utils/string.js","../tmp-esm2022/core/lib/activity-log/activity-log.service.js","../tmp-esm2022/core/lib/activity-log/activity-log.provider.js","../tmp-esm2022/core/acorex-platform-core.js"],"sourcesContent":["import { get, isArray, isEmpty, isNil, isObjectLike, isPlainObject, merge, set, transform } from 'lodash-es';\nexport function extractNestedFieldsWildcard(obj, basePath, fields) {\n const result = {};\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = get(obj, basePath);\n return isPlainObject(fullObj) ? fullObj : {};\n }\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const value = get(obj, fullPath);\n set(result, field, value);\n }\n return result;\n}\nexport function setSmart(obj, smartPath, value) {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n if (!fieldMatch) {\n set(obj, smartPath, value);\n return obj;\n }\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const [arrayKey, ...restPath] = basePath.split('.');\n // Make sure the array exists\n if (!obj[arrayKey])\n obj[arrayKey] = [];\n // 🟡 Case A: value is array (normal set)\n if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n if (restPath.length > 0) {\n const picked = extractNestedFieldsWildcard(item, restPath.join('.'), fields);\n set(nested, restPath.join('.'), picked);\n }\n else {\n const picked = extractNestedFieldsWildcard(item, '', fields);\n Object.assign(nested, picked);\n }\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n // 🟢 Case B: value is a single value → broadcast\n else {\n for (let i = 0; i < obj[arrayKey].length; i++) {\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n if (restPath.length > 0) {\n for (const field of fields) {\n set(nested, `${restPath.join('.')}.${field}`, value);\n }\n }\n else {\n for (const field of fields) {\n set(nested, field, value);\n }\n }\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n return obj;\n}\nfunction extractFieldsFromPath(obj, basePath, fields) {\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = basePath ? get(obj, basePath) : obj;\n return isPlainObject(fullObj) ? fullObj : {};\n }\n const result = {};\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const val = get(obj, fullPath);\n if (val !== undefined) {\n result[field] = val;\n }\n }\n return result;\n}\nexport function getSmart(obj, smartPath) {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n // Simple get (no fields)\n if (!fieldMatch) {\n return get(obj, smartPath);\n }\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const items = get(obj, basePath);\n if (!isArray(items))\n return [];\n const nestedPath = basePath.includes('.') ? basePath.split('.').slice(1).join('.') : '';\n return items.map((item) => {\n return extractFieldsFromPath(item, nestedPath, fields);\n });\n}\nexport function extractValue(value, key = 'id') {\n if (isNil(value)) {\n return null;\n }\n ;\n return isObjectLike(value) ? get(value, key) : value;\n}\nexport function cleanDeep(obj) {\n return transform(obj, (result, value, key) => {\n if (isObjectLike(value)) {\n const cleaned = cleanDeep(value);\n if (!isEmpty(cleaned)) {\n result[key] = cleaned;\n }\n }\n else if (!isNil(value) && // not null or undefined\n !(typeof value === 'string' && value.trim() === '') && // not empty string\n !(Array.isArray(value) && value.length === 0) // not empty array\n ) {\n result[key] = value;\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFN0csTUFBTSxVQUFVLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxRQUFnQixFQUFFLE1BQWdCO0lBQ3RGLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUV2QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUSxF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LEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBVSxrQkFBa0I7VUFDekUsQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCwgaXNBcnJheSwgaXNFbXB0eSwgaXNOaWwsIGlzT2JqZWN0TGlrZSwgaXNQbGFpbk9iamVjdCwgbWVyZ2UsIHNldCwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3ROZXN0ZWRGaWVsZHNXaWxkY2FyZChvYmo6IGFueSwgYmFzZVBhdGg6IHN0cmluZywgZmllbGRzOiBzdHJpbmdbXSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG5cbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDEgJiYgZmllbGRzWzBdID09PSAnKicpIHtcbiAgICBjb25zdCBmdWxsT2JqID0gZ2V0KG9iaiwgYmFzZVBhdGgpO1xuICAgIHJldHVybiBpc1BsYWluT2JqZWN0KGZ1bGxPYmopID8gZnVsbE9iaiA6IHt9O1xuICB9XG5cbiAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICBjb25zdCBmdWxsUGF0aCA9IGJhc2VQYXRoID8gYCR7YmFzZVBhdGh9LiR7ZmllbGR9YCA6IGZpZWxkO1xuICAgIGNvbnN0IHZhbHVlID0gZ2V0KG9iaiwgZnVsbFBhdGgpO1xuICAgIHNldChyZXN1bHQsIGZpZWxkLCB2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U21hcnQob2JqOiBhbnksIHNtYXJ0UGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogYW55IHtcbiAgY29uc3QgcGF0aFBhcnRzID0gc21hcnRQYXRoLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGxhc3RQYXJ0ID0gcGF0aFBhcnRzW3BhdGhQYXJ0cy5sZW5ndGggLSAxXTtcbiAgY29uc3QgZmllbGRNYXRjaCA9IGxhc3RQYXJ0Lm1hdGNoKC9eXFx7KC4rKVxcfSQvKTtcblxuICBpZiAoIWZpZWxkTWF0Y2gpIHtcbiAgICBzZXQob2JqLCBzbWFydFBhdGgsIHZhbHVlKTtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgY29uc3QgZmllbGRzID0gZmllbGRNYXRjaFsxXS5zcGxpdCgnLCcpLm1hcCgoZikgPT4gZi50cmltKCkpO1xuICBjb25zdCBiYXNlUGF0aCA9IHBhdGhQYXJ0cy5zbGljZSgwLCAtMSkuam9pbignLicpO1xuICBjb25zdCBbYXJyYXlLZXksIC4uLnJlc3RQYXRoXSA9IGJhc2VQYXRoLnNwbGl0KCcuJyk7XG5cbiAgLy8gTWFrZSBzdXJlIHRoZSBhcnJheSBleGlzdHNcbiAgaWYgKCFvYmpbYXJyYXlLZXldKSBvYmpbYXJyYXlLZXldID0gW107XG5cbiAgLy8g8J+foSBDYXNlIEE6IHZhbHVlIGlzIGFycmF5IChub3JtYWwgc2V0KVxuICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBpdGVtID0gdmFsdWVbaV07XG4gICAgICBjb25zdCB0YXJnZXRJdGVtID0gb2JqW2FycmF5S2V5XVtpXSA/PyB7fTtcbiAgICAgIGNvbnN0IG5lc3RlZCA9IHt9O1xuXG4gICAgICBpZiAocmVzdFBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwaWNrZWQgPSBleHRyYWN0TmVzdGVkRmllbGRzV2lsZGNhcmQoaXRlbSwgcmVzdFBhdGguam9pbignLicpLCBmaWVsZHMpO1xuICAgICAgICBzZXQobmVzdGVkLCByZXN0UGF0aC5qb2luKCcuJyksIHBpY2tlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwaWNrZWQgPSBleHRyYWN0TmVzdGVkRmllbGRzV2lsZGNhcmQoaXRlbSwgJycsIGZpZWxkcyk7XG4gICAgICAgIE9iamVjdC5hc3NpZ24obmVzdGVkLCBwaWNrZWQpO1xuICAgICAgfVxuXG4gICAgICBvYmpbYXJyYXlLZXldW2ldID0gbWVyZ2Uoe30sIHRhcmdldEl0ZW0sIG5lc3RlZCk7XG4gICAgfVxuICB9XG5cbiAgLy8g8J+foiBDYXNlIEI6IHZhbHVlIGlzIGEgc2luZ2xlIHZhbHVlIOKGkiBicm9hZGNhc3RcbiAgZWxzZSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmpbYXJyYXlLZXldLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0YXJnZXRJdGVtID0gb2JqW2FycmF5S2V5XVtpXSA/PyB7fTtcbiAgICAgIGNvbnN0IG5lc3RlZCA9IHt9O1xuXG4gICAgICBpZiAocmVzdFBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgICAgIHNldChuZXN0ZWQsIGAke3Jlc3RQYXRoLmpvaW4oJy4nKX0uJHtmaWVsZH1gLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgZmllbGRzKSB7XG4gICAgICAgICAgc2V0KG5lc3RlZCwgZmllbGQsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvYmpbYXJyYXlLZXldW2ldID0gbWVyZ2Uoe30sIHRhcmdldEl0ZW0sIG5lc3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdEZpZWxkc0Zyb21QYXRoKG9iajogYW55LCBiYXNlUGF0aDogc3RyaW5nLCBmaWVsZHM6IHN0cmluZ1tdKTogYW55IHtcbiAgaWYgKGZpZWxkcy5sZW5ndGggPT09IDEgJiYgZmllbGRzWzBdID09PSAnKicpIHtcbiAgICBjb25zdCBmdWxsT2JqID0gYmFzZVBhdGggPyBnZXQob2JqLCBiYXNlUGF0aCkgOiBvYmo7XG4gICAgcmV0dXJuIGlzUGxhaW5PYmplY3QoZnVsbE9iaikgPyBmdWxsT2JqIDoge307XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gYmFzZVBhdGggPyBgJHtiYXNlUGF0aH0uJHtmaWVsZH1gIDogZmllbGQ7XG4gICAgY29uc3QgdmFsID0gZ2V0KG9iaiwgZnVsbFBhdGgpO1xuICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0W2ZpZWxkXSA9IHZhbDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNtYXJ0KG9iajogYW55LCBzbWFydFBhdGg6IHN0cmluZyk6IGFueSB7XG4gIGNvbnN0IHBhdGhQYXJ0cyA9IHNtYXJ0UGF0aC5zcGxpdCgnLicpO1xuICBjb25zdCBsYXN0UGFydCA9IHBhdGhQYXJ0c1twYXRoUGFydHMubGVuZ3RoIC0gMV07XG4gIGNvbnN0IGZpZWxkTWF0Y2ggPSBsYXN0UGFydC5tYXRjaCgvXlxceyguKylcXH0kLyk7XG5cbiAgLy8gU2ltcGxlIGdldCAobm8gZmllbGRzKVxuICBpZiAoIWZpZWxkTWF0Y2gpIHtcbiAgICByZXR1cm4gZ2V0KG9iaiwgc21hcnRQYXRoKTtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkcyA9IGZpZWxkTWF0Y2hbMV0uc3BsaXQoJywnKS5tYXAoKGYpID0+IGYudHJpbSgpKTtcbiAgY29uc3QgYmFzZVBhdGggPSBwYXRoUGFydHMuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKTtcbiAgY29uc3QgaXRlbXMgPSBnZXQob2JqLCBiYXNlUGF0aCk7XG5cbiAgaWYgKCFpc0FycmF5KGl0ZW1zKSkgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IG5lc3RlZFBhdGggPSBiYXNlUGF0aC5pbmNsdWRlcygnLicpID8gYmFzZVBhdGguc3BsaXQoJy4nKS5zbGljZSgxKS5qb2luKCcuJykgOiAnJztcblxuICByZXR1cm4gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgcmV0dXJuIGV4dHJhY3RGaWVsZHNGcm9tUGF0aChpdGVtLCBuZXN0ZWRQYXRoLCBmaWVsZHMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYWx1ZTxUID0gYW55PihcbiAgdmFsdWU6IGFueSxcbiAga2V5OiBzdHJpbmcgPSAnaWQnXG4pOiBUIHwgbnVsbCB7XG4gIGlmIChpc05pbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgPyBnZXQodmFsdWUsIGtleSkgOiB2YWx1ZTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5EZWVwKG9iajogYW55KSB7XG4gIHJldHVybiB0cmFuc2Zvcm0ob2JqLCAocmVzdWx0OiBhbnksIHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IGNsZWFuZWQgPSBjbGVhbkRlZXAodmFsdWUpO1xuICAgICAgaWYgKCFpc0VtcHR5KGNsZWFuZWQpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gY2xlYW5lZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIWlzTmlsKHZhbHVlKSAmJiAgICAgICAgICAgIC8vIG5vdCBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgISh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSA9PT0gJycpICYmIC8vIG5vdCBlbXB0eSBzdHJpbmdcbiAgICAgICEoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSAgICAgICAgICAvLyBub3QgZW1wdHkgYXJyYXlcbiAgICApIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgfVxuICB9KTtcbn0iXX0=","import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { computed } from '@angular/core';\nimport { getSmart, setSmart } from '../utils/object-util';\nexport class AXPContextChangeEvent {\n}\nexport const AXPContextStore = signalStore({\n providedIn: 'root',\n}, \n// Initial State\nwithState(() => ({\n data: {}, // Shared context data\n state: 'initiated', // Current state\n initialSnapshot: {}, // Snapshot of the first initialized state\n previousSnapshot: {}, // Snapshot of the previous state\n lastChange: {\n state: 'initiated',\n }, // Last change event\n})), \n// Computed Signals\nwithComputed(({ data, state, lastChange, initialSnapshot, previousSnapshot }) => ({\n isChanged: computed(() => state() === 'changed'),\n isReset: computed(() => state() === 'restored'),\n isInitiated: computed(() => state() === 'initiated'),\n isEmpty: computed(() => Object.keys(data()).length === 0),\n snapshot: computed(() => cloneDeep(data())), // Current data snapshot\n initial: computed(() => cloneDeep(initialSnapshot())), // Initial snapshot\n previous: computed(() => cloneDeep(previousSnapshot())), // Previous snapshot\n changeEvent: computed(() => lastChange()), // Reactive last change event\n})), \n// Methods for State Management\nwithMethods((store) => ({\n // Update a specific value\n update(path, value) {\n const currentData = cloneDeep(store.data());\n const oldValue = getSmart(currentData, path);\n // Skip if the value hasn't changed\n if (isEqual(oldValue, value)) {\n return;\n }\n // Update the value and prepare the change event\n const updatedData = setSmart(currentData, path, value);\n const changeEvent = {\n oldValue,\n newValue: value,\n path,\n state: 'changed',\n data: updatedData,\n };\n // Patch the state\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: updatedData,\n state: 'changed',\n lastChange: changeEvent,\n });\n },\n patch(context) {\n const currentData = cloneDeep(store.data());\n // Update the value and prepare the change event\n const updatedData = { ...currentData, ...context };\n const changeEvent = {\n state: 'patch',\n data: updatedData,\n };\n // Patch the state\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: updatedData,\n state: 'changed',\n lastChange: changeEvent,\n });\n },\n // Reset to the initial state\n reset() {\n const initialData = store.initial();\n const changeEvent = {\n oldValue: cloneDeep(store.data()), // Current data becomes old value\n newValue: cloneDeep(initialData), // Reset to the initial state\n path: '',\n state: 'restored',\n data: initialData,\n };\n patchState(store, {\n previousSnapshot: store.snapshot(), // Save the previous state\n data: initialData,\n state: 'restored',\n lastChange: changeEvent,\n });\n },\n // Initialize the state\n set(initialData) {\n const currentData = store.data();\n if (isEqual(currentData, initialData)) {\n return; // Skip if the current state matches the initial state\n }\n const changeEvent = {\n oldValue: null,\n newValue: cloneDeep(initialData),\n path: '',\n state: 'initiated',\n data: initialData,\n };\n patchState(store, {\n initialSnapshot: cloneDeep(initialData), // Save the initial state\n previousSnapshot: store.snapshot(), // Save the current state as the previous\n data: initialData,\n state: 'initiated',\n lastChange: changeEvent,\n });\n },\n // Get a specific value\n getValue(path) {\n return getSmart(store.data(), path);\n },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvY29udGV4dC9jb250ZXh0LXN0b3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUzFELE1BQU0sT0FBTyxxQkFBcUI7Q0FNakM7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUN0QztJQUNJLFVBQVUsRUFBRSxNQUFNO0NBQ3JCO0FBQ0QsZ0JBQWdCO0FBQ2hCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxFQUFFLEVBQW9CLEVBQUUsc0JBQXNCO0lBQ2xELEtBQUssRUFBRSxXQUE4QixFQUFFLGdCQUFnQjtJQUN2RCxlQUFlLEVBQUUsRUFBRSxFQUFFLDBDQUEwQztJQUMvRCxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsaUNBQWlDO0lBQ3ZELFVBQVUsRUFBRTtRQUNSLEtBQUssRUFBRSxXQUFXO0tBQ0ksRUFBRSxvQkFBb0I7Q0FDbkQsQ0FBQyxDQUFDO0FBRUgsbUJBQW1CO0FBQ25CLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUs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QyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0osQ0FBQyxDQUFDLENBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoU3RhdGUsIHdpdGhDb21wdXRlZCwgd2l0aE1ldGhvZHMsIHBhdGNoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0U21hcnQsIHNldFNtYXJ0IH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0LXV0aWwnO1xuXG5cbmV4cG9ydCB0eXBlIEFYUENvbnRleHRTdGF0ZSA9ICdpbml0aWF0ZWQnIHwgJ3Jlc3RvcmVkJyB8ICdjaGFuZ2VkJyB8ICdwYXRjaCc7XG5cbmV4cG9ydCB0eXBlIEFYUENvbnRleHREYXRhID0ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUENvbnRleHRDaGFuZ2VFdmVudCB7XG4gICAgb2xkVmFsdWU/OiBhbnk7XG4gICAgbmV3VmFsdWU/OiBhbnk7XG4gICAgcGF0aD86IHN0cmluZztcbiAgICBzdGF0ZTogQVhQQ29udGV4dFN0YXRlO1xuICAgIGRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUENvbnRleHRTdG9yZSA9IHNpZ25hbFN0b3JlKFxuICAgIHtcbiAgICAgICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIH0sXG4gICAgLy8gSW5pdGlhbCBTdGF0ZVxuICAgIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgICAgICBkYXRhOiB7fSBhcyBBWFBDb250ZXh0RGF0YSwgLy8gU2hhcmVkIGNvbnRleHQgZGF0YVxuICAgICAgICBzdGF0ZTogJ2luaXRpYXRlZCcgYXMgQVhQQ29udGV4dFN0YXRlLCAvLyBDdXJyZW50IHN0YXRlXG4gICAgICAgIGluaXRpYWxTbmFwc2hvdDoge30sIC8vIFNuYXBzaG90IG9mIHRoZSBmaXJzdCBpbml0aWFsaXplZCBzdGF0ZVxuICAgICAgICBwcmV2aW91c1NuYXBzaG90OiB7fSwgLy8gU25hcHNob3Qgb2YgdGhlIHByZXZpb3VzIHN0YXRlXG4gICAgICAgIGxhc3RDaGFuZ2U6IHtcbiAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgfSBhcyBBWFBDb250ZXh0Q2hhbmdlRXZlbnQsIC8vIExhc3QgY2hhbmdlIGV2ZW50XG4gICAgfSkpLFxuXG4gICAgLy8gQ29tcHV0ZWQgU2lnbmFsc1xuICAgIHdpdGhDb21wdXRlZCgoeyBkYXRhLCBzdGF0ZSwgbGFzdENoYW5nZSwgaW5pdGlhbFNuYXBzaG90LCBwcmV2aW91c1NuYXBzaG90IH0pID0+ICh7XG4gICAgICAgIGlzQ2hhbmdlZDogY29tcHV0ZWQoKCkgPT4gc3RhdGUoKSA9PT0gJ2NoYW5nZWQnKSxcbiAgICAgICAgaXNSZXNldDogY29tcHV0ZWQoKCkgPT4gc3RhdGUoKSA9PT0gJ3Jlc3RvcmVkJyksXG4gICAgICAgIGlzSW5pdGlhdGVkOiBjb21wdXRlZCgoKSA9PiBzdGF0ZSgpID09PSAnaW5pdGlhdGVkJyksXG4gICAgICAgIGlzRW1wdHk6IGNvbXB1dGVkKCgpID0+IE9iamVjdC5rZXlzKGRhdGEoKSkubGVuZ3RoID09PSAwKSxcbiAgICAgICAgc25hcHNob3Q6IGNvbXB1dGVkKCgpID0+IGNsb25lRGVlcChkYXRhKCkpKSwgLy8gQ3VycmVudCBkYXRhIHNuYXBzaG90XG4gICAgICAgIGluaXRpYWw6IGNvbXB1dGVkKCgpID0+IGNsb25lRGVlcChpbml0aWFsU25hcHNob3QoKSkpLCAvLyBJbml0aWFsIHNuYXBzaG90XG4gICAgICAgIHByZXZpb3VzOiBjb21wdXRlZCgoKSA9PiBjbG9uZURlZXAocHJldmlvdXNTbmFwc2hvdCgpKSksIC8vIFByZXZpb3VzIHNuYXBzaG90XG4gICAgICAgIGNoYW5nZUV2ZW50OiBjb21wdXRlZCgoKSA9PiBsYXN0Q2hhbmdlKCkpLCAvLyBSZWFjdGl2ZSBsYXN0IGNoYW5nZSBldmVudFxuICAgIH0pKSxcblxuICAgIC8vIE1ldGhvZHMgZm9yIFN0YXRlIE1hbmFnZW1lbnRcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICAgIC8vIFVwZGF0ZSBhIHNwZWNpZmljIHZhbHVlXG4gICAgICAgIHVwZGF0ZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gY2xvbmVEZWVwKHN0b3JlLmRhdGEoKSk7XG4gICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IGdldFNtYXJ0KGN1cnJlbnREYXRhLCBwYXRoKTtcblxuICAgICAgICAgICAgLy8gU2tpcCBpZiB0aGUgdmFsdWUgaGFzbid0IGNoYW5nZWRcbiAgICAgICAgICAgIGlmIChpc0VxdWFsKG9sZFZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgdmFsdWUgYW5kIHByZXBhcmUgdGhlIGNoYW5nZSBldmVudFxuICAgICAgICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBzZXRTbWFydChjdXJyZW50RGF0YSwgcGF0aCwgdmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlRXZlbnQ6IEFYUENvbnRleHRDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgICAgICBvbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoYW5nZWQnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHVwZGF0ZWREYXRhLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gUGF0Y2ggdGhlIHN0YXRlXG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTbmFwc2hvdDogc3RvcmUuc25hcHNob3QoKSwgLy8gU2F2ZSB0aGUgcHJldmlvdXMgc3RhdGVcbiAgICAgICAgICAgICAgICBkYXRhOiB1cGRhdGVkRGF0YSxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ2NoYW5nZWQnLFxuICAgICAgICAgICAgICAgIGxhc3RDaGFuZ2U6IGNoYW5nZUV2ZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgcGF0Y2goY29udGV4dDoge30pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gY2xvbmVEZWVwKHN0b3JlLmRhdGEoKSk7XG4gICAgICAgICAgICAvLyBVcGRhdGUgdGhlIHZhbHVlIGFuZCBwcmVwYXJlIHRoZSBjaGFuZ2UgZXZlbnRcbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0geyAuLi5jdXJyZW50RGF0YSwgLi4uY29udGV4dCB9O1xuICAgICAgICAgICAgY29uc3QgY2hhbmdlRXZlbnQ6IEFYUENvbnRleHRDaGFuZ2VFdmVudCA9IHtcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ3BhdGNoJyxcbiAgICAgICAgICAgICAgICBkYXRhOiB1cGRhdGVkRGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIFBhdGNoIHRoZSBzdGF0ZVxuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgIHByZXZpb3VzU25hcHNob3Q6IHN0b3JlLnNuYXBzaG90KCksIC8vIFNhdmUgdGhlIHByZXZpb3VzIHN0YXRlXG4gICAgICAgICAgICAgICAgZGF0YTogdXBkYXRlZERhdGEsXG4gICAgICAgICAgICAgICAgc3RhdGU6ICdjaGFuZ2VkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8vIFJlc2V0IHRvIHRoZSBpbml0aWFsIHN0YXRlXG4gICAgICAgIHJlc2V0KCkge1xuICAgICAgICAgICAgY29uc3QgaW5pdGlhbERhdGEgPSBzdG9yZS5pbml0aWFsKCk7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogQVhQQ29udGV4dENoYW5nZUV2ZW50ID0ge1xuICAgICAgICAgICAgICAgIG9sZFZhbHVlOiBjbG9uZURlZXAoc3RvcmUuZGF0YSgpKSwgLy8gQ3VycmVudCBkYXRhIGJlY29tZXMgb2xkIHZhbHVlXG4gICAgICAgICAgICAgICAgbmV3VmFsdWU6IGNsb25lRGVlcChpbml0aWFsRGF0YSksIC8vIFJlc2V0IHRvIHRoZSBpbml0aWFsIHN0YXRlXG4gICAgICAgICAgICAgICAgcGF0aDogJycsXG4gICAgICAgICAgICAgICAgc3RhdGU6ICdyZXN0b3JlZCcsXG4gICAgICAgICAgICAgICAgZGF0YTogaW5pdGlhbERhdGEsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTbmFwc2hvdDogc3RvcmUuc25hcHNob3QoKSwgLy8gU2F2ZSB0aGUgcHJldmlvdXMgc3RhdGVcbiAgICAgICAgICAgICAgICBkYXRhOiBpbml0aWFsRGF0YSxcbiAgICAgICAgICAgICAgICBzdGF0ZTogJ3Jlc3RvcmVkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8vIEluaXRpYWxpemUgdGhlIHN0YXRlXG4gICAgICAgIHNldChpbml0aWFsRGF0YTogYW55KSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0YSA9IHN0b3JlLmRhdGEoKTtcbiAgICAgICAgICAgIGlmIChpc0VxdWFsKGN1cnJlbnREYXRhLCBpbml0aWFsRGF0YSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47IC8vIFNraXAgaWYgdGhlIGN1cnJlbnQgc3RhdGUgbWF0Y2hlcyB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VFdmVudDogQVhQQ29udGV4dENoYW5nZUV2ZW50ID0ge1xuICAgICAgICAgICAgICAgIG9sZFZhbHVlOiBudWxsLFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlOiBjbG9uZURlZXAoaW5pdGlhbERhdGEpLFxuICAgICAgICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBpbml0aWFsRGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICBpbml0aWFsU25hcHNob3Q6IGNsb25lRGVlcChpbml0aWFsRGF0YSksIC8vIFNhdmUgdGhlIGluaXRpYWwgc3RhdGVcbiAgICAgICAgICAgICAgICBwcmV2aW91c1NuYXBzaG90OiBzdG9yZS5zbmFwc2hvdCgpLCAvLyBTYXZlIHRoZSBjdXJyZW50IHN0YXRlIGFzIHRoZSBwcmV2aW91c1xuICAgICAgICAgICAgICAgIGRhdGE6IGluaXRpYWxEYXRhLFxuICAgICAgICAgICAgICAgIHN0YXRlOiAnaW5pdGlhdGVkJyxcbiAgICAgICAgICAgICAgICBsYXN0Q2hhbmdlOiBjaGFuZ2VFdmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAvLyBHZXQgYSBzcGVjaWZpYyB2YWx1ZVxuICAgICAgICBnZXRWYWx1ZShwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRTbWFydChzdG9yZS5kYXRhKCksIHBhdGgpO1xuICAgICAgICB9LFxuICAgIH0pKVxuKTtcbiJdfQ==","export class AXPDataGenerator {\n static uuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n static number(...args) {\n let min = 0;\n let max = 100;\n if (args.length == 1)\n max = args[0];\n if (args.length == 2) {\n min = args[0];\n max = args[1];\n }\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n static date(...args) {\n let start = new Date(2000, 0, 1);\n let end = new Date();\n if (args.length === 1) {\n start = args[0];\n }\n else if (args.length === 2) {\n start = args[0];\n end = args[1];\n }\n const startTime = start.getTime();\n const endTime = end.getTime();\n return new Date(startTime + Math.random() * (endTime - startTime));\n }\n static array(length = 5, generator) {\n return Array.from({ length }, generator);\n }\n static pick(...args) {\n if (args.length < 1) {\n throw new Error('Invalid parameters');\n }\n const items = args[0];\n const count = args[1] ?? 1;\n if (count < 1) {\n throw new Error('Count must be at least 1');\n }\n // If the count is greater than the number of items, just return a shuffled copy of the array\n if (count >= items.length) {\n return [...items].sort(() => Math.random() - 0.5);\n }\n // Shuffle the array and slice the first 'count' elements\n const shuffled = items.slice();\n for (let i = shuffled.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]]; // Swap elements\n }\n return count == 1 ? shuffled.slice(0, count)[0] : shuffled.slice(0, count);\n }\n static string(length = 10) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static boolean() {\n return Math.random() >= 0.5;\n }\n static item(array = []) {\n return array.length > 0 ? array[Math.floor(Math.random() * array.length)] : undefined;\n }\n static color(format = 'hex') {\n // Generate HSL values with safe ranges for good contrast\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 20) + 60; // 60% - 80%\n const l = Math.floor(Math.random() * 20) + 40; // 40% - 60%\n if (format === 'hsl') {\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n // Convert HSL to RGB\n const { r, g, b } = this.hslToRgb(h, s / 100, l / 100);\n if (format === 'rgb') {\n return `rgb(${r}, ${g}, ${b})`;\n }\n // Convert RGB to HEX\n const toHex = (val) => val.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n }\n //TODO: move or read from utils\n static hslToRgb(h, s, l) {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = l - c / 2;\n let r = 0, g = 0, b = 0;\n if (h < 60)\n [r, g, b] = [c, x, 0];\n else if (h < 120)\n [r, g, b] = [x, c, 0];\n else if (h < 180)\n [r, g, b] = [0, c, x];\n else if (h < 240)\n [r, g, b] = [0, x, c];\n else if (h < 300)\n [r, g, b] = [x, 0, c];\n else\n [r, g, b] = [c, 0, x];\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255)\n };\n }\n static alphanumeric(length = 10) {\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static alphabet(length = 10) {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n static phone() {\n const areaCode = this.number(100, 999);\n const exchangeCode = this.number(100, 999);\n const lineNumber = this.number(1000, 9999);\n return `${areaCode}-${exchangeCode}-${lineNumber}`;\n }\n static firstName() {\n const firstNames = ['John', 'Allen', 'Jak', 'Rose', 'Kate', 'Liam', 'Olivia', 'Noah', 'Emma', 'Ava'];\n return this.pick(firstNames);\n }\n static lastName() {\n const lastNames = ['Gates', 'Jonsen', 'Smith', 'Ford', 'Jakson', 'Brown', 'Johnson', 'Williams', 'Jones', 'Garcia'];\n return this.pick(lastNames);\n }\n static email(...args) {\n const domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'example.com'];\n const domain = this.pick(domains);\n const separator = this.pick(['.', '_', '']);\n const randomSuffix = this.boolean() ? this.number(1, 99).toString() : '';\n if (args.length === 2) {\n const firstName = args[0].toLowerCase();\n const lastName = args[1].toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n else {\n const firstName = this.firstName().toLowerCase();\n const lastName = this.lastName().toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n }\n static country() {\n const countries = ['USA', 'Canada', 'Mexico', 'Germany', 'France', 'Japan', 'Australia'];\n return this.pick(countries);\n }\n static city() {\n const cities = ['Los Angeles', 'Toronto', 'Vancouver', 'Berlin', 'Paris', 'Tokyo', 'Sydney'];\n return this.pick(cities);\n }\n static state() {\n const states = ['NY', 'CA', 'TX', 'ON', 'BC', 'NSW', 'BER', 'IDF', 'TYO'];\n return this.pick(states);\n }\n static address() {\n const streets = ['Main St', 'High St', 'Maple Ave', 'Oak St', 'Pine St', 'Cedar St'];\n const streetNumber = this.number(100, 9999);\n const street = this.pick(streets);\n const city = this.city();\n const state = this.state();\n const zip = this.number(10000, 99999);\n const country = this.country();\n return `${streetNumber} ${street}, ${city}, ${state} ${zip}, ${country}`;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL2RhdGEtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFjO1FBQzdCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osTUFBTSxPQUFPLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLFlBQVksSUFBSSxNQUFNLEtBQUssSUFBSSxLQUFLLEtBQUssSUFBSSxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7SUFDM0UsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb2xvclV0aWwgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3V0aWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBBWFBEYXRhR2VuZXJhdG9yIHtcbiAgc3RhdGljIHV1aWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoY2hhcikgPT4ge1xuICAgICAgY29uc3QgcmFuZG9tID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwO1xuICAgICAgY29uc3QgdmFsdWUgPSBjaGFyID09PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzKSB8IDB4ODtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygxNik7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbnVtYmVyKG1heDogbnVtYmVyKTogbnVtYmVyO1xuICBzdGF0aWMgbnVtYmVyKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlcjtcbiAgc3RhdGljIG51bWJlciguLi5hcmdzOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgbGV0IG1pbiA9IDA7XG4gICAgbGV0IG1heCA9IDEwMDtcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMSkgbWF4ID0gYXJnc1swXTtcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMikge1xuICAgICAgbWluID0gYXJnc1swXTtcbiAgICAgIG1heCA9IGFyZ3NbMV07XG4gICAgfVxuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xuICB9XG5cbiAgc3RhdGljIGRhdGUoKTogRGF0ZTtcbiAgc3RhdGljIGRhdGUoc3RhcnQ6IERhdGUpOiBEYXRlO1xuICBzdGF0aWMgZGF0ZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogRGF0ZTtcbiAgc3RhdGljIGRhdGUoLi4uYXJnczogYW55W10pOiBEYXRlIHtcbiAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTtcbiAgICBsZXQgZW5kID0gbmV3IERhdGUoKTtcblxuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgc3RhcnQgPSBhcmdzWzBdO1xuICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgIHN0YXJ0ID0gYXJnc1swXTtcbiAgICAgIGVuZCA9IGFyZ3NbMV07XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gc3RhcnQuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGVuZFRpbWUgPSBlbmQuZ2V0VGltZSgpO1xuICAgIHJldHVybiBuZXcgRGF0ZShzdGFydFRpbWUgKyBNYXRoLnJhbmRvbSgpICogKGVuZFRpbWUgLSBzdGFydFRpbWUpKTtcbiAgfVxuXG4gIHN0YXRpYyBhcnJheTxUPihsZW5ndGg6IG51bWJlciA9IDUsIGdlbmVyYXRvcjogKCkgPT4gVCk6IFRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGggfSwgZ2VuZXJhdG9yKTtcbiAgfVxuXG4gIHN0YXRpYyBwaWNrPFQ+KGl0ZW1zOiBUW10pOiBUO1xuICBzdGF0aWMgcGljazxUPihpdGVtczogVFtdLCBjb3VudDogbnVtYmVyKTogVFtdO1xuICBzdGF0aWMgcGljazxUPiguLi5hcmdzOiBhbnlbXSk6IFQgfCBUW10ge1xuICAgIGlmIChhcmdzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwYXJhbWV0ZXJzJyk7XG4gICAgfVxuICAgIGNvbnN0IGl0ZW1zOiBUW10gPSBhcmdzWzBdO1xuICAgIGNvbnN0IGNvdW50OiBudW1iZXIgPSBhcmdzWzFdID8/IDE7XG4gICAgaWYgKGNvdW50IDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VudCBtdXN0IGJlIGF0IGxlYXN0IDEnKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgY291bnQgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgaXRlbXMsIGp1c3QgcmV0dXJuIGEgc2h1ZmZsZWQgY29weSBvZiB0aGUgYXJyYXlcbiAgICBpZiAoY291bnQgPj0gaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gWy4uLml0ZW1zXS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xuICAgIH1cblxuICAgIC8vIFNodWZmbGUgdGhlIGFycmF5IGFuZCBzbGljZSB0aGUgZmlyc3QgJ2NvdW50JyBlbGVtZW50c1xuICAgIGNvbnN0IHNodWZmbGVkID0gaXRlbXMuc2xpY2UoKTtcbiAgICBmb3IgKGxldCBpID0gc2h1ZmZsZWQubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChpICsgMSkpO1xuICAgICAgW3NodWZmbGVkW2ldLCBzaHVmZmxlZFtqXV0gPSBbc2h1ZmZsZWRbal0sIHNodWZmbGVkW2ldXTsgLy8gU3dhcCBlbGVtZW50c1xuICAgIH1cbiAgICByZXR1cm4gY291bnQgPT0gMSA/IHNodWZmbGVkLnNsaWNlKDAsIGNvdW50KVswXSA6IHNodWZmbGVkLnNsaWNlKDAsIGNvdW50KTtcbiAgfVxuXG4gIHN0YXRpYyBzdHJpbmcobGVuZ3RoOiBudW1iZXIgPSAxMCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sICgpID0+IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKSkuam9pbignJyk7XG4gIH1cblxuICBzdGF0aWMgYm9vbGVhbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gTWF0aC5yYW5kb20oKSA+PSAwLjU7XG4gIH1cblxuICBzdGF0aWMgaXRlbTxUPihhcnJheTogVFtdID0gW10pOiBUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gYXJyYXkubGVuZ3RoID4gMCA/IGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc3RhdGljIGNvbG9yKGZvcm1hdDogJ2hzbCcgfCAncmdiJyB8ICdoZXgnID0gJ2hleCcpOiBzdHJpbmcge1xuICAgIC8vIEdlbmVyYXRlIEhTTCB2YWx1ZXMgd2l0aCBzYWZlIHJhbmdlcyBmb3IgZ29vZCBjb250cmFzdFxuICAgIGNvbnN0IGggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAzNjApO1xuICAgIGNvbnN0IHMgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyMCkgKyA2MDsgLy8gNjAlIC0gODAlXG4gICAgY29uc3QgbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIwKSArIDQwOyAvLyA0MCUgLSA2MCVcblxuICAgIGlmIChmb3JtYXQgPT09ICdoc2wnKSB7XG4gICAgICByZXR1cm4gYGhzbCgke2h9LCAke3N9JSwgJHtsfSUpYDtcbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IEhTTCB0byBSR0JcbiAgICBjb25zdCB7IHIsIGcsIGIgfSA9IHRoaXMuaHNsVG9SZ2IoaCwgcyAvIDEwMCwgbCAvIDEwMCk7XG5cbiAgICBpZiAoZm9ybWF0ID09PSAncmdiJykge1xuICAgICAgcmV0dXJuIGByZ2IoJHtyfSwgJHtnfSwgJHtifSlgO1xuICAgIH1cblxuICAgIC8vIENvbnZlcnQgUkdCIHRvIEhFWFxuICAgIGNvbnN0IHRvSGV4ID0gKHZhbDogbnVtYmVyKSA9PiB2YWwudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgcmV0dXJuIGAjJHt0b0hleChyKX0ke3RvSGV4KGcpfSR7dG9IZXgoYil9YDtcbiAgfVxuXG4gIC8vVE9ETzogbW92ZSBvciByZWFkIGZyb20gdXRpbHNcbiAgcHJpdmF0ZSBzdGF0aWMgaHNsVG9SZ2IoaDogbnVtYmVyLCBzOiBudW1iZXIsIGw6IG51bWJlcik6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlciB9IHtcbiAgICBjb25zdCBjID0gKDEgLSBNYXRoLmFicygyICogbCAtIDEpKSAqIHM7XG4gICAgY29uc3QgeCA9IGMgKiAoMSAtIE1hdGguYWJzKChoIC8gNjApICUgMiAtIDEpKTtcbiAgICBjb25zdCBtID0gbCAtIGMgLyAyO1xuICAgIGxldCByID0gMCwgZyA9IDAsIGIgPSAwO1xuXG4gICAgaWYgKGggPCA2MCkgW3IsIGcsIGJdID0gW2MsIHgsIDBdO1xuICAgIGVsc2UgaWYgKGggPCAxMjApIFtyLCBnLCBiXSA9IFt4LCBjLCAwXTtcbiAgICBlbHNlIGlmIChoIDwgMTgwKSBbciwgZywgYl0gPSBbMCwgYywgeF07XG4gICAgZWxzZSBpZiAoaCA8IDI0MCkgW3IsIGcsIGJdID0gWzAsIHgsIGNdO1xuICAgIGVsc2UgaWYgKGggPCAzMDApIFtyLCBnLCBiXSA9IFt4LCAwLCBjXTtcbiAgICBlbHNlW3IsIGcsIGJdID0gW2MsIDAsIHhdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHI6IE1hdGgucm91bmQoKHIgKyBtKSAqIDI1NSksXG4gICAgICBnOiBNYXRoLnJvdW5kKChnICsgbSkgKiAyNTUpLFxuICAgICAgYjogTWF0aC5yb3VuZCgoYiArIG0pICogMjU1KVxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgYWxwaGFudW1lcmljKGxlbmd0aDogbnVtYmVyID0gMTApOiBzdHJpbmcge1xuICAgIGNvbnN0IGNoYXJzID0gJzAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICB9XG4gIHN0YXRpYyBhbHBoYWJldChsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JztcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICB9XG5cbiAgc3RhdGljIHBob25lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJlYUNvZGUgPSB0aGlzLm51bWJlcigxMDAsIDk5OSk7XG4gICAgY29uc3QgZXhjaGFuZ2VDb2RlID0gdGhpcy5udW1iZXIoMTAwLCA5OTkpO1xuICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLm51bWJlcigxMDAwLCA5OTk5KTtcbiAgICByZXR1cm4gYCR7YXJlYUNvZGV9LSR7ZXhjaGFuZ2VDb2RlfS0ke2xpbmVOdW1iZXJ9YDtcbiAgfVxuXG4gIHN0YXRpYyBmaXJzdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaXJzdE5hbWVzID0gWydKb2huJywgJ0FsbGVuJywgJ0phaycsICdSb3NlJywgJ0thdGUnLCAnTGlhbScsICdPbGl2aWEnLCAnTm9haCcsICdFbW1hJywgJ0F2YSddO1xuICAgIHJldHVybiB0aGlzLnBpY2soZmlyc3ROYW1lcyk7XG4gIH1cblxuICBzdGF0aWMgbGFzdE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYXN0TmFtZXMgPSBbJ0dhdGVzJywgJ0pvbnNlbicsICdTbWl0aCcsICdGb3JkJywgJ0pha3NvbicsICdCcm93bicsICdKb2huc29uJywgJ1dpbGxpYW1zJywgJ0pvbmVzJywgJ0dhcmNpYSddO1xuICAgIHJldHVybiB0aGlzLnBpY2sobGFzdE5hbWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBlbWFpbCgpOiBzdHJpbmc7XG4gIHN0YXRpYyBlbWFpbChmaXJzdE5hbWU6IHN0cmluZywgbGFzdE5hbWU6IHN0cmluZyk6IHN0cmluZztcbiAgc3RhdGljIGVtYWlsKC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW5zID0gWydnbWFpbC5jb20nLCAneWFob28uY29tJywgJ291dGxvb2suY29tJywgJ2V4YW1wbGUuY29tJ107XG4gICAgY29uc3QgZG9tYWluID0gdGhpcy5waWNrKGRvbWFpbnMpO1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMucGljayhbJy4nLCAnXycsICcnXSk7XG4gICAgY29uc3QgcmFuZG9tU3VmZml4ID0gdGhpcy5ib29sZWFuKCkgPyB0aGlzLm51bWJlcigxLCA5OSkudG9TdHJpbmcoKSA6ICcnO1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBmaXJzdE5hbWUgPSBhcmdzWzBdLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBsYXN0TmFtZSA9IGFyZ3NbMV0udG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5maXJzdE5hbWUoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY291bnRyeSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdW50cmllcyA9IFsnVVNBJywgJ0NhbmFkYScsICdNZXhpY28nLCAnR2VybWFueScsICdGcmFuY2UnLCAnSmFwYW4nLCAnQXVzdHJhbGlhJ107XG4gICAgcmV0dXJuIHRoaXMucGljayhjb3VudHJpZXMpO1xuICB9XG5cbiAgc3RhdGljIGNpdHkoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaXRpZXMgPSBbJ0xvcyBBbmdlbGVzJywgJ1Rvcm9udG8nLCAnVmFuY291dmVyJywgJ0JlcmxpbicsICdQYXJpcycsICdUb2t5bycsICdTeWRuZXknXTtcbiAgICByZXR1cm4gdGhpcy5waWNrKGNpdGllcyk7XG4gIH1cblxuICBzdGF0aWMgc3RhdGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGF0ZXMgPSBbJ05ZJywgJ0NBJywgJ1RYJywgJ09OJywgJ0JDJywgJ05TVycsICdCRVInLCAnSURGJywgJ1RZTyddO1xuICAgIHJldHVybiB0aGlzLnBpY2soc3RhdGVzKTtcbiAgfVxuXG4gIHN0YXRpYyBhZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc3RyZWV0cyA9IFsnTWFpbiBTdCcsICdIaWdoIFN0JywgJ01hcGxlIEF2ZScsICdPYWsgU3QnLCAnUGluZSBTdCcsICdDZWRhciBTdCddO1xuICAgIGNvbnN0IHN0cmVldE51bWJlciA9IHRoaXMubnVtYmVyKDEwMCwgOTk5OSk7XG4gICAgY29uc3Qgc3RyZWV0ID0gdGhpcy5waWNrKHN0cmVldHMpO1xuICAgIGNvbnN0IGNpdHkgPSB0aGlzLmNpdHkoKTtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUoKTtcbiAgICBjb25zdCB6aXAgPSB0aGlzLm51bWJlcigxMDAwMCwgOTk5OTkpO1xuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmNvdW50cnkoKTtcbiAgICByZXR1cm4gYCR7c3RyZWV0TnVtYmVyfSAke3N0cmVldH0sICR7Y2l0eX0sICR7c3RhdGV9ICR7emlwfSwgJHtjb3VudHJ5fWA7XG4gIH1cbn1cbiJdfQ==","import { extractValue } from \"../utils/object-util\";\nexport function objectKeyValueTransforms(keyName) {\n return {\n getter: (value) => {\n return extractValue(value, keyName);\n },\n setter: (value) => {\n return extractValue(value, keyName);\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdHJhbnNmb3JtZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL3ZhbHVlLXRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFwRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsT0FBZTtJQUNwRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbkIsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNuQixPQUFPLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0cmFjdFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxzL29iamVjdC11dGlsXCI7XG5leHBvcnQgdHlwZSBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb24gPSAodmFsdWU6IGFueSkgPT4gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb25zID0ge1xuICAgIGdldHRlcj86IEFYUFZhbHVlVHJhbnNmb3JtZXJGdW5jdGlvbjtcbiAgICBzZXR0ZXI/OiBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb247XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKGtleU5hbWU6IHN0cmluZyk6IEFYUFZhbHVlVHJhbnNmb3JtZXJGdW5jdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICAgIGdldHRlcjogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0VmFsdWUodmFsdWUsIGtleU5hbWUpO1xuICAgICAgICB9LFxuICAgICAgICBzZXR0ZXI6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXh0cmFjdFZhbHVlKHZhbHVlLCBrZXlOYW1lKTtcbiAgICAgICAgfSxcbiAgICB9O1xufSJdfQ==","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_DATASOURCE_DEFINITION_PROVIDER = new InjectionToken('AXP_DATASOURCE_TYPE_PROVIDER');\nexport class AXPDataSourceDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_DATASOURCE_DEFINITION_PROVIDER, { optional: true });\n }\n async items() {\n const items = [];\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n items.push(...(await provider.items()));\n }\n }\n return items;\n }\n async get(name) {\n return (await this.items()).find((c) => c.name == name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDataSourceDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1kZWZpbml0aW9uLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9kYXRhL2RhdGFzb3VyY2UtZGVmaW5pdGlvbi1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2Qm5FLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLElBQUksY0FBYyxDQUNsRSw4QkFBOEIsQ0FDL0IsQ0FBQztBQUdGLE1BQU0sT0FBTyxzQ0FBc0M7SUFEbkQ7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FnQnBGO0lBZEMsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLEtBQUssR0FBOEIsRUFBRSxDQUFDO1FBRTVDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQWhCVSxzQ0FBc0M7a0hBQXRDLHNDQUFzQyxjQUR6QixNQUFNOzsyRkFDbkIsc0NBQXNDO2tCQURsRCxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBPcHRpb25zRGF0YSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBEYXRhU291cmNlRGVmaW5pdGlvbjxUID0gYW55PiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdmFsdWVGaWVsZD86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgfTtcbiAgdGV4dEZpZWxkPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICB9O1xuICBjb2x1bW5zOiB7XG4gICAgbmFtZTogc3RyaW5nOyBcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRhdGF0eXBlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBBWFBPcHRpb25zRGF0YTtcbiAgfVtdO1xuICBzYW1wbGVzPzogYW55W107XG4gIHNvdXJjZTogKCkgPT4gQVhEYXRhU291cmNlPFQ+IHwgUHJvbWlzZTxBWERhdGFTb3VyY2U8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUERhdGFTb3VyY2VEZWZpbml0aW9uUHJvdmlkZXIge1xuICBpdGVtcygpOiBQcm9taXNlPEFYUERhdGFTb3VyY2VEZWZpbml0aW9uW10+O1xufVxuXG5leHBvcnQgY29uc3QgQVhQX0RBVEFTT1VSQ0VfREVGSU5JVElPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBEYXRhU291cmNlRGVmaW5pdGlvblByb3ZpZGVyW10+KFxuICAnQVhQX0RBVEFTT1VSQ0VfVFlQRV9QUk9WSURFUicsXG4pO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUERhdGFTb3VyY2VEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgQVhQRGF0YVNvdXJjZURlZmluaXRpb25Qcm92aWRlciB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9EQVRBU09VUkNFX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBEYXRhU291cmNlRGVmaW5pdGlvbltdPiB7XG4gICAgY29uc3QgaXRlbXM6IEFYUERhdGFTb3VyY2VEZWZpbml0aW9uW10gPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBpdGVtcy5wdXNoKC4uLihhd2FpdCBwcm92aWRlci5pdGVtcygpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGFzeW5jIGdldChuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUERhdGFTb3VyY2VEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLml0ZW1zKCkpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef, input, effect } from '@angular/core';\nimport { set, get } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nexport class AXPElementDataDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.data = input(null, { alias: 'axp-data' });\n this.path = input('__data__', { alias: 'axp-data-path' });\n // Effect to update element data when inputs change\n this.updateEffect = effect(() => {\n const currentData = this.data();\n const currentPath = this.path();\n set(this.elementRef.nativeElement, currentPath, currentData);\n });\n }\n ngOnInit() {\n // Initial data setup\n set(this.elementRef.nativeElement, this.path(), this.data());\n }\n /**\n * Get data from the element\n */\n getData() {\n return get(this.elementRef.nativeElement, this.path());\n }\n /**\n * Update data at runtime\n */\n setData(data) {\n set(this.elementRef.nativeElement, this.path(), data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPElementDataDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXPElementDataDirective, isStandalone: true, selector: \"[axp-data]\", inputs: { data: { classPropertyName: \"data\", publicName: \"axp-data\", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: \"path\", publicName: \"axp-data-path\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPElementDataDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-data]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1kYXRhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZWxlbWVudC1kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQU1yQyxNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBSHZELFNBQUksR0FBRyxLQUFLLENBQU0sSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0MsU0FBSSxHQUFHLEtBQUssQ0FBUyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQVM3RCxtREFBbUQ7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztJQVp3RCxDQUFDO0lBRTVELFFBQVE7UUFDSixxQkFBcUI7UUFDckIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBU0Q7O09BRUc7SUFDSCxPQUFPO1FBQ0gsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQVM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBL0JRLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGlucHV0LCBPbkluaXQsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2V0LCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1theHAtZGF0YV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQVhQRWxlbWVudERhdGFEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgZGF0YSA9IGlucHV0PGFueT4obnVsbCwgeyBhbGlhczogJ2F4cC1kYXRhJyB9KTtcbiAgICBwYXRoID0gaW5wdXQ8c3RyaW5nPignX19kYXRhX18nLCB7IGFsaWFzOiAnYXhwLWRhdGEtcGF0aCcgfSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7IH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBJbml0aWFsIGRhdGEgc2V0dXBcbiAgICAgICAgc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnBhdGgoKSwgdGhpcy5kYXRhKCkpO1xuICAgIH1cblxuICAgIC8vIEVmZmVjdCB0byB1cGRhdGUgZWxlbWVudCBkYXRhIHdoZW4gaW5wdXRzIGNoYW5nZVxuICAgIHByaXZhdGUgdXBkYXRlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudERhdGEgPSB0aGlzLmRhdGEoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFBhdGggPSB0aGlzLnBhdGgoKTtcbiAgICAgICAgc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjdXJyZW50UGF0aCwgY3VycmVudERhdGEpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogR2V0IGRhdGEgZnJvbSB0aGUgZWxlbWVudFxuICAgICAqL1xuICAgIGdldERhdGEoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5wYXRoKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBkYXRhIGF0IHJ1bnRpbWVcbiAgICAgKi9cbiAgICBzZXREYXRhKGRhdGE6IGFueSkge1xuICAgICAgICBzZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMucGF0aCgpLCBkYXRhKTtcbiAgICB9XG59ICJdfQ==","import { Directive, HostListener, Output, EventEmitter } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPDblClickDirective {\n constructor() {\n this.onDblClick = new EventEmitter();\n this.lastTap = 0;\n this.doubleTapThreshold = 300; // milliseconds\n }\n // Listen for the native dblclick event (desktop)\n handleOnDblClick(event) {\n this.onDblClick.emit(event);\n }\n // Listen for touchend events (mobile)\n onTouchEnd(event) {\n const currentTime = new Date().getTime();\n const tapGap = currentTime - this.lastTap;\n if (tapGap > 0 && tapGap < this.doubleTapThreshold) {\n // Detected a double-tap\n this.onDblClick.emit(event);\n event.preventDefault(); // Optionally prevent further default actions\n }\n this.lastTap = currentTime;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDblClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXPDblClickDirective, isStandalone: true, selector: \"[onDblClick]\", outputs: { onDblClick: \"onDblClick\" }, host: { listeners: { \"dblclick\": \"handleOnDblClick($event)\", \"touchend\": \"onTouchEnd($event)\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPDblClickDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[onDblClick]'\n }]\n }], propDecorators: { onDblClick: [{\n type: Output\n }], handleOnDblClick: [{\n type: HostListener,\n args: ['dblclick', ['$event']]\n }], onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJsLWNsaWNrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvZGJsLWNsaWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs5RSxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSWMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFFekMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNILHVCQUFrQixHQUFHLEdBQUcsQ0FBQyxDQUFDLGVBQWU7S0FxQjdEO0lBbkJHLGlEQUFpRDtJQUVqRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQ0FBc0M7SUFFdEMsVUFBVSxDQUFDLEtBQWlCO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNqRCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsNkNBQTZDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztJQUMvQixDQUFDOzhHQXhCUSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztpQkFDM0I7OEJBRWEsVUFBVTtzQkFBbkIsTUFBTTtnQkFPUCxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT3BDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbb25EYmxDbGlja10nXG59KVxuZXhwb3J0IGNsYXNzIEFYUERibENsaWNrRGlyZWN0aXZlIHtcbiAgICBAT3V0cHV0KCkgb25EYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIGxhc3RUYXAgPSAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG91YmxlVGFwVGhyZXNob2xkID0gMzAwOyAvLyBtaWxsaXNlY29uZHNcblxuICAgIC8vIExpc3RlbiBmb3IgdGhlIG5hdGl2ZSBkYmxjbGljayBldmVudCAoZGVza3RvcClcbiAgICBASG9zdExpc3RlbmVyKCdkYmxjbGljaycsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlT25EYmxDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkRibENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIExpc3RlbiBmb3IgdG91Y2hlbmQgZXZlbnRzIChtb2JpbGUpXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJyRldmVudCddKVxuICAgIG9uVG91Y2hFbmQoZXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgY29uc3QgdGFwR2FwID0gY3VycmVudFRpbWUgLSB0aGlzLmxhc3RUYXA7XG5cbiAgICAgICAgaWYgKHRhcEdhcCA+IDAgJiYgdGFwR2FwIDwgdGhpcy5kb3VibGVUYXBUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgIC8vIERldGVjdGVkIGEgZG91YmxlLXRhcFxuICAgICAgICAgICAgdGhpcy5vbkRibENsaWNrLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gT3B0aW9uYWxseSBwcmV2ZW50IGZ1cnRoZXIgZGVmYXVsdCBhY3Rpb25zXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXN0VGFwID0gY3VycmVudFRpbWU7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, ElementRef, Renderer2, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPGridLayoutDirective {\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n this.options = input.required({ alias: 'axp-grid-layout' });\n }\n ngOnChanges(changes) {\n if (changes['options']) {\n this.applyTailwindClasses();\n }\n }\n applyTailwindClasses() {\n const placement = this.options()?.placement;\n if (!placement)\n return;\n // Clear existing grid classes\n this.clearClasses();\n // Apply new grid classes based on the input options\n this.setClasses(placement.md, 'md:');\n this.setClasses(placement.lg, 'lg:');\n this.setClasses(placement.xl, 'xl:');\n this.setClasses(placement.xxl, '2xl:');\n }\n setClasses(placement, prefix) {\n if (placement == null)\n return;\n const colStart = placement.colStart ? `${prefix}ax-col-start-${placement.colStart}` : '';\n const colEnd = placement.colEnd ? `${prefix}ax-col-end-${placement.colEnd}` : '';\n const colSpan = placement.colSpan ? `${prefix}ax-col-span-${placement.colSpan}` : '';\n const rowStart = placement.rowStart ? `${prefix}ax-row-start-${placement.rowStart}` : '';\n const rowEnd = placement.rowEnd ? `${prefix}ax-row-end-${placement.rowEnd}` : '';\n const rowSpan = placement.rowSpan ? `${prefix}ax-row-span-${placement.rowSpan}` : '';\n const order = placement.order ? `${prefix}ax-order-${placement.order}` : ''; // Handling order\n [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {\n if (cls) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n });\n }\n clearClasses() {\n const currentClasses = this.el.nativeElement.className.split(' ');\n currentClasses.forEach((className) => {\n if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {\n this.renderer.removeClass(this.el.nativeElement, className);\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.4\", type: AXPGridLayoutDirective, isStandalone: true, selector: \"[axp-grid-layout]\", inputs: { options: { classPropertyName: \"options\", publicName: \"axp-grid-layout\", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-grid-layout]',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9ncmlkLWxheW91dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBRTlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBNEIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9sRyxNQUFNLE9BQU8sc0JBQXNCO0lBRy9CLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUYvRCxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBdUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBRVYsQ0FBQztJQUVwRSxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN2Qiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFVBQVUsQ0FBQyxTQUF1QyxFQUFFLE1BQWM7UUFDdEUsSUFBSSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU87UUFFOUIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLGdCQUFnQixTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sY0FBYyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqRixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sZUFBZSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sZ0JBQWdCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pGLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxjQUFjLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxlQUFlLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxZQUFZLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCO1FBRTlGLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hFLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVk7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBaUIsRUFBRSxFQUFFO1lBQ3pDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDMUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDaEUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FqRFEsc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2FwcC9kaXJlY3RpdmVzL2dyaWQtbGF5b3V0LmRpcmVjdGl2ZS50c1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEdyaWRQbGFjZW1lbnQgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2F4cC1ncmlkLWxheW91dF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIG9wdGlvbnMgPSBpbnB1dC5yZXF1aXJlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oeyBhbGlhczogJ2F4cC1ncmlkLWxheW91dCcgfSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snb3B0aW9ucyddKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5VGFpbHdpbmRDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5VGFpbHdpbmRDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwbGFjZW1lbnQgPSB0aGlzLm9wdGlvbnMoKT8ucGxhY2VtZW50O1xuICAgICAgICBpZiAoIXBsYWNlbWVudCkgcmV0dXJuO1xuICAgICAgICAvLyBDbGVhciBleGlzdGluZyBncmlkIGNsYXNzZXNcbiAgICAgICAgdGhpcy5jbGVhckNsYXNzZXMoKTtcblxuICAgICAgICAvLyBBcHBseSBuZXcgZ3JpZCBjbGFzc2VzIGJhc2VkIG9uIHRoZSBpbnB1dCBvcHRpb25zXG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcyhwbGFjZW1lbnQubWQsICdtZDonKTtcbiAgICAgICAgdGhpcy5zZXRDbGFzc2VzKHBsYWNlbWVudC5sZywgJ2xnOicpO1xuICAgICAgICB0aGlzLnNldENsYXNzZXMocGxhY2VtZW50LnhsLCAneGw6Jyk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcyhwbGFjZW1lbnQueHhsLCAnMnhsOicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2xhc3NlcyhwbGFjZW1lbnQ6IEFYUEdyaWRQbGFjZW1lbnQgfCB1bmRlZmluZWQsIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChwbGFjZW1lbnQgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGNvbFN0YXJ0ID0gcGxhY2VtZW50LmNvbFN0YXJ0ID8gYCR7cHJlZml4fWF4LWNvbC1zdGFydC0ke3BsYWNlbWVudC5jb2xTdGFydH1gIDogJyc7XG4gICAgICAgIGNvbnN0IGNvbEVuZCA9IHBsYWNlbWVudC5jb2xFbmQgPyBgJHtwcmVmaXh9YXgtY29sLWVuZC0ke3BsYWNlbWVudC5jb2xFbmR9YCA6ICcnO1xuICAgICAgICBjb25zdCBjb2xTcGFuID0gcGxhY2VtZW50LmNvbFNwYW4gPyBgJHtwcmVmaXh9YXgtY29sLXNwYW4tJHtwbGFjZW1lbnQuY29sU3Bhbn1gIDogJyc7XG4gICAgICAgIGNvbnN0IHJvd1N0YXJ0ID0gcGxhY2VtZW50LnJvd1N0YXJ0ID8gYCR7cHJlZml4fWF4LXJvdy1zdGFydC0ke3BsYWNlbWVudC5yb3dTdGFydH1gIDogJyc7XG4gICAgICAgIGNvbnN0IHJvd0VuZCA9IHBsYWNlbWVudC5yb3dFbmQgPyBgJHtwcmVmaXh9YXgtcm93LWVuZC0ke3BsYWNlbWVudC5yb3dFbmR9YCA6ICcnO1xuICAgICAgICBjb25zdCByb3dTcGFuID0gcGxhY2VtZW50LnJvd1NwYW4gPyBgJHtwcmVmaXh9YXgtcm93LXNwYW4tJHtwbGFjZW1lbnQucm93U3Bhbn1gIDogJyc7XG4gICAgICAgIGNvbnN0IG9yZGVyID0gcGxhY2VtZW50Lm9yZGVyID8gYCR7cHJlZml4fWF4LW9yZGVyLSR7cGxhY2VtZW50Lm9yZGVyfWAgOiAnJzsgLy8gSGFuZGxpbmcgb3JkZXJcblxuICAgICAgICBbY29sU3RhcnQsIGNvbEVuZCwgY29sU3Bhbiwgcm93U3RhcnQsIHJvd0VuZCwgcm93U3Bhbiwgb3JkZXJdLmZvckVhY2goY2xzID0+IHtcbiAgICAgICAgICAgIGlmIChjbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDbGFzc2VzID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZS5zcGxpdCgnICcpO1xuICAgICAgICBjdXJyZW50Q2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKCdheC1jb2wtJykgfHwgY2xhc3NOYW1lLnN0YXJ0c1dpdGgoJ2F4LXJvdy0nKSB8fCBjbGFzc05hbWUuc3RhcnRzV2l0aCgnYXgtb3JkZXItJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, ElementRef, ViewContainerRef, computed, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPContentCheckerDirective {\n constructor() {\n this.viewContainerRef = inject(ViewContainerRef);\n this.elementRef = inject((ElementRef));\n this.isEmpty = computed(() => this.viewContainerRef.length === 0);\n }\n ngAfterViewInit() {\n setTimeout(() => {\n console.log(this.elementRef.nativeElement.childNodes);\n }, 1000);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPContentCheckerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: AXPContentCheckerDirective, isStandalone: true, selector: \"[axp-content-checker]\", exportAs: [\"checker\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPContentCheckerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axp-content-checker]',\n standalone: true,\n exportAs: 'checker'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jaGVja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvY29udGVudC1jaGVja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4Q0FBOEM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUYsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU9XLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGVBQVUsR0FBK0IsTUFBTSxDQUFDLENBQUEsVUFBMEIsQ0FBQSxDQUFDLENBQUM7UUFFNUUsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBUXZFO0lBTkcsZUFBZTtRQUNYLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7OEdBWFEsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxTQUFTO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9hcHAvZGlyZWN0aXZlcy9ncmlkLWxheW91dC5kaXJlY3RpdmUudHNcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2F4cC1jb250ZW50LWNoZWNrZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGV4cG9ydEFzOiAnY2hlY2tlcidcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29udGVudENoZWNrZXJEaXJlY3RpdmUge1xuXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KTtcblxuICAgIHB1YmxpYyBpc0VtcHR5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52aWV3Q29udGFpbmVyUmVmLmxlbmd0aCA9PT0gMCk7XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxufVxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXPDataGenerator } from '../data/data-generator';\nimport { isUndefined } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nexport class AXPBroadcastEventService {\n constructor() {\n this.eventSubjects = new Map();\n this.pendingRequests = new Map();\n this.multiTabEventHistory = new Set(); // Prevent duplicate processing of the same event\n this.channel = new BroadcastChannel('platform_global_events');\n // Handle incoming messages\n this.channel.onmessage = (event) => {\n const { type, payload, requestId, response } = event.data;\n // Prevent processing the same event multiple times (multi-tab synchronization)\n if (requestId && this.multiTabEventHistory.has(requestId)) {\n return;\n }\n if (requestId) {\n this.multiTabEventHistory.add(requestId); // Store processed requestId\n setTimeout(() => this.multiTabEventHistory.delete(requestId), 10000); // Cleanup after 10 sec\n }\n // Handle responses to pending requests\n if (requestId && !isUndefined(response) && this.pendingRequests.has(requestId)) {\n this.pendingRequests.get(requestId)(response);\n this.pendingRequests.delete(requestId);\n return;\n }\n // Handle normal broadcast events\n if (type && this.eventSubjects.has(type)) {\n this.eventSubjects.get(type).next({ data: payload, requestId });\n }\n };\n }\n /**\n * Publish an event without expecting a response\n */\n publish(type, payload) {\n this.channel.postMessage({ type, payload });\n }\n /**\n * Subscribe to an event\n */\n listen(type) {\n if (!this.eventSubjects.has(type)) {\n this.eventSubjects.set(type, new Subject());\n }\n return this.eventSubjects.get(type).asObservable();\n }\n /**\n * Unsubscribe from an event\n */\n unsubscribe(type) {\n if (this.eventSubjects.has(type)) {\n this.eventSubjects.get(type).complete();\n this.eventSubjects.delete(type);\n }\n }\n /**\n * Send a message and wait for a response with retry logic\n */\n async sendAndWaitForResponse(type, payload, options = { timeout: 60 * 60 * 1000, retries: 3, retryDelay: 1000 }) {\n const requestId = AXPDataGenerator.uuid();\n const attemptRequest = (attempt) => {\n return new Promise((resolve, reject) => {\n this.pendingRequests.set(requestId, resolve);\n this.channel.postMessage({ type, payload, requestId });\n setTimeout(() => {\n if (this.pendingRequests.has(requestId)) {\n this.pendingRequests.delete(requestId);\n if (attempt < options.retries) {\n console.warn(`Retrying request '${type}' (${attempt + 1}/${options.retries})...`);\n resolve(attemptRequest(attempt + 1)); // Retry request\n }\n else {\n reject(new Error(`Timeout: No response received for event '${type}' after ${options.retries} attempts.`));\n }\n }\n }, options.timeout);\n });\n };\n return attemptRequest(0);\n }\n /**\n * Respond to a request\n */\n respondToRequest(requestId, response) {\n if (!requestId) {\n console.warn('Invalid requestId. Cannot send response.');\n return;\n }\n this.channel.postMessage({ requestId, response });\n }\n /**\n * Cleanup when the service is destroyed\n */\n ngOnDestroy() {\n this.channel.close();\n // Complete all subjects\n this.eventSubjects.forEach((subject) => subject.complete());\n this.eventSubjects.clear();\n // Reject all pending requests to avoid dangling promises\n this.pendingRequests.forEach((resolve, requestId) => {\n resolve(Promise.reject(new Error(`Service destroyed. Request ${requestId} was not completed.`)));\n });\n this.pendingRequests.clear();\n // Cleanup multi-tab event history\n this.multiTabEventHistory.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPBroadcastEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V2ZW50LXNlcnZpY2UvZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLeEMsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQztRQUpRLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXNELENBQUM7UUFDOUUsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztRQUM3RCx5QkFBb0IsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDLENBQUMsaURBQWlEO1FBRy9GLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTlELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzFELCtFQUErRTtZQUMvRSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsNEJBQTRC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SSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsOEJBQThCLFNBQVMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTdCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0E3SFEsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGckIsTUFBTTs7MkZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQRGF0YUdlbmVyYXRvciB9IGZyb20gJy4uL2RhdGEvZGF0YS1nZW5lcmF0b3InO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUEJyb2FkY2FzdEV2ZW50U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjaGFubmVsOiBCcm9hZGNhc3RDaGFubmVsO1xuICAgIHByaXZhdGUgZXZlbnRTdWJqZWN0cyA9IG5ldyBNYXA8c3RyaW5nLCBTdWJqZWN0PHsgZGF0YTogYW55LCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4+KCk7XG4gICAgcHJpdmF0ZSBwZW5kaW5nUmVxdWVzdHMgPSBuZXcgTWFwPHN0cmluZywgKHJlc3BvbnNlOiBhbnkpID0+IHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBtdWx0aVRhYkV2ZW50SGlzdG9yeSA9IG5ldyBTZXQ8c3RyaW5nPigpOyAvLyBQcmV2ZW50IGR1cGxpY2F0ZSBwcm9jZXNzaW5nIG9mIHRoZSBzYW1lIGV2ZW50XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jaGFubmVsID0gbmV3IEJyb2FkY2FzdENoYW5uZWwoJ3BsYXRmb3JtX2dsb2JhbF9ldmVudHMnKTtcblxuICAgICAgICAvLyBIYW5kbGUgaW5jb21pbmcgbWVzc2FnZXNcbiAgICAgICAgdGhpcy5jaGFubmVsLm9ubWVzc2FnZSA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlLCBwYXlsb2FkLCByZXF1ZXN0SWQsIHJlc3BvbnNlIH0gPSBldmVudC5kYXRhO1xuICAgICAgICAgICAgLy8gUHJldmVudCBwcm9jZXNzaW5nIHRoZSBzYW1lIGV2ZW50IG11bHRpcGxlIHRpbWVzIChtdWx0aS10YWIgc3luY2hyb25pemF0aW9uKVxuICAgICAgICAgICAgaWYgKHJlcXVlc3RJZCAmJiB0aGlzLm11bHRpVGFiRXZlbnRIaXN0b3J5LmhhcyhyZXF1ZXN0SWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmVxdWVzdElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5hZGQocmVxdWVzdElkKTsgLy8gU3RvcmUgcHJvY2Vzc2VkIHJlcXVlc3RJZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5kZWxldGUocmVxdWVzdElkKSwgMTAwMDApOyAvLyBDbGVhbnVwIGFmdGVyIDEwIHNlY1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIYW5kbGUgcmVzcG9uc2VzIHRvIHBlbmRpbmcgcmVxdWVzdHNcbiAgICAgICAgICAgIGlmIChyZXF1ZXN0SWQgJiYgIWlzVW5kZWZpbmVkKHJlc3BvbnNlKSAmJiB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5oYXMocmVxdWVzdElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLmdldChyZXF1ZXN0SWQpIShyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIYW5kbGUgbm9ybWFsIGJyb2FkY2FzdCBldmVudHNcbiAgICAgICAgICAgIGlmICh0eXBlICYmIHRoaXMuZXZlbnRTdWJqZWN0cy5oYXModHlwZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuZ2V0KHR5cGUpIS5uZXh0KHsgZGF0YTogcGF5bG9hZCwgcmVxdWVzdElkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1Ymxpc2ggYW4gZXZlbnQgd2l0aG91dCBleHBlY3RpbmcgYSByZXNwb25zZVxuICAgICAqL1xuICAgIHB1YmxpYyBwdWJsaXNoPFQ+KHR5cGU6IHN0cmluZywgcGF5bG9hZD86IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJzY3JpYmUgdG8gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgbGlzdGVuPFQ+KHR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8eyBkYXRhOiBULCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4ge1xuICAgICAgICBpZiAoIXRoaXMuZXZlbnRTdWJqZWN0cy5oYXModHlwZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRTdWJqZWN0cy5zZXQodHlwZSwgbmV3IFN1YmplY3Q8eyBkYXRhOiBULCByZXF1ZXN0SWQ/OiBzdHJpbmcgfT4oKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnRTdWJqZWN0cy5nZXQodHlwZSkhLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuc3Vic2NyaWJlIGZyb20gYW4gZXZlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgdW5zdWJzY3JpYmUodHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV2ZW50U3ViamVjdHMuaGFzKHR5cGUpKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuZ2V0KHR5cGUpIS5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5ldmVudFN1YmplY3RzLmRlbGV0ZSh0eXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYSBtZXNzYWdlIGFuZCB3YWl0IGZvciBhIHJlc3BvbnNlIHdpdGggcmV0cnkgbG9naWNcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgc2VuZEFuZFdhaXRGb3JSZXNwb25zZTxULCBSPihcbiAgICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgICBwYXlsb2FkPzogVCxcbiAgICAgICAgb3B0aW9uczogeyB0aW1lb3V0OiBudW1iZXI7IHJldHJpZXM6IG51bWJlcjsgcmV0cnlEZWxheTogbnVtYmVyIH0gPSB7IHRpbWVvdXQ6IDYwICogNjAgKiAxMDAwLCByZXRyaWVzOiAzLCByZXRyeURlbGF5OiAxMDAwIH1cbiAgICApOiBQcm9taXNlPFI+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdElkID0gQVhQRGF0YUdlbmVyYXRvci51dWlkKCk7XG5cbiAgICAgICAgY29uc3QgYXR0ZW1wdFJlcXVlc3QgPSAoYXR0ZW1wdDogbnVtYmVyKTogUHJvbWlzZTxSPiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzLnNldChyZXF1ZXN0SWQsIHJlc29sdmUpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFubmVsLnBvc3RNZXNzYWdlKHsgdHlwZSwgcGF5bG9hZCwgcmVxdWVzdElkIH0pO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0cy5oYXMocmVxdWVzdElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0ZW1wdCA8IG9wdGlvbnMucmV0cmllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgUmV0cnlpbmcgcmVxdWVzdCAnJHt0eXBlfScgKCR7YXR0ZW1wdCArIDF9LyR7b3B0aW9ucy5yZXRyaWVzfSkuLi5gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGF0dGVtcHRSZXF1ZXN0KGF0dGVtcHQgKyAxKSk7IC8vIFJldHJ5IHJlcXVlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihgVGltZW91dDogTm8gcmVzcG9uc2UgcmVjZWl2ZWQgZm9yIGV2ZW50ICcke3R5cGV9JyBhZnRlciAke29wdGlvbnMucmV0cmllc30gYXR0ZW1wdHMuYCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgb3B0aW9ucy50aW1lb3V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBhdHRlbXB0UmVxdWVzdCgwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNwb25kIHRvIGEgcmVxdWVzdFxuICAgICAqL1xuICAgIHB1YmxpYyByZXNwb25kVG9SZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nLCByZXNwb25zZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghcmVxdWVzdElkKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgcmVxdWVzdElkLiBDYW5ub3Qgc2VuZCByZXNwb25zZS4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5uZWwucG9zdE1lc3NhZ2UoeyByZXF1ZXN0SWQsIHJlc3BvbnNlIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFudXAgd2hlbiB0aGUgc2VydmljZSBpcyBkZXN0cm95ZWRcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFubmVsLmNsb3NlKCk7XG5cbiAgICAgICAgLy8gQ29tcGxldGUgYWxsIHN1YmplY3RzXG4gICAgICAgIHRoaXMuZXZlbnRTdWJqZWN0cy5mb3JFYWNoKChzdWJqZWN0KSA9PiBzdWJqZWN0LmNvbXBsZXRlKCkpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHMuY2xlYXIoKTtcblxuICAgICAgICAvLyBSZWplY3QgYWxsIHBlbmRpbmcgcmVxdWVzdHMgdG8gYXZvaWQgZGFuZ2xpbmcgcHJvbWlzZXNcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMuZm9yRWFjaCgocmVzb2x2ZSwgcmVxdWVzdElkKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgU2VydmljZSBkZXN0cm95ZWQuIFJlcXVlc3QgJHtyZXF1ZXN0SWR9IHdhcyBub3QgY29tcGxldGVkLmApKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpO1xuXG4gICAgICAgIC8vIENsZWFudXAgbXVsdGktdGFiIGV2ZW50IGhpc3RvcnlcbiAgICAgICAgdGhpcy5tdWx0aVRhYkV2ZW50SGlzdG9yeS5jbGVhcigpO1xuICAgIH1cbn1cbiJdfQ==","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPExpressionEvaluatorScopeProviderContext {\n constructor() {\n this.scopes = {};\n }\n addScope(namespace, functions) {\n this.scopes[namespace] = { ...this.scopes[namespace], ...functions };\n }\n getScopes() {\n return this.scopes;\n }\n}\nexport const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER = new InjectionToken('AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER');\nexport class AXPExpressionEvaluatorScopeProviderService {\n constructor() {\n this.providers = inject(AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache)\n return;\n const context = new AXPExpressionEvaluatorScopeProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n this.cache = context.getScopes();\n }\n async getScopesAsync() {\n await this.load();\n return this.cache || {};\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorScopeProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi1ldmFsdWF0b3Itc2NvcGUtcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V4cHJlc3Npb24tZXZhbHVhdG9yL2V4cHJlc3Npb24tZXZhbHVhdG9yLXNjb3BlLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9uRSxNQUFNLE9BQU8sMENBQTBDO0lBQXZEO1FBQ1ksV0FBTSxHQUFnQyxFQUFFLENBQUM7SUFPckQsQ0FBQztJQU5HLFFBQVEsQ0FBQyxTQUFpQixFQUFFLFNBQXVDO1FBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0o7QUFHRCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxJQUFJLGNBQWMsQ0FDckUseUNBQXlDLENBQzVDLENBQUM7QUFHRixNQUFNLE9BQU8sMENBQTBDO0lBRHZEO1FBRVksY0FBUyxHQUFHLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLFVBQUssR0FBdUMsSUFBSSxDQUFDO0tBaUI1RDtJQWZXLEtBQUssQ0FBQyxJQUFJO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQ0FBMEMsRUFBRSxDQUFDO1FBQ2pFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FsQlEsMENBQTBDO2tIQUExQywwQ0FBMEMsY0FEN0IsTUFBTTs7MkZBQ25CLDBDQUEwQztrQkFEdEQsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgfSBmcm9tICcuL2V4cHJlc3Npb24tZXZhbHVhdG9yLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcbiAgICBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQge1xuICAgIHByaXZhdGUgc2NvcGVzOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgPSB7fTtcbiAgICBhZGRTY29wZShuYW1lc3BhY2U6IHN0cmluZywgZnVuY3Rpb25zOiB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvbiB9KSB7XG4gICAgICAgIHRoaXMuc2NvcGVzW25hbWVzcGFjZV0gPSB7IC4uLnRoaXMuc2NvcGVzW25hbWVzcGFjZV0sIC4uLmZ1bmN0aW9ucyB9O1xuICAgIH1cbiAgICBnZXRTY29wZXMoKTogQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NvcGVzO1xuICAgIH1cbn1cbmV4cG9ydCB0eXBlIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVycyA9IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyW10gfCAoKCkgPT4gQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJbXSk7XG5cbmV4cG9ydCBjb25zdCBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJzPihcbiAgICAnQVhQX0VYUFJFU1NJT05fRVZBTFVBVE9SX1NDT1BFX1BST1ZJREVSJ1xuKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIGNhY2hlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQoKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcHJvdmlkZXIucHJvdmlkZShjb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhY2hlID0gY29udGV4dC5nZXRTY29wZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2NvcGVzQXN5bmMoKTogUHJvbWlzZTxBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGU+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlIHx8IHt9O1xuICAgIH1cbn0gIl19","import { Injectable, inject } from '@angular/core';\nimport { AXPExpressionEvaluatorScopeProviderService } from './expression-evaluator-scope-provider.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPExpressionEvaluatorService {\n constructor() {\n // Memoization cache for compiled expressions\n this.expressionCache = new Map();\n this.providerService = inject(AXPExpressionEvaluatorScopeProviderService);\n }\n getOrCompileFunction(expression) {\n if (!this.expressionCache.has(expression)) {\n const fn = new Function('scope', `with (scope) { return (async function() { return ${expression}; })(); }`);\n this.expressionCache.set(expression, fn);\n }\n return this.expressionCache.get(expression);\n }\n async getMergedScope(userScope) {\n const pluginScopes = await this.providerService.getScopesAsync();\n // Merge pluginScopes and userScope (userScope takes precedence)\n return { ...pluginScopes, ...userScope };\n }\n async evaluate(source, scope) {\n try {\n const mergedScope = await this.getMergedScope(scope);\n if (typeof source === 'string' && source.includes('{{')) {\n return await this.evaluateStringExpression(source, mergedScope);\n }\n else if (Array.isArray(source)) {\n const evaluatedArray = [];\n for (const item of source) {\n evaluatedArray.push(await this.evaluate(item, mergedScope));\n }\n return evaluatedArray;\n }\n else if (typeof source === 'object' && source !== null) {\n const evaluatedObject = {};\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n evaluatedObject[key] = await this.evaluate(source[key], mergedScope);\n }\n }\n return evaluatedObject;\n }\n else {\n return source;\n }\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async evaluateStringExpression(templateExpression, scope) {\n // Check if the input is exactly a single {{ ... }} expression\n const exactMatch = templateExpression.match(/^\\s*\\{\\{\\s*(.*?)\\s*\\}\\}\\s*$/);\n if (exactMatch) {\n const expression = exactMatch[1];\n const sandbox = this.getOrCompileFunction(expression);\n return await sandbox(scope);\n }\n // Otherwise, interpolate all {{ ... }} expressions in the string\n const regex = /\\{\\{\\s*(.*?)\\s*\\}\\}/g;\n // Collect all matches and their positions\n const matches = [];\n let match;\n while ((match = regex.exec(templateExpression)) !== null) {\n matches.push({\n expression: match[1],\n start: match.index,\n end: regex.lastIndex,\n raw: match[0],\n });\n }\n // Evaluate all expressions in parallel\n const values = await Promise.all(matches.map((m) => {\n const sandbox = this.getOrCompileFunction(m.expression);\n return sandbox(scope);\n }));\n // Reconstruct the string with evaluated values\n let result = '';\n let lastIndex = 0;\n matches.forEach((m, i) => {\n result += templateExpression.slice(lastIndex, m.start);\n const value = values[i];\n result += value !== undefined && value !== null ? value : '';\n lastIndex = m.end;\n });\n result += templateExpression.slice(lastIndex);\n return result;\n }\n isExpression(expression) {\n if (typeof expression === 'string') {\n return expression.includes('{{');\n }\n return false;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPExpressionEvaluatorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi1ldmFsdWF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL2V4cHJlc3Npb24tZXZhbHVhdG9yL2V4cHJlc3Npb24tZXZhbHVhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBSzNHLE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFRSw2Q0FBNkM7UUFDckMsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUM5QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0tBMkY5RTtJQXpGUyxvQkFBb0IsQ0FBQyxVQUFrQjtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsb0RBQW9ELFVBQVUsV0FBVyxDQUFDLENBQUM7WUFDNUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBRSxDQUFDO0lBQy9DLENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQXNDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqRSxnRUFBZ0U7UUFDaEUsT0FBTyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDM0MsQ0FB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eyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vZXhwcmVzc2lvbi1ldmFsdWF0b3Itc2NvcGUtcHJvdmlkZXIuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSA9IHsgW25hbWU6IHN0cmluZ106IHsgW25hbWU6IHN0cmluZ106IEZ1bmN0aW9uIH0gfTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2VydmljZSB7XG4gIC8vIE1lbW9pemF0aW9uIGNhY2hlIGZvciBjb21waWxlZCBleHByZXNzaW9uc1xuICBwcml2YXRlIGV4cHJlc3Npb25DYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBGdW5jdGlvbj4oKTtcbiAgcHJpdmF0ZSBwcm92aWRlclNlcnZpY2UgPSBpbmplY3QoQVhQRXhwcmVzc2lvbkV2YWx1YXRvclNjb3BlUHJvdmlkZXJTZXJ2aWNlKTtcblxuICBwcml2YXRlIGdldE9yQ29tcGlsZUZ1bmN0aW9uKGV4cHJlc3Npb246IHN0cmluZyk6IEZ1bmN0aW9uIHtcbiAgICBpZiAoIXRoaXMuZXhwcmVzc2lvbkNhY2hlLmhhcyhleHByZXNzaW9uKSkge1xuICAgICAgY29uc3QgZm4gPSBuZXcgRnVuY3Rpb24oJ3Njb3BlJywgYHdpdGggKHNjb3BlKSB7IHJldHVybiAoYXN5bmMgZnVuY3Rpb24oKSB7IHJldHVybiAke2V4cHJlc3Npb259OyB9KSgpOyB9YCk7XG4gICAgICB0aGlzLmV4cHJlc3Npb25DYWNoZS5zZXQoZXhwcmVzc2lvbiwgZm4pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5leHByZXNzaW9uQ2FjaGUuZ2V0KGV4cHJlc3Npb24pITtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0TWVyZ2VkU2NvcGUodXNlclNjb3BlOiBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGUpOiBQcm9taXNlPEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZT4ge1xuICAgIGNvbnN0IHBsdWdpblNjb3BlcyA9IGF3YWl0IHRoaXMucHJvdmlkZXJTZXJ2aWNlLmdldFNjb3Blc0FzeW5jKCk7XG4gICAgLy8gTWVyZ2UgcGx1Z2luU2NvcGVzIGFuZCB1c2VyU2NvcGUgKHVzZXJTY29wZSB0YWtlcyBwcmVjZWRlbmNlKVxuICAgIHJldHVybiB7IC4uLnBsdWdpblNjb3BlcywgLi4udXNlclNjb3BlIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZXZhbHVhdGUoc291cmNlOiBhbnkgfCBhbnlbXSwgc2NvcGU6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1lcmdlZFNjb3BlID0gYXdhaXQgdGhpcy5nZXRNZXJnZWRTY29wZShzY29wZSk7XG4gICAgICBpZiAodHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycgJiYgc291cmNlLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmV2YWx1YXRlU3RyaW5nRXhwcmVzc2lvbihzb3VyY2UsIG1lcmdlZFNjb3BlKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRlZEFycmF5ID0gW107XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBzb3VyY2UpIHtcbiAgICAgICAgICBldmFsdWF0ZWRBcnJheS5wdXNoKGF3YWl0IHRoaXMuZXZhbHVhdGUoaXRlbSwgbWVyZ2VkU2NvcGUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXZhbHVhdGVkQXJyYXk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzb3VyY2UgPT09ICdvYmplY3QnICYmIHNvdXJjZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBldmFsdWF0ZWRPYmplY3Q6IGFueSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgICBpZiAoc291cmNlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIGV2YWx1YXRlZE9iamVjdFtrZXldID0gYXdhaXQgdGhpcy5ldmFsdWF0ZShzb3VyY2Vba2V5XSwgbWVyZ2VkU2NvcGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXZhbHVhdGVkT2JqZWN0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZXZhbHVhdGluZyBleHByZXNzaW9uOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlU3RyaW5nRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgc2NvcGU6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZSk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gQ2hlY2sgaWYgdGhlIGlucHV0IGlzIGV4YWN0bHkgYSBzaW5nbGUge3sgLi4uIH19IGV4cHJlc3Npb25cbiAgICBjb25zdCBleGFjdE1hdGNoID0gdGVtcGxhdGVFeHByZXNzaW9uLm1hdGNoKC9eXFxzKlxce1xce1xccyooLio/KVxccypcXH1cXH1cXHMqJC8pO1xuICAgIGlmIChleGFjdE1hdGNoKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uID0gZXhhY3RNYXRjaFsxXTtcbiAgICAgIGNvbnN0IHNhbmRib3ggPSB0aGlzLmdldE9yQ29tcGlsZUZ1bmN0aW9uKGV4cHJlc3Npb24pO1xuICAgICAgcmV0dXJuIGF3YWl0IHNhbmRib3goc2NvcGUpO1xuICAgIH1cbiAgICAvLyBPdGhlcndpc2UsIGludGVycG9sYXRlIGFsbCB7eyAuLi4gfX0gZXhwcmVzc2lvbnMgaW4gdGhlIHN0cmluZ1xuICAgIGNvbnN0IHJlZ2V4ID0gL1xce1xce1xccyooLio/KVxccypcXH1cXH0vZztcbiAgICAvLyBDb2xsZWN0IGFsbCBtYXRjaGVzIGFuZCB0aGVpciBwb3NpdGlvbnNcbiAgICBjb25zdCBtYXRjaGVzID0gW107XG4gICAgbGV0IG1hdGNoO1xuICAgIHdoaWxlICgobWF0Y2ggPSByZWdleC5leGVjKHRlbXBsYXRlRXhwcmVzc2lvbikpICE9PSBudWxsKSB7XG4gICAgICBtYXRjaGVzLnB1c2goe1xuICAgICAgICBleHByZXNzaW9uOiBtYXRjaFsxXSxcbiAgICAgICAgc3RhcnQ6IG1hdGNoLmluZGV4LFxuICAgICAgICBlbmQ6IHJlZ2V4Lmxhc3RJbmRleCxcbiAgICAgICAgcmF3OiBtYXRjaFswXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBFdmFsdWF0ZSBhbGwgZXhwcmVzc2lvbnMgaW4gcGFyYWxsZWxcbiAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1hdGNoZXMubWFwKChtKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbmRib3ggPSB0aGlzLmdldE9yQ29tcGlsZUZ1bmN0aW9uKG0uZXhwcmVzc2lvbik7XG4gICAgICAgIHJldHVybiBzYW5kYm94KHNjb3BlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gICAgLy8gUmVjb25zdHJ1Y3QgdGhlIHN0cmluZyB3aXRoIGV2YWx1YXRlZCB2YWx1ZXNcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgbGV0IGxhc3RJbmRleCA9IDA7XG4gICAgbWF0Y2hlcy5mb3JFYWNoKChtLCBpKSA9PiB7XG4gICAgICByZXN1bHQgKz0gdGVtcGxhdGVFeHByZXNzaW9uLnNsaWNlKGxhc3RJbmRleCwgbS5zdGFydCk7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1tpXTtcbiAgICAgIHJlc3VsdCArPSB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiAnJztcbiAgICAgIGxhc3RJbmRleCA9IG0uZW5kO1xuICAgIH0pO1xuICAgIHJlc3VsdCArPSB0ZW1wbGF0ZUV4cHJlc3Npb24uc2xpY2UobGFzdEluZGV4KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGlzRXhwcmVzc2lvbihleHByZXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIGV4cHJlc3Npb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZXhwcmVzc2lvbi5pbmNsdWRlcygne3snKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=","import { Injectable, inject, provideAppInitializer } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPAppStartUpService {\n constructor() {\n this.tasks = [];\n }\n registerTask(task) {\n this.tasks.push(task);\n }\n async runAllTasks() {\n for (const task of this.tasks.sort((a, b) => a.priority - b.priority)) {\n console.log(`Running \"${task.statusText}\" with priority \"${task.priority}\"`);\n this.updateStatus(task.statusText);\n await task.run();\n }\n }\n updateStatus(status) {\n const loadingText = document.querySelector('#loadingText');\n if (loadingText) {\n loadingText.innerHTML = status;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPAppStartUpService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\nfunction initAppFactory(appInitService) {\n return () => appInitService.runAllTasks();\n}\nexport const AXPAppStartUpProvider = provideAppInitializer(() => {\n const initializerFn = initAppFactory(inject(AXPAppStartUpService));\n return initializerFn();\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3N0YXJ0dXAvYXBwLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLFVBQUssR0FBcUIsRUFBRSxDQUFDO0tBb0J0QztJQWxCQyxZQUFZLENBQUMsSUFBb0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVLG9CQUFvQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjO1FBQ2pDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixXQUFXLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQzs4R0FwQlUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUF3QkQsU0FBUyxjQUFjLENBQUMsY0FBb0M7SUFDMUQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtJQUM5RCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUNuRSxPQUFPLGFBQWEsRUFBRSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0LCBwcm92aWRlQXBwSW5pdGlhbGl6ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFN0YXJ0VXBUYXNrIH0gZnJvbSAnLi9hcHAtc3RhcnR1cC50eXBlcyc7XG5cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQXBwU3RhcnRVcFNlcnZpY2Uge1xuICBwcml2YXRlIHRhc2tzOiBBWFBTdGFydFVwVGFza1tdID0gW107XG5cbiAgcmVnaXN0ZXJUYXNrKHRhc2s6IEFYUFN0YXJ0VXBUYXNrKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKHRhc2spO1xuICB9XG5cbiAgYXN5bmMgcnVuQWxsVGFza3MoKSB7XG4gICAgZm9yIChjb25zdCB0YXNrIG9mIHRoaXMudGFza3Muc29ydCgoYSwgYikgPT4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHkpKSB7XG4gICAgICBjb25zb2xlLmxvZyhgUnVubmluZyBcIiR7dGFzay5zdGF0dXNUZXh0fVwiIHdpdGggcHJpb3JpdHkgXCIke3Rhc2sucHJpb3JpdHl9XCJgKTtcbiAgICAgIHRoaXMudXBkYXRlU3RhdHVzKHRhc2suc3RhdHVzVGV4dCk7XG4gICAgICBhd2FpdCB0YXNrLnJ1bigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdHVzKHN0YXR1czogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9hZGluZ1RleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbG9hZGluZ1RleHQnKTtcbiAgICBpZiAobG9hZGluZ1RleHQpIHtcbiAgICAgIGxvYWRpbmdUZXh0LmlubmVySFRNTCA9IHN0YXR1cztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5pdEFwcEZhY3RvcnkoYXBwSW5pdFNlcnZpY2U6IEFYUEFwcFN0YXJ0VXBTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiBhcHBJbml0U2VydmljZS5ydW5BbGxUYXNrcygpO1xufVxuXG5leHBvcnQgY29uc3QgQVhQQXBwU3RhcnRVcFByb3ZpZGVyID0gcHJvdmlkZUFwcEluaXRpYWxpemVyKCgpID0+IHtcbiAgY29uc3QgaW5pdGlhbGl6ZXJGbiA9IGluaXRBcHBGYWN0b3J5KGluamVjdChBWFBBcHBTdGFydFVwU2VydmljZSkpO1xuICByZXR1cm4gaW5pdGlhbGl6ZXJGbigpO1xufSk7XG4iXX0=","export var AXPSystemActionType;\n(function (AXPSystemActionType) {\n AXPSystemActionType[\"View\"] = \"view\";\n AXPSystemActionType[\"Create\"] = \"create\";\n AXPSystemActionType[\"Update\"] = \"update\";\n AXPSystemActionType[\"Delete\"] = \"delete\";\n AXPSystemActionType[\"Approve\"] = \"approve\";\n AXPSystemActionType[\"Reject\"] = \"reject\";\n AXPSystemActionType[\"Submit\"] = \"submit\";\n AXPSystemActionType[\"Export\"] = \"export\";\n AXPSystemActionType[\"Import\"] = \"import\";\n AXPSystemActionType[\"Print\"] = \"print\";\n AXPSystemActionType[\"Assign\"] = \"assign\";\n AXPSystemActionType[\"Lock\"] = \"lock\";\n AXPSystemActionType[\"Unlock\"] = \"unlock\";\n AXPSystemActionType[\"Share\"] = \"share\";\n AXPSystemActionType[\"Configure\"] = \"configure\";\n AXPSystemActionType[\"Reorder\"] = \"reorder\";\n AXPSystemActionType[\"Preview\"] = \"preview\";\n AXPSystemActionType[\"Duplicate\"] = \"duplicate\";\n AXPSystemActionType[\"Archive\"] = \"archive\";\n AXPSystemActionType[\"Publish\"] = \"publish\";\n AXPSystemActionType[\"Unpublish\"] = \"unpublish\";\n AXPSystemActionType[\"Upload\"] = \"upload\";\n AXPSystemActionType[\"Download\"] = \"download\";\n AXPSystemActionType[\"Copy\"] = \"copy\";\n AXPSystemActionType[\"Move\"] = \"move\";\n AXPSystemActionType[\"Rename\"] = \"rename\";\n AXPSystemActionType[\"Restore\"] = \"restore\";\n})(AXPSystemActionType || (AXPSystemActionType = {}));\nconst i18n = (key) => `t('actions.${key}',{scope:'general'})`;\nexport const AXPSystemActions = Object.freeze({\n View: {\n key: AXPSystemActionType.View,\n title: i18n('view.title'),\n icon: 'fa-light fa-eye',\n color: 'default',\n descriptions: {\n button: i18n('view.button'),\n tooltip: i18n('view.tooltip'),\n permission: i18n('view.permission'),\n audit: i18n('view.audit')\n }\n },\n Create: {\n key: AXPSystemActionType.Create,\n title: i18n('create.title'),\n icon: 'fa-light fa-plus',\n color: 'success',\n descriptions: {\n button: i18n('create.button'),\n tooltip: i18n('create.tooltip'),\n permission: i18n('create.permission'),\n audit: i18n('create.audit')\n }\n },\n Edit: {\n key: AXPSystemActionType.Update,\n title: i18n('edit.title'),\n icon: 'fa-light fa-pen',\n color: 'primary',\n descriptions: {\n button: i18n('edit.button'),\n tooltip: i18n('edit.tooltip'),\n permission: i18n('edit.permission'),\n audit: i18n('edit.audit')\n }\n },\n Delete: {\n key: AXPSystemActionType.Delete,\n title: i18n('delete.title'),\n icon: 'fa-light fa-trash',\n color: 'danger',\n critical: true,\n descriptions: {\n button: i18n('delete.button'),\n tooltip: i18n('delete.tooltip'),\n permission: i18n('delete.permission'),\n audit: i18n('delete.audit')\n }\n },\n Approve: {\n key: AXPSystemActionType.Approve,\n title: i18n('approve.title'),\n icon: 'fa-light fa-circle-check',\n color: 'success',\n critical: true,\n descriptions: {\n button: i18n('approve.button'),\n tooltip: i18n('approve.tooltip'),\n permission: i18n('approve.permission'),\n audit: i18n('approve.audit')\n }\n },\n Submit: {\n key: AXPSystemActionType.Submit,\n title: i18n('submit.title'),\n icon: 'fa-light fa-paper-plane',\n color: 'primary',\n descriptions: {\n button: i18n('submit.button'),\n tooltip: i18n('submit.tooltip'),\n permission: i18n('submit.permission'),\n audit: i18n('submit.audit')\n }\n },\n Reject: {\n key: AXPSystemActionType.Reject,\n title: i18n('reject.title'),\n icon: 'fa-light fa-ban',\n color: 'danger',\n critical: true,\n descriptions: {\n button: i18n('reject.button'),\n tooltip: i18n('reject.tooltip'),\n permission: i18n('reject.permission'),\n audit: i18n('reject.audit')\n }\n },\n Export: {\n key: AXPSystemActionType.Export,\n title: i18n('export.title'),\n icon: 'fa-light fa-download',\n color: 'default',\n descriptions: {\n button: i18n('export.button'),\n tooltip: i18n('export.tooltip'),\n permission: i18n('export.permission'),\n audit: i18n('export.audit')\n }\n },\n Import: {\n key: AXPSystemActionType.Import,\n title: i18n('import.title'),\n icon: 'fa-light fa-upload',\n color: 'default',\n descriptions: {\n button: i18n('import.button'),\n tooltip: i18n('import.tooltip'),\n permission: i18n('import.permission'),\n audit: i18n('import.audit')\n }\n },\n Print: {\n key: AXPSystemActionType.Print,\n title: i18n('print.title'),\n icon: 'fa-light fa-print',\n color: 'default',\n descriptions: {\n button: i18n('print.button'),\n tooltip: i18n('print.tooltip'),\n permission: i18n('print.permission'),\n audit: i18n('print.audit')\n }\n },\n Duplicate: {\n key: AXPSystemActionType.Duplicate,\n title: i18n('duplicate.title'),\n icon: 'fa-light fa-clone',\n color: 'warning',\n descriptions: {\n button: i18n('duplicate.button'),\n tooltip: i18n('duplicate.tooltip'),\n permission: i18n('duplicate.permission'),\n audit: i18n('duplicate.audit')\n }\n },\n Archive: {\n key: AXPSystemActionType.Archive,\n title: i18n('archive.title'),\n icon: 'fa-light fa-box-archive',\n color: 'neutral',\n descriptions: {\n button: i18n('archive.button'),\n tooltip: i18n('archive.tooltip'),\n permission: i18n('archive.permission'),\n audit: i18n('archive.audit')\n }\n },\n Restore: {\n key: AXPSystemActionType.Restore,\n title: i18n('restore.title'),\n icon: 'fa-light fa-arrow-rotate-left',\n color: 'info',\n descriptions: {\n button: i18n('restore.button'),\n tooltip: i18n('restore.tooltip'),\n permission: i18n('restore.permission'),\n audit: i18n('restore.audit')\n }\n },\n Assign: {\n key: AXPSystemActionType.Assign,\n title: i18n('assign.title'),\n icon: 'fa-light fa-user-plus',\n color: 'primary',\n descriptions: {\n button: i18n('assign.button'),\n tooltip: i18n('assign.tooltip'),\n permission: i18n('assign.permission'),\n audit: i18n('assign.audit')\n }\n },\n Lock: {\n key: AXPSystemActionType.Lock,\n title: i18n('lock.title'),\n icon: 'fa-light fa-lock',\n color: 'warning',\n descriptions: {\n button: i18n('lock.button'),\n tooltip: i18n('lock.tooltip'),\n permission: i18n('lock.permission'),\n audit: i18n('lock.audit')\n }\n },\n Unlock: {\n key: AXPSystemActionType.Unlock,\n title: i18n('unlock.title'),\n icon: 'fa-light fa-unlock',\n color: 'success',\n descriptions: {\n button: i18n('unlock.button'),\n tooltip: i18n('unlock.tooltip'),\n permission: i18n('unlock.permission'),\n audit: i18n('unlock.audit')\n }\n },\n Share: {\n key: AXPSystemActionType.Share,\n title: i18n('share.title'),\n icon: 'fa-light fa-share-nodes',\n color: 'info',\n descriptions: {\n button: i18n('share.button'),\n tooltip: i18n('share.tooltip'),\n permission: i18n('share.permission'),\n audit: i18n('share.audit')\n }\n },\n Configure: {\n key: AXPSystemActionType.Configure,\n title: i18n('configure.title'),\n icon: 'fa-light fa-sliders',\n color: 'primary',\n descriptions: {\n button: i18n('configure.button'),\n tooltip: i18n('configure.tooltip'),\n permission: i18n('configure.permission'),\n audit: i18n('configure.audit')\n }\n },\n Reorder: {\n key: AXPSystemActionType.Reorder,\n title: i18n('reorder.title'),\n icon: 'fa-light fa-arrow-down-up-across-line',\n color: 'default',\n descriptions: {\n button: i18n('reorder.button'),\n tooltip: i18n('reorder.tooltip'),\n permission: i18n('reorder.permission'),\n audit: i18n('reorder.audit')\n }\n },\n Preview: {\n key: AXPSystemActionType.Preview,\n title: i18n('preview.title'),\n icon: 'fa-light fa-magnifying-glass',\n color: 'default',\n descriptions: {\n button: i18n('preview.button'),\n tooltip: i18n('preview.tooltip'),\n permission: i18n('preview.permission'),\n audit: i18n('preview.audit')\n }\n },\n Publish: {\n key: AXPSystemActionType.Publish,\n title: i18n('publish.title'),\n icon: 'fa-light fa-globe',\n color: 'success',\n descriptions: {\n button: i18n('publish.button'),\n tooltip: i18n('publish.tooltip'),\n permission: i18n('publish.permission'),\n audit: i18n('publish.audit')\n }\n },\n Unpublish: {\n key: AXPSystemActionType.Unpublish,\n title: i18n('unpublish.title'),\n icon: 'fa-light fa-globe-slash',\n color: 'danger',\n descriptions: {\n button: i18n('unpublish.button'),\n tooltip: i18n('unpublish.tooltip'),\n permission: i18n('unpublish.permission'),\n audit: i18n('unpublish.audit')\n }\n },\n Upload: {\n key: AXPSystemActionType.Upload,\n title: i18n('upload.title'),\n icon: 'fa-light fa-upload',\n color: 'primary',\n descriptions: {\n button: i18n('upload.button'),\n tooltip: i18n('upload.tooltip'),\n permission: i18n('upload.permission'),\n audit: i18n('upload.audit')\n }\n },\n Download: {\n key: AXPSystemActionType.Download,\n title: i18n('download.title'),\n icon: 'fa-light fa-download',\n color: 'success',\n descriptions: {\n button: i18n('download.button'),\n tooltip: i18n('download.tooltip'),\n permission: i18n('download.permission'),\n audit: i18n('download.audit')\n }\n },\n Copy: {\n key: AXPSystemActionType.Copy,\n title: i18n('copy.title'),\n icon: 'fa-light fa-copy',\n color: 'primary',\n descriptions: {\n button: i18n('copy.button'),\n tooltip: i18n('copy.tooltip'),\n permission: i18n('copy.permission'),\n audit: i18n('copy.audit')\n }\n },\n Move: {\n key: AXPSystemActionType.Move,\n title: i18n('move.title'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n color: 'default',\n descriptions: {\n button: i18n('move.button'),\n tooltip: i18n('move.tooltip'),\n permission: i18n('move.permission'),\n audit: i18n('move.audit')\n }\n },\n Rename: {\n key: AXPSystemActionType.Rename,\n title: i18n('rename.title'),\n icon: 'fa-light fa-pen',\n color: 'default',\n descriptions: {\n button: i18n('rename.button'),\n tooltip: i18n('rename.tooltip'),\n permission: i18n('rename.permission'),\n audit: i18n('rename.audit')\n }\n },\n});\nexport function getSystemActions(type) {\n return Object.values(AXPSystemActions).find(action => action.key === type);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2FjdGlvbnMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBNEJYO0FBNUJELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0lBQ2Ysd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBdUIsQ0FBQTtJQUN2QiwwQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBbUIsQ0FBQTtJQUNuQiw4Q0FBdUIsQ0FBQTtJQUN2Qix3Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBcUIsQ0FBQTtJQUNyQixvQ0FBYSxDQUFBO0lBQ2Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLDBDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUE1QlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQTRCOUI7QUFlRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDMUMsSUFBSSxFQUFFO1FBQ0YsR0FBRyxFQUFFLG1CQUFtQixDQUFDLElBQUk7UUFDN0Is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QUFDO1lBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzlCO0tBQ0o7Q0FFK0MsQ0FBQyxDQUFDO0FBSXRELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUF5QjtJQUN0RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO0FBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBWFBTeXN0ZW1BY3Rpb25UeXBlIHtcbiAgICBWaWV3ID0gJ3ZpZXcnLFxuICAgIENyZWF0ZSA9ICdjcmVhdGUnLFxuICAgIFVwZGF0ZSA9ICd1cGRhdGUnLFxuICAgIERlbGV0ZSA9ICdkZWxldGUnLFxuICAgIEFwcHJvdmUgPSAnYXBwcm92ZScsXG4gICAgUmVqZWN0ID0gJ3JlamVjdCcsXG4gICAgU3VibWl0ID0gJ3N1Ym1pdCcsXG4gICAgRXhwb3J0ID0gJ2V4cG9ydCcsXG4gICAgSW1wb3J0ID0gJ2ltcG9ydCcsXG4gICAgUHJpbnQgPSAncHJpbnQnLFxuICAgIEFzc2lnbiA9ICdhc3NpZ24nLFxuICAgIExvY2sgPSAnbG9jaycsXG4gICAgVW5sb2NrID0gJ3VubG9jaycsXG4gICAgU2hhcmUgPSAnc2hhcmUnLFxuICAgIENvbmZpZ3VyZSA9ICdjb25maWd1cmUnLFxuICAgIFJlb3JkZXIgPSAncmVvcmRlcicsXG4gICAgUHJldmlldyA9ICdwcmV2aWV3JyxcbiAgICBEdXBsaWNhdGUgPSAnZHVwbGljYXRlJyxcbiAgICBBcmNoaXZlID0gJ2FyY2hpdmUnLFxuICAgIFB1Ymxpc2ggPSAncHVibGlzaCcsXG4gICAgVW5wdWJsaXNoID0gJ3VucHVibGlzaCcsXG4gICAgVXBsb2FkID0gJ3VwbG9hZCcsXG4gICAgRG93bmxvYWQgPSAnZG93bmxvYWQnLFxuICAgIENvcHkgPSAnY29weScsXG4gICAgTW92ZSA9ICdtb3ZlJyxcbiAgICBSZW5hbWUgPSAncmVuYW1lJyxcbiAgICBSZXN0b3JlID0gJ3Jlc3RvcmUnLFxufVxuZXhwb3J0IGludGVyZmFjZSBBWFBTeXN0ZW1BY3Rpb24ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBjcml0aWNhbD86IGJvb2xlYW47XG4gICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgIGJ1dHRvbjogc3RyaW5nO1xuICAgICAgICB0b29sdGlwOiBzdHJpbmc7XG4gICAgICAgIHBlcm1pc3Npb246IHN0cmluZztcbiAgICAgICAgYXVkaXQ6IHN0cmluZztcbiAgICB9O1xufVxuXG5jb25zdCBpMThuID0gKGtleTogc3RyaW5nKSA9PiBgdCgnYWN0aW9ucy4ke2tleX0nLHtzY29wZTonZ2VuZXJhbCd9KWA7XG5cbmV4cG9ydCBjb25zdCBBWFBTeXN0ZW1BY3Rpb25zID0gT2JqZWN0LmZyZWV6ZSh7XG4gICAgVmlldzoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuVmlldyxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ZpZXcudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd2aWV3LmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigndmlldy50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCd2aWV3LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd2aWV3LmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQ3JlYXRlOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5DcmVhdGUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdjcmVhdGUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsdXMnLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignY3JlYXRlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignY3JlYXRlLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2NyZWF0ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignY3JlYXRlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgRWRpdDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuVXBkYXRlLFxuICAgICAgICB0aXRsZTogaTE4bignZWRpdC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcGVuJyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ2VkaXQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdlZGl0LnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2VkaXQucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ2VkaXQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBEZWxldGU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkRlbGV0ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2RlbGV0ZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdHJhc2gnLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIGNyaXRpY2FsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignZGVsZXRlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignZGVsZXRlLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ2RlbGV0ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignZGVsZXRlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQXBwcm92ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuQXBwcm92ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2FwcHJvdmUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNpcmNsZS1jaGVjaycsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGNyaXRpY2FsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignYXBwcm92ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2FwcHJvdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXBwcm92ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignYXBwcm92ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFN1Ym1pdDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuU3VibWl0LFxuICAgICAgICB0aXRsZTogaTE4bignc3VibWl0LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wYXBlci1wbGFuZScsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdzdWJtaXQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdzdWJtaXQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignc3VibWl0LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdzdWJtaXQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBSZWplY3Q6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlJlamVjdCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3JlamVjdC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYmFuJyxcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICBjcml0aWNhbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ3JlamVjdC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3JlamVjdC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZWplY3QucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ3JlamVjdC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIEV4cG9ydDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRXhwb3J0LFxuICAgICAgICB0aXRsZTogaTE4bignZXhwb3J0LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1kb3dubG9hZCcsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdleHBvcnQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdleHBvcnQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignZXhwb3J0LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdleHBvcnQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBJbXBvcnQ6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkltcG9ydCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2ltcG9ydC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdXBsb2FkJyxcbiAgICAgICAgY29sb3I6ICdkZWZhdWx0JyxcbiAgICAgICAgZGVzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICBidXR0b246IGkxOG4oJ2ltcG9ydC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2ltcG9ydC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdpbXBvcnQucGVybWlzc2lvbicpLFxuICAgICAgICAgICAgYXVkaXQ6IGkxOG4oJ2ltcG9ydC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFByaW50OiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5QcmludCxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ByaW50LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wcmludCcsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdwcmludC5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3ByaW50LnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3ByaW50LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdwcmludC5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIER1cGxpY2F0ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRHVwbGljYXRlLFxuICAgICAgICB0aXRsZTogaTE4bignZHVwbGljYXRlLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jbG9uZScsXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdkdXBsaWNhdGUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdkdXBsaWNhdGUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignZHVwbGljYXRlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdkdXBsaWNhdGUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBBcmNoaXZlOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5BcmNoaXZlLFxuICAgICAgICB0aXRsZTogaTE4bignYXJjaGl2ZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYm94LWFyY2hpdmUnLFxuICAgICAgICBjb2xvcjogJ25ldXRyYWwnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignYXJjaGl2ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ2FyY2hpdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXJjaGl2ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignYXJjaGl2ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFJlc3RvcmU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlJlc3RvcmUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdyZXN0b3JlLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1hcnJvdy1yb3RhdGUtbGVmdCcsXG4gICAgICAgIGNvbG9yOiAnaW5mbycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdyZXN0b3JlLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVzdG9yZS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZXN0b3JlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdyZXN0b3JlLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgQXNzaWduOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Bc3NpZ24sXG4gICAgICAgIHRpdGxlOiBpMThuKCdhc3NpZ24udGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVzZXItcGx1cycsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdhc3NpZ24uYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdhc3NpZ24udG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignYXNzaWduLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdhc3NpZ24uYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBMb2NrOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Mb2NrLFxuICAgICAgICB0aXRsZTogaTE4bignbG9jay50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbG9jaycsXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdsb2NrLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignbG9jay50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdsb2NrLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdsb2NrLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVW5sb2NrOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VbmxvY2ssXG4gICAgICAgIHRpdGxlOiBpMThuKCd1bmxvY2sudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVubG9jaycsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd1bmxvY2suYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCd1bmxvY2sudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigndW5sb2NrLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd1bmxvY2suYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBTaGFyZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuU2hhcmUsXG4gICAgICAgIHRpdGxlOiBpMThuKCdzaGFyZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2hhcmUtbm9kZXMnLFxuICAgICAgICBjb2xvcjogJ2luZm8nLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignc2hhcmUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdzaGFyZS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdzaGFyZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignc2hhcmUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBDb25maWd1cmU6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLkNvbmZpZ3VyZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ2NvbmZpZ3VyZS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtc2xpZGVycycsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdjb25maWd1cmUuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdjb25maWd1cmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignY29uZmlndXJlLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdjb25maWd1cmUuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBSZW9yZGVyOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5SZW9yZGVyLFxuICAgICAgICB0aXRsZTogaTE4bigncmVvcmRlci50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZScsXG4gICAgICAgIGNvbG9yOiAnZGVmYXVsdCcsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdyZW9yZGVyLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVvcmRlci50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdyZW9yZGVyLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdyZW9yZGVyLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgUHJldmlldzoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuUHJldmlldyxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ3ByZXZpZXcudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLW1hZ25pZnlpbmctZ2xhc3MnLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigncHJldmlldy5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ3ByZXZpZXcudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigncHJldmlldy5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigncHJldmlldy5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFB1Ymxpc2g6IHtcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1BY3Rpb25UeXBlLlB1Ymxpc2gsXG4gICAgICAgIHRpdGxlOiBpMThuKCdwdWJsaXNoLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1nbG9iZScsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdwdWJsaXNoLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncHVibGlzaC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdwdWJsaXNoLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdwdWJsaXNoLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVW5wdWJsaXNoOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VbnB1Ymxpc2gsXG4gICAgICAgIHRpdGxlOiBpMThuKCd1bnB1Ymxpc2gudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWdsb2JlLXNsYXNoJyxcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigndW5wdWJsaXNoLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigndW5wdWJsaXNoLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3VucHVibGlzaC5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigndW5wdWJsaXNoLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVXBsb2FkOiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5VcGxvYWQsXG4gICAgICAgIHRpdGxlOiBpMThuKCd1cGxvYWQudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVwbG9hZCcsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCd1cGxvYWQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCd1cGxvYWQudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bigndXBsb2FkLnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCd1cGxvYWQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBEb3dubG9hZDoge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuRG93bmxvYWQsXG4gICAgICAgIHRpdGxlOiBpMThuKCdkb3dubG9hZC50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZG93bmxvYWQnLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignZG93bmxvYWQuYnV0dG9uJyksXG4gICAgICAgICAgICB0b29sdGlwOiBpMThuKCdkb3dubG9hZC50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdkb3dubG9hZC5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignZG93bmxvYWQuYXVkaXQnKVxuICAgICAgICB9XG4gICAgfSxcbiAgICBDb3B5OiB7XG4gICAgICAgIGtleTogQVhQU3lzdGVtQWN0aW9uVHlwZS5Db3B5LFxuICAgICAgICB0aXRsZTogaTE4bignY29weS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtY29weScsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGRlc2NyaXB0aW9uczoge1xuICAgICAgICAgICAgYnV0dG9uOiBpMThuKCdjb3B5LmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bignY29weS50b29sdGlwJyksXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiBpMThuKCdjb3B5LnBlcm1pc3Npb24nKSxcbiAgICAgICAgICAgIGF1ZGl0OiBpMThuKCdjb3B5LmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgTW92ZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuTW92ZSxcbiAgICAgICAgdGl0bGU6IGkxOG4oJ21vdmUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bignbW92ZS5idXR0b24nKSxcbiAgICAgICAgICAgIHRvb2x0aXA6IGkxOG4oJ21vdmUudG9vbHRpcCcpLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogaTE4bignbW92ZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bignbW92ZS5hdWRpdCcpXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFJlbmFtZToge1xuICAgICAgICBrZXk6IEFYUFN5c3RlbUFjdGlvblR5cGUuUmVuYW1lLFxuICAgICAgICB0aXRsZTogaTE4bigncmVuYW1lLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wZW4nLFxuICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAgICAgICBkZXNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgIGJ1dHRvbjogaTE4bigncmVuYW1lLmJ1dHRvbicpLFxuICAgICAgICAgICAgdG9vbHRpcDogaTE4bigncmVuYW1lLnRvb2x0aXAnKSxcbiAgICAgICAgICAgIHBlcm1pc3Npb246IGkxOG4oJ3JlbmFtZS5wZXJtaXNzaW9uJyksXG4gICAgICAgICAgICBhdWRpdDogaTE4bigncmVuYW1lLmF1ZGl0JylcbiAgICAgICAgfVxuICAgIH0sXG5cbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIEFYUFN5c3RlbUFjdGlvbj4pO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN5c3RlbUFjdGlvbnModHlwZTogQVhQU3lzdGVtQWN0aW9uVHlwZSkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEFYUFN5c3RlbUFjdGlvbnMpLmZpbmQoYWN0aW9uID0+IGFjdGlvbi5rZXkgPT09IHR5cGUpO1xufVxuIl19","export function getNestedKeys(obj, prefix = '') {\n let keys = [];\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {\n keys = [...keys, ...getNestedKeys(obj[key], prefix + key + '.')];\n }\n else {\n keys.push(prefix + key);\n }\n }\n return keys;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2NvcmUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFRLEVBQUUsU0FBaUIsRUFBRTtJQUN6RCxJQUFJLElBQUksR0FBYSxFQUFFLENBQUM7SUFDeEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xGLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYUFBhcnRpYWxOZXN0ZWQ8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdPzogVFtLXSBleHRlbmRzIG9iamVjdCA/IEFYUFBhcnRpYWxOZXN0ZWQ8VFtLXT4gOiBUW0tdO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5lc3RlZEtleXMob2JqOiBhbnksIHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmdbXSB7XG4gIGxldCBrZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyAmJiBvYmpba2V5XSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmpba2V5XSkpIHtcbiAgICAgIGtleXMgPSBbLi4ua2V5cywgLi4uZ2V0TmVzdGVkS2V5cyhvYmpba2V5XSwgcHJlZml4ICsga2V5ICsgJy4nKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGtleXMucHVzaChwcmVmaXggKyBrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4ga2V5cztcbn1cblxuZXhwb3J0IHR5cGUgQVhQRXhwcmVzc2lvbiA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQVhQTWV0YURhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgdHlwZSBBWFBPcHRpb25zRGF0YSA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVmFsdWVVbml0IHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICByYXRpbzogbnVtYmVyO1xuICBvcmRlcjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFZhbHVlVW5pdHMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGl0ZW1zOiBBWFBWYWx1ZVVuaXRbXTtcbiAgZGVmYXVsdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVJlZmVyZW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBVc2VyUmVmZXJlbmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFwcGxpY2F0aW9uVXNlclJlZmVyZW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQVhQQ29udGVudFR5cGUgPSAndGV4dCcgfCAnaW1hZ2UnIHwgJ2ZpbGUnIHwgJ3ZpZGVvJyB8ICdsaW5rJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb250ZW50IHtcbiAgY29udGVudDogc3RyaW5nO1xuICBjb250ZW50VHlwZTogQVhQQ29udGVudFR5cGU7XG59XG4iXX0=","export class AXPImageUrlLogoConfig {\n constructor(url, width, height) {\n this.url = url;\n this.width = width;\n this.height = height;\n }\n}\nexport class AXPComponentLogoConfig {\n constructor(component) {\n this.component = component;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3R5cGVzL2xvZ28udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFtQixHQUFXLEVBQVMsS0FBYyxFQUFTLE1BQWU7UUFBMUQsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFTLFVBQUssR0FBTCxLQUFLLENBQVM7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztDQUNsRjtBQUNELE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBbUIsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7Q0FDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTG9nb0NvbmZpZyB7fVxuXG5leHBvcnQgY2xhc3MgQVhQSW1hZ2VVcmxMb2dvQ29uZmlnIGltcGxlbWVudHMgQVhQTG9nb0NvbmZpZyB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1cmw6IHN0cmluZywgcHVibGljIHdpZHRoPzogbnVtYmVyLCBwdWJsaWMgaGVpZ2h0PzogbnVtYmVyKSB7fVxufVxuZXhwb3J0IGNsYXNzIEFYUENvbXBvbmVudExvZ29Db25maWcgaW1wbGVtZW50cyBBWFBMb2dvQ29uZmlnIHtcbiAgaGVpZ2h0PzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICB3aWR0aD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogVHlwZTxhbnk+KSB7fVxufVxuIl19","export var AXPPlatformScope;\n(function (AXPPlatformScope) {\n AXPPlatformScope[\"Environment\"] = \"C\";\n AXPPlatformScope[\"Global\"] = \"G\";\n AXPPlatformScope[\"Platform\"] = \"P\";\n AXPPlatformScope[\"Tenant\"] = \"T\";\n AXPPlatformScope[\"User\"] = \"U\";\n})(AXPPlatformScope || (AXPPlatformScope = {}));\n;\nexport function resolvePlatformScopeKey(name) {\n const scopeMap = {\n environment: AXPPlatformScope.Environment,\n global: AXPPlatformScope.Global,\n platform: AXPPlatformScope.Platform,\n tenant: AXPPlatformScope.Tenant,\n user: AXPPlatformScope.User,\n };\n return scopeMap[name.toLowerCase()] ?? AXPPlatformScope.User;\n}\nexport function resolvePlatformScopeName(scope) {\n const scopeMap = {\n C: 'environment',\n G: 'global',\n P: 'platform',\n T: 'tenant',\n U: 'user',\n };\n return scopeMap[scope] ?? 'user';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi90eXBlcy9zY29wZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQ3hCLHFDQUFpQixDQUFBO0lBQ2pCLGdDQUFZLENBQUE7SUFDWixrQ0FBYyxDQUFBO0lBQ2QsZ0NBQVksQ0FBQTtJQUNaLDhCQUFVLENBQUE7QUFDZCxDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUFBLENBQUM7QUFFRixNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBWTtJQUNoRCxNQUFNLFFBQVEsR0FBd0M7UUFDbEQsV0FBVyxFQUFFLGdCQUFnQixDQUFDLFdBQVc7UUFDekMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07UUFDL0IsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7UUFDbkMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07UUFDL0IsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7S0FDOUIsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQTBCO0lBQy9ELE1BQU0sUUFBUSxHQUF3QztRQUNsRCxDQUFDLEVBQUUsYUFBYTtRQUNoQixDQUFDLEVBQUUsUUFBUTtRQUNYLENBQUMsRUFBRSxVQUFVO1FBQ2IsQ0FBQyxFQUFFLFFBQVE7UUFDWCxDQUFDLEVBQUUsTUFBTTtLQUNaLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYUFBsYXRmb3JtU2NvcGVLZXkgPSAnQycgfCAnRycgfCAnUCcgfCAnVCcgfCAnVSc7XG5leHBvcnQgZW51bSBBWFBQbGF0Zm9ybVNjb3BlIHtcbiAgICBFbnZpcm9ubWVudCA9ICdDJyxcbiAgICBHbG9iYWwgPSAnRycsXG4gICAgUGxhdGZvcm0gPSAnUCcsXG4gICAgVGVuYW50ID0gJ1QnLFxuICAgIFVzZXIgPSAnVSdcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUGxhdGZvcm1TY29wZUtleShuYW1lOiBzdHJpbmcpOiBBWFBQbGF0Zm9ybVNjb3BlS2V5IHtcbiAgICBjb25zdCBzY29wZU1hcDogUmVjb3JkPHN0cmluZywgQVhQUGxhdGZvcm1TY29wZUtleT4gPSB7XG4gICAgICAgIGVudmlyb25tZW50OiBBWFBQbGF0Zm9ybVNjb3BlLkVudmlyb25tZW50LFxuICAgICAgICBnbG9iYWw6IEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgICBwbGF0Zm9ybTogQVhQUGxhdGZvcm1TY29wZS5QbGF0Zm9ybSxcbiAgICAgICAgdGVuYW50OiBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAgICAgdXNlcjogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgIH07XG4gICAgcmV0dXJuIHNjb3BlTWFwW25hbWUudG9Mb3dlckNhc2UoKV0gPz8gQVhQUGxhdGZvcm1TY29wZS5Vc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzY29wZU1hcDogUmVjb3JkPEFYUFBsYXRmb3JtU2NvcGVLZXksIHN0cmluZz4gPSB7XG4gICAgICAgIEM6ICdlbnZpcm9ubWVudCcsXG4gICAgICAgIEc6ICdnbG9iYWwnLFxuICAgICAgICBQOiAncGxhdGZvcm0nLFxuICAgICAgICBUOiAndGVuYW50JyxcbiAgICAgICAgVTogJ3VzZXInLFxuICAgIH07XG4gICAgcmV0dXJuIHNjb3BlTWFwW3Njb3BlXSA/PyAndXNlcic7XG59Il19","import { AXCalendarService } from '@acorex/core/date-time';\nimport { inject, Pipe, signal } from '@angular/core';\nimport { interval } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class AXPCountdownPipe {\n constructor() {\n this.calendarService = inject(AXCalendarService);\n this.countdownSignal = signal(this.setupTimer());\n this.targetDate = 0;\n this.prevValue = 0;\n }\n transform(value) {\n if (this.prevValue != value) {\n this.prevValue = value;\n const expireTime = this.calendarService.calendar.add(new Date(), 'second', value).date;\n this.updateTargetDate(expireTime.toISOString());\n }\n return this.countdownSignal();\n }\n setupTimer() {\n return interval(1000).pipe(startWith(0), map(() => {\n const diff = this.targetDate - new Date().getTime();\n if (diff < 0) {\n return \"Time's up!\";\n }\n const times = [86400, 3600, 60, 1].map((seconds) => Math.floor((diff / 1000 / seconds) % (seconds === 1 ? 60 : 24)));\n const labels = ['d', 'h', 'm', 's'];\n return times\n .map((t, i) => (t > 0 || i === 3 ? `${t}${labels[i]}` : ''))\n .join(' ')\n .trim();\n }));\n }\n updateTargetDate(value) {\n this.targetDate = new Date(value).getTime();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, isStandalone: true, name: \"countdown\", pure: false }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPCountdownPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'countdown',\n pure: false,\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLXRpbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvdXRpbHMvY291bnRkb3duLXRpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU9oRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBTVUsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUU1QyxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGNBQVMsR0FBRyxDQUFDLENBQUM7S0FpQ3ZCO0lBL0JDLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDYixPQUFPLFlBQVksQ0FBQztZQUN0QixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckgsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxPQUFPLEtBQUs7aUJBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDVCxJQUFJLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlDLENBQUM7OEdBdENVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUw1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsS0FBSztvQkFDWCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGludGVydmFsLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY291bnRkb3duJyxcbiAgcHVyZTogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUENvdW50ZG93blBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgY291bnRkb3duU2lnbmFsID0gc2lnbmFsKHRoaXMuc2V0dXBUaW1lcigpKTtcblxuICBwcml2YXRlIHRhcmdldERhdGU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgcHJldlZhbHVlID0gMDtcblxuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlcik6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKHRoaXMucHJldlZhbHVlICE9IHZhbHVlKSB7XG4gICAgICB0aGlzLnByZXZWYWx1ZSA9IHZhbHVlO1xuICAgICAgY29uc3QgZXhwaXJlVGltZSA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyLmFkZChuZXcgRGF0ZSgpLCAnc2Vjb25kJywgdmFsdWUpLmRhdGU7XG4gICAgICB0aGlzLnVwZGF0ZVRhcmdldERhdGUoZXhwaXJlVGltZS50b0lTT1N0cmluZygpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY291bnRkb3duU2lnbmFsKCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwVGltZXIoKSB7XG4gICAgcmV0dXJuIGludGVydmFsKDEwMDApLnBpcGUoXG4gICAgICBzdGFydFdpdGgoMCksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy50YXJnZXREYXRlIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgIHJldHVybiBcIlRpbWUncyB1cCFcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpbWVzID0gWzg2NDAwLCAzNjAwLCA2MCwgMV0ubWFwKChzZWNvbmRzKSA9PiBNYXRoLmZsb29yKChkaWZmIC8gMTAwMCAvIHNlY29uZHMpICUgKHNlY29uZHMgPT09IDEgPyA2MCA6IDI0KSkpO1xuICAgICAgICBjb25zdCBsYWJlbHMgPSBbJ2QnLCAnaCcsICdtJywgJ3MnXTtcbiAgICAgICAgcmV0dXJuIHRpbWVzXG4gICAgICAgICAgLm1hcCgodCwgaSkgPT4gKHQgPiAwIHx8IGkgPT09IDMgPyBgJHt0fSR7bGFiZWxzW2ldfWAgOiAnJykpXG4gICAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAgIC50cmltKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRhcmdldERhdGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudGFyZ2V0RGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lKCk7XG4gIH1cbn1cbiJdfQ==","import { endsWith, get, gt, gte, includes, isEmpty, isEqual, isNil, lt, lte, orderBy, startsWith } from 'lodash-es';\nconst loggingEnabled = false; // Set to true to enable logging, false to disable\nfunction applyCondition(item, condition) {\n const rawValue = condition.field ? get(item, condition.field) : null;\n const itemValue = typeof rawValue === 'string' ? rawValue.toLowerCase() : rawValue;\n const conditionValue = typeof condition.value === 'string' ? condition.value.toLowerCase() : condition.value;\n // Conditional Logging for debugging\n if (loggingEnabled) {\n console.log('Condition:', condition);\n console.log('Item Value:', itemValue);\n console.log('Condition Value:', conditionValue);\n }\n let result;\n const valueToCompare = isNil(condition.field) || condition.field === '' ? conditionValue : itemValue;\n const conditionType = condition?.operator?.type;\n if (!conditionType) {\n return true;\n }\n switch (conditionType) {\n case 'equal':\n result = isEqual(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Equal check result:', result);\n }\n break;\n case 'notEqual':\n result = !isEqual(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Not equal check result:', result);\n }\n break;\n case 'greaterThan':\n result = gt(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Greater than check result:', result);\n }\n break;\n case 'lessThan':\n result = lt(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Less than check result:', result);\n }\n break;\n case 'greaterThanOrEqual':\n result = gte(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Greater than or equal check result:', result);\n }\n break;\n case 'lessThanOrEqual':\n result = lte(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Less than or equal check result:', result);\n }\n break;\n case 'contains':\n if (typeof valueToCompare === 'string') {\n result = includes(valueToCompare, conditionValue);\n }\n else if (Array.isArray(valueToCompare)) {\n result = includes(valueToCompare.map((val) => val.toString().toLowerCase()), conditionValue);\n }\n else {\n result = false;\n }\n if (loggingEnabled) {\n console.log('Contains check result:', result);\n }\n break;\n case 'notContains':\n if (typeof valueToCompare === 'string') {\n result = !includes(valueToCompare, conditionValue);\n }\n else if (Array.isArray(valueToCompare)) {\n result = !includes(valueToCompare.map((val) => val.toString().toLowerCase()), conditionValue);\n }\n else {\n result = false;\n }\n if (loggingEnabled) {\n console.log('Not contains check result:', result);\n }\n break;\n case 'startsWith':\n result = typeof valueToCompare === 'string' && startsWith(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Starts with check result:', result);\n }\n break;\n case 'endsWith':\n result = typeof valueToCompare === 'string' && endsWith(valueToCompare, conditionValue);\n if (loggingEnabled) {\n console.log('Ends with check result:', result);\n }\n break;\n case 'isEmpty':\n result = isEmpty(valueToCompare);\n if (loggingEnabled) {\n console.log('Is empty check result:', result);\n }\n break;\n case 'isNull':\n result = isNil(valueToCompare);\n if (loggingEnabled) {\n console.log('Is null check result:', result);\n }\n break;\n case 'isNotEmpty':\n result = !isEmpty(valueToCompare);\n if (loggingEnabled) {\n console.log('Is not empty check result:', result);\n }\n break;\n case 'between':\n result = !isNil(valueToCompare) && valueToCompare >= condition.value.from && valueToCompare <= condition.value.to;\n if (loggingEnabled) {\n console.log('Between check result:', result);\n }\n break;\n default:\n result = true;\n if (loggingEnabled) {\n console.log('Default case, returning true');\n }\n }\n return result;\n}\nexport function applyFilterArray(dataArray, filters, logic = 'and') {\n if (filters && filters.length) {\n return dataArray.filter((item) => {\n if (logic === 'and') {\n return filters.every((f) => {\n return f.filters ? applyFilterArray([item], f.filters, f.logic).length > 0 : applyCondition(item, f);\n });\n }\n else {\n // logic === 'or'\n return filters.some((f) => {\n return f.filters ? applyFilterArray([item], f.filters, f.logic).length > 0 : applyCondition(item, f);\n });\n }\n });\n }\n else {\n return dataArray;\n }\n}\nexport function applySortArray(dataArray, sorts) {\n if (sorts && sorts.length > 0) {\n const sortFields = sorts.map((s) => s.field);\n const sortOrders = sorts.map((s) => s.dir);\n return orderBy(dataArray, sortFields, sortOrders);\n }\n else\n return dataArray;\n}\nexport function applyPagination(dataArray, skip, take) {\n return dataArray.slice(skip, skip + take);\n}\nexport async function applyQueryArray(dataArray, query) {\n let result = [...dataArray];\n // Apply filtering\n if (query.filter) {\n result = applyFilterArray(result, [query.filter], query.filter.logic ?? 'and');\n }\n // Store total count before pagination\n const total = result.length;\n // Apply sorting\n if (query.sort && query.sort.length > 0) {\n result = applySortArray(result, query.sort);\n }\n // Apply pagination\n result = applyPagination(result, query.skip, query.take);\n return {\n items: result,\n total,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb25kaXRpb25lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvbGliL3V0aWxzL2RhdGEtY29uZGl0aW9uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBILE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLGtEQUFrRDtBQUVoRixTQUFTLGNBQWMsQ0FBQyxJQUFTLEVBQUUsU0FBYztJQUMvQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JFLE1BQU0sU0FBUyxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkYsTUFBTSxjQUFjLEdBQUcsT0FBTyxTQUFTLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUU3RyxvQ0FBb0M7SUFDcEMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0QyxPQUFPLENB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QUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpELE9BQU87UUFDTCxLQUFLLEVBQUUsTUFBTTtRQUNiLEtBQUs7S0FDTixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0LFxuICBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sXG4gIEFYRGF0YVNvdXJjZUxvYWRDYWxsYmFjayxcbiAgQVhEYXRhU291cmNlUXVlcnksXG4gIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24sXG59IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBlbmRzV2l0aCwgZ2V0LCBndCwgZ3RlLCBpbmNsdWRlcywgaXNFbXB0eSwgaXNFcXVhbCwgaXNOaWwsIGx0LCBsdGUsIG9yZGVyQnksIHN0YXJ0c1dpdGggfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5jb25zdCBsb2dnaW5nRW5hYmxlZCA9IGZhbHNlOyAvLyBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgbG9nZ2luZywgZmFsc2UgdG8gZGlzYWJsZVxuXG5mdW5jdGlvbiBhcHBseUNvbmRpdGlvbihpdGVtOiBhbnksIGNvbmRpdGlvbjogYW55KSB7XG4gIGNvbnN0IHJhd1ZhbHVlID0gY29uZGl0aW9uLmZpZWxkID8gZ2V0KGl0ZW0sIGNvbmRpdGlvbi5maWVsZCkgOiBudWxsO1xuICBjb25zdCBpdGVtVmFsdWUgPSB0eXBlb2YgcmF3VmFsdWUgPT09ICdzdHJpbmcnID8gcmF3VmFsdWUudG9Mb3dlckNhc2UoKSA6IHJhd1ZhbHVlO1xuICBjb25zdCBjb25kaXRpb25WYWx1ZSA9IHR5cGVvZiBjb25kaXRpb24udmFsdWUgPT09ICdzdHJpbmcnID8gY29uZGl0aW9uLnZhbHVlLnRvTG93ZXJDYXNlKCkgOiBjb25kaXRpb24udmFsdWU7XG5cbiAgLy8gQ29uZGl0aW9uYWwgTG9nZ2luZyBmb3IgZGVidWdnaW5nXG4gIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgIGNvbnNvbGUubG9nKCdDb25kaXRpb246JywgY29uZGl0aW9uKTtcbiAgICBjb25zb2xlLmxvZygnSXRlbSBWYWx1ZTonLCBpdGVtVmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKCdDb25kaXRpb24gVmFsdWU6JywgY29uZGl0aW9uVmFsdWUpO1xuICB9XG5cbiAgbGV0IHJlc3VsdDogYm9vbGVhbjtcbiAgY29uc3QgdmFsdWVUb0NvbXBhcmUgPSBpc05pbChjb25kaXRpb24uZmllbGQpIHx8IGNvbmRpdGlvbi5maWVsZCA9PT0gJycgPyBjb25kaXRpb25WYWx1ZSA6IGl0ZW1WYWx1ZTtcbiAgY29uc3QgY29uZGl0aW9uVHlwZSA9IGNvbmRpdGlvbj8ub3BlcmF0b3I/LnR5cGU7XG4gIGlmICghY29uZGl0aW9uVHlwZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3dpdGNoIChjb25kaXRpb25UeXBlKSB7XG4gICAgY2FzZSAnZXF1YWwnOlxuICAgICAgcmVzdWx0ID0gaXNFcXVhbCh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdFcXVhbCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ25vdEVxdWFsJzpcbiAgICAgIHJlc3VsdCA9ICFpc0VxdWFsKHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ05vdCBlcXVhbCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2dyZWF0ZXJUaGFuJzpcbiAgICAgIHJlc3VsdCA9IGd0KHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0dyZWF0ZXIgdGhhbiBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2xlc3NUaGFuJzpcbiAgICAgIHJlc3VsdCA9IGx0KHZhbHVlVG9Db21wYXJlLCBjb25kaXRpb25WYWx1ZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0xlc3MgdGhhbiBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2dyZWF0ZXJUaGFuT3JFcXVhbCc6XG4gICAgICByZXN1bHQgPSBndGUodmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnR3JlYXRlciB0aGFuIG9yIGVxdWFsIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsJzpcbiAgICAgIHJlc3VsdCA9IGx0ZSh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdMZXNzIHRoYW4gb3IgZXF1YWwgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdjb250YWlucyc6XG4gICAgICBpZiAodHlwZW9mIHZhbHVlVG9Db21wYXJlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXN1bHQgPSBpbmNsdWRlcyh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlVG9Db21wYXJlKSkge1xuICAgICAgICByZXN1bHQgPSBpbmNsdWRlcyhcbiAgICAgICAgICB2YWx1ZVRvQ29tcGFyZS5tYXAoKHZhbCkgPT4gdmFsLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgY29uZGl0aW9uVmFsdWUsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnQ29udGFpbnMgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdub3RDb250YWlucyc6XG4gICAgICBpZiAodHlwZW9mIHZhbHVlVG9Db21wYXJlID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXN1bHQgPSAhaW5jbHVkZXModmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZVRvQ29tcGFyZSkpIHtcbiAgICAgICAgcmVzdWx0ID0gIWluY2x1ZGVzKFxuICAgICAgICAgIHZhbHVlVG9Db21wYXJlLm1hcCgodmFsKSA9PiB2YWwudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICBjb25kaXRpb25WYWx1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdOb3QgY29udGFpbnMgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzdGFydHNXaXRoJzpcbiAgICAgIHJlc3VsdCA9IHR5cGVvZiB2YWx1ZVRvQ29tcGFyZSA9PT0gJ3N0cmluZycgJiYgc3RhcnRzV2l0aCh2YWx1ZVRvQ29tcGFyZSwgY29uZGl0aW9uVmFsdWUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTdGFydHMgd2l0aCBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2VuZHNXaXRoJzpcbiAgICAgIHJlc3VsdCA9IHR5cGVvZiB2YWx1ZVRvQ29tcGFyZSA9PT0gJ3N0cmluZycgJiYgZW5kc1dpdGgodmFsdWVUb0NvbXBhcmUsIGNvbmRpdGlvblZhbHVlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRW5kcyB3aXRoIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaXNFbXB0eSc6XG4gICAgICByZXN1bHQgPSBpc0VtcHR5KHZhbHVlVG9Db21wYXJlKTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnSXMgZW1wdHkgY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdpc051bGwnOlxuICAgICAgcmVzdWx0ID0gaXNOaWwodmFsdWVUb0NvbXBhcmUpO1xuICAgICAgaWYgKGxvZ2dpbmdFbmFibGVkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdJcyBudWxsIGNoZWNrIHJlc3VsdDonLCByZXN1bHQpO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnaXNOb3RFbXB0eSc6XG4gICAgICByZXN1bHQgPSAhaXNFbXB0eSh2YWx1ZVRvQ29tcGFyZSk7XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0lzIG5vdCBlbXB0eSBjaGVjayByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JldHdlZW4nOlxuICAgICAgcmVzdWx0ID0gIWlzTmlsKHZhbHVlVG9Db21wYXJlKSAmJiB2YWx1ZVRvQ29tcGFyZSA+PSBjb25kaXRpb24udmFsdWUuZnJvbSAmJiB2YWx1ZVRvQ29tcGFyZSA8PSBjb25kaXRpb24udmFsdWUudG87XG4gICAgICBpZiAobG9nZ2luZ0VuYWJsZWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0JldHdlZW4gY2hlY2sgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIGlmIChsb2dnaW5nRW5hYmxlZCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRGVmYXVsdCBjYXNlLCByZXR1cm5pbmcgdHJ1ZScpO1xuICAgICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RmlsdGVyQXJyYXkoXG4gIGRhdGFBcnJheTogYW55W10sXG4gIGZpbHRlcnM/OiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXSxcbiAgbG9naWM6ICdhbmQnIHwgJ29yJyA9ICdhbmQnLFxuKTogYW55W10ge1xuICBpZiAoZmlsdGVycyAmJiBmaWx0ZXJzLmxlbmd0aCkge1xuICAgIHJldHVybiBkYXRhQXJyYXkuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICBpZiAobG9naWMgPT09ICdhbmQnKSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KChmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGYuZmlsdGVycyA/IGFwcGx5RmlsdGVyQXJyYXkoW2l0ZW1dLCBmLmZpbHRlcnMsIGYubG9naWMpLmxlbmd0aCA+IDAgOiBhcHBseUNvbmRpdGlvbihpdGVtLCBmKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBsb2dpYyA9PT0gJ29yJ1xuICAgICAgICByZXR1cm4gZmlsdGVycy5zb21lKChmKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGYuZmlsdGVycyA/IGFwcGx5RmlsdGVyQXJyYXkoW2l0ZW1dLCBmLmZpbHRlcnMsIGYubG9naWMpLmxlbmd0aCA+IDAgOiBhcHBseUNvbmRpdGlvbihpdGVtLCBmKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRhdGFBcnJheTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlTb3J0QXJyYXkoZGF0YUFycmF5OiBhbnksIHNvcnRzOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10pIHtcbiAgaWYgKHNvcnRzICYmIHNvcnRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBzb3J0RmllbGRzID0gc29ydHMubWFwKChzKSA9PiBzLmZpZWxkKTtcbiAgICBjb25zdCBzb3J0T3JkZXJzID0gc29ydHMubWFwKChzKSA9PiBzLmRpcik7XG4gICAgcmV0dXJuIG9yZGVyQnkoZGF0YUFycmF5LCBzb3J0RmllbGRzLCBzb3J0T3JkZXJzKTtcbiAgfSBlbHNlIHJldHVybiBkYXRhQXJyYXk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBhZ2luYXRpb248VD4oZGF0YUFycmF5OiBUW10sIHNraXA6IG51bWJlciwgdGFrZTogbnVtYmVyKTogVFtdIHtcbiAgcmV0dXJuIGRhdGFBcnJheS5zbGljZShza2lwLCBza2lwICsgdGFrZSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseVF1ZXJ5QXJyYXk8VD4oXG4gIGRhdGFBcnJheTogVFtdLFxuICBxdWVyeTogQVhEYXRhU291cmNlUXVlcnksXG4pOiBQcm9taXNlPEFYRGF0YVNvdXJjZUNhbGxiYWNrUmVzdWx0PFQ+PiB7XG4gIGxldCByZXN1bHQgPSBbLi4uZGF0YUFycmF5XTtcblxuICAvLyBBcHBseSBmaWx0ZXJpbmdcbiAgaWYgKHF1ZXJ5LmZpbHRlcikge1xuICAgIHJlc3VsdCA9IGFwcGx5RmlsdGVyQXJyYXkocmVzdWx0LCBbcXVlcnkuZmlsdGVyXSwgcXVlcnkuZmlsdGVyLmxvZ2ljID8/ICdhbmQnKTtcbiAgfVxuXG4gIC8vIFN0b3JlIHRvdGFsIGNvdW50IGJlZm9yZSBwYWdpbmF0aW9uXG4gIGNvbnN0IHRvdGFsID0gcmVzdWx0Lmxlbmd0aDtcblxuICAvLyBBcHBseSBzb3J0aW5nXG4gIGlmIChxdWVyeS5zb3J0ICYmIHF1ZXJ5LnNvcnQubGVuZ3RoID4gMCkge1xuICAgIHJlc3VsdCA9IGFwcGx5U29ydEFycmF5KHJlc3VsdCwgcXVlcnkuc29ydCk7XG4gIH1cblxuICAvLyBBcHBseSBwYWdpbmF0aW9uXG4gIHJlc3VsdCA9IGFwcGx5UGFnaW5hdGlvbihyZXN1bHQsIHF1ZXJ5LnNraXAsIHF1ZXJ5LnRha2UpO1xuXG4gIHJldHVybiB7XG4gICAgaXRlbXM6IHJlc3VsdCxcbiAgICB0b3RhbCxcbiAgfTtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Service for applying and resetting text highlighting within specified HTML elements.\n */\nexport class AXHighlightService {\n constructor() { }\n /**\n * Highlights all occurrences of a search value within the elements matching the provided query selector.\n *\n * @param querySelector - CSS selector to identify target elements.\n * @param searchValue - Text to search and highlight.\n */\n highlight(querySelector, searchValue) {\n this.clear();\n if (!querySelector || !searchValue) {\n return;\n }\n this.querySelector = querySelector;\n this.searchValue = searchValue;\n const elements = document.querySelectorAll(querySelector);\n elements.forEach((element) => {\n this.applyHighlight(element);\n });\n }\n /**\n * Resets all highlighted text within the elements matching the previously used query selector.\n */\n clear() {\n const elements = document.querySelectorAll(`${this.querySelector} .ax-highlight-text`);\n elements.forEach((element) => {\n let combinedText = '';\n element.querySelectorAll('span').forEach((span) => {\n combinedText += span.textContent;\n });\n const mergedSpan = document.createElement('span');\n mergedSpan.textContent = combinedText;\n element?.parentNode?.replaceChild(mergedSpan, element);\n });\n }\n /**\n * Applies highlighting to a specific element by matching text against the search value.\n *\n * @param element - The HTML element to apply highlights to.\n */\n applyHighlight(element) {\n const searchRegex = new RegExp(`(${this.searchValue})`, 'gi');\n this.recursivelyHighlight(element, searchRegex);\n }\n /**\n * Recursively applies highlighting to text nodes within an element.\n *\n * @param element - The current node being processed.\n * @param searchRegex - Regular expression for matching text to highlight.\n */\n recursivelyHighlight(element, searchRegex) {\n const childNodes = Array.from(element.childNodes);\n childNodes.forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const textContent = node.textContent || '';\n if (textContent.match(searchRegex)) {\n const highlightedHTML = this.createHighlightedHTML(textContent, searchRegex);\n const tempContainer = document.createElement('div');\n tempContainer.innerHTML = highlightedHTML;\n const fragment = document.createDocumentFragment();\n Array.from(tempContainer.childNodes).forEach((child) => fragment.appendChild(child));\n node.replaceWith(fragment);\n }\n }\n else if (node.nodeType === Node.ELEMENT_NODE) {\n this.recursivelyHighlight(node, searchRegex);\n }\n });\n }\n /**\n * Generates the HTML structure for highlighted text.\n *\n * @param textContent - The original text content to process.\n * @param searchRegex - Regular expression for matching text to highlight.\n * @returns A string of HTML with highlighted portions wrapped in span elements.\n */\n createHighlightedHTML(textContent, searchRegex) {\n let parts = [];\n let match;\n let lastIndex = 0;\n let resultHTML = '<span class=\"ax-highlight-text\">';\n while ((match = searchRegex.exec(textContent)) !== null) {\n if (match.index > lastIndex) {\n resultHTML += `<span>${textContent.slice(lastIndex, match.index)}</span>`;\n }\n resultHTML += `<span class=\"ax-highlight\">${match[0]}</span>`;\n lastIndex = searchRegex.lastIndex;\n }\n if (lastIndex < textContent.length) {\n resultHTML += `<span>${textContent.slice(lastIndex)}</span>`;\n }\n resultHTML += '</span>';\n return resultHTML;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXHighlightService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi91dGlscy9oaWdobGlnaHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsZ0JBQWdCLENBQUM7SUFFakI7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsYUFBcUIsRUFBRSxXQUFtQjtRQUNsRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBc0IsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLHNCQUFzQixDQUFDLENBQUM7UUFDeEYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzNCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2hE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TUFBTSxFQUFFLENBQUM7WUFDbkMsVUFBVSxJQUFJLFNBQVMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQy9ELENBQUM7UUFFRCxVQUFVLElBQUksU0FBUyxDQUFDO1FBRXhCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OEdBN0dVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgYXBwbHlpbmcgYW5kIHJlc2V0dGluZyB0ZXh0IGhpZ2hsaWdodGluZyB3aXRoaW4gc3BlY2lmaWVkIEhUTUwgZWxlbWVudHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWEhpZ2hsaWdodFNlcnZpY2Uge1xuICBwcml2YXRlIHF1ZXJ5U2VsZWN0b3I6IHN0cmluZyB8IG51bGw7XG4gIHByaXZhdGUgc2VhcmNoVmFsdWU6IHN0cmluZyB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKipcbiAgICogSGlnaGxpZ2h0cyBhbGwgb2NjdXJyZW5jZXMgb2YgYSBzZWFyY2ggdmFsdWUgd2l0aGluIHRoZSBlbGVtZW50cyBtYXRjaGluZyB0aGUgcHJvdmlkZWQgcXVlcnkgc2VsZWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeVNlbGVjdG9yIC0gQ1NTIHNlbGVjdG9yIHRvIGlkZW50aWZ5IHRhcmdldCBlbGVtZW50cy5cbiAgICogQHBhcmFtIHNlYXJjaFZhbHVlIC0gVGV4dCB0byBzZWFyY2ggYW5kIGhpZ2hsaWdodC5cbiAgICovXG4gIGhpZ2hsaWdodChxdWVyeVNlbGVjdG9yOiBzdHJpbmcsIHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgaWYgKCFxdWVyeVNlbGVjdG9yIHx8ICFzZWFyY2hWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3IgPSBxdWVyeVNlbGVjdG9yO1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBzZWFyY2hWYWx1ZTtcbiAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcnlTZWxlY3Rvcik7XG4gICAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgdGhpcy5hcHBseUhpZ2hsaWdodChlbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgYWxsIGhpZ2hsaWdodGVkIHRleHQgd2l0aGluIHRoZSBlbGVtZW50cyBtYXRjaGluZyB0aGUgcHJldmlvdXNseSB1c2VkIHF1ZXJ5IHNlbGVjdG9yLlxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgJHt0aGlzLnF1ZXJ5U2VsZWN0b3J9ICAuYXgtaGlnaGxpZ2h0LXRleHRgKTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBsZXQgY29tYmluZWRUZXh0ID0gJyc7XG4gICAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NwYW4nKS5mb3JFYWNoKChzcGFuKSA9PiB7XG4gICAgICAgIGNvbWJpbmVkVGV4dCArPSBzcGFuLnRleHRDb250ZW50O1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1lcmdlZFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBtZXJnZWRTcGFuLnRleHRDb250ZW50ID0gY29tYmluZWRUZXh0O1xuXG4gICAgICBlbGVtZW50Py5wYXJlbnROb2RlPy5yZXBsYWNlQ2hpbGQobWVyZ2VkU3BhbiwgZWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBoaWdobGlnaHRpbmcgdG8gYSBzcGVjaWZpYyBlbGVtZW50IGJ5IG1hdGNoaW5nIHRleHQgYWdhaW5zdCB0aGUgc2VhcmNoIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBIVE1MIGVsZW1lbnQgdG8gYXBwbHkgaGlnaGxpZ2h0cyB0by5cbiAgICovXG4gIHByaXZhdGUgYXBwbHlIaWdobGlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hSZWdleCA9IG5ldyBSZWdFeHAoYCgke3RoaXMuc2VhcmNoVmFsdWV9KWAsICdnaScpO1xuICAgIHRoaXMucmVjdXJzaXZlbHlIaWdobGlnaHQoZWxlbWVudCwgc2VhcmNoUmVnZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IGFwcGxpZXMgaGlnaGxpZ2h0aW5nIHRvIHRleHQgbm9kZXMgd2l0aGluIGFuIGVsZW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGN1cnJlbnQgbm9kZSBiZWluZyBwcm9jZXNzZWQuXG4gICAqIEBwYXJhbSBzZWFyY2hSZWdleCAtIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IgbWF0Y2hpbmcgdGV4dCB0byBoaWdobGlnaHQuXG4gICAqL1xuICBwcml2YXRlIHJlY3Vyc2l2ZWx5SGlnaGxpZ2h0KGVsZW1lbnQ6IE5vZGUsIHNlYXJjaFJlZ2V4OiBSZWdFeHApOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gQXJyYXkuZnJvbShlbGVtZW50LmNoaWxkTm9kZXMpO1xuXG4gICAgY2hpbGROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgY29uc3QgdGV4dENvbnRlbnQgPSBub2RlLnRleHRDb250ZW50IHx8ICcnO1xuICAgICAgICBpZiAodGV4dENvbnRlbnQubWF0Y2goc2VhcmNoUmVnZXgpKSB7XG4gICAgICAgICAgY29uc3QgaGlnaGxpZ2h0ZWRIVE1MID0gdGhpcy5jcmVhdGVIaWdobGlnaHRlZEhUTUwodGV4dENvbnRlbnQsIHNlYXJjaFJlZ2V4KTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgdGVtcENvbnRhaW5lci5pbm5lckhUTUwgPSBoaWdobGlnaHRlZEhUTUw7XG5cbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBBcnJheS5mcm9tKHRlbXBDb250YWluZXIuY2hpbGROb2RlcykuZm9yRWFjaCgoY2hpbGQpID0+IGZyYWdtZW50LmFwcGVuZENoaWxkKGNoaWxkKSk7XG5cbiAgICAgICAgICBub2RlLnJlcGxhY2VXaXRoKGZyYWdtZW50KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChub2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xuICAgICAgICB0aGlzLnJlY3Vyc2l2ZWx5SGlnaGxpZ2h0KG5vZGUsIHNlYXJjaFJlZ2V4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgdGhlIEhUTUwgc3RydWN0dXJlIGZvciBoaWdobGlnaHRlZCB0ZXh0LlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dENvbnRlbnQgLSBUaGUgb3JpZ2luYWwgdGV4dCBjb250ZW50IHRvIHByb2Nlc3MuXG4gICAqIEBwYXJhbSBzZWFyY2hSZWdleCAtIFJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IgbWF0Y2hpbmcgdGV4dCB0byBoaWdobGlnaHQuXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIG9mIEhUTUwgd2l0aCBoaWdobGlnaHRlZCBwb3J0aW9ucyB3cmFwcGVkIGluIHNwYW4gZWxlbWVudHMuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUhpZ2hsaWdodGVkSFRNTCh0ZXh0Q29udGVudDogc3RyaW5nLCBzZWFyY2hSZWdleDogUmVnRXhwKTogc3RyaW5nIHtcbiAgICBsZXQgcGFydHM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IG1hdGNoO1xuICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgIGxldCByZXN1bHRIVE1MID0gJzxzcGFuIGNsYXNzPVwiYXgtaGlnaGxpZ2h0LXRleHRcIj4nO1xuXG4gICAgd2hpbGUgKChtYXRjaCA9IHNlYXJjaFJlZ2V4LmV4ZWModGV4dENvbnRlbnQpKSAhPT0gbnVsbCkge1xuICAgICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdEluZGV4KSB7XG4gICAgICAgIHJlc3VsdEhUTUwgKz0gYDxzcGFuPiR7dGV4dENvbnRlbnQuc2xpY2UobGFzdEluZGV4LCBtYXRjaC5pbmRleCl9PC9zcGFuPmA7XG4gICAgICB9XG4gICAgICByZXN1bHRIVE1MICs9IGA8c3BhbiBjbGFzcz1cImF4LWhpZ2hsaWdodFwiPiR7bWF0Y2hbMF19PC9zcGFuPmA7XG4gICAgICBsYXN0SW5kZXggPSBzZWFyY2hSZWdleC5sYXN0SW5kZXg7XG4gICAgfVxuXG4gICAgaWYgKGxhc3RJbmRleCA8IHRleHRDb250ZW50Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0SFRNTCArPSBgPHNwYW4+JHt0ZXh0Q29udGVudC5zbGljZShsYXN0SW5kZXgpfTwvc3Bhbj5gO1xuICAgIH1cblxuICAgIHJlc3VsdEhUTUwgKz0gJzwvc3Bhbj4nO1xuXG4gICAgcmV0dXJuIHJlc3VsdEhUTUw7XG4gIH1cbn1cbiJdfQ==","export function extractTextFromHtml(value) {\n const div = document.createElement('div');\n div.innerHTML = value;\n return div.textContent || div.innerText || '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvdXRpbHMvc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBRSxLQUFhO0lBQ2hELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZXh0cmFjdFRleHRGcm9tSHRtbCAodmFsdWU6IHN0cmluZykge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmlubmVySFRNTCA9IHZhbHVlO1xuICByZXR1cm4gZGl2LnRleHRDb250ZW50IHx8IGRpdi5pbm5lclRleHQgfHwgJyc7XG59XG5cbiJdfQ==","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_ACTIVITY_LOG_PROVIDER = new InjectionToken('AXP_ACTIVITY_LOGS_PROVIDER');\nexport class AXPActivityLogService {\n constructor() {\n this.providers = inject(AXP_ACTIVITY_LOG_PROVIDER, { optional: true });\n }\n async getHistory(refId, refType, options) {\n return (await Promise.all(this.providers?.map((p) => p.getHistory(refId, refType, options)) ?? [])).flat();\n }\n async getHistoryByIds(refId, refType, ids) {\n return (await Promise.all(this.providers?.map((p) => p.getHistoryByIds(refId, refType, ids)) ?? [])).flat();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXPActivityLogService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi9hY3Rpdml0eS1sb2cvYWN0aXZpdHktbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUluRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBMkIsNEJBQTRCLENBQUMsQ0FBQztBQUdwSCxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBVTNFO0lBUkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLE9BQXFFO1FBQ3BILE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0csQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxHQUFhO1FBQ2pFLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUcsQ0FBQzs4R0FWVSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQQWN0aXZpdHlMb2dQcm92aWRlciB9IGZyb20gJy4vYWN0aXZpdHktbG9nLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUEFjdGl2aXR5TG9nIH0gZnJvbSAnLi9hY3Rpdml0eS1sb2cudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX0xPR19QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBBY3Rpdml0eUxvZ1Byb3ZpZGVyW10+KCdBWFBfQUNUSVZJVFlfTE9HU19QUk9WSURFUicpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEFjdGl2aXR5TG9nU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9BQ1RJVklUWV9MT0dfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgZ2V0SGlzdG9yeShyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGZyb20/OiBEYXRlOyB0bz86IERhdGU7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXIgfSk6IFByb21pc2U8QVhQQWN0aXZpdHlMb2dbXT4ge1xuICAgIHJldHVybiAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5wcm92aWRlcnM/Lm1hcCgocCkgPT4gcC5nZXRIaXN0b3J5KHJlZklkLCByZWZUeXBlLCBvcHRpb25zKSkgPz8gW10pKS5mbGF0KCk7XG5cbiAgfVxuXG4gIGFzeW5jIGdldEhpc3RvcnlCeUlkcyhyZWZJZDogc3RyaW5nLCByZWZUeXBlOiBzdHJpbmcsIGlkczogc3RyaW5nW10pOiBQcm9taXNlPEFYUEFjdGl2aXR5TG9nW10+IHtcbiAgICByZXR1cm4gKGF3YWl0IFByb21pc2UuYWxsKHRoaXMucHJvdmlkZXJzPy5tYXAoKHApID0+IHAuZ2V0SGlzdG9yeUJ5SWRzKHJlZklkLCByZWZUeXBlLCBpZHMpKSA/PyBbXSkpLmZsYXQoKTtcbiAgfVxufSJdfQ==","export class AXPActivityLogProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9nLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy9saWIvYWN0aXZpdHktbG9nL2FjdGl2aXR5LWxvZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLHNCQUFzQjtDQUczQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEFjdGl2aXR5TG9nIH0gZnJvbSAnLi9hY3Rpdml0eS1sb2cudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQWN0aXZpdHlMb2dQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEhpc3RvcnkocmVmSWQ6IHN0cmluZywgcmVmVHlwZTogc3RyaW5nLCBvcHRpb25zPzogeyBmcm9tPzogRGF0ZTsgdG8/OiBEYXRlOyBsaW1pdD86IG51bWJlcjsgb2Zmc2V0PzogbnVtYmVyIH0pOiBQcm9taXNlPEFYUEFjdGl2aXR5TG9nW10+O1xuICBhYnN0cmFjdCBnZXRIaXN0b3J5QnlJZHMocmVmSWQ6IHN0cmluZywgcmVmVHlwZTogc3RyaW5nLCBpZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxBWFBBY3Rpdml0eUxvZ1tdPjtcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2Fjb3JleC1wbGF0Zm9ybS1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}