@acorex/core 16.20.1 → 16.20.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-core.mjs +18 -9
- package/fesm2022/acorex-core.mjs.map +1 -1
- package/index.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-core.mjs","sources":["../tmp-esm2022/lib/classes/color.class.js","../tmp-esm2022/lib/utils/object/object-util.js","../tmp-esm2022/lib/services/config.js","../tmp-esm2022/lib/classes/datetime.class.js","../tmp-esm2022/lib/classes/menu.class.js","../tmp-esm2022/lib/classes/promise.class.js","../tmp-esm2022/lib/classes/select.class.js","../tmp-esm2022/lib/classes/base-page.class.js","../tmp-esm2022/lib/error/error.service.js","../tmp-esm2022/lib/error/error.module.js","../tmp-esm2022/lib/http/http-events.interceptor.js","../tmp-esm2022/lib/http/http-result.class.js","../tmp-esm2022/lib/http/http.service.js","../tmp-esm2022/lib/http/http.module.js","../tmp-esm2022/lib/platform/platform.service.js","../tmp-esm2022/lib/pipe/datetime.pipe.js","../tmp-esm2022/lib/pipe/htmlToText.pipe.js","../tmp-esm2022/lib/services/event.service.js","../tmp-esm2022/lib/services/navigator.service.js","../tmp-esm2022/lib/services/storage.service.js","../tmp-esm2022/lib/translator/translator.js","../tmp-esm2022/lib/translator/translator.service.js","../tmp-esm2022/lib/translator/translator.pipe.js","../tmp-esm2022/lib/translator/translator.module.js","../tmp-esm2022/lib/utils/array/array-util.js","../tmp-esm2022/lib/utils/math/math-util.js","../tmp-esm2022/lib/utils/html/html-util.js","../tmp-esm2022/lib/utils/html/html.module.js","../tmp-esm2022/lib/utils/render/on-demand-preload-strategy.service.js","../tmp-esm2022/lib/utils/render/render.service.js","../tmp-esm2022/lib/utils/render/rendering.module.js","../tmp-esm2022/lib/utils/scroll/scroll.directive.js","../tmp-esm2022/lib/utils/scroll/scroll.module.js","../tmp-esm2022/lib/utils/separator/separator.pipe.js","../tmp-esm2022/lib/utils/separator/separator.module.js","../tmp-esm2022/lib/core.module.js","../tmp-esm2022/acorex-core.js"],"sourcesContent":["export class AXColorUtil {\n static hex2Rgb(hexColor) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n static rgb2Hex(r, g, b, a = 255) {\n let alpha;\n let hex = (r | 1 << 8).toString(16).slice(1) +\n (g | 1 << 8).toString(16).slice(1) +\n (b | 1 << 8).toString(16).slice(1);\n if (a !== 255) {\n alpha = a;\n }\n else {\n alpha = 1;\n }\n alpha = Math.round(alpha * 100) / 100;\n alpha = Math.round(alpha * 255);\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\n }\n ;\n static illuminance(hexColor) {\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\n if (!rgbColor) {\n return -1;\n }\n const r = rgbColor.r;\n const g = rgbColor.g;\n const b = rgbColor.b;\n const a = [r, g, b].map(v => {\n v /= 255;\n return (v <= 0.03928) ?\n v / 12.92 :\n Math.pow(((v + 0.055) / 1.055), 2.4);\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n }\n static contrastToWhite(hexColor) {\n const whiteIlluminance = 1;\n const illuminance = AXColorUtil.illuminance(hexColor);\n return whiteIlluminance / illuminance;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2NvbG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxXQUFXO0lBR3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBZ0I7UUFDM0IsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQzdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQVksR0FBRztRQUMzRCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDWixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUVELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDdEMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RSxPQUFPLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQSxDQUFDO0lBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixDQUFDLElBQUksR0FBRyxDQUFDO1lBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFnQjtRQUNuQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0lBQzFDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhDb2xvciB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDb2xvclV0aWwge1xuXG5cbiAgICBzdGF0aWMgaGV4MlJnYihoZXhDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXhDb2xvcik7XG4gICAgICAgIHJldHVybiByZXN1bHQgPyB7XG4gICAgICAgICAgICByOiBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNilcbiAgICAgICAgfSA6IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIHJnYjJIZXgocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYTogbnVtYmVyID0gMjU1KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGFscGhhO1xuICAgICAgICBsZXQgaGV4ID0gKHIgfCAxIDw8IDgpLnRvU3RyaW5nKDE2KS5zbGljZSgxKSArXG4gICAgICAgICAgICAoZyB8IDEgPDwgOCkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAgIChiIHwgMSA8PCA4KS50b1N0cmluZygxNikuc2xpY2UoMSk7XG4gICAgICAgIGlmIChhICE9PSAyNTUpIHtcbiAgICAgICAgICAgIGFscGhhID0gYTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFscGhhID0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDEwMCkgLyAxMDA7XG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDI1NSk7XG4gICAgICAgIGNvbnN0IGhleEFscGhhID0gKGFscGhhICsgMHgxMDAwMCkudG9TdHJpbmcoMTYpLnN1YnN0cigtMikudG9VcHBlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuICcjJyArIGhleCArIChhbHBoYSA9PSAyNTUgPyAnJyA6IGhleEFscGhhKTtcbiAgICB9O1xuXG4gICAgc3RhdGljIGlsbHVtaW5hbmNlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmdiQ29sb3IgPSBBWENvbG9yVXRpbC5oZXgyUmdiKGhleENvbG9yKTtcbiAgICAgICAgaWYgKCFyZ2JDb2xvcikge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHIgPSByZ2JDb2xvci5yO1xuICAgICAgICBjb25zdCBnID0gcmdiQ29sb3IuZztcbiAgICAgICAgY29uc3QgYiA9IHJnYkNvbG9yLmI7XG4gICAgICAgIGNvbnN0IGEgPSBbciwgZywgYl0ubWFwKHYgPT4ge1xuICAgICAgICAgICAgdiAvPSAyNTU7XG4gICAgICAgICAgICByZXR1cm4gKHYgPD0gMC4wMzkyOCkgP1xuICAgICAgICAgICAgICAgIHYgLyAxMi45MiA6XG4gICAgICAgICAgICAgICAgTWF0aC5wb3coKCh2ICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFbMF0gKiAwLjIxMjYgKyBhWzFdICogMC43MTUyICsgYVsyXSAqIDAuMDcyMjtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29udHJhc3RUb1doaXRlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgd2hpdGVJbGx1bWluYW5jZSA9IDE7XG4gICAgICAgIGNvbnN0IGlsbHVtaW5hbmNlID0gQVhDb2xvclV0aWwuaWxsdW1pbmFuY2UoaGV4Q29sb3IpO1xuICAgICAgICByZXR1cm4gd2hpdGVJbGx1bWluYW5jZSAvIGlsbHVtaW5hbmNlO1xuICAgIH1cblxufVxuIl19","// @dynamic\nexport class AXObjectUtil {\n static deepJSONClone(obj) {\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\n }\n static deepCopy(obj) {\n let copy;\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' !== typeof obj) {\n return obj;\n }\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\n }\n return copy;\n }\n // Handle Object\n if (obj instanceof Object) {\n copy = {};\n for (const attr in obj) {\n if (obj.hasOwnProperty(attr)) {\n copy[attr] = AXObjectUtil.deepCopy(obj[attr]);\n }\n }\n return copy;\n }\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\n }\n}\nexport function AXFetchProp(obj, prop) {\n if (typeof obj === 'undefined') {\n return false;\n }\n const index = prop.indexOf('.');\n if (index > -1) {\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\n }\n return obj[prop];\n}\nexport function getPropByPath(obj, path, defaultVal) {\n path = path\n .replace(/\\[/g, '.')\n .replace(/]/g, '')\n .split('.');\n path.forEach((level) => {\n if (obj) {\n obj = obj[level];\n }\n });\n if (obj === undefined) {\n return defaultVal;\n }\n return obj;\n}\nexport function setPropByPath(obj, path, value) {\n if (Object(obj) !== obj) {\n return obj;\n } // When obj is not an object\n // If not yet an array, get the keys from the string-path\n if (!Array.isArray(path)) {\n path = path.toString().match(/[^.[\\]]+/g) || [];\n }\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\n // Yes: then follow that path\n ? a[c]\n // No: create the key. Is the next key a potential array-index?\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\n ? [] // Yes: assign a new array object\n : {}, // No: assign a new plain object\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\n return obj[path[0]]; // Return the top-level object to allow chaining\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3Qvb2JqZWN0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVztBQUNYLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBUTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxJQUFJLENBQUM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFFBQVEsS0FBSyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQUMsT0FBTyxHQUFHLENBQUM7UUFBQyxDQUFDO1FBQzNELGNBQWM7UUFDZCxJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUN0QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxlQUFlO1FBQ2YsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFD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Q0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUMsaUNBQWlDO1lBQ3RDLENBQUMsQ0FBQyxFQUFFLEVBQUUsZ0NBQWdDO0lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO0lBQ3BGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYT2JqZWN0VXRpbCB7XG4gICAgc3RhdGljIGRlZXBKU09OQ2xvbmUob2JqOiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gb2JqID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKSA6IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIGRlZXBDb3B5KG9iaikge1xuICAgICAgICBsZXQgY29weTtcbiAgICAgICAgLy8gSGFuZGxlIHRoZSAzIHNpbXBsZSB0eXBlcywgYW5kIG51bGwgb3IgdW5kZWZpbmVkXG4gICAgICAgIGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPT0gdHlwZW9mIG9iaikgeyByZXR1cm4gb2JqOyB9XG4gICAgICAgIC8vIEhhbmRsZSBEYXRlXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICBjb3B5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIGNvcHkuc2V0VGltZShvYmouZ2V0VGltZSgpKTtcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBBcnJheVxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmoubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb3B5W2ldID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KG9ialtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuICAgICAgICAvLyBIYW5kbGUgT2JqZWN0XG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIGNvcHkgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGF0dHIpKSB7IGNvcHlbYXR0cl0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkob2JqW2F0dHJdKTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gY29weSBvYmohIEl0cyB0eXBlIGlzblxcJ3Qgc3VwcG9ydGVkLicpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFYRmV0Y2hQcm9wKG9iaiwgcHJvcDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXggPSBwcm9wLmluZGV4T2YoJy4nKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiBBWEZldGNoUHJvcChvYmpbcHJvcC5zdWJzdHJpbmcoMCwgaW5kZXgpXSwgcHJvcC5zdWJzdHIoaW5kZXggKyAxKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9ialtwcm9wXTtcbn1cblxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BCeVBhdGgob2JqLCBwYXRoLCBkZWZhdWx0VmFsPykge1xuICAgIHBhdGggPSBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxuICAgICAgICAucmVwbGFjZSgvXS9nLCAnJylcbiAgICAgICAgLnNwbGl0KCcuJyk7XG5cbiAgICBwYXRoLmZvckVhY2goKGxldmVsKSA9PiB7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbDtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFByb3BCeVBhdGgob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIGlmIChPYmplY3Qob2JqKSAhPT0gb2JqKSB7IHJldHVybiBvYmo7IH0gLy8gV2hlbiBvYmogaXMgbm90IGFuIG9iamVjdFxuICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXRoKSkgeyBwYXRoID0gcGF0aC50b1N0cmluZygpLm1hdGNoKC9bXi5bXFxdXSsvZykgfHwgW107IH1cbiAgICBwYXRoLnNsaWNlKDAsIC0xKS5yZWR1Y2UoKGEsIGMsIGkpID0+IC8vIEl0ZXJhdGUgYWxsIG9mIHRoZW0gZXhjZXB0IHRoZSBsYXN0IG9uZVxuICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xuICAgICAgICAgICAgLy8gWWVzOiB0aGVuIGZvbGxvdyB0aGF0IHBhdGhcbiAgICAgICAgICAgID8gYVtjXVxuICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XG4gICAgICAgICAgICA6IGFbY10gPSBNYXRoLmFicyhwYXRoW2kgKyAxXSkgPj4gMCA9PT0gK3BhdGhbaSArIDFdXG4gICAgICAgICAgICAgICAgPyBbXSAvLyBZZXM6IGFzc2lnbiBhIG5ldyBhcnJheSBvYmplY3RcbiAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxuICAgICAgICBvYmopW3BhdGhbcGF0aC5sZW5ndGggLSAxXV0gPSB2YWx1ZTsgLy8gRmluYWxseSBhc3NpZ24gdGhlIHZhbHVlIHRvIHRoZSBsYXN0IGtleVxuICAgIHJldHVybiBvYmpbcGF0aFswXV07IC8vIFJldHVybiB0aGUgdG9wLWxldmVsIG9iamVjdCB0byBhbGxvdyBjaGFpbmluZ1xufVxuXG5cbiJdfQ==","import { Subject } from 'rxjs';\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\n// @dynamic\nexport class AXConfig {\n static dataModel = {};\n static dataChangeSubject = new Subject();\n static get onChange() {\n return AXConfig.dataChangeSubject.asObservable();\n }\n static set(arg1, arg2) {\n if (arg1 && typeof arg1 == 'string') {\n setPropByPath(AXConfig.dataModel, arg1, arg2);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (arg1 && typeof arg1 == 'object') {\n Object.assign(AXConfig.dataModel, arg1);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (!arg1 && !arg2) {\n return AXConfig.dataChangeSubject.asObservable();\n }\n }\n static get(path) {\n return getPropByPath(AXConfig.dataModel, path);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRSxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVE7SUFDVCxNQUFNLENBQUMsU0FBUyxHQUFRLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUd0RCxNQUFNLEtBQUssUUFBUTtRQUNmLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFJRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVUsRUFBRSxJQUFVO1FBRTdCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUNuQixPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRQcm9wQnlQYXRoLCBzZXRQcm9wQnlQYXRoIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0L29iamVjdC11dGlsJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWENvbmZpZyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF0YU1vZGVsOiBhbnkgPSB7fTtcbiAgICBwcml2YXRlIHN0YXRpYyBkYXRhQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuXG4gICAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNldChjb25maWc6IGFueSk6IGFueTtcbiAgICBzdGF0aWMgc2V0KHBhdGg6IHN0cmluZywgdmFsdWU/OiBhbnkpOiB2b2lkO1xuICAgIHN0YXRpYyBzZXQoYXJnMT86IGFueSwgYXJnMj86IGFueSkge1xuXG4gICAgICAgIGlmIChhcmcxICYmIHR5cGVvZiBhcmcxID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzZXRQcm9wQnlQYXRoKEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSwgYXJnMik7XG4gICAgICAgICAgICBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5uZXh0KEFYQ29uZmlnLmRhdGFNb2RlbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFyZzEgJiYgdHlwZW9mIGFyZzEgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oQVhDb25maWcuZGF0YU1vZGVsLCBhcmcxKTtcbiAgICAgICAgICAgIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0Lm5leHQoQVhDb25maWcuZGF0YU1vZGVsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFyZzEgJiYgIWFyZzIpIHtcbiAgICAgICAgICAgIHJldHVybiBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXQocGF0aDogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGdldFByb3BCeVBhdGgoQVhDb25maWcuZGF0YU1vZGVsLCBwYXRoKTtcbiAgICB9XG59Il19","import moment from 'jalali-moment';\nimport { AXConfig } from '../services/config';\nexport class AXDateTime {\n type;\n static convert(value, type = AXConfig.get('dateTime.type') || 'gregorian') {\n let date;\n if (typeof value === 'string' || value instanceof String) {\n date = new AXDateTime(value, type);\n }\n else if (value instanceof Date) {\n date = new AXDateTime(value, type);\n }\n else if (value instanceof AXDateTime) {\n date = value;\n }\n return date;\n }\n _date;\n get date() {\n return this._date;\n }\n resolveUnit(unit) {\n return this.type === 'jalali' ? 'j' + unit : unit;\n }\n _moment;\n // private get _moment(): moment_.Moment {\n // const m = moment(this.date);\n // if (this.type === 'jalali') {\n // m.locale('fa');\n // }\n // return m;\n // }\n constructor(value = new Date(), type = AXConfig.get('dateTime.type') || 'gregorian') {\n this.type = type;\n if (value instanceof Date) {\n this._date = value;\n }\n else {\n this._date = new Date(value);\n }\n this._moment = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n }\n clone() {\n return new AXDateTime(this.date, this.type);\n }\n get dayInMonth() {\n return this._moment.date();\n }\n get dayOfYear() {\n return this._moment.dayOfYear();\n }\n get dayInWeek() {\n return this._moment.day();\n }\n get hour() {\n return this._moment.hour();\n }\n get minute() {\n return this._moment.minute();\n }\n get second() {\n return this._moment.second();\n }\n get year() {\n return this._moment.year();\n }\n get monthOfYear() {\n return this._moment.month();\n }\n get month() {\n return new AXCalendarMonth(this);\n }\n get firstDayOfWeek() {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(a.startOf('w').toDate(), this.type);\n }\n get endDayOfWeek() {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\n }\n convertStringToJalali(date, format) {\n return moment(date).locale('fa').format('YYYY/M/D');\n }\n convertStringToGregorian(date, format) {\n return new Date(moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD'));\n }\n add(unit = 'day', amount) {\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\n }\n addDay(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\n }\n addMonth(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\n }\n addHour(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\n }\n set(unit = 'day', value) {\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\n }\n duration(end, unit = 'days') {\n const duration = moment.duration(this._moment.diff(end._moment));\n return Math.round(duration.as(unit));\n }\n startOf(unit = 'day') {\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n endOf(unit = 'day') {\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n format(format = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')) {\n if (format === 'P') {\n return this._moment.fromNow();\n }\n return this._moment.format(format);\n }\n toString() {\n return this.format();\n }\n equal(value, unit = 'day') {\n if (!value) {\n return false;\n }\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\n }\n convertToJalaliDate(value) {\n const options = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\n const item = {};\n item.year = jDate.slice(0, 4);\n item.month = jDate.slice(5, 7);\n item.day = jDate.slice(8, 10);\n item.hour = jDate.slice(13, 15);\n item.minutes = jDate.slice(16, 18);\n item.seconds = jDate.slice(19, 21);\n return item;\n }\n toJalaliString(value) {\n const date = this.convertToJalaliDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n convertToGregorianDate(value) {\n // TODO: check this fucking type\n const options = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const date = new Date(value).toLocaleString('en-us', options);\n const item = {};\n item.year = date.slice(6, 10);\n item.month = date.slice(0, 2);\n item.day = date.slice(3, 5);\n item.hour = date.slice(12, 14);\n item.minutes = date.slice(15, 17);\n item.seconds = date.slice(18, 20);\n return item;\n }\n toGregorianString(value) {\n const date = this.convertToGregorianDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n compaireNew(value, unit = 'YMD', type = 'jalali') {\n const range = [0, 0];\n let str1;\n let str2;\n if (type === 'jalali') {\n str1 = this.toJalaliString(this.date);\n str2 = this.toJalaliString(value.date ? value.date : value);\n }\n else {\n str1 = this.toGregorianString(this.date);\n str2 = this.toGregorianString(value.date ? value.date : value);\n }\n switch (unit) {\n case 'YMDhms':\n range[0] = 0;\n range[1] = 19;\n break;\n case 'YMDhm':\n range[0] = 0;\n range[1] = 16;\n break;\n case 'YMDh':\n range[0] = 0;\n range[1] = 13;\n break;\n case 'YMD':\n range[0] = 0;\n range[1] = 10;\n break;\n case 'YM':\n range[0] = 0;\n range[1] = 7;\n break;\n case 'h':\n range[0] = 11;\n range[1] = 13;\n break;\n case 'm':\n range[0] = 14;\n range[1] = 16;\n break;\n case 's':\n range[0] = 17;\n range[1] = 19;\n break;\n case 'D':\n range[0] = 8;\n range[1] = 10;\n break;\n case 'M':\n range[0] = 5;\n range[1] = 7;\n break;\n case 'Y':\n range[0] = 0;\n range[1] = 4;\n break;\n }\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\n return 0;\n }\n else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\n return 1;\n }\n else {\n return -1;\n }\n }\n compaire(value, unit = 'day') {\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\n return 0;\n }\n else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\n return 1;\n }\n else {\n return -1;\n }\n }\n toISOString() {\n return this._date.toISOString();\n }\n}\nexport class AXCalendarMonth {\n _moment;\n _range;\n get range() {\n return this._range;\n }\n set range(v) {\n this._range = v;\n }\n constructor(date) {\n this._moment = moment(date.date);\n this.index = date.date.getMonth();\n this.name = this._moment.format('MMMM');\n this.range = new AXDateTimeRange(new AXDateTime(this._moment.startOf('month').toDate(), date.type), new AXDateTime(this._moment.endOf('month').toDate(), date.type));\n }\n index;\n name;\n}\nexport class AXDateTimeRange {\n startTime;\n endTime;\n constructor(startTime, endTime) {\n this.startTime = startTime;\n this.endTime = endTime;\n }\n duration(unit = 'days') {\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\n return duration.as(unit);\n }\n enumurate(unit = 'day', type = AXConfig.get('dateTime.type') || 'jalali') {\n const result = [];\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\n result.push(this.startTime.add(unit, index));\n }\n return result;\n }\n includes(value, unit = 'day', type = 'jalali') {\n return (value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0);\n }\n getViewCompaire(view) {\n switch (view) {\n case 'day':\n return 'YMD';\n case 'month':\n return 'YM';\n case 'year':\n return 'Y';\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2RhdGV0aW1lLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXOUMsTUFBTSxPQUFPLFVBQVU7SUFnQ2lDO0lBL0J0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQVUsRUFBRSxPQUF1QixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVc7UUFDNUYsSUFBSSxJQUFnQixDQUFDO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUUsQ0FBQztZQUN6RCxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBTztJQUNwQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFjO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sT0FBTyxDQUFn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QU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLElBQUk7Z0JBQ1AsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENB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Q0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFJO1FBQ2xCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdqYWxhbGktbW9tZW50JztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnJztcbi8vIGNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmV4cG9ydCB0eXBlIFRpbWVVbml0ID0gJ3NlY29uZCcgfCAnbWludXRlJyB8ICdtaW51dGVzJyB8ICdob3VyJyB8ICdob3VycycgfCAnZGF5JyB8ICdkYXlzJyB8ICdtb250aCcgfCAneWVhcicgfCAnd2Vlayc7XG5cbmV4cG9ydCB0eXBlIFRpbWVEdXJhdGlvbiA9ICdzZWNvbmRzJyB8ICdtaW51dGVzJyB8ICdob3VycycgfCAnZGF5cycgfCAnd2Vla3MnIHwgJ21vbnRoJyB8ICd5ZWFycyc7XG5cbmV4cG9ydCB0eXBlIFRpbWVTdGVwID0gJ1knIHwgJ00nIHwgJ0QnIHwgJ1lNJyB8ICdZTUQnIHwgJ1lNRGgnIHwgJ1lNRGhtJyB8ICdZTURobXMnIHwgJ2gnIHwgJ20nIHwgJ3MnO1xuXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyVHlwZSA9ICdqYWxhbGknIHwgJ2dyZWdvcmlhbic7XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lIHtcbiAgc3RhdGljIGNvbnZlcnQodmFsdWU6IGFueSwgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJyk6IEFYRGF0ZVRpbWUge1xuICAgIGxldCBkYXRlOiBBWERhdGVUaW1lO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgc3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlIGFzIERhdGUsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XG4gICAgICBkYXRlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZTogRGF0ZTtcbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGU7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVbml0KHVuaXQ6IFRpbWVVbml0KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnamFsYWxpJyA/ICdqJyArIHVuaXQgOiB1bml0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIC8vIHByaXZhdGUgZ2V0IF9tb21lbnQoKTogbW9tZW50Xy5Nb21lbnQge1xuICAvLyAgICAgY29uc3QgbSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAvLyAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgLy8gICAgICAgICBtLmxvY2FsZSgnZmEnKTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIHJldHVybiBtO1xuICAvLyB9XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IERhdGUgfCBzdHJpbmcgPSBuZXcgRGF0ZSgpLCBwdWJsaWMgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSB2YWx1ZSBhcyBEYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9tb21lbnQgPSBtb21lbnQodGhpcy5kYXRlKTtcbiAgICBpZiAodGhpcy50eXBlID09PSAnamFsYWxpJykge1xuICAgICAgdGhpcy5fbW9tZW50LmxvY2FsZSgnZmEnKTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodGhpcy5kYXRlLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZ2V0IGRheUluTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRhdGUoKTtcbiAgfVxuXG4gIGdldCBkYXlPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRheU9mWWVhcigpO1xuICB9XG5cbiAgZ2V0IGRheUluV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZGF5KCk7XG4gIH1cblxuICBnZXQgaG91cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaG91cigpO1xuICB9XG5cbiAgZ2V0IG1pbnV0ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQubWludXRlKCk7XG4gIH1cblxuICBnZXQgc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC5zZWNvbmQoKTtcbiAgfVxuXG4gIGdldCB5ZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC55ZWFyKCk7XG4gIH1cblxuICBnZXQgbW9udGhPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50Lm1vbnRoKCk7XG4gIH1cblxuICBnZXQgbW9udGgoKTogQVhDYWxlbmRhck1vbnRoIHtcbiAgICByZXR1cm4gbmV3IEFYQ2FsZW5kYXJNb250aCh0aGlzKTtcbiAgfVxuXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBhID0gbW9tZW50KHRoaXMuZGF0ZSk7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgICAgIHRoaXMuX21vbWVudC5sb2NhbGUoJ2ZhJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShhLnN0YXJ0T2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGdldCBlbmREYXlPZldlZWsoKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgYSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICB0aGlzLl9tb21lbnQubG9jYWxlKCdmYScpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobW9tZW50KHRoaXMuZGF0ZSkuZW5kT2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGNvbnZlcnRTdHJpbmdUb0phbGFsaShkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdZWVlZL00vRCcpO1xuICB9XG4gIGNvbnZlcnRTdHJpbmdUb0dyZWdvcmlhbihkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudC5mcm9tKGRhdGUsICdmYScsICdZWVlZL01NL0REJykuZm9ybWF0KCdZWVlZL01NL0REJykpO1xuICB9XG5cbiAgYWRkKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgYWRkRGF5KGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsICdkJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBhZGRNb250aChhbW91bnQ6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnbW9udGhzJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cbiAgYWRkSG91cihhbW91bnQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnaG91cnMnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIHNldCh1bml0OiBUaW1lVW5pdCA9ICdkYXknLCB2YWx1ZTogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zZXQodW5pdCwgdmFsdWUpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZHVyYXRpb24oZW5kOiBBWERhdGVUaW1lLCB1bml0OiBUaW1lRHVyYXRpb24gPSAnZGF5cycpOiBudW1iZXIge1xuICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKHRoaXMuX21vbWVudC5kaWZmKGVuZC5fbW9tZW50KSk7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoZHVyYXRpb24uYXModW5pdCkpO1xuICB9XG5cbiAgc3RhcnRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLnN0YXJ0T2YodGhpcy5yZXNvbHZlVW5pdCh1bml0KSkudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBlbmRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmVuZE9mKHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdDogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5zaG9ydERhdGVGb3JtYXQnKSB8fCAodGhpcy50eXBlID09PSAnZ3JlZ29yaWFuJyA/ICdERC1NTS1ZWVlZJyA6ICdZWVlZLU1NLUREJykpOiBzdHJpbmcge1xuICAgIGlmIChmb3JtYXQgPT09ICdQJykge1xuICAgICAgcmV0dXJuIHRoaXMuX21vbWVudC5mcm9tTm93KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdCgpO1xuICB9XG5cbiAgZXF1YWwodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaXNTYW1lKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSk7XG4gIH1cblxuICBjb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgICAgbnVtYmVyaW5nU3lzdGVtOiAnbGF0bicsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgfTtcbiAgICBjb25zdCBqRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoJ2ZhLUlSJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gakRhdGUuc2xpY2UoMCwgNCk7XG4gICAgaXRlbS5tb250aCA9IGpEYXRlLnNsaWNlKDUsIDcpO1xuICAgIGl0ZW0uZGF5ID0gakRhdGUuc2xpY2UoOCwgMTApO1xuICAgIGl0ZW0uaG91ciA9IGpEYXRlLnNsaWNlKDEzLCAxNSk7XG4gICAgaXRlbS5taW51dGVzID0gakRhdGUuc2xpY2UoMTYsIDE4KTtcbiAgICBpdGVtLnNlY29uZHMgPSBqRGF0ZS5zbGljZSgxOSwgMjEpO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9KYWxhbGlTdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKSB7XG4gICAgLy8gVE9ETzogY2hlY2sgdGhpcyBmdWNraW5nIHR5cGVcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XG4gICAgICBudW1iZXJpbmdTeXN0ZW06ICdsYXRuJyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgc2Vjb25kOiAnMi1kaWdpdCdcbiAgICB9O1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSkudG9Mb2NhbGVTdHJpbmcoJ2VuLXVzJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gZGF0ZS5zbGljZSg2LCAxMCk7XG4gICAgaXRlbS5tb250aCA9IGRhdGUuc2xpY2UoMCwgMik7XG4gICAgaXRlbS5kYXkgPSBkYXRlLnNsaWNlKDMsIDUpO1xuICAgIGl0ZW0uaG91ciA9IGRhdGUuc2xpY2UoMTIsIDE0KTtcbiAgICBpdGVtLm1pbnV0ZXMgPSBkYXRlLnNsaWNlKDE1LCAxNyk7XG4gICAgaXRlbS5zZWNvbmRzID0gZGF0ZS5zbGljZSgxOCwgMjApO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9HcmVnb3JpYW5TdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb21wYWlyZU5ldyh2YWx1ZTogQVhEYXRlVGltZSwgdW5pdDogVGltZVN0ZXAgPSAnWU1EJywgdHlwZSA9ICdqYWxhbGknKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBbMCwgMF07XG4gICAgbGV0IHN0cjE7XG4gICAgbGV0IHN0cjI7XG4gICAgaWYgKHR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICBzdHIxID0gdGhpcy50b0phbGFsaVN0cmluZyh0aGlzLmRhdGUpO1xuICAgICAgc3RyMiA9IHRoaXMudG9KYWxhbGlTdHJpbmcodmFsdWUuZGF0ZSA/IHZhbHVlLmRhdGUgOiB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cjEgPSB0aGlzLnRvR3JlZ29yaWFuU3RyaW5nKHRoaXMuZGF0ZSk7XG4gICAgICBzdHIyID0gdGhpcy50b0dyZWdvcmlhblN0cmluZyh2YWx1ZS5kYXRlID8gdmFsdWUuZGF0ZSA6IHZhbHVlKTtcbiAgICB9XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICdZTURobXMnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaG0nOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxMztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdZTUQnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZTSc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSA3O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMTE7XG4gICAgICAgIHJhbmdlWzFdID0gMTM7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAxNDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxNjtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3MnOlxuICAgICAgICByYW5nZVswXSA9IDE3O1xuICAgICAgICByYW5nZVsxXSA9IDE5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByYW5nZVswXSA9IDg7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdNJzpcbiAgICAgICAgcmFuZ2VbMF0gPSA1O1xuICAgICAgICByYW5nZVsxXSA9IDc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAwO1xuICAgICAgICByYW5nZVsxXSA9IDQ7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPT09IHN0cjIuc2xpY2UocmFuZ2VbMF0sIHJhbmdlWzFdKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPiBzdHIyLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgY29tcGFpcmUodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAodGhpcy5fbW9tZW50LmlzU2FtZShtb21lbnQodmFsdWUuZGF0ZSksIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21vbWVudC5pc0FmdGVyKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgdG9JU09TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vbnRoIHtcbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIHByaXZhdGUgX3JhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XG4gIHB1YmxpYyBnZXQgcmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XG4gIH1cbiAgcHVibGljIHNldCByYW5nZSh2OiBBWERhdGVUaW1lUmFuZ2UpIHtcbiAgICB0aGlzLl9yYW5nZSA9IHY7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihkYXRlOiBBWERhdGVUaW1lKSB7XG4gICAgdGhpcy5fbW9tZW50ID0gbW9tZW50KGRhdGUuZGF0ZSk7XG4gICAgdGhpcy5pbmRleCA9IGRhdGUuZGF0ZS5nZXRNb250aCgpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuX21vbWVudC5mb3JtYXQoJ01NTU0nKTtcbiAgICB0aGlzLnJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpLFxuICAgICAgbmV3IEFYRGF0ZVRpbWUodGhpcy5fbW9tZW50LmVuZE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RhcnRUaW1lOiBBWERhdGVUaW1lLCBwdWJsaWMgZW5kVGltZTogQVhEYXRlVGltZSkgeyB9XG5cbiAgZHVyYXRpb24odW5pdDogVGltZUR1cmF0aW9uID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihtb21lbnQodGhpcy5zdGFydFRpbWUuZGF0ZSkuZGlmZihtb21lbnQodGhpcy5lbmRUaW1lLmRhdGUpKSk7XG4gICAgcmV0dXJuIGR1cmF0aW9uLmFzKHVuaXQpO1xuICB9XG5cbiAgZW51bXVyYXRlKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJykgfHwgJ2phbGFsaScpOiBBWERhdGVUaW1lW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyB0aGlzLnN0YXJ0VGltZS5hZGQodW5pdCwgaW5kZXgpLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDA7IGluZGV4KyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHRoaXMuc3RhcnRUaW1lLmFkZCh1bml0LCBpbmRleCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaW5jbHVkZXModmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGUgPSAnamFsYWxpJyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZS5jb21wYWlyZU5ldyh0aGlzLnN0YXJ0VGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpID49IDAgJiZcbiAgICAgIHZhbHVlLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0Vmlld0NvbXBhaXJlKHZpZXcpIHtcbiAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiAnWU1EJztcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgcmV0dXJuICdZTSc7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuICdZJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==","export class AXBaseMenuItem {\n uid = new Date().getTime().toString();\n id;\n name;\n text;\n tooltip;\n tooltipPlacement;\n icon;\n visible = true;\n disable = false;\n selected = false;\n groupName;\n data;\n style = 'ax light';\n orderIndex = 0;\n endIcon;\n startIcon;\n onClick;\n}\nexport class AXMenuItem extends AXBaseMenuItem {\n items;\n parentId;\n divider = false;\n}\nexport class AXButtonItem extends AXBaseMenuItem {\n dropdown = false;\n submitBehavior = false;\n cancelBehavior = false;\n}\nexport class AXCheckItem {\n text;\n value;\n selected;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvbWVudS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUN6QixHQUFHLEdBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQyxFQUFFLENBQVU7SUFDWixJQUFJLENBQVU7SUFDZCxJQUFJLENBQVU7SUFDZCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQXVDO0lBQ3ZELElBQUksQ0FBVTtJQUNkLE9BQU8sR0FBYSxJQUFJLENBQUM7SUFDekIsT0FBTyxHQUFhLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFNBQVMsQ0FBVTtJQUNuQixJQUFJLENBQU87SUFDWCxLQUFLLEdBQVksVUFBVSxDQUFDO0lBQzVCLFVBQVUsR0FBWSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixPQUFPLENBQXFCO0NBQzdCO0FBRUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBQzVDLEtBQUssQ0FBZ0I7SUFDckIsUUFBUSxDQUFVO0lBQ2xCLE9BQU8sR0FBYSxLQUFLLENBQUM7Q0FDM0I7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFDOUMsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixjQUFjLEdBQWEsS0FBSyxDQUFDO0lBQ2pDLGNBQWMsR0FBYSxLQUFLLENBQUM7Q0FDbEM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUN0QixJQUFJLENBQVU7SUFDZCxLQUFLLENBQU87SUFDWixRQUFRLENBQVc7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhCYXNlTWVudUl0ZW0ge1xuICB1aWQ/OiBzdHJpbmcgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygpO1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgdG9vbHRpcFBsYWNlbWVudD86ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuICBpY29uPzogc3RyaW5nO1xuICB2aXNpYmxlPzogYm9vbGVhbiA9IHRydWU7XG4gIGRpc2FibGU/OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBncm91cE5hbWU/OiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIHN0eWxlPzogc3RyaW5nID0gJ2F4IGxpZ2h0JztcbiAgb3JkZXJJbmRleD86IG51bWJlciA9IDA7XG4gIGVuZEljb24/OiBzdHJpbmc7XG4gIHN0YXJ0SWNvbj86IHN0cmluZztcbiAgb25DbGljaz86IChlPzogYW55KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbSBleHRlbmRzIEFYQmFzZU1lbnVJdGVtIHtcbiAgaXRlbXM/OiBBWE1lbnVJdGVtW107XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhCdXR0b25JdGVtIGV4dGVuZHMgQVhCYXNlTWVudUl0ZW0ge1xuICBkcm9wZG93bj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3VibWl0QmVoYXZpb3I/OiBib29sZWFuID0gZmFsc2U7XG4gIGNhbmNlbEJlaGF2aW9yPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDaGVja0l0ZW0ge1xuICB0ZXh0Pzogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuIl19","export class AXPromise {\n _executor;\n thenAction;\n static resolve(value) {\n const r = new AXPromise(z => {\n z(value);\n }).then(() => { });\n return r;\n }\n constructor(executor) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.thenAction);\n }, 50);\n }\n then(action) {\n this.thenAction = action;\n return this;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvcHJvbWlzZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUVWLFNBQVMsQ0FBbUM7SUFDNUMsVUFBVSxDQUFtQjtJQUVyQyxNQUFNLENBQUMsT0FBTyxDQUFJLEtBQVE7UUFDdEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUksQ0FBQyxDQUFDLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksUUFBMEM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFHRCxJQUFJLENBQUMsTUFBd0I7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYUHJvbWlzZTxUPiB7XG5cbiAgICBwcml2YXRlIF9leGVjdXRvcjogKHRoZW4/OiAoZT86IFQpID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSB0aGVuQWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkO1xuXG4gICAgc3RhdGljIHJlc29sdmU8VD4odmFsdWU6IFQpOiBBWFByb21pc2U8VD4ge1xuICAgICAgICBjb25zdCByID0gbmV3IEFYUHJvbWlzZTxUPih6ID0+IHtcbiAgICAgICAgICAgIHoodmFsdWUpO1xuICAgICAgICB9KS50aGVuKCgpID0+IHsgfSk7XG4gICAgICAgIHJldHVybiByO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGV4ZWN1dG9yOiAodGhlbj86IChlPzogVCkgPT4gdm9pZCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLl9leGVjdXRvciA9IGV4ZWN1dG9yO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dG9yKHRoaXMudGhlbkFjdGlvbik7XG4gICAgICAgIH0sIDUwKTtcbiAgICB9XG5cblxuICAgIHRoZW4oYWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkKTogQVhQcm9taXNlPFQ+IHtcbiAgICAgICAgdGhpcy50aGVuQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG4iXX0=","export class AXSelectItem {\n id;\n name;\n text;\n visible;\n disable;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9zZWxlY3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDdkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFXO0lBQ2xCLE9BQU8sQ0FBVztDQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFNlbGVjdEl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBkaXNhYmxlPzogYm9vbGVhbjtcbn1cbiJdfQ==","import { EventEmitter, Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated Use AXBasePageComponent from @acorex/components\n */\n// TODO: Add Angular decorator.\nexport class AXBasePageComponent {\n onClosed = new EventEmitter();\n close(data) {\n this.onClosed.emit({\n component: this,\n data: data\n });\n }\n onClosing(e) {\n }\n ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9iYXNlLXBhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOztHQUVHO0FBQ0gsK0JBQStCO0FBRS9CLE1BQU0sT0FBZ0IsbUJBQW1CO0lBRXJDLFFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV0RCxLQUFLLENBQUMsSUFBVTtRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBTTtJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzt1R0FoQmlCLG1CQUFtQjsyR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFYQmFzZVBhZ2VDb21wb25lbnQgZnJvbSBAYWNvcmV4L2NvbXBvbmVudHNcbiAqL1xuLy8gVE9ETzogQWRkIEFuZ3VsYXIgZGVjb3JhdG9yLlxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ2xvc2luZyhlOiBhbnkpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cblxufVxuXG5cbiJdfQ==","import { InjectionToken, Injectable, Injector } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken('ax.error');\nexport class AXErrorService {\n injector;\n constructor(injector) {\n this.injector = injector;\n }\n handle(message) {\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\n if (instance) {\n instance.show(message);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2Vycm9yL2Vycm9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVyRSxNQUFNLENBQUMsTUFBTyw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBNEIsVUFBVSxDQUFDLENBQUM7QUFPdkcsTUFBTSxPQUFPLGNBQWM7SUFFSDtJQUFwQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXRDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2pFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO3VHQVhRLGNBQWM7MkdBQWQsY0FBYyxjQURGLE1BQU07OzJGQUNsQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgIEFYX0VSUk9SX0RJU1BMQVlfSU5URVJDRVBUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhFcnJvckRpc3BsYXlJbnRlcmNlcHRvcj4oJ2F4LmVycm9yJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhFcnJvckRpc3BsYXlJbnRlcmNlcHRvciB7XG4gICAgc2hvdyhtZXNzYWdlOiBzdHJpbmcpO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBWEVycm9yU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuXG4gICAgfVxuXG4gICAgaGFuZGxlKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYX0VSUk9SX0RJU1BMQVlfSU5URVJDRVBUT1IpO1xuICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnNob3cobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXErrorService } from './error.service';\nimport * as i0 from \"@angular/core\";\nexport class AXErrorModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, providers: [AXErrorService], imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXErrorService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZXJyb3IvZXJyb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLFlBSlosWUFBWTt3R0FJYixhQUFhLGFBRlgsQ0FBQyxjQUFjLENBQUMsWUFGakIsWUFBWTs7MkZBSWIsYUFBYTtrQkFOekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWEVycm9yU2VydmljZSB9IGZyb20gJy4vZXJyb3Iuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBwcm92aWRlcnM6IFtBWEVycm9yU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYRXJyb3JNb2R1bGUge1xuXG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken('ax.http.events');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ldmVudHMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAtZXZlbnRzLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IEFYX0hUVFBfRVZFTlRfSU5URVJDRVBUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhIdHRwRXZlbnRJbnRlcmNlcHRvcj4oJ2F4Lmh0dHAuZXZlbnRzJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhIdHRwRXZlbnRJbnRlcmNlcHRvciB7XG4gICAgYmVnaW4ocmVxdWVzdDogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEFYSHR0cFJlcXVlc3RPcHRpb25zPjtcbiAgICBzdWNjZXNzKHJlcXVlc3Q6IEFYSHR0cFJlcXVlc3RPcHRpb25zLCByZXN1bHQ6IGFueSk6IFByb21pc2U8YW55PjtcbiAgICBjb21wbGV0ZShyZXF1ZXN0OiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk7XG4gICAgZXJyb3IocmVxdWVzdDogQVhIdHRwUmVxdWVzdE9wdGlvbnMsIGVycm9yOiBJSHR0cEVycm9yKTtcbn1cblxuXG4iXX0=","export class HttpResult {\n _executor;\n constructor(executor) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.resultAction, this.errorAction, this.completeAction);\n }, 50);\n }\n resultAction;\n errorAction;\n completeAction;\n result(action) {\n this.resultAction = action;\n return this;\n }\n error(action) {\n this.errorAction = action;\n return this;\n }\n complete(action) {\n this.completeAction = action;\n return this;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXN1bHQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAtcmVzdWx0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxVQUFVO0lBQ1gsU0FBUyxDQUEyRjtJQUM1RyxZQUNJLFFBSVM7UUFFVCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxZQUFZLENBQWtCO0lBQzlCLFdBQVcsQ0FBMkI7SUFDdEMsY0FBYyxDQUFhO0lBRW5DLE1BQU0sQ0FBQyxNQUF1QjtRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWdDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxRQUFRLENBQUMsTUFBa0I7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUh0dHBFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBIdHRwUmVzdWx0PFQ+IHtcbiAgICBwcml2YXRlIF9leGVjdXRvcjogKHJlc3VsdDogKGU/OiBUKSA9PiB2b2lkLCBlcnJvcjogKGU/OiBJSHR0cEVycm9yKSA9PiB2b2lkLCBjb21wbGV0ZTogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZXhlY3V0b3I6IChcbiAgICAgICAgICAgIHJlc3VsdDogKGU/OiBUKSA9PiB2b2lkLFxuICAgICAgICAgICAgZXJyb3I6IChlPzogSUh0dHBFcnJvcikgPT4gdm9pZCxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB2b2lkXG4gICAgICAgICkgPT4gdm9pZFxuICAgICkge1xuICAgICAgICB0aGlzLl9leGVjdXRvciA9IGV4ZWN1dG9yO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dG9yKHRoaXMucmVzdWx0QWN0aW9uLCB0aGlzLmVycm9yQWN0aW9uLCB0aGlzLmNvbXBsZXRlQWN0aW9uKTtcbiAgICAgICAgfSwgNTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdWx0QWN0aW9uOiAoZT86IFQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBlcnJvckFjdGlvbjogKGU/OiBJSHR0cEVycm9yKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgY29tcGxldGVBY3Rpb246ICgpID0+IHZvaWQ7XG5cbiAgICByZXN1bHQoYWN0aW9uOiAoZT86IFQpID0+IHZvaWQpOiBIdHRwUmVzdWx0PFQ+IHsgXG4gICAgICAgIHRoaXMucmVzdWx0QWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgZXJyb3IoYWN0aW9uOiAoZT86IElIdHRwRXJyb3IpID0+IHZvaWQpOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICAgICAgdGhpcy5lcnJvckFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGNvbXBsZXRlKGFjdGlvbjogKCkgPT4gdm9pZCk6IEh0dHBSZXN1bHQ8VD4ge1xuICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59Il19","import { HttpClient, HttpHeaders, HttpParams, } from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { AX_HTTP_EVENT_INTERCEPTOR, } from './http-events.interceptor';\nimport { HttpResult } from './http-result.class';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\n// import { of, concat, throwError } from 'rxjs';\nexport class AXHttpService {\n http;\n injector;\n interceptor;\n constructor(http, injector) {\n this.http = http;\n this.injector = injector;\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\n }\n get(url, config = {}) {\n config.url = url;\n config.method = 'get';\n return this.request(config);\n }\n post(url, config = {}) {\n config.url = url;\n config.method = 'post';\n return this.request(config);\n }\n delete(url, config = {}) {\n config.url = url;\n config.method = 'delete';\n return this.request(config);\n }\n put(url, config = {}) {\n config.url = url;\n config.method = 'put';\n return this.request(config);\n }\n request(config) {\n return new HttpResult((result, error, complete) => {\n this.handleBegin(config).then((c) => {\n this.http\n .request(config.method, config.url, this.mapOptions(config))\n //.pipe(this.retry)\n .subscribe((data) => {\n this.handleResult(data, result, complete, config);\n }, (c) => {\n this.handleError(c, error, complete, config);\n });\n });\n });\n }\n handleResult(data, result, complete, config) {\n if (this.interceptor) {\n this.interceptor.success(config, data).then((c) => {\n if (result)\n result(c);\n this.handleComplete(complete, config);\n });\n }\n else {\n //\n if (result)\n result(data);\n this.handleComplete(complete, config);\n }\n }\n handleBegin(config) {\n return new Promise((resolve) => {\n if (!config.headers)\n config.headers = {};\n if (!config.params)\n config.params = {};\n //\n if (this.interceptor) {\n this.interceptor.begin(config).then((c) => {\n resolve(c);\n });\n }\n else {\n resolve(config);\n }\n });\n }\n handleComplete(complete, config) {\n if (complete)\n complete();\n if (this.interceptor)\n this.interceptor.complete(config);\n }\n handleError(c, error, complete, config) {\n let r = {\n message: c.message,\n status: c.status,\n code: c.status?.toString(),\n handled: false,\n error: c.error,\n };\n if (error) {\n error(r);\n }\n if (!r.handled) {\n if (this.interceptor)\n this.interceptor.error(config, r);\n }\n this.handleComplete(complete, config);\n }\n mapOptions(options) {\n let headers = new HttpHeaders();\n for (const key in options.headers) {\n if (options.headers.hasOwnProperty(key)) {\n const value = options.headers[key];\n headers = headers.set(key, value);\n }\n }\n let params = new HttpParams();\n for (const key in options.params) {\n if (options.params.hasOwnProperty(key)) {\n const value = options.params[key];\n params = params.set(key, value);\n }\n }\n return {\n headers: headers,\n params: params,\n body: options.body,\n responseType: options.responseType || 'json',\n };\n // if (options.method == \"get\") {\n // return {\n // headers: headers,\n // params: params\n // };\n // }\n // else {\n // return {\n // headers: headers,\n // params: params,\n // body: options.body\n // };\n // }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvaHR0cC9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixXQUFXLEVBQ1gsVUFBVSxHQUNYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLHlCQUF5QixHQUUxQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBQ2pELHVIQUF1SDtBQUN2SCxpREFBaUQ7QUFHakQsTUFBTSxPQUFPLGFBQWE7SUFFSjtJQUEwQjtJQUR0QyxXQUFXLENBQXlCO0lBQzVDLFlBQW9CLElBQWdCLEVBQVUsUUFBa0I7UUFBNUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDbkQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDcEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0s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SyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksTUFBTTtTQUM3QyxDQUFDO1FBQ0YsaUNBQWlDO1FBQ2pDLGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFNBQVM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUNULGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3QixTQUFTO1FBQ1QsSUFBSTtJQUNOLENBQUM7dUdBNUlVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIdHRwRXJyb3IgfSBmcm9tICcuL2h0dHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHtcbiAgQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUixcbiAgQVhIdHRwRXZlbnRJbnRlcmNlcHRvcixcbn0gZnJvbSAnLi9odHRwLWV2ZW50cy5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBSZXN1bHQgfSBmcm9tICcuL2h0dHAtcmVzdWx0LmNsYXNzJztcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBvZiwgY29uY2F0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEh0dHBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpbnRlcmNlcHRvcjogQVhIdHRwRXZlbnRJbnRlcmNlcHRvcjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaW50ZXJjZXB0b3IgPSB0aGlzLmluamVjdG9yLmdldChBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SKTtcbiAgfVxuXG4gIGdldDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ2dldCc7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xuICB9XG5cbiAgcG9zdDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ3Bvc3QnO1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcbiAgfVxuXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xuICB9XG5cbiAgcHV0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICBjb25maWcudXJsID0gdXJsO1xuICAgIGNvbmZpZy5tZXRob2QgPSAncHV0JztcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XG4gIH1cblxuICByZXF1ZXN0PFQ+KGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICByZXR1cm4gbmV3IEh0dHBSZXN1bHQ8VD4oKHJlc3VsdD8sIGVycm9yPywgY29tcGxldGU/KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUJlZ2luKGNvbmZpZykudGhlbigoYykgPT4ge1xuICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAucmVxdWVzdDxUPihjb25maWcubWV0aG9kLCBjb25maWcudXJsLCB0aGlzLm1hcE9wdGlvbnMoY29uZmlnKSlcbiAgICAgICAgICAvLy5waXBlKHRoaXMucmV0cnkpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihjLCBlcnJvciwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZXN1bHQoZGF0YSwgcmVzdWx0LCBjb21wbGV0ZSwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XG4gICAgICB0aGlzLmludGVyY2VwdG9yLnN1Y2Nlc3MoY29uZmlnLCBkYXRhKS50aGVuKChjKSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHJlc3VsdChjKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL1xuICAgICAgaWYgKHJlc3VsdCkgcmVzdWx0KGRhdGEpO1xuICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJlZ2luKFxuICAgIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnNcbiAgKTogUHJvbWlzZTxBWEh0dHBSZXF1ZXN0T3B0aW9ucz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKCFjb25maWcuaGVhZGVycykgY29uZmlnLmhlYWRlcnMgPSB7fTtcbiAgICAgIGlmICghY29uZmlnLnBhcmFtcykgY29uZmlnLnBhcmFtcyA9IHt9O1xuICAgICAgLy9cbiAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XG4gICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuYmVnaW4oY29uZmlnKS50aGVuKChjKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShjKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlOiBGdW5jdGlvbiwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgIGlmIChjb21wbGV0ZSkgY29tcGxldGUoKTtcbiAgICBpZiAodGhpcy5pbnRlcmNlcHRvcikgdGhpcy5pbnRlcmNlcHRvci5jb21wbGV0ZShjb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICBjOiBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBlcnJvcjogRnVuY3Rpb24sXG4gICAgY29tcGxldGU6IEZ1bmN0aW9uLFxuICAgIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnNcbiAgKSB7XG4gICAgbGV0IHI6IElIdHRwRXJyb3IgPSB7XG4gICAgICBtZXNzYWdlOiBjLm1lc3NhZ2UsXG4gICAgICBzdGF0dXM6IGMuc3RhdHVzLFxuICAgICAgY29kZTogYy5zdGF0dXM/LnRvU3RyaW5nKCksXG4gICAgICBoYW5kbGVkOiBmYWxzZSxcbiAgICAgIGVycm9yOiBjLmVycm9yLFxuICAgIH07XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBlcnJvcihyKTtcbiAgICB9XG4gICAgaWYgKCFyLmhhbmRsZWQpIHtcbiAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB0aGlzLmludGVyY2VwdG9yLmVycm9yKGNvbmZpZywgcik7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIG1hcE9wdGlvbnMob3B0aW9uczogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICBpZiAob3B0aW9ucy5oZWFkZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLmhlYWRlcnNba2V5XTtcbiAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLnBhcmFtcykge1xuICAgICAgaWYgKG9wdGlvbnMucGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLnBhcmFtc1trZXldO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgYm9keTogb3B0aW9ucy5ib2R5LFxuICAgICAgcmVzcG9uc2VUeXBlOiBvcHRpb25zLnJlc3BvbnNlVHlwZSB8fCAnanNvbicsXG4gICAgfTtcbiAgICAvLyBpZiAob3B0aW9ucy5tZXRob2QgPT0gXCJnZXRcIikge1xuICAgIC8vICAgICByZXR1cm4ge1xuICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgLy8gICAgIH07XG4gICAgLy8gfVxuICAgIC8vIGVsc2Uge1xuICAgIC8vICAgICByZXR1cm4ge1xuICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgIC8vICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5XG4gICAgLy8gICAgIH07XG4gICAgLy8gfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXHttpService } from './http.service';\nimport * as i0 from \"@angular/core\";\nexport class AXHttpModule {\n static forRoot() {\n return {\n ngModule: AXHttpModule,\n providers: [AXHttpService]\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, imports: [CommonModule,\n HttpClientModule], exports: [HttpClientModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, providers: [\n AXHttpService\n ], imports: [CommonModule,\n HttpClientModule, HttpClientModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule\n ],\n exports: [HttpClientModule],\n providers: [\n AXHttpService\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYy9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUMzQixDQUFDO0lBQ0osQ0FBQzt1R0FOVSxZQUFZO3dHQUFaLFlBQVksWUFSckIsWUFBWTtZQUNaLGdCQUFnQixhQUVSLGdCQUFnQjt3R0FLZixZQUFZLGFBSlo7WUFDVCxhQUFhO1NBQ2QsWUFOQyxZQUFZO1lBQ1osZ0JBQWdCLEVBRVIsZ0JBQWdCOzsyRkFLZixZQUFZO2tCQVh4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUU7d0JBQ1QsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFYSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhIdHRwU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFYSHR0cE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhIdHRwTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWEh0dHBNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtBWEh0dHBTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn0iXX0=","import { Injectable } from \"@angular/core\";\nimport { fromEvent, Subject } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged } from \"rxjs/operators\";\nimport * as i0 from \"@angular/core\";\nconst isChrome = (win) => testUserAgent(win, /Chrome/i);\nconst isFirefox = (win) => testUserAgent(win, /Firefox/i);\nconst isEdge = (win) => testUserAgent(win, /Edge/i);\nconst isSafari = (win) => testUserAgent(win, /Safari/i);\nconst isOpera = (win) => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\nconst isMSIE = (win) => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\nconst isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nconst isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nconst isIphone = (win) => testUserAgent(win, /iPhone/i);\nconst isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nconst isAndroid = (win) => testUserAgent(win, /android|sink/i);\nconst isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nconst isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (smallest > 390 && smallest < 520) &&\n (largest > 620 && largest < 800);\n};\nconst isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (isIpad(win) ||\n isAndroidTablet(win) ||\n ((smallest > 460 && smallest < 820) &&\n (largest > 780 && largest < 1400)));\n};\nconst isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isDesktop = (win) => !isMobile(win);\nconst isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nconst isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nconst isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\nconst isElectron = (win) => testUserAgent(win, /electron/i);\nconst isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);\nexport const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nconst matchMedia = (win, query) => win.matchMedia(query).matches;\nconst isSMScreen = (win) => matchMedia(win, '(max-width: 640px)');\nconst isMDScreen = (win) => matchMedia(win, '(max-width: 768px)');\nconst isLGScreen = (win) => matchMedia(win, '(max-width: 1024px)');\nconst isXLScreen = (win) => matchMedia(win, '(max-width: 1280px)');\nconst is2XLScreen = (win) => matchMedia(win, '(max-width: 1536px)');\nconst PLATFORMS_MAP = {\n 'Android': isAndroid,\n 'iOS': isIOS,\n 'Desktop': isDesktop,\n 'Mobile': isMobile,\n 'Touch': isTouch,\n 'Chrome': isChrome,\n 'Firefox': isFirefox,\n 'Safari': isSafari,\n 'Edge': isEdge,\n 'Opera': isOpera,\n 'Hybrid': isHybrid,\n 'PWA': isPWA,\n 'Electron': isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n \"2XL\": is2XLScreen,\n};\nexport class AXPlatformEvent {\n nativeEvent;\n source;\n}\nexport class AXPlatform {\n resize = new Subject();\n click = new Subject();\n scroll = new Subject();\n isRtl() {\n return document.dir == 'rtl' || document.body.dir == 'rtl' || document.body.style.direction == 'rtl';\n }\n isLandscape() {\n return window.innerHeight < window.innerWidth;\n }\n isPortrate() {\n return !this.isLandscape();\n }\n is(name) {\n return PLATFORMS_MAP[name](window) || false;\n }\n switchDarkMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.add('ax-dark');\n }\n switchLightMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.remove('ax-dark');\n }\n _setFullHeightRatio() {\n document.querySelector(':root').style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n }\n constructor() {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this\n });\n //\n this._setFullHeightRatio();\n });\n document.addEventListener('click', (e) => {\n this.click.next({\n nativeEvent: e,\n source: this\n });\n }, true);\n document.addEventListener('scroll', (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this\n });\n }, true);\n // init functions\n this._setFullHeightRatio();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BsYXRmb3JtL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVXBFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDdEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFbkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUNwQyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDdEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3JDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUUvRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3BDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUdsRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcs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QUM7SUFDL0csQ0FBQztJQUVEO1FBRUksU0FBUyxDQUFVLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsRUFBRTtZQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBR1AsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRVIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7dUdBbkVRLFVBQVU7MkdBQVYsVUFBVSxjQUZQLE1BQU07OzJGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5cbmV4cG9ydCB0eXBlIEFYUGxhdGZvcm1zID0gJ0FuZHJvaWQnIHwgJ0Rlc2t0b3AnIHwgJ2lPUycgfCAnTW9iaWxlJyB8ICcnO1xuZXhwb3J0IHR5cGUgQVhCcm93c2VycyA9ICdDaHJvbWUnIHwgJ1NhZmFyaScgfCAnRWRnZScgfCAnRmlyZWZveCcgfCAnT3BlcmEnIHwgJ01TSUUnO1xuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XG5cblxuXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL0Nocm9tZS9pKTtcblxuY29uc3QgaXNGaXJlZm94ID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcblxuY29uc3QgaXNFZGdlID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvRWRnZS9pKTtcblxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9TYWZhcmkvaSk7XG5cbmNvbnN0IGlzT3BlcmEgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9PcGVyYS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL09QUi9pKTtcblxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XG5cblxuY29uc3QgaXNNb2JpbGVXZWIgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcblxuY29uc3QgaXNJcGFkID0gKHdpbjogV2luZG93KSA9PiB7XG4gICAgLy8gaU9TIDEyIGFuZCBiZWxvd1xuICAgIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL2lQYWQvaSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gaU9TIDEzK1xuICAgIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL01hY2ludG9zaC9pKSAmJiBpc01vYmlsZSh3aW4pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzSXBob25lID0gKHdpbjogV2luZG93KSA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvaVBob25lL2kpO1xuXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xuXG5jb25zdCBpc0FuZHJvaWQgPSAod2luOiBXaW5kb3cpID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9hbmRyb2lkfHNpbmsvaSk7XG5cbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICAgIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XG59O1xuXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xuICAgIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHJldHVybiAoc21hbGxlc3QgPiAzOTAgJiYgc21hbGxlc3QgPCA1MjApICYmXG4gICAgICAgIChsYXJnZXN0ID4gNjIwICYmIGxhcmdlc3QgPCA4MDApO1xufTtcblxuY29uc3QgaXNUYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xuICAgIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGlzSXBhZCh3aW4pIHx8XG4gICAgICAgIGlzQW5kcm9pZFRhYmxldCh3aW4pIHx8XG4gICAgICAgIChcbiAgICAgICAgICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCkgJiZcbiAgICAgICAgICAgIChsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxuICAgICAgICApXG4gICAgKTtcbn07XG5cbmNvbnN0IGlzTW9iaWxlID0gKHdpbjogV2luZG93KSA9PlxuICAgIG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcblxuY29uc3QgaXNUb3VjaCA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xuXG5jb25zdCBpc0Rlc2t0b3AgPSAod2luOiBXaW5kb3cpID0+XG4gICAgIWlzTW9iaWxlKHdpbik7XG5cbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PlxuICAgIGlzQ29yZG92YSh3aW4pIHx8IGlzQ2FwYWNpdG9yTmF0aXZlKHdpbik7XG5cbmNvbnN0IGlzQ29yZG92YSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT5cbiAgICAhISh3aW5bJ2NvcmRvdmEnXSB8fCB3aW5bJ3Bob25lZ2FwJ10gfHwgd2luWydQaG9uZUdhcCddKTtcblxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xuICAgIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcbn07XG5cbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9lbGVjdHJvbi9pKTtcblxuY29uc3QgaXNQV0EgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgISEod2luLm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyB8fCAod2luLm5hdmlnYXRvciBhcyBhbnkpLnN0YW5kYWxvbmUpO1xuXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxuICAgIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbmNvbnN0IG1hdGNoTWVkaWEgPSAod2luOiBXaW5kb3csIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuID0+XG4gICAgd2luLm1hdGNoTWVkaWEocXVlcnkpLm1hdGNoZXM7XG5cbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XG5jb25zdCBpc01EU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDc2OHB4KScpO1xuY29uc3QgaXNMR1NjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxMDI0cHgpJyk7XG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcbmNvbnN0IGlzMlhMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDE1MzZweCknKTtcblxuY29uc3QgUExBVEZPUk1TX01BUCA9IHtcbiAgICAnQW5kcm9pZCc6IGlzQW5kcm9pZCxcbiAgICAnaU9TJzogaXNJT1MsXG4gICAgJ0Rlc2t0b3AnOiBpc0Rlc2t0b3AsXG4gICAgJ01vYmlsZSc6IGlzTW9iaWxlLFxuICAgICdUb3VjaCc6IGlzVG91Y2gsXG4gICAgJ0Nocm9tZSc6IGlzQ2hyb21lLFxuICAgICdGaXJlZm94JzogaXNGaXJlZm94LFxuICAgICdTYWZhcmknOiBpc1NhZmFyaSxcbiAgICAnRWRnZSc6IGlzRWRnZSxcbiAgICAnT3BlcmEnOiBpc09wZXJhLFxuICAgICdIeWJyaWQnOiBpc0h5YnJpZCxcbiAgICAnUFdBJzogaXNQV0EsXG4gICAgJ0VsZWN0cm9uJzogaXNFbGVjdHJvbixcbiAgICBTTTogaXNTTVNjcmVlbixcbiAgICBNRDogaXNNRFNjcmVlbixcbiAgICBMRzogaXNMR1NjcmVlbixcbiAgICBYTDogaXNYTFNjcmVlbixcbiAgICBcIjJYTFwiOiBpczJYTFNjcmVlbixcbn07XG5cblxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm1FdmVudCB7XG4gICAgbmF0aXZlRXZlbnQ6IFVJRXZlbnQgfCBFdmVudDtcbiAgICBzb3VyY2U6IEFYUGxhdGZvcm1cbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQbGF0Zm9ybSB7XG4gICAgcmVzaXplOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XG4gICAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKVxuICAgIHNjcm9sbDogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpXG5cbiAgICBpc1J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmRpciA9PSAncnRsJyB8fCBkb2N1bWVudC5ib2R5LmRpciA9PSAncnRsJyB8fCBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9PSAncnRsJztcbiAgICB9XG5cblxuICAgIGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgfVxuXG4gICAgaXNQb3J0cmF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTGFuZHNjYXBlKClcbiAgICB9XG5cbiAgICBpcyhuYW1lOiBBWFBsYXRmb3JtcyB8IEFYQnJvd3NlcnMgfCBBWFRlY2hub2xvZ2llcyB8IEFYU2NyZWVuU2l6ZXMpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBzd2l0Y2hEYXJrTW9kZSgpIHtcbiAgICAgICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImh0bWxcIilbMF07XG4gICAgICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKVxuXG4gICAgfVxuXG4gICAgc3dpdGNoTGlnaHRNb2RlKCkge1xuICAgICAgICBjb25zdCBfaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaHRtbFwiKVswXTtcbiAgICAgICAgX2h0bWwuY2xhc3NMaXN0LnJlbW92ZSgnYXgtZGFyaycpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0RnVsbEhlaWdodFJhdGlvKCkge1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignOnJvb3QnKS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC12aCcsIHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCArICdweCcpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiB0aGlzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcbiAgICAgICAgICAgIH0pO1xuXG5cbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGljay5uZXh0KHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCB0cnVlKVxuXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbC5uZXh0KHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgLy8gaW5pdCBmdW5jdGlvbnNcbiAgICAgICAgdGhpcy5fc2V0RnVsbEhlaWdodFJhdGlvKCk7XG4gICAgfVxufSJdfQ==","import { Pipe } from '@angular/core';\nimport { AXDateTime } from '../classes/datetime.class';\nimport * as i0 from \"@angular/core\";\nexport class AXDateTimePipe {\n constructor() { }\n transform(value, format) {\n const date = AXDateTime.convert(value);\n if (value == null) {\n return '';\n }\n if (!format) {\n return date.toString();\n }\n else {\n return date.format(format);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, isStandalone: false, name: \"dt\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'dt',\n standalone: false\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGUvZGF0ZXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTXZELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLGdCQUFnQixDQUFDO0lBRWpCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsTUFBZTtRQUNqQyxNQUFNLElBQUksR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFDSSxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO3VHQWRRLGNBQWM7cUdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtLCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnLi4vY2xhc3Nlcy9kYXRldGltZS5jbGFzcyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZHQnLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlOiBBWERhdGVUaW1lID0gQVhEYXRlVGltZS5jb252ZXJ0KHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmZvcm1hdChmb3JtYXQpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXHtmlToTextPipe {\n transform(value) {\n if (value) {\n const regexHtml = /<\\/?[^>]+>/gi;\n const regexNbsp = / /gi;\n const regexAmp = /&/gi;\n return value\n .replace(regexHtml, '')\n .replace(regexNbsp, '')\n .replace(regexAmp, '');\n }\n else {\n return '';\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, isStandalone: false, name: \"html2text\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'html2text',\n standalone: false\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbFRvVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcGlwZS9odG1sVG9UZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO1lBQzNCLE9BQU8sS0FBSztpQkFDVCxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztpQkFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7aUJBQ3RCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO3VHQWJVLGdCQUFnQjtxR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaHRtbDJ0ZXh0JyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0bWxUb1RleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCByZWdleEh0bWwgPSAvPFxcLz9bXj5dKz4vZ2k7XG4gICAgICBjb25zdCByZWdleE5ic3AgPSAvJm5ic3A7L2dpO1xuICAgICAgY29uc3QgcmVnZXhBbXAgPSAvJmFtcDsvZ2k7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgLnJlcGxhY2UocmVnZXhIdG1sLCAnJylcbiAgICAgICAgLnJlcGxhY2UocmVnZXhOYnNwLCAnJylcbiAgICAgICAgLnJlcGxhY2UocmVnZXhBbXAsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXEventService {\n list = [];\n broadcast(key, options) {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events.forEach(c => {\n c(options);\n });\n }\n }\n on(key, callback) {\n let d = this.list.find(c => c.key === key);\n if (!d) {\n d = { key, events: [] };\n this.list.push(d);\n }\n d.events.push(callback);\n }\n destroy(key, callback) {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events = [];\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGNBQWM7SUFDZixJQUFJLEdBQVUsRUFBRSxDQUFDO0lBRWxCLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBYTtRQUN2QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRU0sRUFBRSxDQUFDLEdBQVcsRUFBRSxRQUFpQztRQUNwRCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ0wsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDekQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQzt1R0ExQlEsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxpc3Q6IGFueVtdID0gW107XG5cbiAgICBwdWJsaWMgYnJvYWRjYXN0KGtleTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGQgPSB0aGlzLmxpc3QuZmluZChjID0+IGMua2V5ID09PSBrZXkpO1xuICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgZC5ldmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICBjKG9wdGlvbnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb24oa2V5OiBzdHJpbmcsIGNhbGxiYWNrOiAob3B0aW9ucz86IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBsZXQgZCA9IHRoaXMubGlzdC5maW5kKGMgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgICAgIGlmICghZCkge1xuICAgICAgICAgICAgZCA9IHsga2V5LCBldmVudHM6IFtdIH07XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaChkKTtcbiAgICAgICAgfVxuICAgICAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveShrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGQgPSB0aGlzLmxpc3QuZmluZChjID0+IGMua2V5ID09PSBrZXkpO1xuICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgZC5ldmVudHMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXNavigator {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLFdBQVc7dUdBQVgsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhOYXZpZ2F0b3JQYXJhbSB9IGZyb20gJy4uL2NsYXNzZXMvbmF2aWdhdG9yLmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTmF2aWdhdG9yIHtcbiAgICBhYnN0cmFjdCBuYXZpZ2F0ZShwYXJhbXM6IEFYTmF2aWdhdG9yUGFyYW0pO1xuICAgIGFic3RyYWN0IHBvcHVwKHBhcmFtczogQVhOYXZpZ2F0b3JQYXJhbSk7XG59Il19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXStorageService {\n get(key) {\n return localStorage.getItem(key);\n }\n set(key, value) {\n localStorage.setItem(key, value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDMUIsR0FBRyxDQUFDLEdBQVc7UUFDWixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQU5TLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhTdG9yYWdlU2VydmljZSB7XG4gICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkgYXMgYW55O1xuICAgfVxuICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlIGFzIHN0cmluZyk7XG4gICB9XG59XG4iXX0=","import { Subject } from 'rxjs';\nimport { getPropByPath } from '../utils/object/object-util';\nimport { merge } from 'lodash-es';\n// @dynamic\nexport class AXTranslator {\n static lang = 'en';\n static dataChangeSubject = new Subject();\n static get onChange() {\n return AXTranslator.dataChangeSubject.asObservable();\n }\n static load(lang, value) {\n if (typeof value === 'object') {\n if (!AXTranslator[`__data__${lang}`]) {\n AXTranslator[`__data__${lang}`] = {};\n }\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\n }\n }\n static use(lang) {\n AXTranslator.lang = lang;\n }\n static get(key, lang) {\n return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyYW5zbGF0b3IvdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUNiLE1BQU0sQ0FBQyxJQUFJLEdBQVcsSUFBSSxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBR3RELE1BQU0sS0FBSyxRQUFRO1FBQ2YsT0FBTyxZQUFZLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRixDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUMxQixZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBYTtRQUN4QyxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO0lBQzNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRQcm9wQnlQYXRoIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0L29iamVjdC11dGlsJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3Ige1xuICAgIHByaXZhdGUgc3RhdGljIGxhbmc6IHN0cmluZyA9ICdlbic7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cblxuICAgIHN0YXRpYyBnZXQgb25DaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIEFYVHJhbnNsYXRvci5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGxvYWQobGFuZzogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBpZiAoIUFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0pIHtcbiAgICAgICAgICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0gbWVyZ2UoQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB1c2UobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIEFYVHJhbnNsYXRvci5sYW5nID0gbGFuZztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldChrZXk6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wQnlQYXRoKEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmcgfHwgQVhUcmFuc2xhdG9yLmxhbmd9YF0sIGtleSkgfHwga2V5O1xuICAgIH1cbn0iXX0=","import { Injectable } from '@angular/core';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorService {\n load(lang, value) {\n AXTranslator.load(lang, value);\n }\n use(lang) {\n AXTranslator.use(lang);\n }\n get(key, lang) {\n return AXTranslator.get(lang, lang);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, providedIn: 'platform' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'platform' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUc1QyxNQUFNLE9BQU8sbUJBQW1CO0lBRXJCLElBQUksQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNoQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVk7UUFDbkIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFhO1FBQ2pDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzt1R0FaUSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUROLFVBQVU7OzJGQUN2QixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncGxhdGZvcm0nIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yU2VydmljZSB7XG5cbiAgICBwdWJsaWMgbG9hZChsYW5nOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgQVhUcmFuc2xhdG9yLmxvYWQobGFuZywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1c2UobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIEFYVHJhbnNsYXRvci51c2UobGFuZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KGxhbmcsIGxhbmcpO1xuICAgIH1cbn1cblxuIl19","import { Pipe } from '@angular/core';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorPipe {\n constructor() { }\n // transform(value: string, lang?: string): Promise<string> {\n // return new Promise<string>((resolve, reject) => {\n // if (!value) {\n // resolve(value);\n // }\n // resolve(this.translate.get(value, lang));\n // });\n // }\n transform(value, lang) {\n return AXTranslator.get(value, lang);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, isStandalone: false, name: \"trans\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'trans', pure: true,\n standalone: false\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFNNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixnQkFBZ0IsQ0FBQztJQUVqQiw2REFBNkQ7SUFDN0Qsd0RBQXdEO0lBQ3hELHdCQUF3QjtJQUN4Qiw4QkFBOEI7SUFDOUIsWUFBWTtJQUNaLG9EQUFvRDtJQUNwRCxVQUFVO0lBRVYsSUFBSTtJQUVKLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBYTtRQUNsQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7dUdBaEJRLGdCQUFnQjtxR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUk7b0JBQ3pCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJy4vdHJhbnNsYXRvcic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndHJhbnMnLCBwdXJlOiB0cnVlLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgICAvLyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgbGFuZz86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgLy8gICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAvLyAgICAgICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICAgIHJlc29sdmUodGhpcy50cmFuc2xhdGUuZ2V0KHZhbHVlLCBsYW5nKSk7XG4gICAgLy8gICAgIH0pO1xuXG4gICAgLy8gfVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGxhbmc/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQVhUcmFuc2xhdG9yLmdldCh2YWx1ZSwgbGFuZyk7XG4gICAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXTranslatorPipe } from './translator.pipe';\nimport * as en from '../locale/en.json';\nimport * as fa from '../locale/fa.json';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorModule {\n constructor() {\n AXTranslator.load('en', en);\n AXTranslator.load('fa', fa);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [AXTranslatorPipe],\n declarations: [AXTranslatorPipe],\n providers: [],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUzVDLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7UUFDSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO3VHQUpRLGtCQUFrQjt3R0FBbEIsa0JBQWtCLGlCQUhaLGdCQUFnQixhQURyQixnQkFBZ0I7d0dBSWpCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFOOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuaW1wb3J0ICogYXMgZW4gZnJvbSAnLi4vbG9jYWxlL2VuLmpzb24nO1xuaW1wb3J0ICogYXMgZmEgZnJvbSAnLi4vbG9jYWxlL2ZhLmpzb24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBBWFRyYW5zbGF0b3IubG9hZCgnZW4nLCBlbik7XG4gICAgICAgIEFYVHJhbnNsYXRvci5sb2FkKCdmYScsIGZhKTtcbiAgICB9XG59XG4iXX0=","import { AXFetchProp } from '../object/object-util';\n// @dynamic\nexport class AXArrayUtil {\n static pickRandom(array) {\n return array[Math.floor(Math.random() * array.length)];\n }\n static insert(array, index, ...rest) {\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\n return array;\n }\n static range(min, max) {\n return new Array(max - min).fill(1).map((d, i) => i);\n }\n static filter(array, filters) {\n if (filters == null || filters.length === 0) {\n return array;\n }\n const lamda = (item) => {\n let result = true;\n for (const key in filters) {\n if (filters.hasOwnProperty(key)) {\n const f = filters[key];\n if (f !== 'AND') {\n const vals = [];\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\n if (mt && mt.length > 1) {\n const p1 = f.field.replace(mt[0], '');\n const p2 = mt[1];\n const prop = AXFetchProp(item, p1);\n if (prop instanceof Array && prop.length) {\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\n }\n else {\n result = false;\n }\n }\n else {\n vals.push(AXFetchProp(item, f.field));\n }\n for (const j in vals) {\n if (vals.hasOwnProperty(j)) {\n let v1 = vals[j];\n const v2 = f.value;\n if (f.dataType === 'string') {\n v1 = v1.toString();\n switch (f.condition) {\n case 'equal':\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\n break;\n case 'not-equal':\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\n break;\n case 'contains':\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'not-contains':\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'start-with':\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\n break;\n case 'end-with':\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n }\n else if (f.dataType === 'date') {\n }\n else if (f.dataType === 'number') {\n v1 = Number(v1);\n switch (f.condition) {\n case 'equal':\n result = v1 === v2;\n break;\n case 'not-equal':\n result = v1 !== v2;\n break;\n case 'contains':\n result = v2 && v2 instanceof Array && v2.includes(v1);\n break;\n case 'less-than':\n result = v1 < v2;\n break;\n case 'less-than-equal':\n result = v1 <= v2;\n break;\n case 'greater-than':\n result = v1 > v2;\n break;\n case 'greater-than-equal':\n result = v1 >= v2;\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n }\n else {\n console.error('The datatype is not supported');\n result = false;\n }\n if (result) {\n break;\n }\n }\n }\n }\n if (!result) {\n return false;\n }\n }\n }\n return true;\n };\n return array.filter(lamda);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2FycmF5L2FycmF5LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELFdBQVc7QUFDWCxNQUFNLE9BQU8sV0FBVztJQUdwQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQVk7UUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBWSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQWM7UUFDdEMsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFF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QUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ1YsT0FBTyxLQUFLLENBQUM7b0JBQ2pCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGZXRjaFByb3AgfSBmcm9tICcuLi9vYmplY3Qvb2JqZWN0LXV0aWwnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYQXJyYXlVdGlsIHtcblxuXG4gICAgc3RhdGljIHBpY2tSYW5kb20oYXJyYXk6IGFueVtdKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldO1xuICAgIH1cblxuXG4gICAgc3RhdGljIGluc2VydChhcnJheTogYW55W10sIGluZGV4LCAuLi5yZXN0KSB7XG4gICAgICAgIGFycmF5LnNwbGljZS5hcHBseShhcnJheSwgW2luZGV4LCAwXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocmVzdCwgMSkpKTtcbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBuZXcgQXJyYXkobWF4IC0gbWluKS5maWxsKDEpLm1hcCgoZCwgaSkgPT4gaSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbHRlcihhcnJheTogYW55W10sIGZpbHRlcnM6IGFueVtdKTogYW55W10ge1xuICAgICAgICBpZiAoZmlsdGVycyA9PSBudWxsIHx8IGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGFtZGEgPSAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmID0gZmlsdGVyc1trZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZiAhPT0gJ0FORCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG10ID0gZi5maWVsZC5tYXRjaCgvXFxbXFw6KC4qPylcXF0vKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtdCAmJiBtdC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcDEgPSBmLmZpZWxkLnJlcGxhY2UobXRbMF0sICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMiA9IG10WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3AgPSBBWEZldGNoUHJvcChpdGVtLCBwMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3AgaW5zdGFuY2VvZiBBcnJheSAmJiBwcm9wLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxzLnB1c2goLi4ucHJvcC5tYXAobSA9PiAoQVhGZXRjaFByb3AobSwgcDIpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFscy5wdXNoKEFYRmV0Y2hQcm9wKGl0ZW0sIGYuZmllbGQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaiBpbiB2YWxzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHMuaGFzT3duUHJvcGVydHkoaikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHYxID0gdmFsc1tqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdjIgPSBmLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZi5kYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gdjEudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlcXVhbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh2MSAmJiB2MikgJiYgdjEudG9Mb3dlckNhc2UoKSA9PT0gdjIudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISgodjEgJiYgdjIpICYmIHYxLnRvTG93ZXJDYXNlKCkgPT09IHYyLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHYyLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ25vdC1jb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICEoKHYxICYmIHYyKSAmJiAodjEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKCh2MSAmJiB2MikgJiYgKHYxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHYyLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLWVtcHR5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1ub3QtZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gTnVtYmVyKHYxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlcXVhbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID09PSB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgIT09IHYyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYyICYmIHYyIGluc3RhbmNlb2YgQXJyYXkgJiYgdjIuaW5jbHVkZXModjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdsZXNzLXRoYW4nOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA8IHYyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdsZXNzLXRoYW4tZXF1YWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA8PSB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ3JlYXRlci10aGFuJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPiB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ3JlYXRlci10aGFuLWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPj0gdjI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLWVtcHR5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1ub3QtZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgZGF0YXR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKGxhbWRhKTtcbiAgICB9XG5cbn1cblxuXG5cblxuXG4iXX0=","export class AXMathUtil {\n static randomRange(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvbWF0aC9tYXRoLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhNYXRoVXRpbCB7XG4gICAgc3RhdGljIHJhbmRvbVJhbmdlKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW4pO1xuICAgIH1cbn1cbiJdfQ==","import { AXMathUtil } from '../math/math-util';\nexport class AXPoint {\n x;\n y;\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nexport class AXClientRec {\n _left;\n get left() {\n return this._left;\n }\n set left(v) {\n this._left = v;\n }\n _top;\n get top() {\n return this._top;\n }\n set top(v) {\n this._top = v;\n }\n _right;\n get right() {\n return this._right;\n }\n set right(v) {\n this._right = v;\n }\n _bottom;\n get bottom() {\n return this._bottom;\n }\n set bottom(v) {\n this._bottom = v;\n }\n _width;\n get width() {\n return this._width;\n }\n set width(v) {\n this._width = v;\n }\n _height;\n get height() {\n return this._height;\n }\n set height(v) {\n this._height = v;\n }\n constructor(rec) {\n this._left = rec.left;\n this._top = rec.top;\n this._width = rec.width;\n this._height = rec.height;\n this._right = this._left + this._width;\n this._bottom = this._top + this._height;\n }\n intersect(rec) {\n return (this.left < rec.left + rec.width &&\n this.left + this.width > rec.left &&\n this.top < rec.top + rec.height &&\n this.top + this.height > rec.top);\n }\n}\n// @dynamic\nexport class AXHtmlUtil {\n static getBoundingRectPoint(el, placement) {\n const rec = el.getBoundingClientRect();\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n switch (placement) {\n case 'top-start':\n return new AXPoint(rec.left, rec.top);\n case 'top-middle':\n return new AXPoint(rec.left + (width / 2), rec.top);\n case 'top-end':\n return new AXPoint(rec.left + (width), rec.top);\n case 'center-end':\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\n case 'bottom-end':\n return new AXPoint(rec.left + (width), rec.top + (height));\n case 'bottom-middle':\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n case 'bottom-start':\n return new AXPoint(rec.left, rec.top + (height));\n case 'center-start':\n return new AXPoint(rec.left, rec.top + (height / 2));\n default:\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n }\n }\n static isInRecPoint(pos, rec) {\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\n }\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\n // const r1: AXClientRec = new AXClientRec(rec1);\n // const r2: AXClientRec = new AXClientRec(rec2);\n // return ;\n // }\n static isInElementBound(pos, element) {\n const elBound = element.getBoundingClientRect();\n return AXHtmlUtil.isInRecPoint(pos, {\n left: elBound.left,\n width: elBound.width,\n top: elBound.top,\n height: elBound.height\n });\n }\n static getDimensions() {\n let winW = 630;\n let winH = 460;\n if (document.body && document.body.offsetWidth) {\n winW = document.body.offsetWidth;\n winH = document.body.offsetHeight;\n }\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\n winW = document.documentElement.offsetWidth;\n winH = document.documentElement.offsetHeight;\n }\n if (window.innerWidth && window.innerHeight) {\n winW = window.innerWidth;\n winH = window.innerHeight;\n }\n return { width: winW, height: winH };\n }\n static getOffsetRight(elem) {\n let element = elem;\n const width = element.offsetWidth;\n let right = 0;\n while (element.offsetParent) {\n right += element.offsetLeft;\n element = element.offsetParent;\n }\n right += element.offsetLeft;\n right = AXHtmlUtil.getDimensions().width - right;\n right -= width;\n return right;\n }\n static getUID() {\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\n }\n static getRelatedPosition(source, placement, target, alignment) {\n const result = { x: 0, y: 0 };\n const sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);\n let top = 0;\n let left = 0;\n switch (alignment) {\n case 'top-start':\n top = sourcePos.y;\n left = sourcePos.x;\n break;\n case 'top-middle':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'top-end':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'center-end':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-end':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-middle':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'bottom-start':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x;\n break;\n case 'center-start':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x;\n break;\n }\n result.y = top;\n result.x = left;\n return result;\n }\n static collision(a, b) {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\n return true;\n }\n else {\n return false;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvaHRtbC9odG1sLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBMkIvQyxNQUFNLE9BQU8sT0FBTztJQUNDO0lBQWtCO0lBQXJDLFlBQW1CLENBQVMsRUFBUyxDQUFTO1FBQTNCLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQzlDLENBQUM7Q0FDRjtBQVVELE1BQU0sT0FBTyxXQUFXO0lBR2QsS0FBSyxDQUFTO0lBQ3RCLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBR08sSUFBSSxDQUFTO0lBQ3JCLElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsQ0FBUztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBR08sTUFBTSxDQUFTO0lBQ3ZCLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBUztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR08sT0FBTyxDQUFTO0lBQ3hCLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsQ0FBUztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMs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bkIsTUFBTTtRQUNWLENBQUM7UUFDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNmLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQWMsRUFBRSxDQUFjO1FBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJDLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzlELEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWF0aFV0aWwgfSBmcm9tICcuLi9tYXRoL21hdGgtdXRpbCc7XG5cbmV4cG9ydCB0eXBlIEFYUGxhY2VtZW50ID1cbiAgfCAndG9wLXN0YXJ0J1xuICB8ICd0b3AtbWlkZGxlJ1xuICB8ICd0b3AtZW5kJ1xuICB8ICdjZW50ZXItc3RhcnQnXG4gIHwgJ2NlbnRlci1lbmQnXG4gIHwgJ2JvdHRvbS1zdGFydCdcbiAgfCAnYm90dG9tLW1pZGRsZSdcbiAgfCAnYm90dG9tLWVuZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhJUG9pbnQge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgb3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIG9yaWdpblk6ICd0b3AnIHwgJ2NlbnRlcicgfCAnYm90dG9tJztcbiAgb3ZlcmxheVg6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuICBvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBvaW50IGltcGxlbWVudHMgQVhJUG9pbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgeDogbnVtYmVyLCBwdWJsaWMgeTogbnVtYmVyKSB7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWENsaWVudFJlY0N0b3Ige1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG59XG5leHBvcnQgY2xhc3MgQVhDbGllbnRSZWMgaW1wbGVtZW50cyBBWENsaWVudFJlY0N0b3Ige1xuXG5cbiAgcHJpdmF0ZSBfbGVmdDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGxlZnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcbiAgfVxuICBwdWJsaWMgc2V0IGxlZnQodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGVmdCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX3RvcDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IHRvcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3A7XG4gIH1cbiAgcHVibGljIHNldCB0b3AodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG9wID0gdjtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfcmlnaHQ6IG51bWJlcjtcbiAgcHVibGljIGdldCByaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9yaWdodDtcbiAgfVxuICBwdWJsaWMgc2V0IHJpZ2h0KHY6IG51bWJlcikge1xuICAgIHRoaXMuX3JpZ2h0ID0gdjtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfYm90dG9tOiBudW1iZXI7XG4gIHB1YmxpYyBnZXQgYm90dG9tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2JvdHRvbTtcbiAgfVxuICBwdWJsaWMgc2V0IGJvdHRvbSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9ib3R0b20gPSB2O1xuICB9XG5cblxuXG4gIHByaXZhdGUgX3dpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cbiAgcHVibGljIHNldCB3aWR0aCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl93aWR0aCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX2hlaWdodDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gIH1cbiAgcHVibGljIHNldCBoZWlnaHQodjogbnVtYmVyKSB7XG4gICAgdGhpcy5faGVpZ2h0ID0gdjtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IocmVjOiBBWENsaWVudFJlY0N0b3IpIHtcbiAgICB0aGlzLl9sZWZ0ID0gcmVjLmxlZnQ7XG4gICAgdGhpcy5fdG9wID0gcmVjLnRvcDtcbiAgICB0aGlzLl93aWR0aCA9IHJlYy53aWR0aDtcbiAgICB0aGlzLl9oZWlnaHQgPSByZWMuaGVpZ2h0O1xuICAgIHRoaXMuX3JpZ2h0ID0gdGhpcy5fbGVmdCArIHRoaXMuX3dpZHRoO1xuICAgIHRoaXMuX2JvdHRvbSA9IHRoaXMuX3RvcCArIHRoaXMuX2hlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnNlY3QocmVjOiBBWENsaWVudFJlY0N0b3IpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMubGVmdCA8IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmXG4gICAgICB0aGlzLmxlZnQgKyB0aGlzLndpZHRoID4gcmVjLmxlZnQgJiZcbiAgICAgIHRoaXMudG9wIDwgcmVjLnRvcCArIHJlYy5oZWlnaHQgJiZcbiAgICAgIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgPiByZWMudG9wKTtcbiAgfVxuXG5cbn1cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XG4gIHN0YXRpYyBnZXRCb3VuZGluZ1JlY3RQb2ludChlbDogSFRNTEVsZW1lbnQsIHBsYWNlbWVudDogQVhQbGFjZW1lbnQpOiBBWFBvaW50IHtcbiAgICBjb25zdCByZWMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IGVsLm9mZnNldEhlaWdodDtcbiAgICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0LCByZWMudG9wKTtcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCk7XG4gICAgICBjYXNlICd0b3AtZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCk7XG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaXNJblJlY1BvaW50KHBvczogQVhJUG9pbnQsIHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBvcy54ID49IHJlYy5sZWZ0ICYmIHBvcy54IDw9IChyZWMubGVmdCArIHJlYy53aWR0aCkgJiYgcG9zLnkgPj0gcmVjLnRvcCAmJiAocG9zLnkgPD0gKHJlYy50b3AgKyByZWMuaGVpZ2h0KSk7XG4gIH1cblxuICAvLyBzdGF0aWMgaXNPdmVyTGFwKHJlYzE6IEFYQ2xpZW50UmVjQ3RvciwgcmVjMjogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XG4gIC8vICAgY29uc3QgcjE6IEFYQ2xpZW50UmVjID0gbmV3IEFYQ2xpZW50UmVjKHJlYzEpO1xuICAvLyAgIGNvbnN0IHIyOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMyKTtcblxuICAvLyAgIHJldHVybiA7XG4gIC8vIH1cblxuICBzdGF0aWMgaXNJbkVsZW1lbnRCb3VuZChwb3M6IEFYSVBvaW50LCBlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsQm91bmQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiBBWEh0bWxVdGlsLmlzSW5SZWNQb2ludChwb3MsIHtcbiAgICAgIGxlZnQ6IGVsQm91bmQubGVmdCxcbiAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxuICAgICAgdG9wOiBlbEJvdW5kLnRvcCxcbiAgICAgIGhlaWdodDogZWxCb3VuZC5oZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB7XG4gICAgbGV0IHdpblcgPSA2MzA7XG4gICAgbGV0IHdpbkggPSA0NjA7XG4gICAgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xuICAgICAgd2luVyA9IGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7XG4gICAgICB3aW5IID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7XG4gICAgfVxuICAgIGlmIChkb2N1bWVudC5jb21wYXRNb2RlID09PSAnQ1NTMUNvbXBhdCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgd2luVyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIHdpbkggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgIH1cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggJiYgd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICB3aW5XID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICB3aW5IID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4geyB3aWR0aDogd2luVywgaGVpZ2h0OiB3aW5IIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0T2Zmc2V0UmlnaHQoZWxlbTogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIGxldCBlbGVtZW50ID0gZWxlbTtcbiAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgbGV0IHJpZ2h0ID0gMDtcbiAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG4gICAgcmlnaHQgKz0gZWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIHJpZ2h0ID0gQVhIdG1sVXRpbC5nZXREaW1lbnNpb25zKCkud2lkdGggLSByaWdodDtcbiAgICByaWdodCAtPSB3aWR0aDtcbiAgICByZXR1cm4gcmlnaHQ7XG4gIH1cblxuICBzdGF0aWMgZ2V0VUlEKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdlbC0nICsgQVhNYXRoVXRpbC5yYW5kb21SYW5nZSgxMDAwMDAwMDAwLCA5OTk5OTk5OTk5KS50b1N0cmluZygpO1xuICB9XG5cblxuICBzdGF0aWMgZ2V0UmVsYXRlZFBvc2l0aW9uKHNvdXJjZTogSFRNTEVsZW1lbnQsIHBsYWNlbWVudDogQVhQbGFjZW1lbnQsIHRhcmdldDogSFRNTEVsZW1lbnQsIGFsaWdubWVudDogQVhQbGFjZW1lbnQpOiBBWElQb2ludCB7XG4gICAgY29uc3QgcmVzdWx0OiBBWElQb2ludCA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgY29uc3Qgc291cmNlUG9zOiBBWFBvaW50ID0gQVhIdG1sVXRpbC5nZXRCb3VuZGluZ1JlY3RQb2ludChzb3VyY2UsIHBsYWNlbWVudCk7XG5cblxuICAgIGxldCB0b3A6IG51bWJlciA9IDA7XG4gICAgbGV0IGxlZnQ6IG51bWJlciA9IDA7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wLW1pZGRsZSc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlci1lbmQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueSAtIHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueSAtIHRhcmdldC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyLXN0YXJ0JzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmVzdWx0LnkgPSB0b3A7XG4gICAgcmVzdWx0LnggPSBsZWZ0O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuXG4gIHN0YXRpYyBjb2xsaXNpb24oYTogSFRNTEVsZW1lbnQsIGI6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWMgPSBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGlmIChhYy5sZWZ0IDwgYmMubGVmdCArIGJjLndpZHRoICYmIGFjLmxlZnQgKyBhYy53aWR0aCA+IGJjLmxlZnQgJiZcbiAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\nimport * as i0 from \"@angular/core\";\nexport class AXHtmlModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, declarations: [AXHtmlToTextPipe], imports: [CommonModule], exports: [AXHtmlToTextPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXHtmlToTextPipe],\n imports: [CommonModule],\n exports: [AXHtmlToTextPipe],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9odG1sL2h0bWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVE5RCxNQUFNLE9BQU8sWUFBWTt1R0FBWixZQUFZO3dHQUFaLFlBQVksaUJBTFIsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7d0dBR2YsWUFBWSxZQUpiLFlBQVk7OzJGQUlYLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWEh0bWxUb1RleHRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9odG1sVG9UZXh0LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0bWxNb2R1bGUgeyB9XG4iXX0=","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXHtmlUtil } from '../html/html-util';\nimport * as i0 from \"@angular/core\";\nexport class AXOnDemandPreloadService {\n subject = new Subject();\n tmp;\n constructor() {\n this.tmp = AXHtmlUtil.getUID();\n }\n startPreload(routePath) {\n const slices = [];\n this.subject.next(routePath);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU0vQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ2hDLEdBQUcsQ0FBUztJQUVaO1FBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFHNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FiVSx3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJy4uL2h0bWwvaHRtbC11dGlsJztcblxuXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB7XG4gIHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHRtcDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcbiAgfVxuXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHNsaWNlczogc3RyaW5nW10gPSBbXTtcbiAgIFxuXG4gICAgdGhpcy5zdWJqZWN0Lm5leHQocm91dGVQYXRoKTtcbiAgfVxufVxuIl19","import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, Compiler } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"./on-demand-preload-strategy.service\";\nexport class AXRenderService {\n appRef;\n router;\n componentFactoryResolver;\n compiler;\n modulePreloadService;\n injector;\n constructor(appRef, router, componentFactoryResolver, compiler, modulePreloadService, injector) {\n this.appRef = appRef;\n this.router = router;\n this.componentFactoryResolver = componentFactoryResolver;\n this.compiler = compiler;\n this.modulePreloadService = modulePreloadService;\n this.injector = injector;\n }\n appendComponent(componentClass, options = {}, location) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\n const componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n Object.assign(componentRef.instance, options);\n //\n const domElem = componentRef.hostView.rootNodes[0];\n componentRef.onDestroy(() => {\n this.appRef.detachView(componentRef.hostView);\n });\n if (location) {\n location.appendChild(domElem);\n }\n else {\n document.body.appendChild(domElem);\n }\n setTimeout(() => {\n componentRef.changeDetectorRef.detectChanges();\n }, 0);\n return componentRef;\n }\n findLoadedComponentByRoute(path, timeoutTime = 10) {\n const delay = 200;\n const loop = timeoutTime * 1000 / delay;\n return new Promise((resolve, reject) => {\n let found = null;\n let preload = false;\n const theLoop = (i) => {\n setTimeout(async () => {\n found = await this._findLoadedComponentByRoute(path);\n if (--i && found == null) {\n if (!preload) {\n this.modulePreloadService.startPreload(path);\n preload = true;\n }\n theLoop(i);\n }\n else if (found) {\n resolve(found);\n }\n else {\n reject();\n }\n }, delay);\n };\n theLoop(loop);\n });\n }\n async _findLoadedComponentByRoute(search) {\n let found = null;\n const f = (children, parentPath) => {\n for (const p in children) {\n if (children.hasOwnProperty(p)) {\n const route = children[p];\n const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;\n if (pp == search && !route._loadedConfig && !route['_loadedRoutes'] && route.component) {\n found = route;\n return;\n }\n else if (route._loadedConfig || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route._loadedConfig.routes, pp);\n }\n }\n }\n };\n for (const p in this.router.config) {\n if (this.router.config.hasOwnProperty(p)) {\n const route = this.router.config[p];\n if (route.path === search && route.component) {\n found = route;\n }\n else if (route['_loadedConfig'] || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route['_loadedConfig'].routes, route.path);\n }\n if (found)\n break;\n }\n }\n return found;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, deps: [{ token: i0.ApplicationRef }, { token: i1.Router }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i2.AXOnDemandPreloadService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i1.Router }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i2.AXOnDemandPreloadService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yZW5kZXIvcmVuZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGNBQWMsRUFBRSx3QkFBd0IsRUFBZ0IsVUFBVSxFQUNsRSxRQUFRLEVBQXlCLFFBQVEsRUFDNUMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBS2hGLE1BQU0sT0FBTyxlQUFlO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlosWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLG9CQUE4QyxFQUM5QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5QixDQUFDO0lBSUQsZUFBZSxDQUNYLGNBQXVCLEVBQ3ZCLFVBQWUsRUFBRSxFQUNqQixRQUFrQjtRQUVsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5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WUFDZCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7dUdBakdRLGVBQWU7MkdBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLFxuICAgIEluamVjdG9yLCBFbWJlZGRlZFZpZXdSZWYsIFR5cGUsIENvbXBpbGVyLCBOZ01vZHVsZUZhY3Rvcnlcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB9IGZyb20gJy4vb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZSc7XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgbW9kdWxlUHJlbG9hZFNlcnZpY2U6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cblxuXG4gICAgYXBwZW5kQ29tcG9uZW50PFQ+KFxuICAgICAgICBjb21wb25lbnRDbGFzczogVHlwZTxUPixcbiAgICAgICAgb3B0aW9uczogYW55ID0ge30sXG4gICAgICAgIGxvY2F0aW9uPzogRWxlbWVudCk6IENvbXBvbmVudFJlZjxhbnk+IHtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xhc3MpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgb3B0aW9ucyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICBsb2NhdGlvbi5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICBmaW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShwYXRoOiBzdHJpbmcsIHRpbWVvdXRUaW1lOiBudW1iZXIgPSAxMCk6IFByb21pc2U8Um91dGU+IHtcbiAgICAgICAgY29uc3QgZGVsYXkgPSAyMDA7XG4gICAgICAgIGNvbnN0IGxvb3AgPSB0aW1lb3V0VGltZSAqIDEwMDAgLyBkZWxheTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGxldCBmb3VuZDogUm91dGUgPSBudWxsO1xuICAgICAgICAgICAgbGV0IHByZWxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHRoZUxvb3AgPSAoaSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IGF3YWl0IHRoaXMuX2ZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoLS1pICYmIGZvdW5kID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJlbG9hZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kdWxlUHJlbG9hZFNlcnZpY2Uuc3RhcnRQcmVsb2FkKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlTG9vcChpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGRlbGF5KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGVMb29wKGxvb3ApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShzZWFyY2gpIHtcblxuICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcbiAgICAgICAgY29uc3QgZiA9IChjaGlsZHJlbiwgcGFyZW50UGF0aCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwIGluIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gY2hpbGRyZW5bcF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBwID0gKHJvdXRlLnBhdGggIT0gJycgJiYgcm91dGUucGF0aCAhPSBudWxsKSA/IHBhcmVudFBhdGggKyAnLycgKyByb3V0ZS5wYXRoIDogcGFyZW50UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09IHNlYXJjaCAmJiAhcm91dGUuX2xvYWRlZENvbmZpZyAmJiAhcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSAmJiByb3V0ZS5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gcm91dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm91dGUuX2xvYWRlZENvbmZpZyB8fCByb3V0ZVsnX2xvYWRlZFJvdXRlcyddIHx8IHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmKHJvdXRlLmNoaWxkcmVuIHx8IHJvdXRlWydfbG9hZGVkUm91dGVzJ10gfHwgcm91dGUuX2xvYWRlZENvbmZpZy5yb3V0ZXMsIHBwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gdGhpcy5yb3V0ZXIuY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIuY29uZmlnLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLnJvdXRlci5jb25maWdbcF07XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlLnBhdGggPT09IHNlYXJjaCAmJiByb3V0ZS5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSByb3V0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocm91dGVbJ19sb2FkZWRDb25maWcnXSB8fCByb3V0ZVsnX2xvYWRlZFJvdXRlcyddIHx8IHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGYocm91dGUuY2hpbGRyZW4gfHwgcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSB8fCByb3V0ZVsnX2xvYWRlZENvbmZpZyddLnJvdXRlcywgcm91dGUucGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXRenderService } from './render.service';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\nimport * as i0 from \"@angular/core\";\n// @dynamic\nexport function getOnDemandPreloadServiceFactory() {\n return new AXOnDemandPreloadService();\n}\nexport class AXRenderingModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, providers: [\n {\n provide: AXOnDemandPreloadService,\n useFactory: getOnDemandPreloadServiceFactory\n },\n AXRenderService\n ] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXOnDemandPreloadService,\n useFactory: getOnDemandPreloadServiceFactory\n },\n AXRenderService\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9yZW5kZXJpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUdoRixXQUFXO0FBQ1gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBY0QsTUFBTSxPQUFPLGlCQUFpQjt1R0FBakIsaUJBQWlCO3dHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixhQVJmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHdCQUF3QjtnQkFDakMsVUFBVSxFQUFFLGdDQUFnQzthQUMvQztZQUNELGVBQWU7U0FDbEI7OzJGQUVRLGlCQUFpQjtrQkFaN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7eUJBQy9DO3dCQUNELGVBQWU7cUJBQ2xCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJy4vcmVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcblxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9uRGVtYW5kUHJlbG9hZFNlcnZpY2VGYWN0b3J5KCkge1xuICAgIHJldHVybiBuZXcgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlKCk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZ2V0T25EZW1hbmRQcmVsb2FkU2VydmljZUZhY3RvcnlcbiAgICAgICAgfSxcbiAgICAgICAgQVhSZW5kZXJTZXJ2aWNlXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSZW5kZXJpbmdNb2R1bGUge1xuXG59XG4iXX0=","import { Directive, HostListener, Input } from '@angular/core';\nimport { ElementRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXHorizontalScrollDirective {\n el;\n constructor(el) {\n this.el = el;\n }\n scrollValue = 40;\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHorizontalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXHorizontalScrollDirective, isStandalone: false, selector: \"[horizontalScroll]\", inputs: { scrollValue: [\"horizontalScroll\", \"scrollValue\"] }, host: { listeners: { \"wheel\": \"onMouseWheel($event)\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHorizontalScrollDirective, decorators: [{\n type: Directive,\n args: [{\n // tslint:disable-next-line: directive-selector\n selector: '[horizontalScroll]',\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { scrollValue: [{\n type: Input,\n args: ['horizontalScroll']\n }], onMouseWheel: [{\n type: HostListener,\n args: ['wheel', ['$event']]\n }] } });\nexport class AXVerticalScrollDirective {\n el;\n constructor(el) {\n this.el = el;\n }\n scrollValue = 40;\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXVerticalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXVerticalScrollDirective, isStandalone: false, selector: \"[verticalScroll]\", inputs: { scrollValue: [\"verticalScroll\", \"scrollValue\"] }, host: { listeners: { \"wheel\": \"onMouseWheel($event)\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXVerticalScrollDirective, decorators: [{\n type: Directive,\n args: [{\n // tslint:disable-next-line: directive-selector\n selector: '[verticalScroll]',\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { scrollValue: [{\n type: Input,\n args: ['verticalScroll']\n }], onMouseWheel: [{\n type: HostListener,\n args: ['wheel', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sMkJBQTJCO0lBQ2xCO0lBQXBCLFlBQW9CLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUksQ0FBQztJQUdwRCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksQ0FBQyxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9ELENBQUM7dUdBVlUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1AsK0NBQStDO29CQUMvQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsS0FBSztpQkFDcEI7K0VBS0MsV0FBVztzQkFEVixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJekIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFXbkMsTUFBTSxPQUFPLHlCQUF5QjtJQUNoQjtJQUFwQixZQUFvQixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtJQUFJLENBQUM7SUFHcEQsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUdqQixZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO3VHQVZVLHlCQUF5QjsyRkFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNQLCtDQUErQztvQkFDL0MsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOytFQUtDLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSXZCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tob3Jpem9udGFsU2Nyb2xsXScsXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbkBEaXJlY3RpdmUoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdmVydGljYWxTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgndmVydGljYWxTY3JvbGwnKVxuICBzY3JvbGxWYWx1ZSA9IDQwO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZVdoZWVsKGUpIHtcbiAgICBjb25zdCBkZWx0YSA9IE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsKSk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXScrollModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective], imports: [CommonModule], exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n imports: [CommonModule],\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVE1RixNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBTFYsMkJBQTJCLEVBQUUseUJBQXlCLGFBQzNELFlBQVksYUFDWiwyQkFBMkIsRUFBRSx5QkFBeUI7d0dBR3JELGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUNqRSxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2Nyb2xsTW9kdWxlIHsgfVxuIl19","import { Pipe, Injectable } from '@angular/core';\nimport { AXConfig } from '../../services/config';\nimport * as i0 from \"@angular/core\";\n// export class AXSeparatorPipe2 implements PipeTransform {\n// transform(value: any) {\n// if (value) {\n// return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n// } else {\n// return '0';\n// }\n// }\n// }\nexport class AXSeparatorPipe {\n transform(value, currency = '', decimal = 0, locale = AXConfig.get('layout.rtl') ? 'fa' : 'en') {\n return (new Intl.NumberFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: decimal\n }).format(Number(value)) + (currency != '' ? ' ' + currency : ''));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, isStandalone: false, name: \"separator\" });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'separator',\n standalone: false\n }]\n }, {\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9zZXBhcmF0b3Ivc2VwYXJhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFVakQsMkRBQTJEO0FBQzNELDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIsdUVBQXVFO0FBQ3ZFLGVBQWU7QUFDZixvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJO0FBQ0osTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLEtBQXNCLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFVBQWtCLENBQUMsRUFBRSxTQUFpQixRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDckksT0FBTyxDQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxPQUFPO1NBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7dUdBUlUsZUFBZTtxR0FBZixlQUFlOzJHQUFmLGVBQWUsY0FaZCxNQUFNOzsyRkFZUCxlQUFlO2tCQWpCM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsV0FBVztvQkFDakIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOztrQkFDQSxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzZXBhcmF0b3InLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8vIGV4cG9ydCBjbGFzcyBBWFNlcGFyYXRvclBpcGUyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4vLyAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KSB7XG4vLyAgICAgaWYgKHZhbHVlKSB7XG4vLyAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICByZXR1cm4gJzAnO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZywgY3VycmVuY3k6IHN0cmluZyA9ICcnLCBkZWNpbWFsOiBudW1iZXIgPSAwLCBsb2NhbGU6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpID8gJ2ZhJyA6ICdlbicpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsXG4gICAgICB9KS5mb3JtYXQoTnVtYmVyKHZhbHVlKSkgKyAoY3VycmVuY3kgIT0gJycgPyAnICcgKyBjdXJyZW5jeSA6ICcnKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXSeparatorPipe } from './separator.pipe';\nimport * as i0 from \"@angular/core\";\nexport class AXSeparatorModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, declarations: [AXSeparatorPipe], imports: [CommonModule], exports: [AXSeparatorPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXSeparatorPipe],\n imports: [CommonModule],\n exports: [AXSeparatorPipe],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3NlcGFyYXRvci9zZXBhcmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFRbkQsTUFBTSxPQUFPLGlCQUFpQjt1R0FBakIsaUJBQWlCO3dHQUFqQixpQkFBaUIsaUJBTGIsZUFBZSxhQUNwQixZQUFZLGFBQ1osZUFBZTt3R0FHZCxpQkFBaUIsWUFKbEIsWUFBWTs7MkZBSVgsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWFNlcGFyYXRvclBpcGUgfSBmcm9tICcuL3NlcGFyYXRvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhTZXBhcmF0b3JQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFNlcGFyYXRvclBpcGVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yTW9kdWxlIHsgfVxuIl19","import { NgModule } from '@angular/core';\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\nimport { AXEventService } from './services/event.service';\nimport { AXStorageService } from './services/storage.service';\nimport { AXScrollModule } from './utils/scroll/scroll.module';\nimport { AXTranslatorModule } from './translator/translator.module';\nimport * as i0 from \"@angular/core\";\nconst PIPES = [AXDateTimePipe];\nconst MODULES = [AXScrollModule, AXTranslatorModule];\nconst SERVICES = [AXEventService,\n AXStorageService\n];\nexport class AXCoreModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, declarations: [AXDateTimePipe], imports: [AXScrollModule, AXTranslatorModule], exports: [AXDateTimePipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, providers: [...SERVICES], imports: [MODULES] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [...PIPES],\n imports: [...MODULES],\n exports: [...PIPES],\n providers: [...SERVICES]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRSxNQUFNLEtBQUssR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDckQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxjQUFjO0lBQzlCLGdCQUFnQjtDQUNqQixDQUFDO0FBU0YsTUFBTSxPQUFPLFlBQVk7dUdBQVosWUFBWTt3R0FBWixZQUFZLGlCQWJWLGNBQWMsYUFDWixjQUFjLEVBQUUsa0JBQWtCLGFBRHBDLGNBQWM7d0dBYWhCLFlBQVksYUFGWixDQUFDLEdBQUcsUUFBUSxDQUFDLFlBRlgsT0FBTzs7MkZBSVQsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEYXRlVGltZVBpcGUgfSBmcm9tICcuL3BpcGUvZGF0ZXRpbWUucGlwZSc7XG5pbXBvcnQgeyBBWEV2ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBWFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhTY3JvbGxNb2R1bGUgfSBmcm9tICcuL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvck1vZHVsZSB9IGZyb20gJy4vdHJhbnNsYXRvci90cmFuc2xhdG9yLm1vZHVsZSc7XG5cbmNvbnN0IFBJUEVTID0gW0FYRGF0ZVRpbWVQaXBlXTtcbmNvbnN0IE1PRFVMRVMgPSBbQVhTY3JvbGxNb2R1bGUsIEFYVHJhbnNsYXRvck1vZHVsZV07XG5jb25zdCBTRVJWSUNFUyA9IFtBWEV2ZW50U2VydmljZSxcbiAgQVhTdG9yYWdlU2VydmljZVxuXTtcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5QSVBFU10sXG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcbiAgZXhwb3J0czogWy4uLlBJUEVTXSxcbiAgcHJvdmlkZXJzOiBbLi4uU0VSVklDRVNdXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29yZU1vZHVsZSB7IH1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2Fjb3JleC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["en","fa","i1","i2.AXOnDemandPreloadService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-core.mjs","sources":["../tmp-esm2022/lib/classes/color.class.js","../tmp-esm2022/lib/utils/object/object-util.js","../tmp-esm2022/lib/services/config.js","../tmp-esm2022/lib/classes/datetime.class.js","../tmp-esm2022/lib/classes/menu.class.js","../tmp-esm2022/lib/classes/promise.class.js","../tmp-esm2022/lib/classes/select.class.js","../tmp-esm2022/lib/classes/base-page.class.js","../tmp-esm2022/lib/error/error.service.js","../tmp-esm2022/lib/error/error.module.js","../tmp-esm2022/lib/http/http-events.interceptor.js","../tmp-esm2022/lib/http/http-result.class.js","../tmp-esm2022/lib/http/http.service.js","../tmp-esm2022/lib/http/http.module.js","../tmp-esm2022/lib/platform/platform.service.js","../tmp-esm2022/lib/pipe/datetime.pipe.js","../tmp-esm2022/lib/pipe/htmlToText.pipe.js","../tmp-esm2022/lib/services/event.service.js","../tmp-esm2022/lib/services/navigator.service.js","../tmp-esm2022/lib/services/storage.service.js","../tmp-esm2022/lib/translator/translator.js","../tmp-esm2022/lib/translator/translator.service.js","../tmp-esm2022/lib/translator/translator.pipe.js","../tmp-esm2022/lib/translator/translator.module.js","../tmp-esm2022/lib/utils/array/array-util.js","../tmp-esm2022/lib/utils/math/math-util.js","../tmp-esm2022/lib/utils/html/html-util.js","../tmp-esm2022/lib/utils/html/html.module.js","../tmp-esm2022/lib/utils/render/on-demand-preload-strategy.service.js","../tmp-esm2022/lib/utils/render/render.service.js","../tmp-esm2022/lib/utils/render/rendering.module.js","../tmp-esm2022/lib/utils/scroll/scroll.directive.js","../tmp-esm2022/lib/utils/scroll/scroll.module.js","../tmp-esm2022/lib/utils/separator/separator.pipe.js","../tmp-esm2022/lib/utils/separator/separator.module.js","../tmp-esm2022/lib/core.module.js","../tmp-esm2022/acorex-core.js"],"sourcesContent":["export class AXColorUtil {\n static hex2Rgb(hexColor) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n static rgb2Hex(r, g, b, a = 255) {\n let alpha;\n let hex = (r | 1 << 8).toString(16).slice(1) +\n (g | 1 << 8).toString(16).slice(1) +\n (b | 1 << 8).toString(16).slice(1);\n if (a !== 255) {\n alpha = a;\n }\n else {\n alpha = 1;\n }\n alpha = Math.round(alpha * 100) / 100;\n alpha = Math.round(alpha * 255);\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\n }\n ;\n static illuminance(hexColor) {\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\n if (!rgbColor) {\n return -1;\n }\n const r = rgbColor.r;\n const g = rgbColor.g;\n const b = rgbColor.b;\n const a = [r, g, b].map(v => {\n v /= 255;\n return (v <= 0.03928) ?\n v / 12.92 :\n Math.pow(((v + 0.055) / 1.055), 2.4);\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n }\n static contrastToWhite(hexColor) {\n const whiteIlluminance = 1;\n const illuminance = AXColorUtil.illuminance(hexColor);\n return whiteIlluminance / illuminance;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2NvbG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxXQUFXO0lBR3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBZ0I7UUFDM0IsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQzdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQVksR0FBRztRQUMzRCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDWixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsQ0FBQztRQUVELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDdEMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RSxPQUFPLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFBQSxDQUFDO0lBRUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixDQUFDLElBQUksR0FBRyxDQUFDO1lBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFnQjtRQUNuQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0lBQzFDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhDb2xvciB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDb2xvclV0aWwge1xuXG5cbiAgICBzdGF0aWMgaGV4MlJnYihoZXhDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXhDb2xvcik7XG4gICAgICAgIHJldHVybiByZXN1bHQgPyB7XG4gICAgICAgICAgICByOiBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNilcbiAgICAgICAgfSA6IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIHJnYjJIZXgocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYTogbnVtYmVyID0gMjU1KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGFscGhhO1xuICAgICAgICBsZXQgaGV4ID0gKHIgfCAxIDw8IDgpLnRvU3RyaW5nKDE2KS5zbGljZSgxKSArXG4gICAgICAgICAgICAoZyB8IDEgPDwgOCkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAgIChiIHwgMSA8PCA4KS50b1N0cmluZygxNikuc2xpY2UoMSk7XG4gICAgICAgIGlmIChhICE9PSAyNTUpIHtcbiAgICAgICAgICAgIGFscGhhID0gYTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFscGhhID0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDEwMCkgLyAxMDA7XG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDI1NSk7XG4gICAgICAgIGNvbnN0IGhleEFscGhhID0gKGFscGhhICsgMHgxMDAwMCkudG9TdHJpbmcoMTYpLnN1YnN0cigtMikudG9VcHBlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuICcjJyArIGhleCArIChhbHBoYSA9PSAyNTUgPyAnJyA6IGhleEFscGhhKTtcbiAgICB9O1xuXG4gICAgc3RhdGljIGlsbHVtaW5hbmNlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmdiQ29sb3IgPSBBWENvbG9yVXRpbC5oZXgyUmdiKGhleENvbG9yKTtcbiAgICAgICAgaWYgKCFyZ2JDb2xvcikge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHIgPSByZ2JDb2xvci5yO1xuICAgICAgICBjb25zdCBnID0gcmdiQ29sb3IuZztcbiAgICAgICAgY29uc3QgYiA9IHJnYkNvbG9yLmI7XG4gICAgICAgIGNvbnN0IGEgPSBbciwgZywgYl0ubWFwKHYgPT4ge1xuICAgICAgICAgICAgdiAvPSAyNTU7XG4gICAgICAgICAgICByZXR1cm4gKHYgPD0gMC4wMzkyOCkgP1xuICAgICAgICAgICAgICAgIHYgLyAxMi45MiA6XG4gICAgICAgICAgICAgICAgTWF0aC5wb3coKCh2ICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFbMF0gKiAwLjIxMjYgKyBhWzFdICogMC43MTUyICsgYVsyXSAqIDAuMDcyMjtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29udHJhc3RUb1doaXRlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgd2hpdGVJbGx1bWluYW5jZSA9IDE7XG4gICAgICAgIGNvbnN0IGlsbHVtaW5hbmNlID0gQVhDb2xvclV0aWwuaWxsdW1pbmFuY2UoaGV4Q29sb3IpO1xuICAgICAgICByZXR1cm4gd2hpdGVJbGx1bWluYW5jZSAvIGlsbHVtaW5hbmNlO1xuICAgIH1cblxufVxuIl19","// @dynamic\nexport class AXObjectUtil {\n static deepJSONClone(obj) {\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\n }\n static deepCopy(obj) {\n let copy;\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' !== typeof obj) {\n return obj;\n }\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\n }\n return copy;\n }\n // Handle Object\n if (obj instanceof Object) {\n copy = {};\n for (const attr in obj) {\n if (obj.hasOwnProperty(attr)) {\n copy[attr] = AXObjectUtil.deepCopy(obj[attr]);\n }\n }\n return copy;\n }\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\n }\n}\nexport function AXFetchProp(obj, prop) {\n if (typeof obj === 'undefined') {\n return false;\n }\n const index = prop.indexOf('.');\n if (index > -1) {\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\n }\n return obj[prop];\n}\nexport function getPropByPath(obj, path, defaultVal) {\n path = path\n .replace(/\\[/g, '.')\n .replace(/]/g, '')\n .split('.');\n path.forEach((level) => {\n if (obj) {\n obj = obj[level];\n }\n });\n if (obj === undefined) {\n return defaultVal;\n }\n return obj;\n}\nexport function setPropByPath(obj, path, value) {\n if (Object(obj) !== obj) {\n return obj;\n } // When obj is not an object\n // If not yet an array, get the keys from the string-path\n if (!Array.isArray(path)) {\n path = path.toString().match(/[^.[\\]]+/g) || [];\n }\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\n // Yes: then follow that path\n ? a[c]\n // No: create the key. Is the next key a potential array-index?\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\n ? [] // Yes: assign a new array object\n : {}, // No: assign a new plain object\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\n return obj[path[0]]; // Return the top-level object to allow chaining\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9vYmplY3Qvb2JqZWN0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVztBQUNYLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBUTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxJQUFJLENBQUM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFFBQVEsS0FBSyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQUMsT0FBTyxHQUFHLENBQUM7UUFBQyxDQUFDO1FBQzNELGNBQWM7UUFDZCxJQUFJLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUN0QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxlQUFlO1FBQ2YsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFD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Q0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUMsaUNBQWlDO1lBQ3RDLENBQUMsQ0FBQyxFQUFFLEVBQUUsZ0NBQWdDO0lBQzlDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO0lBQ3BGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYT2JqZWN0VXRpbCB7XG4gICAgc3RhdGljIGRlZXBKU09OQ2xvbmUob2JqOiBhbnkpOiBhbnkge1xuICAgICAgICByZXR1cm4gb2JqID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKSA6IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIGRlZXBDb3B5KG9iaikge1xuICAgICAgICBsZXQgY29weTtcbiAgICAgICAgLy8gSGFuZGxlIHRoZSAzIHNpbXBsZSB0eXBlcywgYW5kIG51bGwgb3IgdW5kZWZpbmVkXG4gICAgICAgIGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPT0gdHlwZW9mIG9iaikgeyByZXR1cm4gb2JqOyB9XG4gICAgICAgIC8vIEhhbmRsZSBEYXRlXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICBjb3B5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIGNvcHkuc2V0VGltZShvYmouZ2V0VGltZSgpKTtcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBBcnJheVxuICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGNvcHkgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmoubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb3B5W2ldID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KG9ialtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY29weTtcbiAgICAgICAgfVxuICAgICAgICAvLyBIYW5kbGUgT2JqZWN0XG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIGNvcHkgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgYXR0ciBpbiBvYmopIHtcbiAgICAgICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGF0dHIpKSB7IGNvcHlbYXR0cl0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkob2JqW2F0dHJdKTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gY29weSBvYmohIEl0cyB0eXBlIGlzblxcJ3Qgc3VwcG9ydGVkLicpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFYRmV0Y2hQcm9wKG9iaiwgcHJvcDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgaW5kZXggPSBwcm9wLmluZGV4T2YoJy4nKTtcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiBBWEZldGNoUHJvcChvYmpbcHJvcC5zdWJzdHJpbmcoMCwgaW5kZXgpXSwgcHJvcC5zdWJzdHIoaW5kZXggKyAxKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9ialtwcm9wXTtcbn1cblxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb3BCeVBhdGgob2JqLCBwYXRoLCBkZWZhdWx0VmFsPykge1xuICAgIHBhdGggPSBwYXRoXG4gICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxuICAgICAgICAucmVwbGFjZSgvXS9nLCAnJylcbiAgICAgICAgLnNwbGl0KCcuJyk7XG5cbiAgICBwYXRoLmZvckVhY2goKGxldmVsKSA9PiB7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIG9iaiA9IG9ialtsZXZlbF07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdFZhbDtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFByb3BCeVBhdGgob2JqLCBwYXRoLCB2YWx1ZSkge1xuICAgIGlmIChPYmplY3Qob2JqKSAhPT0gb2JqKSB7IHJldHVybiBvYmo7IH0gLy8gV2hlbiBvYmogaXMgbm90IGFuIG9iamVjdFxuICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXRoKSkgeyBwYXRoID0gcGF0aC50b1N0cmluZygpLm1hdGNoKC9bXi5bXFxdXSsvZykgfHwgW107IH1cbiAgICBwYXRoLnNsaWNlKDAsIC0xKS5yZWR1Y2UoKGEsIGMsIGkpID0+IC8vIEl0ZXJhdGUgYWxsIG9mIHRoZW0gZXhjZXB0IHRoZSBsYXN0IG9uZVxuICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xuICAgICAgICAgICAgLy8gWWVzOiB0aGVuIGZvbGxvdyB0aGF0IHBhdGhcbiAgICAgICAgICAgID8gYVtjXVxuICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XG4gICAgICAgICAgICA6IGFbY10gPSBNYXRoLmFicyhwYXRoW2kgKyAxXSkgPj4gMCA9PT0gK3BhdGhbaSArIDFdXG4gICAgICAgICAgICAgICAgPyBbXSAvLyBZZXM6IGFzc2lnbiBhIG5ldyBhcnJheSBvYmplY3RcbiAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxuICAgICAgICBvYmopW3BhdGhbcGF0aC5sZW5ndGggLSAxXV0gPSB2YWx1ZTsgLy8gRmluYWxseSBhc3NpZ24gdGhlIHZhbHVlIHRvIHRoZSBsYXN0IGtleVxuICAgIHJldHVybiBvYmpbcGF0aFswXV07IC8vIFJldHVybiB0aGUgdG9wLWxldmVsIG9iamVjdCB0byBhbGxvdyBjaGFpbmluZ1xufVxuXG5cbiJdfQ==","import { Subject } from 'rxjs';\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\n// @dynamic\nexport class AXConfig {\n static dataModel = {};\n static dataChangeSubject = new Subject();\n static get onChange() {\n return AXConfig.dataChangeSubject.asObservable();\n }\n static set(arg1, arg2) {\n if (arg1 && typeof arg1 == 'string') {\n setPropByPath(AXConfig.dataModel, arg1, arg2);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (arg1 && typeof arg1 == 'object') {\n Object.assign(AXConfig.dataModel, arg1);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (!arg1 && !arg2) {\n return AXConfig.dataChangeSubject.asObservable();\n }\n }\n static get(path) {\n return getPropByPath(AXConfig.dataModel, path);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRSxXQUFXO0FBQ1gsTUFBTSxPQUFPLFFBQVE7SUFDVCxNQUFNLENBQUMsU0FBUyxHQUFRLEVBQUUsQ0FBQztJQUMzQixNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUd0RCxNQUFNLEtBQUssUUFBUTtRQUNmLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFJRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVUsRUFBRSxJQUFVO1FBRTdCLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN4QyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUNuQixPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRQcm9wQnlQYXRoLCBzZXRQcm9wQnlQYXRoIH0gZnJvbSAnLi4vdXRpbHMvb2JqZWN0L29iamVjdC11dGlsJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWENvbmZpZyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF0YU1vZGVsOiBhbnkgPSB7fTtcbiAgICBwcml2YXRlIHN0YXRpYyBkYXRhQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuXG4gICAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNldChjb25maWc6IGFueSk6IGFueTtcbiAgICBzdGF0aWMgc2V0KHBhdGg6IHN0cmluZywgdmFsdWU/OiBhbnkpOiB2b2lkO1xuICAgIHN0YXRpYyBzZXQoYXJnMT86IGFueSwgYXJnMj86IGFueSkge1xuXG4gICAgICAgIGlmIChhcmcxICYmIHR5cGVvZiBhcmcxID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBzZXRQcm9wQnlQYXRoKEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSwgYXJnMik7XG4gICAgICAgICAgICBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5uZXh0KEFYQ29uZmlnLmRhdGFNb2RlbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFyZzEgJiYgdHlwZW9mIGFyZzEgPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oQVhDb25maWcuZGF0YU1vZGVsLCBhcmcxKTtcbiAgICAgICAgICAgIEFYQ29uZmlnLmRhdGFDaGFuZ2VTdWJqZWN0Lm5leHQoQVhDb25maWcuZGF0YU1vZGVsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFyZzEgJiYgIWFyZzIpIHtcbiAgICAgICAgICAgIHJldHVybiBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXQocGF0aDogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGdldFByb3BCeVBhdGgoQVhDb25maWcuZGF0YU1vZGVsLCBwYXRoKTtcbiAgICB9XG59Il19","import moment from 'jalali-moment';\nimport { AXConfig } from '../services/config';\nexport class AXDateTime {\n type;\n static convert(value, type = AXConfig.get('dateTime.type') || 'gregorian') {\n let date;\n if (typeof value === 'string' || value instanceof String) {\n date = new AXDateTime(value, type);\n }\n else if (value instanceof Date) {\n date = new AXDateTime(value, type);\n }\n else if (value instanceof AXDateTime) {\n date = value;\n }\n return date;\n }\n _date;\n get date() {\n return this._date;\n }\n resolveUnit(unit) {\n return this.type === 'jalali' ? 'j' + unit : unit;\n }\n _moment;\n // private get _moment(): moment_.Moment {\n // const m = moment(this.date);\n // if (this.type === 'jalali') {\n // m.locale('fa');\n // }\n // return m;\n // }\n constructor(value = new Date(), type = AXConfig.get('dateTime.type') || 'gregorian') {\n this.type = type;\n if (value instanceof Date) {\n this._date = value;\n }\n else {\n this._date = new Date(value);\n }\n this._moment = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n }\n clone() {\n return new AXDateTime(this.date, this.type);\n }\n get dayInMonth() {\n return this._moment.date();\n }\n get dayOfYear() {\n return this._moment.dayOfYear();\n }\n get dayInWeek() {\n return this._moment.day();\n }\n get hour() {\n return this._moment.hour();\n }\n get minute() {\n return this._moment.minute();\n }\n get second() {\n return this._moment.second();\n }\n get year() {\n return this._moment.year();\n }\n get monthOfYear() {\n return this._moment.month();\n }\n get month() {\n return new AXCalendarMonth(this);\n }\n get firstDayOfWeek() {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(a.startOf('w').toDate(), this.type);\n }\n get endDayOfWeek() {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\n }\n convertStringToJalali(date, format) {\n return moment(date).locale('fa').format('YYYY/M/D');\n }\n convertStringToGregorian(date, format) {\n return new Date(moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD'));\n }\n add(unit = 'day', amount) {\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\n }\n addDay(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\n }\n addMonth(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\n }\n addHour(amount) {\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\n }\n set(unit = 'day', value) {\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\n }\n duration(end, unit = 'days') {\n const duration = moment.duration(this._moment.diff(end._moment));\n return Math.round(duration.as(unit));\n }\n startOf(unit = 'day') {\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n endOf(unit = 'day') {\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n format(format = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')) {\n if (format === 'P') {\n return this._moment.fromNow();\n }\n return this._moment.format(format);\n }\n toString() {\n return this.format();\n }\n equal(value, unit = 'day') {\n if (!value) {\n return false;\n }\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\n }\n convertToJalaliDate(value) {\n const options = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\n const item = {};\n item.year = jDate.slice(0, 4);\n item.month = jDate.slice(5, 7);\n item.day = jDate.slice(8, 10);\n item.hour = jDate.slice(13, 15);\n item.minutes = jDate.slice(16, 18);\n item.seconds = jDate.slice(19, 21);\n return item;\n }\n toJalaliString(value) {\n const date = this.convertToJalaliDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n convertToGregorianDate(value) {\n // TODO: check this fucking type\n const options = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const date = new Date(value).toLocaleString('en-us', options);\n const item = {};\n item.year = date.slice(6, 10);\n item.month = date.slice(0, 2);\n item.day = date.slice(3, 5);\n item.hour = date.slice(12, 14);\n item.minutes = date.slice(15, 17);\n item.seconds = date.slice(18, 20);\n return item;\n }\n toGregorianString(value) {\n const date = this.convertToGregorianDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n compaireNew(value, unit = 'YMD', type = 'jalali') {\n const range = [0, 0];\n let str1;\n let str2;\n if (type === 'jalali') {\n str1 = this.toJalaliString(this.date);\n str2 = this.toJalaliString(value.date ? value.date : value);\n }\n else {\n str1 = this.toGregorianString(this.date);\n str2 = this.toGregorianString(value.date ? value.date : value);\n }\n switch (unit) {\n case 'YMDhms':\n range[0] = 0;\n range[1] = 19;\n break;\n case 'YMDhm':\n range[0] = 0;\n range[1] = 16;\n break;\n case 'YMDh':\n range[0] = 0;\n range[1] = 13;\n break;\n case 'YMD':\n range[0] = 0;\n range[1] = 10;\n break;\n case 'YM':\n range[0] = 0;\n range[1] = 7;\n break;\n case 'h':\n range[0] = 11;\n range[1] = 13;\n break;\n case 'm':\n range[0] = 14;\n range[1] = 16;\n break;\n case 's':\n range[0] = 17;\n range[1] = 19;\n break;\n case 'D':\n range[0] = 8;\n range[1] = 10;\n break;\n case 'M':\n range[0] = 5;\n range[1] = 7;\n break;\n case 'Y':\n range[0] = 0;\n range[1] = 4;\n break;\n }\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\n return 0;\n }\n else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\n return 1;\n }\n else {\n return -1;\n }\n }\n compaire(value, unit = 'day') {\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\n return 0;\n }\n else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\n return 1;\n }\n else {\n return -1;\n }\n }\n toISOString() {\n return this._date.toISOString();\n }\n}\nexport class AXCalendarMonth {\n _moment;\n _range;\n get range() {\n return this._range;\n }\n set range(v) {\n this._range = v;\n }\n constructor(date) {\n this._moment = moment(date.date);\n this.index = date.date.getMonth();\n this.name = this._moment.format('MMMM');\n this.range = new AXDateTimeRange(new AXDateTime(this._moment.startOf('month').toDate(), date.type), new AXDateTime(this._moment.endOf('month').toDate(), date.type));\n }\n index;\n name;\n}\nexport class AXDateTimeRange {\n startTime;\n endTime;\n constructor(startTime, endTime) {\n this.startTime = startTime;\n this.endTime = endTime;\n }\n duration(unit = 'days') {\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\n return duration.as(unit);\n }\n enumurate(unit = 'day', type = AXConfig.get('dateTime.type') || 'jalali') {\n const result = [];\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\n result.push(this.startTime.add(unit, index));\n }\n return result;\n }\n includes(value, unit = 'day', type = 'jalali') {\n return (value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0);\n }\n getViewCompaire(view) {\n switch (view) {\n case 'day':\n return 'YMD';\n case 'month':\n return 'YM';\n case 'year':\n return 'Y';\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2RhdGV0aW1lLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXOUMsTUFBTSxPQUFPLFVBQVU7SUFnQ2lDO0lBL0J0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQVUsRUFBRSxPQUF1QixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVc7UUFDNUYsSUFBSSxJQUFnQixDQUFDO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUUsQ0FBQztZQUN6RCxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztZQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBTztJQUNwQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFjO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sT0FBTyxDQUFn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QU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLEtBQUs7Z0JBQ1IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLElBQUk7Z0JBQ1AsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLE1BQU07WUFFUixLQUFLLEdBQUc7Z0JBQ04sS0FBSyxDQUFDLENB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Q0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFJO1FBQ2xCLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxLQUFLLENBQUM7WUFDZixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdqYWxhbGktbW9tZW50JztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnJztcbi8vIGNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmV4cG9ydCB0eXBlIFRpbWVVbml0ID0gJ3NlY29uZCcgfCAnbWludXRlJyB8ICdtaW51dGVzJyB8ICdob3VyJyB8ICdob3VycycgfCAnZGF5JyB8ICdkYXlzJyB8ICdtb250aCcgfCAneWVhcicgfCAnd2Vlayc7XG5cbmV4cG9ydCB0eXBlIFRpbWVEdXJhdGlvbiA9ICdzZWNvbmRzJyB8ICdtaW51dGVzJyB8ICdob3VycycgfCAnZGF5cycgfCAnd2Vla3MnIHwgJ21vbnRoJyB8ICd5ZWFycyc7XG5cbmV4cG9ydCB0eXBlIFRpbWVTdGVwID0gJ1knIHwgJ00nIHwgJ0QnIHwgJ1lNJyB8ICdZTUQnIHwgJ1lNRGgnIHwgJ1lNRGhtJyB8ICdZTURobXMnIHwgJ2gnIHwgJ20nIHwgJ3MnO1xuXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyVHlwZSA9ICdqYWxhbGknIHwgJ2dyZWdvcmlhbic7XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lIHtcbiAgc3RhdGljIGNvbnZlcnQodmFsdWU6IGFueSwgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJyk6IEFYRGF0ZVRpbWUge1xuICAgIGxldCBkYXRlOiBBWERhdGVUaW1lO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgc3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlIGFzIERhdGUsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XG4gICAgICBkYXRlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZTogRGF0ZTtcbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGU7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVbml0KHVuaXQ6IFRpbWVVbml0KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnamFsYWxpJyA/ICdqJyArIHVuaXQgOiB1bml0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIC8vIHByaXZhdGUgZ2V0IF9tb21lbnQoKTogbW9tZW50Xy5Nb21lbnQge1xuICAvLyAgICAgY29uc3QgbSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAvLyAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgLy8gICAgICAgICBtLmxvY2FsZSgnZmEnKTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIHJldHVybiBtO1xuICAvLyB9XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IERhdGUgfCBzdHJpbmcgPSBuZXcgRGF0ZSgpLCBwdWJsaWMgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSB2YWx1ZSBhcyBEYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9tb21lbnQgPSBtb21lbnQodGhpcy5kYXRlKTtcbiAgICBpZiAodGhpcy50eXBlID09PSAnamFsYWxpJykge1xuICAgICAgdGhpcy5fbW9tZW50LmxvY2FsZSgnZmEnKTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodGhpcy5kYXRlLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZ2V0IGRheUluTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRhdGUoKTtcbiAgfVxuXG4gIGdldCBkYXlPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRheU9mWWVhcigpO1xuICB9XG5cbiAgZ2V0IGRheUluV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZGF5KCk7XG4gIH1cblxuICBnZXQgaG91cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaG91cigpO1xuICB9XG5cbiAgZ2V0IG1pbnV0ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQubWludXRlKCk7XG4gIH1cblxuICBnZXQgc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC5zZWNvbmQoKTtcbiAgfVxuXG4gIGdldCB5ZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC55ZWFyKCk7XG4gIH1cblxuICBnZXQgbW9udGhPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50Lm1vbnRoKCk7XG4gIH1cblxuICBnZXQgbW9udGgoKTogQVhDYWxlbmRhck1vbnRoIHtcbiAgICByZXR1cm4gbmV3IEFYQ2FsZW5kYXJNb250aCh0aGlzKTtcbiAgfVxuXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBhID0gbW9tZW50KHRoaXMuZGF0ZSk7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgICAgIHRoaXMuX21vbWVudC5sb2NhbGUoJ2ZhJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShhLnN0YXJ0T2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGdldCBlbmREYXlPZldlZWsoKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgYSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICB0aGlzLl9tb21lbnQubG9jYWxlKCdmYScpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobW9tZW50KHRoaXMuZGF0ZSkuZW5kT2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGNvbnZlcnRTdHJpbmdUb0phbGFsaShkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdZWVlZL00vRCcpO1xuICB9XG4gIGNvbnZlcnRTdHJpbmdUb0dyZWdvcmlhbihkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudC5mcm9tKGRhdGUsICdmYScsICdZWVlZL01NL0REJykuZm9ybWF0KCdZWVlZL01NL0REJykpO1xuICB9XG5cbiAgYWRkKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgYWRkRGF5KGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsICdkJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBhZGRNb250aChhbW91bnQ6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnbW9udGhzJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cbiAgYWRkSG91cihhbW91bnQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnaG91cnMnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIHNldCh1bml0OiBUaW1lVW5pdCA9ICdkYXknLCB2YWx1ZTogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zZXQodW5pdCwgdmFsdWUpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZHVyYXRpb24oZW5kOiBBWERhdGVUaW1lLCB1bml0OiBUaW1lRHVyYXRpb24gPSAnZGF5cycpOiBudW1iZXIge1xuICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKHRoaXMuX21vbWVudC5kaWZmKGVuZC5fbW9tZW50KSk7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoZHVyYXRpb24uYXModW5pdCkpO1xuICB9XG5cbiAgc3RhcnRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLnN0YXJ0T2YodGhpcy5yZXNvbHZlVW5pdCh1bml0KSkudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBlbmRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmVuZE9mKHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdDogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5zaG9ydERhdGVGb3JtYXQnKSB8fCAodGhpcy50eXBlID09PSAnZ3JlZ29yaWFuJyA/ICdERC1NTS1ZWVlZJyA6ICdZWVlZLU1NLUREJykpOiBzdHJpbmcge1xuICAgIGlmIChmb3JtYXQgPT09ICdQJykge1xuICAgICAgcmV0dXJuIHRoaXMuX21vbWVudC5mcm9tTm93KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdCgpO1xuICB9XG5cbiAgZXF1YWwodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaXNTYW1lKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSk7XG4gIH1cblxuICBjb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgICAgbnVtYmVyaW5nU3lzdGVtOiAnbGF0bicsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgfTtcbiAgICBjb25zdCBqRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoJ2ZhLUlSJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gakRhdGUuc2xpY2UoMCwgNCk7XG4gICAgaXRlbS5tb250aCA9IGpEYXRlLnNsaWNlKDUsIDcpO1xuICAgIGl0ZW0uZGF5ID0gakRhdGUuc2xpY2UoOCwgMTApO1xuICAgIGl0ZW0uaG91ciA9IGpEYXRlLnNsaWNlKDEzLCAxNSk7XG4gICAgaXRlbS5taW51dGVzID0gakRhdGUuc2xpY2UoMTYsIDE4KTtcbiAgICBpdGVtLnNlY29uZHMgPSBqRGF0ZS5zbGljZSgxOSwgMjEpO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9KYWxhbGlTdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKSB7XG4gICAgLy8gVE9ETzogY2hlY2sgdGhpcyBmdWNraW5nIHR5cGVcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XG4gICAgICBudW1iZXJpbmdTeXN0ZW06ICdsYXRuJyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgc2Vjb25kOiAnMi1kaWdpdCdcbiAgICB9O1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSkudG9Mb2NhbGVTdHJpbmcoJ2VuLXVzJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gZGF0ZS5zbGljZSg2LCAxMCk7XG4gICAgaXRlbS5tb250aCA9IGRhdGUuc2xpY2UoMCwgMik7XG4gICAgaXRlbS5kYXkgPSBkYXRlLnNsaWNlKDMsIDUpO1xuICAgIGl0ZW0uaG91ciA9IGRhdGUuc2xpY2UoMTIsIDE0KTtcbiAgICBpdGVtLm1pbnV0ZXMgPSBkYXRlLnNsaWNlKDE1LCAxNyk7XG4gICAgaXRlbS5zZWNvbmRzID0gZGF0ZS5zbGljZSgxOCwgMjApO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9HcmVnb3JpYW5TdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb21wYWlyZU5ldyh2YWx1ZTogQVhEYXRlVGltZSwgdW5pdDogVGltZVN0ZXAgPSAnWU1EJywgdHlwZSA9ICdqYWxhbGknKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBbMCwgMF07XG4gICAgbGV0IHN0cjE7XG4gICAgbGV0IHN0cjI7XG4gICAgaWYgKHR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICBzdHIxID0gdGhpcy50b0phbGFsaVN0cmluZyh0aGlzLmRhdGUpO1xuICAgICAgc3RyMiA9IHRoaXMudG9KYWxhbGlTdHJpbmcodmFsdWUuZGF0ZSA/IHZhbHVlLmRhdGUgOiB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cjEgPSB0aGlzLnRvR3JlZ29yaWFuU3RyaW5nKHRoaXMuZGF0ZSk7XG4gICAgICBzdHIyID0gdGhpcy50b0dyZWdvcmlhblN0cmluZyh2YWx1ZS5kYXRlID8gdmFsdWUuZGF0ZSA6IHZhbHVlKTtcbiAgICB9XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICdZTURobXMnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaG0nOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxMztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdZTUQnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZTSc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSA3O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMTE7XG4gICAgICAgIHJhbmdlWzFdID0gMTM7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAxNDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxNjtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3MnOlxuICAgICAgICByYW5nZVswXSA9IDE3O1xuICAgICAgICByYW5nZVsxXSA9IDE5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByYW5nZVswXSA9IDg7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdNJzpcbiAgICAgICAgcmFuZ2VbMF0gPSA1O1xuICAgICAgICByYW5nZVsxXSA9IDc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAwO1xuICAgICAgICByYW5nZVsxXSA9IDQ7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPT09IHN0cjIuc2xpY2UocmFuZ2VbMF0sIHJhbmdlWzFdKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPiBzdHIyLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgY29tcGFpcmUodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAodGhpcy5fbW9tZW50LmlzU2FtZShtb21lbnQodmFsdWUuZGF0ZSksIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21vbWVudC5pc0FmdGVyKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgdG9JU09TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vbnRoIHtcbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIHByaXZhdGUgX3JhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XG4gIHB1YmxpYyBnZXQgcmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XG4gIH1cbiAgcHVibGljIHNldCByYW5nZSh2OiBBWERhdGVUaW1lUmFuZ2UpIHtcbiAgICB0aGlzLl9yYW5nZSA9IHY7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihkYXRlOiBBWERhdGVUaW1lKSB7XG4gICAgdGhpcy5fbW9tZW50ID0gbW9tZW50KGRhdGUuZGF0ZSk7XG4gICAgdGhpcy5pbmRleCA9IGRhdGUuZGF0ZS5nZXRNb250aCgpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuX21vbWVudC5mb3JtYXQoJ01NTU0nKTtcbiAgICB0aGlzLnJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpLFxuICAgICAgbmV3IEFYRGF0ZVRpbWUodGhpcy5fbW9tZW50LmVuZE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RhcnRUaW1lOiBBWERhdGVUaW1lLCBwdWJsaWMgZW5kVGltZTogQVhEYXRlVGltZSkgeyB9XG5cbiAgZHVyYXRpb24odW5pdDogVGltZUR1cmF0aW9uID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihtb21lbnQodGhpcy5zdGFydFRpbWUuZGF0ZSkuZGlmZihtb21lbnQodGhpcy5lbmRUaW1lLmRhdGUpKSk7XG4gICAgcmV0dXJuIGR1cmF0aW9uLmFzKHVuaXQpO1xuICB9XG5cbiAgZW51bXVyYXRlKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJykgfHwgJ2phbGFsaScpOiBBWERhdGVUaW1lW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyB0aGlzLnN0YXJ0VGltZS5hZGQodW5pdCwgaW5kZXgpLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDA7IGluZGV4KyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHRoaXMuc3RhcnRUaW1lLmFkZCh1bml0LCBpbmRleCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaW5jbHVkZXModmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGUgPSAnamFsYWxpJyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZS5jb21wYWlyZU5ldyh0aGlzLnN0YXJ0VGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpID49IDAgJiZcbiAgICAgIHZhbHVlLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0Vmlld0NvbXBhaXJlKHZpZXcpIHtcbiAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiAnWU1EJztcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgcmV0dXJuICdZTSc7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuICdZJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==","export class AXBaseMenuItem {\n uid = new Date().getTime().toString();\n id;\n name;\n text;\n tooltip;\n tooltipPlacement;\n icon;\n visible = true;\n disable = false;\n selected = false;\n groupName;\n data;\n style = 'ax light';\n orderIndex = 0;\n endIcon;\n startIcon;\n onClick;\n}\nexport class AXMenuItem extends AXBaseMenuItem {\n items;\n parentId;\n divider = false;\n}\nexport class AXButtonItem extends AXBaseMenuItem {\n dropdown = false;\n submitBehavior = false;\n cancelBehavior = false;\n}\nexport class AXCheckItem {\n text;\n value;\n selected;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvbWVudS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUN6QixHQUFHLEdBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQyxFQUFFLENBQVU7SUFDWixJQUFJLENBQVU7SUFDZCxJQUFJLENBQVU7SUFDZCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQXVDO0lBQ3ZELElBQUksQ0FBVTtJQUNkLE9BQU8sR0FBYSxJQUFJLENBQUM7SUFDekIsT0FBTyxHQUFhLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFNBQVMsQ0FBVTtJQUNuQixJQUFJLENBQU87SUFDWCxLQUFLLEdBQVksVUFBVSxDQUFDO0lBQzVCLFVBQVUsR0FBWSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixPQUFPLENBQXFCO0NBQzdCO0FBRUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBQzVDLEtBQUssQ0FBZ0I7SUFDckIsUUFBUSxDQUFVO0lBQ2xCLE9BQU8sR0FBYSxLQUFLLENBQUM7Q0FDM0I7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFDOUMsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixjQUFjLEdBQWEsS0FBSyxDQUFDO0lBQ2pDLGNBQWMsR0FBYSxLQUFLLENBQUM7Q0FDbEM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUN0QixJQUFJLENBQVU7SUFDZCxLQUFLLENBQU87SUFDWixRQUFRLENBQVc7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhCYXNlTWVudUl0ZW0ge1xuICB1aWQ/OiBzdHJpbmcgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygpO1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgdG9vbHRpcFBsYWNlbWVudD86ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuICBpY29uPzogc3RyaW5nO1xuICB2aXNpYmxlPzogYm9vbGVhbiA9IHRydWU7XG4gIGRpc2FibGU/OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBncm91cE5hbWU/OiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIHN0eWxlPzogc3RyaW5nID0gJ2F4IGxpZ2h0JztcbiAgb3JkZXJJbmRleD86IG51bWJlciA9IDA7XG4gIGVuZEljb24/OiBzdHJpbmc7XG4gIHN0YXJ0SWNvbj86IHN0cmluZztcbiAgb25DbGljaz86IChlPzogYW55KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbSBleHRlbmRzIEFYQmFzZU1lbnVJdGVtIHtcbiAgaXRlbXM/OiBBWE1lbnVJdGVtW107XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhCdXR0b25JdGVtIGV4dGVuZHMgQVhCYXNlTWVudUl0ZW0ge1xuICBkcm9wZG93bj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3VibWl0QmVoYXZpb3I/OiBib29sZWFuID0gZmFsc2U7XG4gIGNhbmNlbEJlaGF2aW9yPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDaGVja0l0ZW0ge1xuICB0ZXh0Pzogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuIl19","export class AXPromise {\n _executor;\n thenAction;\n static resolve(value) {\n const r = new AXPromise(z => {\n z(value);\n }).then(() => { });\n return r;\n }\n constructor(executor) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.thenAction);\n }, 50);\n }\n then(action) {\n this.thenAction = action;\n return this;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvcHJvbWlzZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUVWLFNBQVMsQ0FBbUM7SUFDNUMsVUFBVSxDQUFtQjtJQUVyQyxNQUFNLENBQUMsT0FBTyxDQUFJLEtBQVE7UUFDdEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUksQ0FBQyxDQUFDLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksUUFBMEM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFHRCxJQUFJLENBQUMsTUFBd0I7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYUHJvbWlzZTxUPiB7XG5cbiAgICBwcml2YXRlIF9leGVjdXRvcjogKHRoZW4/OiAoZT86IFQpID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSB0aGVuQWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkO1xuXG4gICAgc3RhdGljIHJlc29sdmU8VD4odmFsdWU6IFQpOiBBWFByb21pc2U8VD4ge1xuICAgICAgICBjb25zdCByID0gbmV3IEFYUHJvbWlzZTxUPih6ID0+IHtcbiAgICAgICAgICAgIHoodmFsdWUpO1xuICAgICAgICB9KS50aGVuKCgpID0+IHsgfSk7XG4gICAgICAgIHJldHVybiByO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGV4ZWN1dG9yOiAodGhlbj86IChlPzogVCkgPT4gdm9pZCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLl9leGVjdXRvciA9IGV4ZWN1dG9yO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dG9yKHRoaXMudGhlbkFjdGlvbik7XG4gICAgICAgIH0sIDUwKTtcbiAgICB9XG5cblxuICAgIHRoZW4oYWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkKTogQVhQcm9taXNlPFQ+IHtcbiAgICAgICAgdGhpcy50aGVuQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG4iXX0=","export class AXSelectItem {\n id;\n name;\n text;\n visible;\n disable;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9zZWxlY3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDdkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFXO0lBQ2xCLE9BQU8sQ0FBVztDQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFNlbGVjdEl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBkaXNhYmxlPzogYm9vbGVhbjtcbn1cbiJdfQ==","import { EventEmitter, Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated Use AXBasePageComponent from @acorex/components\n */\n// TODO: Add Angular decorator.\nexport class AXBasePageComponent {\n onClosed = new EventEmitter();\n close(data) {\n this.onClosed.emit({\n component: this,\n data: data\n });\n }\n onClosing(e) {\n }\n ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXBasePageComponent, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9iYXNlLXBhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOztHQUVHO0FBQ0gsK0JBQStCO0FBRS9CLE1BQU0sT0FBZ0IsbUJBQW1CO0lBRXJDLFFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV0RCxLQUFLLENBQUMsSUFBVTtRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBTTtJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzt1R0FoQmlCLG1CQUFtQjsyR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFYQmFzZVBhZ2VDb21wb25lbnQgZnJvbSBAYWNvcmV4L2NvbXBvbmVudHNcbiAqL1xuLy8gVE9ETzogQWRkIEFuZ3VsYXIgZGVjb3JhdG9yLlxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ2xvc2luZyhlOiBhbnkpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cblxufVxuXG5cbiJdfQ==","import { InjectionToken, Injectable, Injector } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken('ax.error');\nexport class AXErrorService {\n injector;\n constructor(injector) {\n this.injector = injector;\n }\n handle(message) {\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\n if (instance) {\n instance.show(message);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2Vycm9yL2Vycm9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVyRSxNQUFNLENBQUMsTUFBTyw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBNEIsVUFBVSxDQUFDLENBQUM7QUFPdkcsTUFBTSxPQUFPLGNBQWM7SUFFSDtJQUFwQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRXRDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2pFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO3VHQVhRLGNBQWM7MkdBQWQsY0FBYyxjQURGLE1BQU07OzJGQUNsQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgIEFYX0VSUk9SX0RJU1BMQVlfSU5URVJDRVBUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhFcnJvckRpc3BsYXlJbnRlcmNlcHRvcj4oJ2F4LmVycm9yJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhFcnJvckRpc3BsYXlJbnRlcmNlcHRvciB7XG4gICAgc2hvdyhtZXNzYWdlOiBzdHJpbmcpO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBBWEVycm9yU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuXG4gICAgfVxuXG4gICAgaGFuZGxlKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYX0VSUk9SX0RJU1BMQVlfSU5URVJDRVBUT1IpO1xuICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnNob3cobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXErrorService } from './error.service';\nimport * as i0 from \"@angular/core\";\nexport class AXErrorModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, providers: [AXErrorService], imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXErrorModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXErrorService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZXJyb3IvZXJyb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLFlBSlosWUFBWTt3R0FJYixhQUFhLGFBRlgsQ0FBQyxjQUFjLENBQUMsWUFGakIsWUFBWTs7MkZBSWIsYUFBYTtrQkFOekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWEVycm9yU2VydmljZSB9IGZyb20gJy4vZXJyb3Iuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXSxcbiAgICBwcm92aWRlcnM6IFtBWEVycm9yU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYRXJyb3JNb2R1bGUge1xuXG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken('ax.http.events');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ldmVudHMuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAtZXZlbnRzLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXlCLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSHR0cEVycm9yIH0gZnJvbSAnLi9odHRwLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IEFYX0hUVFBfRVZFTlRfSU5URVJDRVBUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhIdHRwRXZlbnRJbnRlcmNlcHRvcj4oJ2F4Lmh0dHAuZXZlbnRzJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhIdHRwRXZlbnRJbnRlcmNlcHRvciB7XG4gICAgYmVnaW4ocmVxdWVzdDogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPEFYSHR0cFJlcXVlc3RPcHRpb25zPjtcbiAgICBzdWNjZXNzKHJlcXVlc3Q6IEFYSHR0cFJlcXVlc3RPcHRpb25zLCByZXN1bHQ6IGFueSk6IFByb21pc2U8YW55PjtcbiAgICBjb21wbGV0ZShyZXF1ZXN0OiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyk7XG4gICAgZXJyb3IocmVxdWVzdDogQVhIdHRwUmVxdWVzdE9wdGlvbnMsIGVycm9yOiBJSHR0cEVycm9yKTtcbn1cblxuXG4iXX0=","export class HttpResult {\n _executor;\n constructor(executor) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.resultAction, this.errorAction, this.completeAction);\n }, 50);\n }\n resultAction;\n errorAction;\n completeAction;\n result(action) {\n this.resultAction = action;\n return this;\n }\n error(action) {\n this.errorAction = action;\n return this;\n }\n complete(action) {\n this.completeAction = action;\n return this;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXN1bHQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAtcmVzdWx0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxVQUFVO0lBQ1gsU0FBUyxDQUEyRjtJQUM1RyxZQUNJLFFBSVM7UUFFVCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxZQUFZLENBQWtCO0lBQzlCLFdBQVcsQ0FBMkI7SUFDdEMsY0FBYyxDQUFhO0lBRW5DLE1BQU0sQ0FBQyxNQUF1QjtRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWdDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxRQUFRLENBQUMsTUFBa0I7UUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUh0dHBFcnJvciB9IGZyb20gJy4vaHR0cC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBIdHRwUmVzdWx0PFQ+IHtcbiAgICBwcml2YXRlIF9leGVjdXRvcjogKHJlc3VsdDogKGU/OiBUKSA9PiB2b2lkLCBlcnJvcjogKGU/OiBJSHR0cEVycm9yKSA9PiB2b2lkLCBjb21wbGV0ZTogKCkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZXhlY3V0b3I6IChcbiAgICAgICAgICAgIHJlc3VsdDogKGU/OiBUKSA9PiB2b2lkLFxuICAgICAgICAgICAgZXJyb3I6IChlPzogSUh0dHBFcnJvcikgPT4gdm9pZCxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB2b2lkXG4gICAgICAgICkgPT4gdm9pZFxuICAgICkge1xuICAgICAgICB0aGlzLl9leGVjdXRvciA9IGV4ZWN1dG9yO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dG9yKHRoaXMucmVzdWx0QWN0aW9uLCB0aGlzLmVycm9yQWN0aW9uLCB0aGlzLmNvbXBsZXRlQWN0aW9uKTtcbiAgICAgICAgfSwgNTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdWx0QWN0aW9uOiAoZT86IFQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBlcnJvckFjdGlvbjogKGU/OiBJSHR0cEVycm9yKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgY29tcGxldGVBY3Rpb246ICgpID0+IHZvaWQ7XG5cbiAgICByZXN1bHQoYWN0aW9uOiAoZT86IFQpID0+IHZvaWQpOiBIdHRwUmVzdWx0PFQ+IHsgXG4gICAgICAgIHRoaXMucmVzdWx0QWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgZXJyb3IoYWN0aW9uOiAoZT86IElIdHRwRXJyb3IpID0+IHZvaWQpOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICAgICAgdGhpcy5lcnJvckFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGNvbXBsZXRlKGFjdGlvbjogKCkgPT4gdm9pZCk6IEh0dHBSZXN1bHQ8VD4ge1xuICAgICAgICB0aGlzLmNvbXBsZXRlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59Il19","import { HttpClient, HttpHeaders, HttpParams, } from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { AX_HTTP_EVENT_INTERCEPTOR, } from './http-events.interceptor';\nimport { HttpResult } from './http-result.class';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\n// import { of, concat, throwError } from 'rxjs';\nexport class AXHttpService {\n http;\n injector;\n interceptor;\n constructor(http, injector) {\n this.http = http;\n this.injector = injector;\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\n }\n get(url, config = {}) {\n config.url = url;\n config.method = 'get';\n return this.request(config);\n }\n post(url, config = {}) {\n config.url = url;\n config.method = 'post';\n return this.request(config);\n }\n delete(url, config = {}) {\n config.url = url;\n config.method = 'delete';\n return this.request(config);\n }\n put(url, config = {}) {\n config.url = url;\n config.method = 'put';\n return this.request(config);\n }\n request(config) {\n return new HttpResult((result, error, complete) => {\n this.handleBegin(config).then((c) => {\n this.http\n .request(config.method, config.url, this.mapOptions(config))\n //.pipe(this.retry)\n .subscribe((data) => {\n this.handleResult(data, result, complete, config);\n }, (c) => {\n this.handleError(c, error, complete, config);\n });\n });\n });\n }\n handleResult(data, result, complete, config) {\n if (this.interceptor) {\n this.interceptor.success(config, data).then((c) => {\n if (result)\n result(c);\n this.handleComplete(complete, config);\n });\n }\n else {\n //\n if (result)\n result(data);\n this.handleComplete(complete, config);\n }\n }\n handleBegin(config) {\n return new Promise((resolve) => {\n if (!config.headers)\n config.headers = {};\n if (!config.params)\n config.params = {};\n //\n if (this.interceptor) {\n this.interceptor.begin(config).then((c) => {\n resolve(c);\n });\n }\n else {\n resolve(config);\n }\n });\n }\n handleComplete(complete, config) {\n if (complete)\n complete();\n if (this.interceptor)\n this.interceptor.complete(config);\n }\n handleError(c, error, complete, config) {\n let r = {\n message: c.message,\n status: c.status,\n code: c.status?.toString(),\n handled: false,\n error: c.error,\n };\n if (error) {\n error(r);\n }\n if (!r.handled) {\n if (this.interceptor)\n this.interceptor.error(config, r);\n }\n this.handleComplete(complete, config);\n }\n mapOptions(options) {\n let headers = new HttpHeaders();\n for (const key in options.headers) {\n if (options.headers.hasOwnProperty(key)) {\n const value = options.headers[key];\n headers = headers.set(key, value);\n }\n }\n let params = new HttpParams();\n for (const key in options.params) {\n if (options.params.hasOwnProperty(key)) {\n const value = options.params[key];\n params = params.set(key, value);\n }\n }\n return {\n headers: headers,\n params: params,\n body: options.body,\n responseType: options.responseType || 'json',\n };\n // if (options.method == \"get\") {\n // return {\n // headers: headers,\n // params: params\n // };\n // }\n // else {\n // return {\n // headers: headers,\n // params: params,\n // body: options.body\n // };\n // }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvaHR0cC9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFFVixXQUFXLEVBQ1gsVUFBVSxHQUNYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLHlCQUF5QixHQUUxQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBQ2pELHVIQUF1SDtBQUN2SCxpREFBaUQ7QUFHakQsTUFBTSxPQUFPLGFBQWE7SUFFSjtJQUEwQjtJQUR0QyxXQUFXLENBQXlCO0lBQzVDLFlBQW9CLElBQWdCLEVBQVUsUUFBa0I7UUFBNUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxHQUFHLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDbkQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLENBQUksR0FBVyxFQUFFLFNBQStCLEVBQUU7UUFDcEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0s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SyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksTUFBTTtTQUM3QyxDQUFDO1FBQ0YsaUNBQWlDO1FBQ2pDLGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFNBQVM7UUFDVCxJQUFJO1FBQ0osU0FBUztRQUNULGVBQWU7UUFDZiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLDZCQUE2QjtRQUM3QixTQUFTO1FBQ1QsSUFBSTtJQUNOLENBQUM7dUdBNUlVLGFBQWE7MkdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwSGVhZGVycyxcbiAgSHR0cFBhcmFtcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIdHRwRXJyb3IgfSBmcm9tICcuL2h0dHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHtcbiAgQVhfSFRUUF9FVkVOVF9JTlRFUkNFUFRPUixcbiAgQVhIdHRwRXZlbnRJbnRlcmNlcHRvcixcbn0gZnJvbSAnLi9odHRwLWV2ZW50cy5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBBWEh0dHBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBSZXN1bHQgfSBmcm9tICcuL2h0dHAtcmVzdWx0LmNsYXNzJztcbi8vIGltcG9ydCB7IGNhdGNoRXJyb3IsIHJldHJ5LCByZXRyeVdoZW4sIG1lcmdlTWFwLCBkZWxheSwgc3dpdGNoTWFwLCBzY2FuLCB0YWtlV2hpbGUsIGZsYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBvZiwgY29uY2F0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWEh0dHBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpbnRlcmNlcHRvcjogQVhIdHRwRXZlbnRJbnRlcmNlcHRvcjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuaW50ZXJjZXB0b3IgPSB0aGlzLmluamVjdG9yLmdldChBWF9IVFRQX0VWRU5UX0lOVEVSQ0VQVE9SKTtcbiAgfVxuXG4gIGdldDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ2dldCc7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xuICB9XG5cbiAgcG9zdDxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ3Bvc3QnO1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoY29uZmlnKTtcbiAgfVxuXG4gIGRlbGV0ZTxUPih1cmw6IHN0cmluZywgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucyA9IHt9KTogSHR0cFJlc3VsdDxUPiB7XG4gICAgY29uZmlnLnVybCA9IHVybDtcbiAgICBjb25maWcubWV0aG9kID0gJ2RlbGV0ZSc7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChjb25maWcpO1xuICB9XG5cbiAgcHV0PFQ+KHVybDogc3RyaW5nLCBjb25maWc6IEFYSHR0cFJlcXVlc3RPcHRpb25zID0ge30pOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICBjb25maWcudXJsID0gdXJsO1xuICAgIGNvbmZpZy5tZXRob2QgPSAncHV0JztcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGNvbmZpZyk7XG4gIH1cblxuICByZXF1ZXN0PFQ+KGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnMpOiBIdHRwUmVzdWx0PFQ+IHtcbiAgICByZXR1cm4gbmV3IEh0dHBSZXN1bHQ8VD4oKHJlc3VsdD8sIGVycm9yPywgY29tcGxldGU/KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUJlZ2luKGNvbmZpZykudGhlbigoYykgPT4ge1xuICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAucmVxdWVzdDxUPihjb25maWcubWV0aG9kLCBjb25maWcudXJsLCB0aGlzLm1hcE9wdGlvbnMoY29uZmlnKSlcbiAgICAgICAgICAvLy5waXBlKHRoaXMucmV0cnkpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVzdWx0KGRhdGEsIHJlc3VsdCwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihjLCBlcnJvciwgY29tcGxldGUsIGNvbmZpZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZXN1bHQoZGF0YSwgcmVzdWx0LCBjb21wbGV0ZSwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XG4gICAgICB0aGlzLmludGVyY2VwdG9yLnN1Y2Nlc3MoY29uZmlnLCBkYXRhKS50aGVuKChjKSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHJlc3VsdChjKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL1xuICAgICAgaWYgKHJlc3VsdCkgcmVzdWx0KGRhdGEpO1xuICAgICAgdGhpcy5oYW5kbGVDb21wbGV0ZShjb21wbGV0ZSwgY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJlZ2luKFxuICAgIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnNcbiAgKTogUHJvbWlzZTxBWEh0dHBSZXF1ZXN0T3B0aW9ucz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKCFjb25maWcuaGVhZGVycykgY29uZmlnLmhlYWRlcnMgPSB7fTtcbiAgICAgIGlmICghY29uZmlnLnBhcmFtcykgY29uZmlnLnBhcmFtcyA9IHt9O1xuICAgICAgLy9cbiAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB7XG4gICAgICAgIHRoaXMuaW50ZXJjZXB0b3IuYmVnaW4oY29uZmlnKS50aGVuKChjKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShjKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbXBsZXRlKGNvbXBsZXRlOiBGdW5jdGlvbiwgY29uZmlnOiBBWEh0dHBSZXF1ZXN0T3B0aW9ucykge1xuICAgIGlmIChjb21wbGV0ZSkgY29tcGxldGUoKTtcbiAgICBpZiAodGhpcy5pbnRlcmNlcHRvcikgdGhpcy5pbnRlcmNlcHRvci5jb21wbGV0ZShjb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICBjOiBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBlcnJvcjogRnVuY3Rpb24sXG4gICAgY29tcGxldGU6IEZ1bmN0aW9uLFxuICAgIGNvbmZpZzogQVhIdHRwUmVxdWVzdE9wdGlvbnNcbiAgKSB7XG4gICAgbGV0IHI6IElIdHRwRXJyb3IgPSB7XG4gICAgICBtZXNzYWdlOiBjLm1lc3NhZ2UsXG4gICAgICBzdGF0dXM6IGMuc3RhdHVzLFxuICAgICAgY29kZTogYy5zdGF0dXM/LnRvU3RyaW5nKCksXG4gICAgICBoYW5kbGVkOiBmYWxzZSxcbiAgICAgIGVycm9yOiBjLmVycm9yLFxuICAgIH07XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBlcnJvcihyKTtcbiAgICB9XG4gICAgaWYgKCFyLmhhbmRsZWQpIHtcbiAgICAgIGlmICh0aGlzLmludGVyY2VwdG9yKSB0aGlzLmludGVyY2VwdG9yLmVycm9yKGNvbmZpZywgcik7XG4gICAgfVxuICAgIHRoaXMuaGFuZGxlQ29tcGxldGUoY29tcGxldGUsIGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIG1hcE9wdGlvbnMob3B0aW9uczogQVhIdHRwUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICBpZiAob3B0aW9ucy5oZWFkZXJzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLmhlYWRlcnNba2V5XTtcbiAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zLnBhcmFtcykge1xuICAgICAgaWYgKG9wdGlvbnMucGFyYW1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zLnBhcmFtc1trZXldO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgYm9keTogb3B0aW9ucy5ib2R5LFxuICAgICAgcmVzcG9uc2VUeXBlOiBvcHRpb25zLnJlc3BvbnNlVHlwZSB8fCAnanNvbicsXG4gICAgfTtcbiAgICAvLyBpZiAob3B0aW9ucy5tZXRob2QgPT0gXCJnZXRcIikge1xuICAgIC8vICAgICByZXR1cm4ge1xuICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgLy8gICAgIH07XG4gICAgLy8gfVxuICAgIC8vIGVsc2Uge1xuICAgIC8vICAgICByZXR1cm4ge1xuICAgIC8vICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAvLyAgICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgIC8vICAgICAgICAgYm9keTogb3B0aW9ucy5ib2R5XG4gICAgLy8gICAgIH07XG4gICAgLy8gfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXHttpService } from './http.service';\nimport * as i0 from \"@angular/core\";\nexport class AXHttpModule {\n static forRoot() {\n return {\n ngModule: AXHttpModule,\n providers: [AXHttpService]\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, imports: [CommonModule,\n HttpClientModule], exports: [HttpClientModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, providers: [\n AXHttpService\n ], imports: [CommonModule,\n HttpClientModule, HttpClientModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHttpModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule\n ],\n exports: [HttpClientModule],\n providers: [\n AXHttpService\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9odHRwL2h0dHAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYy9DLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUMzQixDQUFDO0lBQ0osQ0FBQzt1R0FOVSxZQUFZO3dHQUFaLFlBQVksWUFSckIsWUFBWTtZQUNaLGdCQUFnQixhQUVSLGdCQUFnQjt3R0FLZixZQUFZLGFBSlo7WUFDVCxhQUFhO1NBQ2QsWUFOQyxZQUFZO1lBQ1osZ0JBQWdCLEVBRVIsZ0JBQWdCOzsyRkFLZixZQUFZO2tCQVh4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixTQUFTLEVBQUU7d0JBQ1QsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFYSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhIdHRwU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFYSHR0cE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhIdHRwTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWEh0dHBNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtBWEh0dHBTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn0iXX0=","import { Injectable } from \"@angular/core\";\nimport { fromEvent, Subject } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged } from \"rxjs/operators\";\nimport * as i0 from \"@angular/core\";\nconst isChrome = (win) => testUserAgent(win, /Chrome/i);\nconst isFirefox = (win) => testUserAgent(win, /Firefox/i);\nconst isEdge = (win) => testUserAgent(win, /Edge/i);\nconst isSafari = (win) => testUserAgent(win, /Safari/i);\nconst isOpera = (win) => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\nconst isMSIE = (win) => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\nconst isMobileWeb = (win) => isMobile(win) && !isHybrid(win);\nconst isIpad = (win) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n return false;\n};\nconst isIphone = (win) => testUserAgent(win, /iPhone/i);\nconst isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\nconst isAndroid = (win) => testUserAgent(win, /android|sink/i);\nconst isAndroidTablet = (win) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\nconst isPhablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (smallest > 390 && smallest < 520) &&\n (largest > 620 && largest < 800);\n};\nconst isTablet = (win) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n return (isIpad(win) ||\n isAndroidTablet(win) ||\n ((smallest > 460 && smallest < 820) &&\n (largest > 780 && largest < 1400)));\n};\nconst isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');\nconst isDesktop = (win) => !isMobile(win);\nconst isHybrid = (win) => isCordova(win) || isCapacitorNative(win);\nconst isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\nconst isCapacitorNative = (win) => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\nconst isElectron = (win) => testUserAgent(win, /electron/i);\nconst isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);\nexport const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);\nconst matchMedia = (win, query) => win.matchMedia(query).matches;\nconst isSMScreen = (win) => matchMedia(win, '(max-width: 640px)');\nconst isMDScreen = (win) => matchMedia(win, '(max-width: 768px)');\nconst isLGScreen = (win) => matchMedia(win, '(max-width: 1024px)');\nconst isXLScreen = (win) => matchMedia(win, '(max-width: 1280px)');\nconst is2XLScreen = (win) => matchMedia(win, '(max-width: 1536px)');\nconst PLATFORMS_MAP = {\n 'Android': isAndroid,\n 'iOS': isIOS,\n 'Desktop': isDesktop,\n 'Mobile': isMobile,\n 'Touch': isTouch,\n 'Chrome': isChrome,\n 'Firefox': isFirefox,\n 'Safari': isSafari,\n 'Edge': isEdge,\n 'Opera': isOpera,\n 'Hybrid': isHybrid,\n 'PWA': isPWA,\n 'Electron': isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n \"2XL\": is2XLScreen,\n};\nexport class AXPlatformEvent {\n nativeEvent;\n source;\n}\nexport class AXPlatform {\n resize = new Subject();\n click = new Subject();\n scroll = new Subject();\n isRtl() {\n return document.dir == 'rtl' || document.body.dir == 'rtl' || document.body.style.direction == 'rtl';\n }\n isLandscape() {\n return window.innerHeight < window.innerWidth;\n }\n isPortrate() {\n return !this.isLandscape();\n }\n is(name) {\n return PLATFORMS_MAP[name](window) || false;\n }\n switchDarkMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.add('ax-dark');\n }\n switchLightMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.remove('ax-dark');\n }\n _setFullHeightRatio() {\n document.querySelector(':root').style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n }\n constructor() {\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this\n });\n //\n this._setFullHeightRatio();\n });\n document.addEventListener('click', (e) => {\n this.click.next({\n nativeEvent: e,\n source: this\n });\n }, true);\n document.addEventListener('scroll', (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this\n });\n }, true);\n // init functions\n this._setFullHeightRatio();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXPlatform, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BsYXRmb3JtL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBVXBFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDdEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3ZDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFbkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUNwQyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRWhDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FDdEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3JDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUUvRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBVyxFQUFFLENBQ3BDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUdsRSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcs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QUM7SUFDL0csQ0FBQztJQUVEO1FBRUksU0FBUyxDQUFVLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsRUFBRTtZQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBR1AsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRVIsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7dUdBbkVRLFVBQVU7MkdBQVYsVUFBVSxjQUZQLE1BQU07OzJGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5cbmV4cG9ydCB0eXBlIEFYUGxhdGZvcm1zID0gJ0FuZHJvaWQnIHwgJ0Rlc2t0b3AnIHwgJ2lPUycgfCAnTW9iaWxlJyB8ICcnO1xuZXhwb3J0IHR5cGUgQVhCcm93c2VycyA9ICdDaHJvbWUnIHwgJ1NhZmFyaScgfCAnRWRnZScgfCAnRmlyZWZveCcgfCAnT3BlcmEnIHwgJ01TSUUnO1xuZXhwb3J0IHR5cGUgQVhUZWNobm9sb2dpZXMgPSAnUFdBJyB8ICdIeWJyaWQnIHwgJ0VsZWN0cm9uJztcbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XG5cblxuXG5jb25zdCBpc0Nocm9tZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT5cbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL0Nocm9tZS9pKTtcblxuY29uc3QgaXNGaXJlZm94ID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvRmlyZWZveC9pKTtcblxuY29uc3QgaXNFZGdlID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvRWRnZS9pKTtcblxuY29uc3QgaXNTYWZhcmkgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9TYWZhcmkvaSk7XG5cbmNvbnN0IGlzT3BlcmEgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9PcGVyYS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL09QUi9pKTtcblxuY29uc3QgaXNNU0lFID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvTVNJRS9pKSB8fCB0ZXN0VXNlckFnZW50KHdpbiwgL1RyaWRlbnQvaSk7XG5cblxuY29uc3QgaXNNb2JpbGVXZWIgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgaXNNb2JpbGUod2luKSAmJiAhaXNIeWJyaWQod2luKTtcblxuY29uc3QgaXNJcGFkID0gKHdpbjogV2luZG93KSA9PiB7XG4gICAgLy8gaU9TIDEyIGFuZCBiZWxvd1xuICAgIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL2lQYWQvaSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gaU9TIDEzK1xuICAgIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL01hY2ludG9zaC9pKSAmJiBpc01vYmlsZSh3aW4pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzSXBob25lID0gKHdpbjogV2luZG93KSA9PlxuICAgIHRlc3RVc2VyQWdlbnQod2luLCAvaVBob25lL2kpO1xuXG5jb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cbiAgICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xuXG5jb25zdCBpc0FuZHJvaWQgPSAod2luOiBXaW5kb3cpID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9hbmRyb2lkfHNpbmsvaSk7XG5cbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICAgIHJldHVybiBpc0FuZHJvaWQod2luKSAmJiAhdGVzdFVzZXJBZ2VudCh3aW4sIC9tb2JpbGUvaSk7XG59O1xuXG5jb25zdCBpc1BoYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xuICAgIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHJldHVybiAoc21hbGxlc3QgPiAzOTAgJiYgc21hbGxlc3QgPCA1MjApICYmXG4gICAgICAgIChsYXJnZXN0ID4gNjIwICYmIGxhcmdlc3QgPCA4MDApO1xufTtcblxuY29uc3QgaXNUYWJsZXQgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgICBjb25zdCBzbWFsbGVzdCA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpO1xuICAgIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIGlzSXBhZCh3aW4pIHx8XG4gICAgICAgIGlzQW5kcm9pZFRhYmxldCh3aW4pIHx8XG4gICAgICAgIChcbiAgICAgICAgICAgIChzbWFsbGVzdCA+IDQ2MCAmJiBzbWFsbGVzdCA8IDgyMCkgJiZcbiAgICAgICAgICAgIChsYXJnZXN0ID4gNzgwICYmIGxhcmdlc3QgPCAxNDAwKVxuICAgICAgICApXG4gICAgKTtcbn07XG5cbmNvbnN0IGlzTW9iaWxlID0gKHdpbjogV2luZG93KSA9PlxuICAgIG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcblxuY29uc3QgaXNUb3VjaCA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xuXG5jb25zdCBpc0Rlc2t0b3AgPSAod2luOiBXaW5kb3cpID0+XG4gICAgIWlzTW9iaWxlKHdpbik7XG5cbmNvbnN0IGlzSHlicmlkID0gKHdpbjogV2luZG93KSA9PlxuICAgIGlzQ29yZG92YSh3aW4pIHx8IGlzQ2FwYWNpdG9yTmF0aXZlKHdpbik7XG5cbmNvbnN0IGlzQ29yZG92YSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT5cbiAgICAhISh3aW5bJ2NvcmRvdmEnXSB8fCB3aW5bJ3Bob25lZ2FwJ10gfHwgd2luWydQaG9uZUdhcCddKTtcblxuY29uc3QgaXNDYXBhY2l0b3JOYXRpdmUgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBjYXBhY2l0b3IgPSB3aW5bJ0NhcGFjaXRvciddO1xuICAgIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcbn07XG5cbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgdGVzdFVzZXJBZ2VudCh3aW4sIC9lbGVjdHJvbi9pKTtcblxuY29uc3QgaXNQV0EgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+XG4gICAgISEod2luLm1hdGNoTWVkaWEoJyhkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpJykubWF0Y2hlcyB8fCAod2luLm5hdmlnYXRvciBhcyBhbnkpLnN0YW5kYWxvbmUpO1xuXG5leHBvcnQgY29uc3QgdGVzdFVzZXJBZ2VudCA9ICh3aW46IFdpbmRvdywgZXhwcjogUmVnRXhwKSA9PlxuICAgIGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbmNvbnN0IG1hdGNoTWVkaWEgPSAod2luOiBXaW5kb3csIHF1ZXJ5OiBzdHJpbmcpOiBib29sZWFuID0+XG4gICAgd2luLm1hdGNoTWVkaWEocXVlcnkpLm1hdGNoZXM7XG5cbmNvbnN0IGlzU01TY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogNjQwcHgpJyk7XG5jb25zdCBpc01EU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDc2OHB4KScpO1xuY29uc3QgaXNMR1NjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxMDI0cHgpJyk7XG5jb25zdCBpc1hMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDEyODBweCknKTtcbmNvbnN0IGlzMlhMU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDE1MzZweCknKTtcblxuY29uc3QgUExBVEZPUk1TX01BUCA9IHtcbiAgICAnQW5kcm9pZCc6IGlzQW5kcm9pZCxcbiAgICAnaU9TJzogaXNJT1MsXG4gICAgJ0Rlc2t0b3AnOiBpc0Rlc2t0b3AsXG4gICAgJ01vYmlsZSc6IGlzTW9iaWxlLFxuICAgICdUb3VjaCc6IGlzVG91Y2gsXG4gICAgJ0Nocm9tZSc6IGlzQ2hyb21lLFxuICAgICdGaXJlZm94JzogaXNGaXJlZm94LFxuICAgICdTYWZhcmknOiBpc1NhZmFyaSxcbiAgICAnRWRnZSc6IGlzRWRnZSxcbiAgICAnT3BlcmEnOiBpc09wZXJhLFxuICAgICdIeWJyaWQnOiBpc0h5YnJpZCxcbiAgICAnUFdBJzogaXNQV0EsXG4gICAgJ0VsZWN0cm9uJzogaXNFbGVjdHJvbixcbiAgICBTTTogaXNTTVNjcmVlbixcbiAgICBNRDogaXNNRFNjcmVlbixcbiAgICBMRzogaXNMR1NjcmVlbixcbiAgICBYTDogaXNYTFNjcmVlbixcbiAgICBcIjJYTFwiOiBpczJYTFNjcmVlbixcbn07XG5cblxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm1FdmVudCB7XG4gICAgbmF0aXZlRXZlbnQ6IFVJRXZlbnQgfCBFdmVudDtcbiAgICBzb3VyY2U6IEFYUGxhdGZvcm1cbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQbGF0Zm9ybSB7XG4gICAgcmVzaXplOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XG4gICAgY2xpY2s6IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PiA9IG5ldyBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4oKVxuICAgIHNjcm9sbDogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpXG5cbiAgICBpc1J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmRpciA9PSAncnRsJyB8fCBkb2N1bWVudC5ib2R5LmRpciA9PSAncnRsJyB8fCBkb2N1bWVudC5ib2R5LnN0eWxlLmRpcmVjdGlvbiA9PSAncnRsJztcbiAgICB9XG5cblxuICAgIGlzTGFuZHNjYXBlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgfVxuXG4gICAgaXNQb3J0cmF0ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzTGFuZHNjYXBlKClcbiAgICB9XG5cbiAgICBpcyhuYW1lOiBBWFBsYXRmb3JtcyB8IEFYQnJvd3NlcnMgfCBBWFRlY2hub2xvZ2llcyB8IEFYU2NyZWVuU2l6ZXMpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBzd2l0Y2hEYXJrTW9kZSgpIHtcbiAgICAgICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImh0bWxcIilbMF07XG4gICAgICAgIF9odG1sLmNsYXNzTGlzdC5hZGQoJ2F4LWRhcmsnKVxuXG4gICAgfVxuXG4gICAgc3dpdGNoTGlnaHRNb2RlKCkge1xuICAgICAgICBjb25zdCBfaHRtbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaHRtbFwiKVswXTtcbiAgICAgICAgX2h0bWwuY2xhc3NMaXN0LnJlbW92ZSgnYXgtZGFyaycpXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0RnVsbEhlaWdodFJhdGlvKCkge1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignOnJvb3QnKS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1heC12aCcsIHdpbmRvdy5pbm5lckhlaWdodCAvIDEwMCArICdweCcpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgICAgIGZyb21FdmVudDxVSUV2ZW50Pih3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiB0aGlzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRGdWxsSGVpZ2h0UmF0aW8oKTtcbiAgICAgICAgICAgIH0pO1xuXG5cbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGljay5uZXh0KHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCB0cnVlKVxuXG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbC5uZXh0KHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZSxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgLy8gaW5pdCBmdW5jdGlvbnNcbiAgICAgICAgdGhpcy5fc2V0RnVsbEhlaWdodFJhdGlvKCk7XG4gICAgfVxufSJdfQ==","import { Pipe } from '@angular/core';\nimport { AXDateTime } from '../classes/datetime.class';\nimport * as i0 from \"@angular/core\";\nexport class AXDateTimePipe {\n constructor() { }\n transform(value, format) {\n const date = AXDateTime.convert(value);\n if (value == null) {\n return '';\n }\n if (!format) {\n return date.toString();\n }\n else {\n return date.format(format);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, isStandalone: false, name: \"dt\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXDateTimePipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'dt',\n standalone: false\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3BpcGUvZGF0ZXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTXZELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLGdCQUFnQixDQUFDO0lBRWpCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsTUFBZTtRQUNqQyxNQUFNLElBQUksR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFDSSxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO3VHQWRRLGNBQWM7cUdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsSUFBSTtvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtLCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lIH0gZnJvbSAnLi4vY2xhc3Nlcy9kYXRldGltZS5jbGFzcyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnZHQnLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlOiBBWERhdGVUaW1lID0gQVhEYXRlVGltZS5jb252ZXJ0KHZhbHVlKTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmZvcm1hdChmb3JtYXQpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXHtmlToTextPipe {\n transform(value) {\n if (value) {\n const regexHtml = /<\\/?[^>]+>/gi;\n const regexNbsp = / /gi;\n const regexAmp = /&/gi;\n return value\n .replace(regexHtml, '')\n .replace(regexNbsp, '')\n .replace(regexAmp, '');\n }\n else {\n return '';\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, isStandalone: false, name: \"html2text\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlToTextPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'html2text',\n standalone: false\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbFRvVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvcGlwZS9odG1sVG9UZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO1lBQzNCLE9BQU8sS0FBSztpQkFDVCxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztpQkFDdEIsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7aUJBQ3RCLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO3VHQWJVLGdCQUFnQjtxR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaHRtbDJ0ZXh0JyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0bWxUb1RleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCByZWdleEh0bWwgPSAvPFxcLz9bXj5dKz4vZ2k7XG4gICAgICBjb25zdCByZWdleE5ic3AgPSAvJm5ic3A7L2dpO1xuICAgICAgY29uc3QgcmVnZXhBbXAgPSAvJmFtcDsvZ2k7XG4gICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgLnJlcGxhY2UocmVnZXhIdG1sLCAnJylcbiAgICAgICAgLnJlcGxhY2UocmVnZXhOYnNwLCAnJylcbiAgICAgICAgLnJlcGxhY2UocmVnZXhBbXAsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXEventService {\n list = [];\n broadcast(key, options) {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events.forEach(c => {\n c(options);\n });\n }\n }\n on(key, callback) {\n let d = this.list.find(c => c.key === key);\n if (!d) {\n d = { key, events: [] };\n this.list.push(d);\n }\n d.events.push(callback);\n }\n destroy(key, callback) {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events = [];\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXEventService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGNBQWM7SUFDZixJQUFJLEdBQVUsRUFBRSxDQUFDO0lBRWxCLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBYTtRQUN2QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDO0lBRU0sRUFBRSxDQUFDLEdBQVcsRUFBRSxRQUFpQztRQUNwRCxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ0wsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO1FBQ0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUM7UUFDekQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQzt1R0ExQlEsY0FBYzsyR0FBZCxjQUFjLGNBREQsTUFBTTs7MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYRXZlbnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxpc3Q6IGFueVtdID0gW107XG5cbiAgICBwdWJsaWMgYnJvYWRjYXN0KGtleTogc3RyaW5nLCBvcHRpb25zPzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGQgPSB0aGlzLmxpc3QuZmluZChjID0+IGMua2V5ID09PSBrZXkpO1xuICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgZC5ldmVudHMuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICBjKG9wdGlvbnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb24oa2V5OiBzdHJpbmcsIGNhbGxiYWNrOiAob3B0aW9ucz86IGFueSkgPT4gdm9pZCkge1xuICAgICAgICBsZXQgZCA9IHRoaXMubGlzdC5maW5kKGMgPT4gYy5rZXkgPT09IGtleSk7XG4gICAgICAgIGlmICghZCkge1xuICAgICAgICAgICAgZCA9IHsga2V5LCBldmVudHM6IFtdIH07XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaChkKTtcbiAgICAgICAgfVxuICAgICAgICBkLmV2ZW50cy5wdXNoKGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveShrZXk6IHN0cmluZywgY2FsbGJhY2s6IChvcHRpb25zPzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGQgPSB0aGlzLmxpc3QuZmluZChjID0+IGMua2V5ID09PSBrZXkpO1xuICAgICAgICBpZiAoZCkge1xuICAgICAgICAgICAgZC5ldmVudHMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXNavigator {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXNavigator, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLFdBQVc7dUdBQVgsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhOYXZpZ2F0b3JQYXJhbSB9IGZyb20gJy4uL2NsYXNzZXMvbmF2aWdhdG9yLmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYTmF2aWdhdG9yIHtcbiAgICBhYnN0cmFjdCBuYXZpZ2F0ZShwYXJhbXM6IEFYTmF2aWdhdG9yUGFyYW0pO1xuICAgIGFic3RyYWN0IHBvcHVwKHBhcmFtczogQVhOYXZpZ2F0b3JQYXJhbSk7XG59Il19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXStorageService {\n get(key) {\n return localStorage.getItem(key);\n }\n set(key, value) {\n localStorage.setItem(key, value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXStorageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDMUIsR0FBRyxDQUFDLEdBQVc7UUFDWixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFRLENBQUM7SUFDM0MsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQU5TLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhTdG9yYWdlU2VydmljZSB7XG4gICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkgYXMgYW55O1xuICAgfVxuICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlIGFzIHN0cmluZyk7XG4gICB9XG59XG4iXX0=","import { Subject } from 'rxjs';\nimport { getPropByPath } from '../utils/object/object-util';\nimport { merge } from 'lodash-es';\n// @dynamic\nexport class AXTranslator {\n static lang = 'en';\n static dataChangeSubject = new Subject();\n static get onChange() {\n return AXTranslator.dataChangeSubject.asObservable();\n }\n static load(lang, value) {\n if (typeof value === 'object') {\n if (!AXTranslator[`__data__${lang}`]) {\n AXTranslator[`__data__${lang}`] = {};\n }\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\n }\n }\n static use(lang) {\n AXTranslator.lang = lang;\n AXTranslator.dataChangeSubject.next(lang);\n }\n static get(key, lang, params) {\n let template = getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\n if (params && typeof template === 'string') {\n for (const [paramKey, paramValue] of Object.entries(params)) {\n const regex = new RegExp(`{{\\\\s*${paramKey}\\\\s*}}`, 'g');\n template = template.replace(regex, String(paramValue));\n }\n }\n return template;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3RyYW5zbGF0b3IvdHJhbnNsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWxDLFdBQVc7QUFDWCxNQUFNLE9BQU8sWUFBWTtJQUNmLE1BQU0sQ0FBQyxJQUFJLEdBQVcsSUFBSSxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXRELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUNELFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUNyQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUMvQixLQUFLLENBQ04sQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQzVCLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQ2YsR0FBVyxFQUNYLElBQWEsRUFDYixNQUE0QjtRQUU1QixJQUFJLFFBQVEsR0FDVixhQUFhLENBQ1gsWUFBWSxDQUFDLFdBQVcsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUNwRCxHQUFHLENBQ0osSUFBSSxHQUFHLENBQUM7UUFFWCxJQUFJLE1BQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQyxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLFFBQVEsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDekQsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0UHJvcEJ5UGF0aCB9IGZyb20gJy4uL3V0aWxzL29iamVjdC9vYmplY3QtdXRpbCc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yIHtcbiAgcHJpdmF0ZSBzdGF0aWMgbGFuZzogc3RyaW5nID0gJ2VuJztcbiAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZGF0YUNoYW5nZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGxvYWQobGFuZzogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmICghQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSkge1xuICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0ge307XG4gICAgICB9XG4gICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0gbWVyZ2UoXG4gICAgICAgIEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0sXG4gICAgICAgIHZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdXNlKGxhbmc6IHN0cmluZykge1xuICAgIEFYVHJhbnNsYXRvci5sYW5nID0gbGFuZztcbiAgICBBWFRyYW5zbGF0b3IuZGF0YUNoYW5nZVN1YmplY3QubmV4dChsYW5nKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KFxuICAgIGtleTogc3RyaW5nLFxuICAgIGxhbmc/OiBzdHJpbmcsXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBzdHJpbmcge1xuICAgIGxldCB0ZW1wbGF0ZSA9XG4gICAgICBnZXRQcm9wQnlQYXRoKFxuICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nIHx8IEFYVHJhbnNsYXRvci5sYW5nfWBdLFxuICAgICAgICBrZXlcbiAgICAgICkgfHwga2V5O1xuXG4gICAgaWYgKHBhcmFtcyAmJiB0eXBlb2YgdGVtcGxhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBmb3IgKGNvbnN0IFtwYXJhbUtleSwgcGFyYW1WYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xuICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYHt7XFxcXHMqJHtwYXJhbUtleX1cXFxccyp9fWAsICdnJyk7XG4gICAgICAgIHRlbXBsYXRlID0gdGVtcGxhdGUucmVwbGFjZShyZWdleCwgU3RyaW5nKHBhcmFtVmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorService {\n load(lang, value) {\n AXTranslator.load(lang, value);\n }\n use(lang) {\n AXTranslator.use(lang);\n }\n get(key, lang, params) {\n return AXTranslator.get(lang, lang, params);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, providedIn: 'platform' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'platform' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUc1QyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3ZCLElBQUksQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNsQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sR0FBRyxDQUFDLElBQVk7UUFDckIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBNEI7UUFDakUsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt1R0FYVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUROLFVBQVU7OzJGQUN2QixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncGxhdGZvcm0nIH0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yU2VydmljZSB7XG4gIHB1YmxpYyBsb2FkKGxhbmc6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIEFYVHJhbnNsYXRvci5sb2FkKGxhbmcsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyB1c2UobGFuZzogc3RyaW5nKSB7XG4gICAgQVhUcmFuc2xhdG9yLnVzZShsYW5nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcsIGxhbmc/OiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KGxhbmcsIGxhbmcsIHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==","import { Pipe } from '@angular/core';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorPipe {\n constructor() { }\n // transform(value: string, lang?: string): Promise<string> {\n // return new Promise<string>((resolve, reject) => {\n // if (!value) {\n // resolve(value);\n // }\n // resolve(this.translate.get(value, lang));\n // });\n // }\n transform(value, lang, params) {\n return AXTranslator.get(value, lang, params);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, isStandalone: false, name: \"trans\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'trans',\n pure: true,\n standalone: false,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixnQkFBZSxDQUFDO0lBRWhCLDZEQUE2RDtJQUM3RCx3REFBd0Q7SUFDeEQsd0JBQXdCO0lBQ3hCLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osb0RBQW9EO0lBQ3BELFVBQVU7SUFFVixJQUFJO0lBRUosU0FBUyxDQUNQLEtBQWEsRUFDYixJQUFhLEVBQ2IsTUFBNEI7UUFFNUIsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQzt1R0FuQlUsZ0JBQWdCO3FHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE9BQU87b0JBQ2IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcblxuQFBpcGUoe1xuICBuYW1lOiAndHJhbnMnLFxuICBwdXJlOiB0cnVlLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLy8gdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGxhbmc/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAvLyAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAvLyAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgLy8gICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICAgIHJlc29sdmUodGhpcy50cmFuc2xhdGUuZ2V0KHZhbHVlLCBsYW5nKSk7XG4gIC8vICAgICB9KTtcblxuICAvLyB9XG5cbiAgdHJhbnNmb3JtKFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgbGFuZz86IHN0cmluZyxcbiAgICBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEFYVHJhbnNsYXRvci5nZXQodmFsdWUsIGxhbmcsIHBhcmFtcyk7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXTranslatorPipe } from './translator.pipe';\nimport * as en from '../locale/en.json';\nimport * as fa from '../locale/fa.json';\nimport { AXTranslator } from './translator';\nimport * as i0 from \"@angular/core\";\nexport class AXTranslatorModule {\n constructor() {\n AXTranslator.load('en', en);\n AXTranslator.load('fa', fa);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXTranslatorModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [AXTranslatorPipe],\n declarations: [AXTranslatorPipe],\n providers: [],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUzVDLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7UUFDSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO3VHQUpRLGtCQUFrQjt3R0FBbEIsa0JBQWtCLGlCQUhaLGdCQUFnQixhQURyQixnQkFBZ0I7d0dBSWpCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFOOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuaW1wb3J0ICogYXMgZW4gZnJvbSAnLi4vbG9jYWxlL2VuLmpzb24nO1xuaW1wb3J0ICogYXMgZmEgZnJvbSAnLi4vbG9jYWxlL2ZhLmpzb24nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3JNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBBWFRyYW5zbGF0b3IubG9hZCgnZW4nLCBlbik7XG4gICAgICAgIEFYVHJhbnNsYXRvci5sb2FkKCdmYScsIGZhKTtcbiAgICB9XG59XG4iXX0=","import { AXFetchProp } from '../object/object-util';\n// @dynamic\nexport class AXArrayUtil {\n static pickRandom(array) {\n return array[Math.floor(Math.random() * array.length)];\n }\n static insert(array, index, ...rest) {\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\n return array;\n }\n static range(min, max) {\n return new Array(max - min).fill(1).map((d, i) => i);\n }\n static filter(array, filters) {\n if (filters == null || filters.length === 0) {\n return array;\n }\n const lamda = (item) => {\n let result = true;\n for (const key in filters) {\n if (filters.hasOwnProperty(key)) {\n const f = filters[key];\n if (f !== 'AND') {\n const vals = [];\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\n if (mt && mt.length > 1) {\n const p1 = f.field.replace(mt[0], '');\n const p2 = mt[1];\n const prop = AXFetchProp(item, p1);\n if (prop instanceof Array && prop.length) {\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\n }\n else {\n result = false;\n }\n }\n else {\n vals.push(AXFetchProp(item, f.field));\n }\n for (const j in vals) {\n if (vals.hasOwnProperty(j)) {\n let v1 = vals[j];\n const v2 = f.value;\n if (f.dataType === 'string') {\n v1 = v1.toString();\n switch (f.condition) {\n case 'equal':\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\n break;\n case 'not-equal':\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\n break;\n case 'contains':\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'not-contains':\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'start-with':\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\n break;\n case 'end-with':\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n }\n else if (f.dataType === 'date') {\n }\n else if (f.dataType === 'number') {\n v1 = Number(v1);\n switch (f.condition) {\n case 'equal':\n result = v1 === v2;\n break;\n case 'not-equal':\n result = v1 !== v2;\n break;\n case 'contains':\n result = v2 && v2 instanceof Array && v2.includes(v1);\n break;\n case 'less-than':\n result = v1 < v2;\n break;\n case 'less-than-equal':\n result = v1 <= v2;\n break;\n case 'greater-than':\n result = v1 > v2;\n break;\n case 'greater-than-equal':\n result = v1 >= v2;\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n }\n else {\n console.error('The datatype is not supported');\n result = false;\n }\n if (result) {\n break;\n }\n }\n }\n }\n if (!result) {\n return false;\n }\n }\n }\n return true;\n };\n return array.filter(lamda);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2FycmF5L2FycmF5LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELFdBQVc7QUFDWCxNQUFNLE9BQU8sV0FBVztJQUdwQixNQUFNLENBQUMsVUFBVSxDQUFDLEtBQVk7UUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBWSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBWSxFQUFFLE9BQWM7UUFDdEMsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUM5QixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO3dCQUNkLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQ3hDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7NEJBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzs0QkFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUNqQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUNuQyxJQUFJLElBQUksWUFBWSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dDQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDdEQsQ0FBQztpQ0FBTSxDQUFDO2dDQUNKLE1BQU0sR0FBRyxLQUFLLENBQUM7NEJBQ25CLENBQUM7d0JBQ0wsQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDMUMsQ0FBQzt3QkFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDOzRCQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQ0FDekIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2dDQUNuQixJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7b0NBQzFCLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7b0NBQ25CLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO3dDQUNsQixLQUFLLE9BQU87NENBQ1IsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7NENBQzdELE1BQU07d0NBQ1YsS0FBSyxXQUFXOzRDQUNaLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDOzRDQUNoRSxNQUFNO3dDQUNWLEtBQUssVUFBVTs0Q0FDWCxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRDQUN2RSxNQUFNO3dDQUNWLEtBQUssY0FBYzs0Q0FDZixNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NENBQ3hFLE1BQU07d0NBQ1YsS0FBSyxZQUFZOzRDQUNiLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NENBQ3pFLE1BQU07d0NBQ1YsS0FBSyxVQUFVOzRDQUNYLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NENBQ3ZFLE1BQU07d0NBQ1YsS0FBSyxVQUFVOzRDQUNYLE1BQU0sR0FBRyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLENBQUM7NENBQ3hDLE1BQU07d0NBQ1YsS0FBSyxjQUFjOzRDQUNmLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7NENBQzNDLE1BQU07d0NBQ1Y7NENBQ0ksT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDOzRDQUM5QyxNQUFNLEdBQUcsS0FBSyxDQUFDO29DQUN2QixDQUFDO2dDQUNMLENBQUM7cUNBQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dDQUNuQyxDQUFDO3FDQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztvQ0FDakMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQ0FDaEIsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7d0NBQ2xCLEtBQUssT0FBTzs0Q0FDUixNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQzs0Q0FDbkIsTUFBTTt3Q0FDVixLQUFLLFdBQVc7NENBQ1osTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7NENBQ25CLE1BQU07d0NBQ1YsS0FBSyxVQUFVOzRDQUNYLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRDQUN0RCxNQUFNO3dDQUNWLEtBQUssV0FBVzs0Q0FDWixNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQzs0Q0FDakIsTUFBTTt3Q0FDVixLQUFLLGlCQUFpQjs0Q0FDbEIsTUFBTSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7NENBQ2xCLE1BQU07d0NBQ1YsS0FBSyxjQUFjOzRDQUNmLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDOzRDQUNqQixNQUFNO3dDQUNWLEtBQUssb0JBQW9COzRDQUNyQixNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs0Q0FDbEIsTUFBTTt3Q0FDVixLQUFLLFVBQVU7NENBQ1gsTUFBTSxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsQ0FBQzs0Q0FDeEMsTUFBTTt3Q0FDVixLQUFLLGNBQWM7NENBQ2YsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQzs0Q0FDM0MsTUFBTTt3Q0FDVjs0Q0FDSSxPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7NENBQzlDLE1BQU0sR0FBRyxLQUFLLENBQUM7b0NBQ3ZCLENBQUM7Z0NBQ0wsQ0FBQztxQ0FBTSxDQUFDO29DQUNKLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztvQ0FDL0MsTUFBTSxHQUFHLEtBQUssQ0FBQztnQ0FDbkIsQ0FBQztnQ0FDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO29DQUNULE1BQU07Z0NBQ1YsQ0FBQzs0QkFDTCxDQUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ1YsT0FBTyxLQUFLLENBQUM7b0JBQ2pCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhGZXRjaFByb3AgfSBmcm9tICcuLi9vYmplY3Qvb2JqZWN0LXV0aWwnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYQXJyYXlVdGlsIHtcblxuXG4gICAgc3RhdGljIHBpY2tSYW5kb20oYXJyYXk6IGFueVtdKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGFycmF5W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGFycmF5Lmxlbmd0aCldO1xuICAgIH1cblxuXG4gICAgc3RhdGljIGluc2VydChhcnJheTogYW55W10sIGluZGV4LCAuLi5yZXN0KSB7XG4gICAgICAgIGFycmF5LnNwbGljZS5hcHBseShhcnJheSwgW2luZGV4LCAwXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocmVzdCwgMSkpKTtcbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXJbXSB7XG4gICAgICAgIHJldHVybiBuZXcgQXJyYXkobWF4IC0gbWluKS5maWxsKDEpLm1hcCgoZCwgaSkgPT4gaSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbHRlcihhcnJheTogYW55W10sIGZpbHRlcnM6IGFueVtdKTogYW55W10ge1xuICAgICAgICBpZiAoZmlsdGVycyA9PSBudWxsIHx8IGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGFtZGEgPSAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmaWx0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmID0gZmlsdGVyc1trZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZiAhPT0gJ0FORCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG10ID0gZi5maWVsZC5tYXRjaCgvXFxbXFw6KC4qPylcXF0vKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtdCAmJiBtdC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcDEgPSBmLmZpZWxkLnJlcGxhY2UobXRbMF0sICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwMiA9IG10WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3AgPSBBWEZldGNoUHJvcChpdGVtLCBwMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3AgaW5zdGFuY2VvZiBBcnJheSAmJiBwcm9wLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxzLnB1c2goLi4ucHJvcC5tYXAobSA9PiAoQVhGZXRjaFByb3AobSwgcDIpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFscy5wdXNoKEFYRmV0Y2hQcm9wKGl0ZW0sIGYuZmllbGQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaiBpbiB2YWxzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHMuaGFzT3duUHJvcGVydHkoaikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHYxID0gdmFsc1tqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdjIgPSBmLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZi5kYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gdjEudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlcXVhbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh2MSAmJiB2MikgJiYgdjEudG9Mb3dlckNhc2UoKSA9PT0gdjIudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gISgodjEgJiYgdjIpICYmIHYxLnRvTG93ZXJDYXNlKCkgPT09IHYyLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHYyLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ25vdC1jb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICEoKHYxICYmIHYyKSAmJiAodjEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzdGFydC13aXRoJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKCh2MSAmJiB2MikgJiYgKHYxLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCh2Mi50b0xvd2VyQ2FzZSgpKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlbmQtd2l0aCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICgodjEgJiYgdjIpICYmICh2MS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHYyLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLWVtcHR5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1ub3QtZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZi5kYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYxID0gTnVtYmVyKHYxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZi5jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdlcXVhbCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYxID09PSB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbm90LWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgIT09IHYyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHYyICYmIHYyIGluc3RhbmNlb2YgQXJyYXkgJiYgdjIuaW5jbHVkZXModjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdsZXNzLXRoYW4nOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA8IHYyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdsZXNzLXRoYW4tZXF1YWwnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2MSA8PSB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ3JlYXRlci10aGFuJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPiB2MjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZ3JlYXRlci10aGFuLWVxdWFsJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPj0gdjI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2lzLWVtcHR5JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdjEgPT0gbnVsbCB8fCB2MSA9PT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdpcy1ub3QtZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAhKHYxID09IG51bGwgfHwgdjEgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBjb25kaXRpb24gaXMgbm90IGRlZmluZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGUgZGF0YXR5cGUgaXMgbm90IHN1cHBvcnRlZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYXJyYXkuZmlsdGVyKGxhbWRhKTtcbiAgICB9XG5cbn1cblxuXG5cblxuXG4iXX0=","export class AXMathUtil {\n static randomRange(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvbWF0aC9tYXRoLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhNYXRoVXRpbCB7XG4gICAgc3RhdGljIHJhbmRvbVJhbmdlKG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkgKyBtaW4pO1xuICAgIH1cbn1cbiJdfQ==","import { AXMathUtil } from '../math/math-util';\nexport class AXPoint {\n x;\n y;\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nexport class AXClientRec {\n _left;\n get left() {\n return this._left;\n }\n set left(v) {\n this._left = v;\n }\n _top;\n get top() {\n return this._top;\n }\n set top(v) {\n this._top = v;\n }\n _right;\n get right() {\n return this._right;\n }\n set right(v) {\n this._right = v;\n }\n _bottom;\n get bottom() {\n return this._bottom;\n }\n set bottom(v) {\n this._bottom = v;\n }\n _width;\n get width() {\n return this._width;\n }\n set width(v) {\n this._width = v;\n }\n _height;\n get height() {\n return this._height;\n }\n set height(v) {\n this._height = v;\n }\n constructor(rec) {\n this._left = rec.left;\n this._top = rec.top;\n this._width = rec.width;\n this._height = rec.height;\n this._right = this._left + this._width;\n this._bottom = this._top + this._height;\n }\n intersect(rec) {\n return (this.left < rec.left + rec.width &&\n this.left + this.width > rec.left &&\n this.top < rec.top + rec.height &&\n this.top + this.height > rec.top);\n }\n}\n// @dynamic\nexport class AXHtmlUtil {\n static getBoundingRectPoint(el, placement) {\n const rec = el.getBoundingClientRect();\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n switch (placement) {\n case 'top-start':\n return new AXPoint(rec.left, rec.top);\n case 'top-middle':\n return new AXPoint(rec.left + (width / 2), rec.top);\n case 'top-end':\n return new AXPoint(rec.left + (width), rec.top);\n case 'center-end':\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\n case 'bottom-end':\n return new AXPoint(rec.left + (width), rec.top + (height));\n case 'bottom-middle':\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n case 'bottom-start':\n return new AXPoint(rec.left, rec.top + (height));\n case 'center-start':\n return new AXPoint(rec.left, rec.top + (height / 2));\n default:\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n }\n }\n static isInRecPoint(pos, rec) {\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\n }\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\n // const r1: AXClientRec = new AXClientRec(rec1);\n // const r2: AXClientRec = new AXClientRec(rec2);\n // return ;\n // }\n static isInElementBound(pos, element) {\n const elBound = element.getBoundingClientRect();\n return AXHtmlUtil.isInRecPoint(pos, {\n left: elBound.left,\n width: elBound.width,\n top: elBound.top,\n height: elBound.height\n });\n }\n static getDimensions() {\n let winW = 630;\n let winH = 460;\n if (document.body && document.body.offsetWidth) {\n winW = document.body.offsetWidth;\n winH = document.body.offsetHeight;\n }\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\n winW = document.documentElement.offsetWidth;\n winH = document.documentElement.offsetHeight;\n }\n if (window.innerWidth && window.innerHeight) {\n winW = window.innerWidth;\n winH = window.innerHeight;\n }\n return { width: winW, height: winH };\n }\n static getOffsetRight(elem) {\n let element = elem;\n const width = element.offsetWidth;\n let right = 0;\n while (element.offsetParent) {\n right += element.offsetLeft;\n element = element.offsetParent;\n }\n right += element.offsetLeft;\n right = AXHtmlUtil.getDimensions().width - right;\n right -= width;\n return right;\n }\n static getUID() {\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\n }\n static getRelatedPosition(source, placement, target, alignment) {\n const result = { x: 0, y: 0 };\n const sourcePos = AXHtmlUtil.getBoundingRectPoint(source, placement);\n let top = 0;\n let left = 0;\n switch (alignment) {\n case 'top-start':\n top = sourcePos.y;\n left = sourcePos.x;\n break;\n case 'top-middle':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'top-end':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'center-end':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-end':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-middle':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'bottom-start':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x;\n break;\n case 'center-start':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x;\n break;\n }\n result.y = top;\n result.x = left;\n return result;\n }\n static collision(a, b) {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\n return true;\n }\n else {\n return false;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvaHRtbC9odG1sLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBMkIvQyxNQUFNLE9BQU8sT0FBTztJQUNDO0lBQWtCO0lBQXJDLFlBQW1CLENBQVMsRUFBUyxDQUFTO1FBQTNCLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQzlDLENBQUM7Q0FDRjtBQVVELE1BQU0sT0FBTyxXQUFXO0lBR2QsS0FBSyxDQUFTO0lBQ3RCLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBR08sSUFBSSxDQUFTO0lBQ3JCLElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBVyxHQUFHLENBQUMsQ0FBUztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBR08sTUFBTSxDQUFTO0lBQ3ZCLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBUztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBR08sT0FBTyxDQUFTO0lBQ3hCLElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsQ0FBUztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMs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bkIsTUFBTTtRQUNWLENBQUM7UUFDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNmLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQWMsRUFBRSxDQUFjO1FBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJDLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1lBQzlELEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTWF0aFV0aWwgfSBmcm9tICcuLi9tYXRoL21hdGgtdXRpbCc7XG5cbmV4cG9ydCB0eXBlIEFYUGxhY2VtZW50ID1cbiAgfCAndG9wLXN0YXJ0J1xuICB8ICd0b3AtbWlkZGxlJ1xuICB8ICd0b3AtZW5kJ1xuICB8ICdjZW50ZXItc3RhcnQnXG4gIHwgJ2NlbnRlci1lbmQnXG4gIHwgJ2JvdHRvbS1zdGFydCdcbiAgfCAnYm90dG9tLW1pZGRsZSdcbiAgfCAnYm90dG9tLWVuZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhJUG9pbnQge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgb3JpZ2luWDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIG9yaWdpblk6ICd0b3AnIHwgJ2NlbnRlcicgfCAnYm90dG9tJztcbiAgb3ZlcmxheVg6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnO1xuICBvdmVybGF5WTogJ3RvcCcgfCAnY2VudGVyJyB8ICdib3R0b20nO1xuICB3ZWlnaHQ/OiBudW1iZXI7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBvaW50IGltcGxlbWVudHMgQVhJUG9pbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgeDogbnVtYmVyLCBwdWJsaWMgeTogbnVtYmVyKSB7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWENsaWVudFJlY0N0b3Ige1xuICBsZWZ0PzogbnVtYmVyO1xuICB0b3A/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG59XG5leHBvcnQgY2xhc3MgQVhDbGllbnRSZWMgaW1wbGVtZW50cyBBWENsaWVudFJlY0N0b3Ige1xuXG5cbiAgcHJpdmF0ZSBfbGVmdDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGxlZnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbGVmdDtcbiAgfVxuICBwdWJsaWMgc2V0IGxlZnQodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGVmdCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX3RvcDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IHRvcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90b3A7XG4gIH1cbiAgcHVibGljIHNldCB0b3AodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fdG9wID0gdjtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfcmlnaHQ6IG51bWJlcjtcbiAgcHVibGljIGdldCByaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9yaWdodDtcbiAgfVxuICBwdWJsaWMgc2V0IHJpZ2h0KHY6IG51bWJlcikge1xuICAgIHRoaXMuX3JpZ2h0ID0gdjtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBfYm90dG9tOiBudW1iZXI7XG4gIHB1YmxpYyBnZXQgYm90dG9tKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2JvdHRvbTtcbiAgfVxuICBwdWJsaWMgc2V0IGJvdHRvbSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9ib3R0b20gPSB2O1xuICB9XG5cblxuXG4gIHByaXZhdGUgX3dpZHRoOiBudW1iZXI7XG4gIHB1YmxpYyBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cbiAgcHVibGljIHNldCB3aWR0aCh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl93aWR0aCA9IHY7XG4gIH1cblxuXG4gIHByaXZhdGUgX2hlaWdodDogbnVtYmVyO1xuICBwdWJsaWMgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gIH1cbiAgcHVibGljIHNldCBoZWlnaHQodjogbnVtYmVyKSB7XG4gICAgdGhpcy5faGVpZ2h0ID0gdjtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IocmVjOiBBWENsaWVudFJlY0N0b3IpIHtcbiAgICB0aGlzLl9sZWZ0ID0gcmVjLmxlZnQ7XG4gICAgdGhpcy5fdG9wID0gcmVjLnRvcDtcbiAgICB0aGlzLl93aWR0aCA9IHJlYy53aWR0aDtcbiAgICB0aGlzLl9oZWlnaHQgPSByZWMuaGVpZ2h0O1xuICAgIHRoaXMuX3JpZ2h0ID0gdGhpcy5fbGVmdCArIHRoaXMuX3dpZHRoO1xuICAgIHRoaXMuX2JvdHRvbSA9IHRoaXMuX3RvcCArIHRoaXMuX2hlaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBpbnRlcnNlY3QocmVjOiBBWENsaWVudFJlY0N0b3IpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMubGVmdCA8IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmXG4gICAgICB0aGlzLmxlZnQgKyB0aGlzLndpZHRoID4gcmVjLmxlZnQgJiZcbiAgICAgIHRoaXMudG9wIDwgcmVjLnRvcCArIHJlYy5oZWlnaHQgJiZcbiAgICAgIHRoaXMudG9wICsgdGhpcy5oZWlnaHQgPiByZWMudG9wKTtcbiAgfVxuXG5cbn1cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XG4gIHN0YXRpYyBnZXRCb3VuZGluZ1JlY3RQb2ludChlbDogSFRNTEVsZW1lbnQsIHBsYWNlbWVudDogQVhQbGFjZW1lbnQpOiBBWFBvaW50IHtcbiAgICBjb25zdCByZWMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB3aWR0aCA9IGVsLm9mZnNldFdpZHRoO1xuICAgIGNvbnN0IGhlaWdodCA9IGVsLm9mZnNldEhlaWdodDtcbiAgICBzd2l0Y2ggKHBsYWNlbWVudCkge1xuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0LCByZWMudG9wKTtcbiAgICAgIGNhc2UgJ3RvcC1taWRkbGUnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCk7XG4gICAgICBjYXNlICd0b3AtZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCk7XG4gICAgICBjYXNlICdjZW50ZXItZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBBWFBvaW50KHJlYy5sZWZ0ICsgKHdpZHRoKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICAgIGNhc2UgJ2NlbnRlci1zdGFydCc6XG4gICAgICAgIHJldHVybiBuZXcgQVhQb2ludChyZWMubGVmdCwgcmVjLnRvcCArIChoZWlnaHQgLyAyKSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbmV3IEFYUG9pbnQocmVjLmxlZnQgKyAod2lkdGggLyAyKSwgcmVjLnRvcCArIChoZWlnaHQpKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaXNJblJlY1BvaW50KHBvczogQVhJUG9pbnQsIHJlYzogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBvcy54ID49IHJlYy5sZWZ0ICYmIHBvcy54IDw9IChyZWMubGVmdCArIHJlYy53aWR0aCkgJiYgcG9zLnkgPj0gcmVjLnRvcCAmJiAocG9zLnkgPD0gKHJlYy50b3AgKyByZWMuaGVpZ2h0KSk7XG4gIH1cblxuICAvLyBzdGF0aWMgaXNPdmVyTGFwKHJlYzE6IEFYQ2xpZW50UmVjQ3RvciwgcmVjMjogQVhDbGllbnRSZWNDdG9yKTogYm9vbGVhbiB7XG4gIC8vICAgY29uc3QgcjE6IEFYQ2xpZW50UmVjID0gbmV3IEFYQ2xpZW50UmVjKHJlYzEpO1xuICAvLyAgIGNvbnN0IHIyOiBBWENsaWVudFJlYyA9IG5ldyBBWENsaWVudFJlYyhyZWMyKTtcblxuICAvLyAgIHJldHVybiA7XG4gIC8vIH1cblxuICBzdGF0aWMgaXNJbkVsZW1lbnRCb3VuZChwb3M6IEFYSVBvaW50LCBlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsQm91bmQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiBBWEh0bWxVdGlsLmlzSW5SZWNQb2ludChwb3MsIHtcbiAgICAgIGxlZnQ6IGVsQm91bmQubGVmdCxcbiAgICAgIHdpZHRoOiBlbEJvdW5kLndpZHRoLFxuICAgICAgdG9wOiBlbEJvdW5kLnRvcCxcbiAgICAgIGhlaWdodDogZWxCb3VuZC5oZWlnaHRcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREaW1lbnNpb25zKCk6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB7XG4gICAgbGV0IHdpblcgPSA2MzA7XG4gICAgbGV0IHdpbkggPSA0NjA7XG4gICAgaWYgKGRvY3VtZW50LmJvZHkgJiYgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCkge1xuICAgICAgd2luVyA9IGRvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7XG4gICAgICB3aW5IID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7XG4gICAgfVxuICAgIGlmIChkb2N1bWVudC5jb21wYXRNb2RlID09PSAnQ1NTMUNvbXBhdCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgd2luVyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIHdpbkggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgIH1cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggJiYgd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICB3aW5XID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICB3aW5IID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4geyB3aWR0aDogd2luVywgaGVpZ2h0OiB3aW5IIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0T2Zmc2V0UmlnaHQoZWxlbTogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIGxldCBlbGVtZW50ID0gZWxlbTtcbiAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgbGV0IHJpZ2h0ID0gMDtcbiAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgIHJpZ2h0ICs9IGVsZW1lbnQub2Zmc2V0TGVmdDtcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG4gICAgcmlnaHQgKz0gZWxlbWVudC5vZmZzZXRMZWZ0O1xuICAgIHJpZ2h0ID0gQVhIdG1sVXRpbC5nZXREaW1lbnNpb25zKCkud2lkdGggLSByaWdodDtcbiAgICByaWdodCAtPSB3aWR0aDtcbiAgICByZXR1cm4gcmlnaHQ7XG4gIH1cblxuICBzdGF0aWMgZ2V0VUlEKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdlbC0nICsgQVhNYXRoVXRpbC5yYW5kb21SYW5nZSgxMDAwMDAwMDAwLCA5OTk5OTk5OTk5KS50b1N0cmluZygpO1xuICB9XG5cblxuICBzdGF0aWMgZ2V0UmVsYXRlZFBvc2l0aW9uKHNvdXJjZTogSFRNTEVsZW1lbnQsIHBsYWNlbWVudDogQVhQbGFjZW1lbnQsIHRhcmdldDogSFRNTEVsZW1lbnQsIGFsaWdubWVudDogQVhQbGFjZW1lbnQpOiBBWElQb2ludCB7XG4gICAgY29uc3QgcmVzdWx0OiBBWElQb2ludCA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgY29uc3Qgc291cmNlUG9zOiBBWFBvaW50ID0gQVhIdG1sVXRpbC5nZXRCb3VuZGluZ1JlY3RQb2ludChzb3VyY2UsIHBsYWNlbWVudCk7XG5cblxuICAgIGxldCB0b3A6IG51bWJlciA9IDA7XG4gICAgbGV0IGxlZnQ6IG51bWJlciA9IDA7XG4gICAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wLW1pZGRsZSc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGggLyAyO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcC1lbmQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueTtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlci1lbmQnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueSAtIHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLnggLSB0YXJnZXQub2Zmc2V0V2lkdGg7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLWVuZCc6XG4gICAgICAgIHRvcCA9IHNvdXJjZVBvcy55IC0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54IC0gdGFyZ2V0Lm9mZnNldFdpZHRoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbS1taWRkbGUnOlxuICAgICAgICB0b3AgPSBzb3VyY2VQb3MueSAtIHRhcmdldC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGxlZnQgPSBzb3VyY2VQb3MueCAtIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYm90dG9tLXN0YXJ0JzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBsZWZ0ID0gc291cmNlUG9zLng7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyLXN0YXJ0JzpcbiAgICAgICAgdG9wID0gc291cmNlUG9zLnkgLSB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgbGVmdCA9IHNvdXJjZVBvcy54O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmVzdWx0LnkgPSB0b3A7XG4gICAgcmVzdWx0LnggPSBsZWZ0O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuXG4gIHN0YXRpYyBjb2xsaXNpb24oYTogSFRNTEVsZW1lbnQsIGI6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWMgPSBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJjID0gYi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGlmIChhYy5sZWZ0IDwgYmMubGVmdCArIGJjLndpZHRoICYmIGFjLmxlZnQgKyBhYy53aWR0aCA+IGJjLmxlZnQgJiZcbiAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\nimport * as i0 from \"@angular/core\";\nexport class AXHtmlModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, declarations: [AXHtmlToTextPipe], imports: [CommonModule], exports: [AXHtmlToTextPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHtmlModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXHtmlToTextPipe],\n imports: [CommonModule],\n exports: [AXHtmlToTextPipe],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9odG1sL2h0bWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVE5RCxNQUFNLE9BQU8sWUFBWTt1R0FBWixZQUFZO3dHQUFaLFlBQVksaUJBTFIsZ0JBQWdCLGFBQ3JCLFlBQVksYUFDWixnQkFBZ0I7d0dBR2YsWUFBWSxZQUpiLFlBQVk7OzJGQUlYLFlBQVk7a0JBTnhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWEh0bWxUb1RleHRQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZS9odG1sVG9UZXh0LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEh0bWxUb1RleHRQaXBlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBWEh0bWxNb2R1bGUgeyB9XG4iXX0=","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXHtmlUtil } from '../html/html-util';\nimport * as i0 from \"@angular/core\";\nexport class AXOnDemandPreloadService {\n subject = new Subject();\n tmp;\n constructor() {\n this.tmp = AXHtmlUtil.getUID();\n }\n startPreload(routePath) {\n const slices = [];\n this.subject.next(routePath);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXOnDemandPreloadService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU0vQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ2hDLEdBQUcsQ0FBUztJQUVaO1FBQ0UsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFHNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FiVSx3QkFBd0I7MkdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZWxvYWRpbmdTdHJhdGVneSwgUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCB9IGZyb20gJy4uL2h0bWwvaHRtbC11dGlsJztcblxuXG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB7XG4gIHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHRtcDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudG1wID0gQVhIdG1sVXRpbC5nZXRVSUQoKTtcbiAgfVxuXG4gIHN0YXJ0UHJlbG9hZChyb3V0ZVBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHNsaWNlczogc3RyaW5nW10gPSBbXTtcbiAgIFxuXG4gICAgdGhpcy5zdWJqZWN0Lm5leHQocm91dGVQYXRoKTtcbiAgfVxufVxuIl19","import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, Compiler } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"./on-demand-preload-strategy.service\";\nexport class AXRenderService {\n appRef;\n router;\n componentFactoryResolver;\n compiler;\n modulePreloadService;\n injector;\n constructor(appRef, router, componentFactoryResolver, compiler, modulePreloadService, injector) {\n this.appRef = appRef;\n this.router = router;\n this.componentFactoryResolver = componentFactoryResolver;\n this.compiler = compiler;\n this.modulePreloadService = modulePreloadService;\n this.injector = injector;\n }\n appendComponent(componentClass, options = {}, location) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\n const componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n Object.assign(componentRef.instance, options);\n //\n const domElem = componentRef.hostView.rootNodes[0];\n componentRef.onDestroy(() => {\n this.appRef.detachView(componentRef.hostView);\n });\n if (location) {\n location.appendChild(domElem);\n }\n else {\n document.body.appendChild(domElem);\n }\n setTimeout(() => {\n componentRef.changeDetectorRef.detectChanges();\n }, 0);\n return componentRef;\n }\n findLoadedComponentByRoute(path, timeoutTime = 10) {\n const delay = 200;\n const loop = timeoutTime * 1000 / delay;\n return new Promise((resolve, reject) => {\n let found = null;\n let preload = false;\n const theLoop = (i) => {\n setTimeout(async () => {\n found = await this._findLoadedComponentByRoute(path);\n if (--i && found == null) {\n if (!preload) {\n this.modulePreloadService.startPreload(path);\n preload = true;\n }\n theLoop(i);\n }\n else if (found) {\n resolve(found);\n }\n else {\n reject();\n }\n }, delay);\n };\n theLoop(loop);\n });\n }\n async _findLoadedComponentByRoute(search) {\n let found = null;\n const f = (children, parentPath) => {\n for (const p in children) {\n if (children.hasOwnProperty(p)) {\n const route = children[p];\n const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;\n if (pp == search && !route._loadedConfig && !route['_loadedRoutes'] && route.component) {\n found = route;\n return;\n }\n else if (route._loadedConfig || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route._loadedConfig.routes, pp);\n }\n }\n }\n };\n for (const p in this.router.config) {\n if (this.router.config.hasOwnProperty(p)) {\n const route = this.router.config[p];\n if (route.path === search && route.component) {\n found = route;\n }\n else if (route['_loadedConfig'] || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route['_loadedConfig'].routes, route.path);\n }\n if (found)\n break;\n }\n }\n return found;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, deps: [{ token: i0.ApplicationRef }, { token: i1.Router }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i2.AXOnDemandPreloadService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i1.Router }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i2.AXOnDemandPreloadService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9yZW5kZXIvcmVuZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGNBQWMsRUFBRSx3QkFBd0IsRUFBZ0IsVUFBVSxFQUNsRSxRQUFRLEVBQXlCLFFBQVEsRUFDNUMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBS2hGLE1BQU0sT0FBTyxlQUFlO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBTlosWUFDWSxNQUFzQixFQUN0QixNQUFjLEVBQ2Qsd0JBQWtELEVBQ2xELFFBQWtCLEVBQ2xCLG9CQUE4QyxFQUM5QyxRQUFrQjtRQUxsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5QixDQUFDO0lBSUQsZUFBZSxDQUNYLGNBQXVCLEVBQ3ZCLFVBQWUsRUFBRSxFQUNqQixRQUFrQjtRQUVsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5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WUFDZCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7dUdBakdRLGVBQWU7MkdBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLFxuICAgIEluamVjdG9yLCBFbWJlZGRlZFZpZXdSZWYsIFR5cGUsIENvbXBpbGVyLCBOZ01vZHVsZUZhY3Rvcnlcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSB9IGZyb20gJy4vb24tZGVtYW5kLXByZWxvYWQtc3RyYXRlZ3kuc2VydmljZSc7XG5cblxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUmVuZGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgbW9kdWxlUHJlbG9hZFNlcnZpY2U6IEFYT25EZW1hbmRQcmVsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cblxuXG4gICAgYXBwZW5kQ29tcG9uZW50PFQ+KFxuICAgICAgICBjb21wb25lbnRDbGFzczogVHlwZTxUPixcbiAgICAgICAgb3B0aW9uczogYW55ID0ge30sXG4gICAgICAgIGxvY2F0aW9uPzogRWxlbWVudCk6IENvbXBvbmVudFJlZjxhbnk+IHtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xhc3MpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwgb3B0aW9ucyk7XG4gICAgICAgIC8vXG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICBsb2NhdGlvbi5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICB9XG5cbiAgICBmaW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShwYXRoOiBzdHJpbmcsIHRpbWVvdXRUaW1lOiBudW1iZXIgPSAxMCk6IFByb21pc2U8Um91dGU+IHtcbiAgICAgICAgY29uc3QgZGVsYXkgPSAyMDA7XG4gICAgICAgIGNvbnN0IGxvb3AgPSB0aW1lb3V0VGltZSAqIDEwMDAgLyBkZWxheTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGxldCBmb3VuZDogUm91dGUgPSBudWxsO1xuICAgICAgICAgICAgbGV0IHByZWxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHRoZUxvb3AgPSAoaSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IGF3YWl0IHRoaXMuX2ZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoLS1pICYmIGZvdW5kID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJlbG9hZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9kdWxlUHJlbG9hZFNlcnZpY2Uuc3RhcnRQcmVsb2FkKHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWxvYWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlTG9vcChpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmb3VuZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGRlbGF5KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0aGVMb29wKGxvb3ApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZShzZWFyY2gpIHtcblxuICAgICAgICBsZXQgZm91bmQ6IFJvdXRlID0gbnVsbDtcbiAgICAgICAgY29uc3QgZiA9IChjaGlsZHJlbiwgcGFyZW50UGF0aCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwIGluIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkcmVuLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlID0gY2hpbGRyZW5bcF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBwID0gKHJvdXRlLnBhdGggIT0gJycgJiYgcm91dGUucGF0aCAhPSBudWxsKSA/IHBhcmVudFBhdGggKyAnLycgKyByb3V0ZS5wYXRoIDogcGFyZW50UGF0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09IHNlYXJjaCAmJiAhcm91dGUuX2xvYWRlZENvbmZpZyAmJiAhcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSAmJiByb3V0ZS5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gcm91dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocm91dGUuX2xvYWRlZENvbmZpZyB8fCByb3V0ZVsnX2xvYWRlZFJvdXRlcyddIHx8IHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmKHJvdXRlLmNoaWxkcmVuIHx8IHJvdXRlWydfbG9hZGVkUm91dGVzJ10gfHwgcm91dGUuX2xvYWRlZENvbmZpZy5yb3V0ZXMsIHBwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gdGhpcy5yb3V0ZXIuY29uZmlnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIuY29uZmlnLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGUgPSB0aGlzLnJvdXRlci5jb25maWdbcF07XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlLnBhdGggPT09IHNlYXJjaCAmJiByb3V0ZS5jb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSByb3V0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocm91dGVbJ19sb2FkZWRDb25maWcnXSB8fCByb3V0ZVsnX2xvYWRlZFJvdXRlcyddIHx8IHJvdXRlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGYocm91dGUuY2hpbGRyZW4gfHwgcm91dGVbJ19sb2FkZWRSb3V0ZXMnXSB8fCByb3V0ZVsnX2xvYWRlZENvbmZpZyddLnJvdXRlcywgcm91dGUucGF0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgIH1cblxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXRenderService } from './render.service';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\nimport * as i0 from \"@angular/core\";\n// @dynamic\nexport function getOnDemandPreloadServiceFactory() {\n return new AXOnDemandPreloadService();\n}\nexport class AXRenderingModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, providers: [\n {\n provide: AXOnDemandPreloadService,\n useFactory: getOnDemandPreloadServiceFactory\n },\n AXRenderService\n ] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXRenderingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXOnDemandPreloadService,\n useFactory: getOnDemandPreloadServiceFactory\n },\n AXRenderService\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3JlbmRlci9yZW5kZXJpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUdoRixXQUFXO0FBQ1gsTUFBTSxVQUFVLGdDQUFnQztJQUM1QyxPQUFPLElBQUksd0JBQXdCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBY0QsTUFBTSxPQUFPLGlCQUFpQjt1R0FBakIsaUJBQWlCO3dHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixhQVJmO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHdCQUF3QjtnQkFDakMsVUFBVSxFQUFFLGdDQUFnQzthQUMvQztZQUNELGVBQWU7U0FDbEI7OzJGQUVRLGlCQUFpQjtrQkFaN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx3QkFBd0I7NEJBQ2pDLFVBQVUsRUFBRSxnQ0FBZ0M7eUJBQy9DO3dCQUNELGVBQWU7cUJBQ2xCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUmVuZGVyU2VydmljZSB9IGZyb20gJy4vcmVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcblxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9uRGVtYW5kUHJlbG9hZFNlcnZpY2VGYWN0b3J5KCkge1xuICAgIHJldHVybiBuZXcgQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlKCk7XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQVhPbkRlbWFuZFByZWxvYWRTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogZ2V0T25EZW1hbmRQcmVsb2FkU2VydmljZUZhY3RvcnlcbiAgICAgICAgfSxcbiAgICAgICAgQVhSZW5kZXJTZXJ2aWNlXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSZW5kZXJpbmdNb2R1bGUge1xuXG59XG4iXX0=","import { Directive, HostListener, Input } from '@angular/core';\nimport { ElementRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXHorizontalScrollDirective {\n el;\n constructor(el) {\n this.el = el;\n }\n scrollValue = 40;\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHorizontalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXHorizontalScrollDirective, isStandalone: false, selector: \"[horizontalScroll]\", inputs: { scrollValue: [\"horizontalScroll\", \"scrollValue\"] }, host: { listeners: { \"wheel\": \"onMouseWheel($event)\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXHorizontalScrollDirective, decorators: [{\n type: Directive,\n args: [{\n // tslint:disable-next-line: directive-selector\n selector: '[horizontalScroll]',\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { scrollValue: [{\n type: Input,\n args: ['horizontalScroll']\n }], onMouseWheel: [{\n type: HostListener,\n args: ['wheel', ['$event']]\n }] } });\nexport class AXVerticalScrollDirective {\n el;\n constructor(el) {\n this.el = el;\n }\n scrollValue = 40;\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXVerticalScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: AXVerticalScrollDirective, isStandalone: false, selector: \"[verticalScroll]\", inputs: { scrollValue: [\"verticalScroll\", \"scrollValue\"] }, host: { listeners: { \"wheel\": \"onMouseWheel($event)\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXVerticalScrollDirective, decorators: [{\n type: Directive,\n args: [{\n // tslint:disable-next-line: directive-selector\n selector: '[verticalScroll]',\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { scrollValue: [{\n type: Input,\n args: ['verticalScroll']\n }], onMouseWheel: [{\n type: HostListener,\n args: ['wheel', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8zQyxNQUFNLE9BQU8sMkJBQTJCO0lBQ2xCO0lBQXBCLFlBQW9CLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUksQ0FBQztJQUdwRCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBR2pCLFlBQVksQ0FBQyxDQUFDO1FBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQy9ELENBQUM7dUdBVlUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1AsK0NBQStDO29CQUMvQyxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsS0FBSztpQkFDcEI7K0VBS0MsV0FBVztzQkFEVixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJekIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFXbkMsTUFBTSxPQUFPLHlCQUF5QjtJQUNoQjtJQUFwQixZQUFvQixFQUEyQjtRQUEzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtJQUFJLENBQUM7SUFHcEQsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUdqQixZQUFZLENBQUMsQ0FBQztRQUNaLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM5RCxDQUFDO3VHQVZVLHlCQUF5QjsyRkFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNQLCtDQUErQztvQkFDL0MsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOytFQUtDLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSXZCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tob3Jpem9udGFsU2Nyb2xsXScsXG4gICAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgnaG9yaXpvbnRhbFNjcm9sbCcpXG4gIHNjcm9sbFZhbHVlID0gNDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2hlZWwnLCBbJyRldmVudCddKVxuICBvbk1vdXNlV2hlZWwoZSkge1xuICAgIGNvbnN0IGRlbHRhID0gTWF0aC5tYXgoLTEsIE1hdGgubWluKDEsIGUud2hlZWxEZWx0YSB8fCAtZS5kZXRhaWwpKTtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbkBEaXJlY3RpdmUoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbdmVydGljYWxTY3JvbGxdJyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIEBJbnB1dCgndmVydGljYWxTY3JvbGwnKVxuICBzY3JvbGxWYWx1ZSA9IDQwO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3doZWVsJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZVdoZWVsKGUpIHtcbiAgICBjb25zdCBkZWx0YSA9IE1hdGgubWF4KC0xLCBNYXRoLm1pbigxLCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsKSk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCAtPSBkZWx0YSAqIHRoaXMuc2Nyb2xsVmFsdWU7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\nimport * as i0 from \"@angular/core\";\nexport class AXScrollModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective], imports: [CommonModule], exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXScrollModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n imports: [CommonModule],\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVE1RixNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBTFYsMkJBQTJCLEVBQUUseUJBQXlCLGFBQzNELFlBQVksYUFDWiwyQkFBMkIsRUFBRSx5QkFBeUI7d0dBR3JELGNBQWMsWUFKZixZQUFZOzsyRkFJWCxjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUN0RSxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO29CQUNqRSxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhIb3Jpem9udGFsU2Nyb2xsRGlyZWN0aXZlLCBBWFZlcnRpY2FsU2Nyb2xsRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWEhvcml6b250YWxTY3JvbGxEaXJlY3RpdmUsIEFYVmVydGljYWxTY3JvbGxEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2Nyb2xsTW9kdWxlIHsgfVxuIl19","import { Pipe, Injectable } from '@angular/core';\nimport { AXConfig } from '../../services/config';\nimport * as i0 from \"@angular/core\";\n// export class AXSeparatorPipe2 implements PipeTransform {\n// transform(value: any) {\n// if (value) {\n// return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n// } else {\n// return '0';\n// }\n// }\n// }\nexport class AXSeparatorPipe {\n transform(value, currency = '', decimal = 0, locale = AXConfig.get('layout.rtl') ? 'fa' : 'en') {\n return (new Intl.NumberFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: decimal\n }).format(Number(value)) + (currency != '' ? ' ' + currency : ''));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, isStandalone: false, name: \"separator\" });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'separator',\n standalone: false\n }]\n }, {\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9zZXBhcmF0b3Ivc2VwYXJhdG9yLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFVakQsMkRBQTJEO0FBQzNELDRCQUE0QjtBQUM1QixtQkFBbUI7QUFDbkIsdUVBQXVFO0FBQ3ZFLGVBQWU7QUFDZixvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJO0FBQ0osTUFBTSxPQUFPLGVBQWU7SUFDMUIsU0FBUyxDQUFDLEtBQXNCLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFVBQWtCLENBQUMsRUFBRSxTQUFpQixRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDckksT0FBTyxDQUNMLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixxQkFBcUIsRUFBRSxPQUFPO1NBQy9CLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7dUdBUlUsZUFBZTtxR0FBZixlQUFlOzJHQUFmLGVBQWUsY0FaZCxNQUFNOzsyRkFZUCxlQUFlO2tCQWpCM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsV0FBVztvQkFDakIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOztrQkFDQSxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlnJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzZXBhcmF0b3InLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8vIGV4cG9ydCBjbGFzcyBBWFNlcGFyYXRvclBpcGUyIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4vLyAgIHRyYW5zZm9ybSh2YWx1ZTogYW55KSB7XG4vLyAgICAgaWYgKHZhbHVlKSB7XG4vLyAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCAnLCcpO1xuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICByZXR1cm4gJzAnO1xuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IG51bWJlciB8IHN0cmluZywgY3VycmVuY3k6IHN0cmluZyA9ICcnLCBkZWNpbWFsOiBudW1iZXIgPSAwLCBsb2NhbGU6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpID8gJ2ZhJyA6ICdlbicpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XG4gICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsXG4gICAgICB9KS5mb3JtYXQoTnVtYmVyKHZhbHVlKSkgKyAoY3VycmVuY3kgIT0gJycgPyAnICcgKyBjdXJyZW5jeSA6ICcnKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXSeparatorPipe } from './separator.pipe';\nimport * as i0 from \"@angular/core\";\nexport class AXSeparatorModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, declarations: [AXSeparatorPipe], imports: [CommonModule], exports: [AXSeparatorPipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXSeparatorModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AXSeparatorPipe],\n imports: [CommonModule],\n exports: [AXSeparatorPipe],\n providers: []\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3NlcGFyYXRvci9zZXBhcmF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFRbkQsTUFBTSxPQUFPLGlCQUFpQjt1R0FBakIsaUJBQWlCO3dHQUFqQixpQkFBaUIsaUJBTGIsZUFBZSxhQUNwQixZQUFZLGFBQ1osZUFBZTt3R0FHZCxpQkFBaUIsWUFKbEIsWUFBWTs7MkZBSVgsaUJBQWlCO2tCQU43QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBWFNlcGFyYXRvclBpcGUgfSBmcm9tICcuL3NlcGFyYXRvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQVhTZXBhcmF0b3JQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBWFNlcGFyYXRvclBpcGVdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYU2VwYXJhdG9yTW9kdWxlIHsgfVxuIl19","import { NgModule } from '@angular/core';\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\nimport { AXEventService } from './services/event.service';\nimport { AXStorageService } from './services/storage.service';\nimport { AXScrollModule } from './utils/scroll/scroll.module';\nimport { AXTranslatorModule } from './translator/translator.module';\nimport * as i0 from \"@angular/core\";\nconst PIPES = [AXDateTimePipe];\nconst MODULES = [AXScrollModule, AXTranslatorModule];\nconst SERVICES = [AXEventService,\n AXStorageService\n];\nexport class AXCoreModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, declarations: [AXDateTimePipe], imports: [AXScrollModule, AXTranslatorModule], exports: [AXDateTimePipe] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, providers: [...SERVICES], imports: [MODULES] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXCoreModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [...PIPES],\n imports: [...MODULES],\n exports: [...PIPES],\n providers: [...SERVICES]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRSxNQUFNLEtBQUssR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDckQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxjQUFjO0lBQzlCLGdCQUFnQjtDQUNqQixDQUFDO0FBU0YsTUFBTSxPQUFPLFlBQVk7dUdBQVosWUFBWTt3R0FBWixZQUFZLGlCQWJWLGNBQWMsYUFDWixjQUFjLEVBQUUsa0JBQWtCLGFBRHBDLGNBQWM7d0dBYWhCLFlBQVksYUFGWixDQUFDLEdBQUcsUUFBUSxDQUFDLFlBRlgsT0FBTzs7MkZBSVQsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNuQixTQUFTLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEYXRlVGltZVBpcGUgfSBmcm9tICcuL3BpcGUvZGF0ZXRpbWUucGlwZSc7XG5pbXBvcnQgeyBBWEV2ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBWFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhTY3JvbGxNb2R1bGUgfSBmcm9tICcuL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvck1vZHVsZSB9IGZyb20gJy4vdHJhbnNsYXRvci90cmFuc2xhdG9yLm1vZHVsZSc7XG5cbmNvbnN0IFBJUEVTID0gW0FYRGF0ZVRpbWVQaXBlXTtcbmNvbnN0IE1PRFVMRVMgPSBbQVhTY3JvbGxNb2R1bGUsIEFYVHJhbnNsYXRvck1vZHVsZV07XG5jb25zdCBTRVJWSUNFUyA9IFtBWEV2ZW50U2VydmljZSxcbiAgQVhTdG9yYWdlU2VydmljZVxuXTtcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5QSVBFU10sXG4gIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcbiAgZXhwb3J0czogWy4uLlBJUEVTXSxcbiAgcHJvdmlkZXJzOiBbLi4uU0VSVklDRVNdXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29yZU1vZHVsZSB7IH1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2Fjb3JleC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["en","fa","i1","i2.AXOnDemandPreloadService"],"mappings":";;;;;;;;;;;AAAO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,OAAO,CAAC,QAAQ,EAAE;AAC7B,QAAQ,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjF,QAAQ,OAAO,MAAM,GAAG;AACxB,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACtC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACtC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;AACrC,SAAS,GAAG,IAAI;AAChB,IAAI;AACJ,IAAI,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE;AACrC,QAAQ,IAAI,KAAK;AACjB,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE;AACvB,YAAY,KAAK,GAAG,CAAC;AACrB,QAAQ;AACR,aAAa;AACb,YAAY,KAAK,GAAG,CAAC;AACrB,QAAQ;AACR,QAAQ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG;AAC7C,QAAQ,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;AACvC,QAAQ,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAChF,QAAQ,OAAO,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,QAAQ,CAAC;AACzD,IAAI;AACJ;AACA,IAAI,OAAO,WAAW,CAAC,QAAQ,EAAE;AACjC,QAAQ,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtD,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvB,YAAY,OAAO,CAAC,CAAC;AACrB,QAAQ;AACR,QAAQ,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC5B,QAAQ,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC5B,QAAQ,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC5B,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;AACrC,YAAY,CAAC,IAAI,GAAG;AACpB,YAAY,OAAO,CAAC,CAAC,IAAI,OAAO;AAChC,gBAAgB,CAAC,GAAG,KAAK;AACzB,gBAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC;AACpD,QAAQ,CAAC,CAAC;AACV,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM;AAC5D,IAAI;AACJ,IAAI,OAAO,eAAe,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,gBAAgB,GAAG,CAAC;AAClC,QAAQ,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC7D,QAAQ,OAAO,gBAAgB,GAAG,WAAW;AAC7C,IAAI;AACJ;;AC/CA;AACO,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,aAAa,CAAC,GAAG,EAAE;AAC9B,QAAQ,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI;AAC3D,IAAI;AACJ,IAAI,OAAO,QAAQ,CAAC,GAAG,EAAE;AACzB,QAAQ,IAAI,IAAI;AAChB;AACA,QAAQ,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE;AACpD,YAAY,OAAO,GAAG;AACtB,QAAQ;AACR;AACA,QAAQ,IAAI,GAAG,YAAY,IAAI,EAAE;AACjC,YAAY,IAAI,GAAG,IAAI,IAAI,EAAE;AAC7B,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACvC,YAAY,OAAO,IAAI;AACvB,QAAQ;AACR;AACA,QAAQ,IAAI,GAAG,YAAY,KAAK,EAAE;AAClC,YAAY,IAAI,GAAG,EAAE;AACrB,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5D,gBAAgB,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ;AACR;AACA,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE;AACnC,YAAY,IAAI,GAAG,EAAE;AACrB,YAAY,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;AACpC,gBAAgB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC9C,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjE,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ;AACR,QAAQ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AACzE,IAAI;AACJ;AACO,SAAS,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AACpC,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACpB,QAAQ,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACjF,IAAI;AACJ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB;AACO,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE;AACrD,IAAI,IAAI,GAAG;AACX,SAAS,OAAO,CAAC,KAAK,EAAE,GAAG;AAC3B,SAAS,OAAO,CAAC,IAAI,EAAE,EAAE;AACzB,SAAS,KAAK,CAAC,GAAG,CAAC;AACnB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC5B,QAAQ,IAAI,GAAG,EAAE;AACjB,YAAY,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;AAC5B,QAAQ;AACR,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;AAC3B,QAAQ,OAAO,UAAU;AACzB,IAAI;AACJ,IAAI,OAAO,GAAG;AACd;AACO,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AAChD,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;AAC7B,QAAQ,OAAO,GAAG;AAClB,IAAI,CAAC;AACL;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC9B,QAAQ,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;AACvD,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACrC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B;AACA,UAAU,CAAC,CAAC,CAAC;AACb;AACA,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AAC3D,cAAc,EAAE;AAChB,cAAc,EAAE;AAChB,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACxC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB;;AC/EA;AACO,MAAM,QAAQ,CAAC;AACtB,IAAI,OAAO,SAAS,GAAG,EAAE;AACzB,IAAI,OAAO,iBAAiB,GAAG,IAAI,OAAO,EAAE;AAC5C,IAAI,WAAW,QAAQ,GAAG;AAC1B,QAAQ,OAAO,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE;AACxD,IAAI;AACJ,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE;AAC3B,QAAQ,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;AAC7C,YAAY,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AACzD,YAAY,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC/D,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;AAC7C,YAAY,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACnD,YAAY,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC/D,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;AAC5B,YAAY,OAAO,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAC5D,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE;AACrB,QAAQ,OAAO,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;AACtD,IAAI;AACJ;;ACzBO,MAAM,UAAU,CAAC;AACxB,IAAI,IAAI;AACR,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,WAAW,EAAE;AAC/E,QAAQ,IAAI,IAAI;AAChB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;AAClE,YAAY,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;AAC9C,QAAQ;AACR,aAAa,IAAI,KAAK,YAAY,IAAI,EAAE;AACxC,YAAY,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;AAC9C,QAAQ;AACR,aAAa,IAAI,KAAK,YAAY,UAAU,EAAE;AAC9C,YAAY,IAAI,GAAG,KAAK;AACxB,QAAQ;AACR,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,KAAK;AACT,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK;AACzB,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,EAAE;AACtB,QAAQ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI;AACzD,IAAI;AACJ,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,WAAW,EAAE;AACzF,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,KAAK,YAAY,IAAI,EAAE;AACnC,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK;AAC9B,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AACxC,QAAQ;AACR,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,QAAQ;AACR,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ,QAAQ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;AACnD,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAClC,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACvC,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AACjC,IAAI;AACJ,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAClC,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACpC,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACpC,IAAI;AACJ,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAClC,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACnC,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC;AACxC,IAAI;AACJ,IAAI,IAAI,cAAc,GAAG;AACzB,QAAQ,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,QAAQ;AACR,QAAQ,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACjE,IAAI;AACJ,IAAI,IAAI,YAAY,GAAG;AACvB,QAAQ,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,QAAQ;AACR,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAC/E,IAAI;AACJ,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE;AACxC,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;AAC3D,IAAI;AACJ,IAAI,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE;AAC3C,QAAQ,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACnF,IAAI;AACJ,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE;AAC9B,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACxG,IAAI;AACJ,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACrF,IAAI;AACJ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrB,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAC1F,IAAI;AACJ,IAAI,OAAO,CAAC,MAAM,EAAE;AACpB,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACzF,IAAI;AACJ,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE;AAC7B,QAAQ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAChF,IAAI;AACJ,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,EAAE;AACjC,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxE,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI;AACJ,IAAI,OAAO,CAAC,IAAI,GAAG,KAAK,EAAE;AAC1B,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AACpG,IAAI;AACJ,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE;AACxB,QAAQ,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;AAClG,IAAI;AACJ,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC,EAAE;AAC3H,QAAQ,IAAI,MAAM,KAAK,GAAG,EAAE;AAC5B,YAAY,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACzC,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1C,IAAI;AACJ,IAAI,QAAQ,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,MAAM,EAAE;AAC5B,IAAI;AACJ,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE;AAC/B,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC9E,IAAI;AACJ,IAAI,mBAAmB,CAAC,KAAK,EAAE;AAC/B,QAAQ,MAAM,OAAO,GAAG;AACxB,YAAY,eAAe,EAAE,MAAM;AACnC,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,KAAK,EAAE,SAAS;AAC5B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,MAAM,EAAE,SAAS;AAC7B,YAAY,MAAM,EAAE;AACpB,SAAS;AACT,QAAQ,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;AAC1E,QAAQ,MAAM,IAAI,GAAG,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACtC,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACvC,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1C,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;AACpD,QAAQ,IAAI,GAAG,GAAG,EAAE;AACpB,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO;AACvH,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ,IAAI,sBAAsB,CAAC,KAAK,EAAE;AAClC;AACA,QAAQ,MAAM,OAAO,GAAG;AACxB,YAAY,eAAe,EAAE,MAAM;AACnC,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,KAAK,EAAE,SAAS;AAC5B,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,MAAM,EAAE,SAAS;AAC7B,YAAY,MAAM,EAAE;AACpB,SAAS;AACT,QAAQ,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC;AACrE,QAAQ,MAAM,IAAI,GAAG,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACrC,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACtC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACvD,QAAQ,IAAI,GAAG,GAAG,EAAE;AACpB,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO;AACvH,QAAQ,OAAO,GAAG;AAClB,IAAI;AACJ,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE;AACtD,QAAQ,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAQ,IAAI,IAAI;AAChB,QAAQ,IAAI,IAAI;AAChB,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC/B,YAAY,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,YAAY,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;AACvE,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AACpD,YAAY,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;AAC1E,QAAQ;AACR,QAAQ,QAAQ,IAAI;AACpB,YAAY,KAAK,QAAQ;AACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,OAAO;AACxB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,MAAM;AACvB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,KAAK;AACtB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,IAAI;AACrB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;AAC7B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB;AAChB,YAAY,KAAK,GAAG;AACpB,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,gBAAgB;AAChB;AACA,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/E,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAClF,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,CAAC,CAAC;AACrB,QAAQ;AACR,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE;AAClC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7E,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;AACnF,YAAY,OAAO,CAAC;AACpB,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,CAAC,CAAC;AACrB,QAAQ;AACR,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AACvC,IAAI;AACJ;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACjB,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,EAAE;AACtB,QAAQ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACzC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/C,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5K,IAAI;AACJ,IAAI,KAAK;AACT,IAAI,IAAI;AACR;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE;AACpC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS;AAClC,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO;AAC9B,IAAI;AACJ,IAAI,QAAQ,CAAC,IAAI,GAAG,MAAM,EAAE;AAC5B,QAAQ,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,QAAQ,OAAO,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;AAChC,IAAI;AACJ,IAAI,SAAS,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,QAAQ,EAAE;AAC9E,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;AACvI,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxD,QAAQ;AACR,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE;AACnD,QAAQ,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;AACxF,YAAY,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;AAClF,IAAI;AACJ,IAAI,eAAe,CAAC,IAAI,EAAE;AAC1B,QAAQ,QAAQ,IAAI;AACpB,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,KAAK;AAC5B,YAAY,KAAK,OAAO;AACxB,gBAAgB,OAAO,IAAI;AAC3B,YAAY,KAAK,MAAM;AACvB,gBAAgB,OAAO,GAAG;AAC1B;AACA,IAAI;AACJ;;ACjUO,MAAM,cAAc,CAAC;AAC5B,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;AACzC,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,OAAO,GAAG,IAAI;AAClB,IAAI,OAAO,GAAG,KAAK;AACnB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,SAAS;AACb,IAAI,IAAI;AACR,IAAI,KAAK,GAAG,UAAU;AACtB,IAAI,UAAU,GAAG,CAAC;AAClB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,OAAO;AACX;AACO,MAAM,UAAU,SAAS,cAAc,CAAC;AAC/C,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,OAAO,GAAG,KAAK;AACnB;AACO,MAAM,YAAY,SAAS,cAAc,CAAC;AACjD,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,cAAc,GAAG,KAAK;AAC1B;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ;;ACjCO,MAAM,SAAS,CAAC;AACvB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE;AAC1B,QAAQ,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI;AACrC,YAAY,CAAC,CAAC,KAAK,CAAC;AACpB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1B,QAAQ,OAAO,CAAC;AAChB,IAAI;AACJ,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ;AACjC,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,QAAQ,CAAC,EAAE,EAAE,CAAC;AACd,IAAI;AACJ,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM;AAChC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;;ACnBO,MAAM,YAAY,CAAC;AAC1B,IAAI,EAAE;AACN,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,OAAO;AACX,IAAI,OAAO;AACX;;ACJA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC,IAAI,QAAQ,GAAG,IAAI,YAAY,EAAE;AACjC,IAAI,KAAK,CAAC,IAAI,EAAE;AAChB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC3B,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,SAAS,CAAC,CAAC,EAAE;AACjB,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AACnC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC9K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;AACjI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACtBD,MAAC,4BAA4B,GAAG,IAAI,cAAc,CAAC,UAAU;AAClE,MAAM,cAAc,CAAC;AAC5B,IAAI,QAAQ;AACZ,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,IAAI;AACJ,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC;AACxE,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC/L,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;;AChBrD,MAAM,aAAa,CAAC;AAC3B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACtK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AACjJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAC9K;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,OAAO,EAAE,EAAE;AAC/B,oBAAoB,SAAS,EAAE,CAAC,cAAc,CAAC;AAC/C,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AChBD,MAAC,yBAAyB,GAAG,IAAI,cAAc,CAAC,gBAAgB;;ACDrE,MAAM,UAAU,CAAC;AACxB,IAAI,SAAS;AACb,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ;AACjC,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;AACpF,QAAQ,CAAC,EAAE,EAAE,CAAC;AACd,IAAI;AACJ,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM;AAClC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,KAAK,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM;AACjC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACrB,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM;AACpC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;;ACjBA;AACA;AACO,MAAM,aAAa,CAAC;AAC3B,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE;AAChC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC;AACvE,IAAI;AACJ,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AAC1B,QAAQ,MAAM,CAAC,GAAG,GAAG,GAAG;AACxB,QAAQ,MAAM,CAAC,MAAM,GAAG,KAAK;AAC7B,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,IAAI;AACJ,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AAC3B,QAAQ,MAAM,CAAC,GAAG,GAAG,GAAG;AACxB,QAAQ,MAAM,CAAC,MAAM,GAAG,MAAM;AAC9B,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,IAAI;AACJ,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AAC7B,QAAQ,MAAM,CAAC,GAAG,GAAG,GAAG;AACxB,QAAQ,MAAM,CAAC,MAAM,GAAG,QAAQ;AAChC,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,IAAI;AACJ,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE;AAC1B,QAAQ,MAAM,CAAC,GAAG,GAAG,GAAG;AACxB,QAAQ,MAAM,CAAC,MAAM,GAAG,KAAK;AAC7B,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,IAAI;AACJ,IAAI,OAAO,CAAC,MAAM,EAAE;AACpB,QAAQ,OAAO,IAAI,UAAU,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,KAAK;AAC3D,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AACjD,gBAAgB,IAAI,CAAC;AACrB,qBAAqB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAC/E;AACA,qBAAqB,SAAS,CAAC,CAAC,IAAI,KAAK;AACzC,oBAAoB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;AACrE,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK;AAC1B,oBAAoB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;AAChE,gBAAgB,CAAC,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;AACjD,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AAC/D,gBAAgB,IAAI,MAAM;AAC1B,oBAAoB,MAAM,CAAC,CAAC,CAAC;AAC7B,gBAAgB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrD,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,aAAa;AACb;AACA,YAAY,IAAI,MAAM;AACtB,gBAAgB,MAAM,CAAC,IAAI,CAAC;AAC5B,YAAY,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjD,QAAQ;AACR,IAAI;AACJ,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AACxC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO;AAC/B,gBAAgB,MAAM,CAAC,OAAO,GAAG,EAAE;AACnC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM;AAC9B,gBAAgB,MAAM,CAAC,MAAM,GAAG,EAAE;AAClC;AACA,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;AAC3D,oBAAoB,OAAO,CAAC,CAAC,CAAC;AAC9B,gBAAgB,CAAC,CAAC;AAClB,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC;AAC/B,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;AACrC,QAAQ,IAAI,QAAQ;AACpB,YAAY,QAAQ,EAAE;AACtB,QAAQ,IAAI,IAAI,CAAC,WAAW;AAC5B,YAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7C,IAAI;AACJ,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC5C,QAAQ,IAAI,CAAC,GAAG;AAChB,YAAY,OAAO,EAAE,CAAC,CAAC,OAAO;AAC9B,YAAY,MAAM,EAAE,CAAC,CAAC,MAAM;AAC5B,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE;AACtC,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,KAAK,EAAE,CAAC,CAAC,KAAK;AAC1B,SAAS;AACT,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,KAAK,CAAC,CAAC,CAAC;AACpB,QAAQ;AACR,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACxB,YAAY,IAAI,IAAI,CAAC,WAAW;AAChC,gBAAgB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACjD,QAAQ;AACR,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC7C,IAAI;AACJ,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,QAAQ,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE;AACvC,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE;AAC3C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACrD,gBAAgB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AAClD,gBAAgB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACjD,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE;AACrC,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE;AAC1C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACpD,gBAAgB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;AACjD,gBAAgB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC/C,YAAY;AACZ,QAAQ;AACR,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,MAAM,EAAE,MAAM;AAC1B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,MAAM;AACxD,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACxN,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAC3H;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;;AC7I9E,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,OAAO,GAAG;AACrB,QAAQ,OAAO;AACf,YAAY,QAAQ,EAAE,YAAY;AAClC,YAAY,SAAS,EAAE,CAAC,aAAa;AACrC,SAAS;AACT,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACrK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY;AAC5I,YAAY,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC7D,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE;AACjI,YAAY;AACZ,SAAS,EAAE,OAAO,EAAE,CAAC,YAAY;AACjC,YAAY,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,YAAY;AACpC,wBAAwB;AACxB,qBAAqB;AACrB,oBAAoB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC/C,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC7Bb,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC;AACzD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;AACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AACvD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;AACnF,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC;AACrF,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC5D,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK;AACxB;AACA,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;AACrC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ;AACA,IAAI,IAAI,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3D,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AACvD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;AACxE,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC;AAC9D,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK;AACjC,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;AAC3D,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK;AAC3B,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU;AAChC,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW;AAClC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,GAAG,GAAG;AAC5C,SAAS,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,GAAG,CAAC;AACxC,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK;AAC1B,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU;AAChC,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW;AAClC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC5C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,IAAI,QAAQ,MAAM,CAAC,GAAG,CAAC;AACvB,QAAQ,eAAe,CAAC,GAAG,CAAC;AAC5B,SAAS,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,GAAG,GAAG;AAC1C,aAAa,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC;AACjE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC;AAChE,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzC,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC;AAClE,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AACnF,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;AACnC,IAAI,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;AACtC,IAAI,OAAO,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC;AAC9C,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;AAC3D,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;AAC/F,MAAC,aAAa,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS;AAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;AAChE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,oBAAoB,CAAC;AACjE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAClE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAClE,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE,qBAAqB,CAAC;AACnE,MAAM,aAAa,GAAG;AACtB,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,UAAU,EAAE,UAAU;AAC1B,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,KAAK,EAAE,WAAW;AACtB,CAAC;AACM,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW;AACf,IAAI,MAAM;AACV;AACO,MAAM,UAAU,CAAC;AACxB,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE;AAC1B,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE;AACzB,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE;AAC1B,IAAI,KAAK,GAAG;AACZ,QAAQ,OAAO,QAAQ,CAAC,GAAG,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK;AAC5G,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,OAAO,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU;AACrD,IAAI;AACJ,IAAI,UAAU,GAAG;AACjB,QAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;AAClC,IAAI;AACJ,IAAI,EAAE,CAAC,IAAI,EAAE;AACb,QAAQ,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK;AACnD,IAAI;AACJ,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9D,QAAQ,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AACtC,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,MAAM,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9D,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AACzC,IAAI;AACJ,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC;AACrG,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,SAAS,CAAC,MAAM,EAAE,QAAQ;AAClC,aAAa,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACnC,aAAa,IAAI,CAAC,oBAAoB,EAAE;AACxC,aAAa,SAAS,CAAC,CAAC,CAAC,KAAK;AAC9B,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7B,gBAAgB,WAAW,EAAE,CAAC;AAC9B,gBAAgB,MAAM,EAAE;AACxB,aAAa,CAAC;AACd;AACA,YAAY,IAAI,CAAC,mBAAmB,EAAE;AACtC,QAAQ,CAAC,CAAC;AACV,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK;AAClD,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5B,gBAAgB,WAAW,EAAE,CAAC;AAC9B,gBAAgB,MAAM,EAAE;AACxB,aAAa,CAAC;AACd,QAAQ,CAAC,EAAE,IAAI,CAAC;AAChB,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK;AACnD,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7B,gBAAgB,WAAW,EAAE,CAAC;AAC9B,gBAAgB,MAAM,EAAE;AACxB,aAAa,CAAC;AACd,QAAQ,CAAC,EAAE,IAAI,CAAC;AAChB;AACA,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACrK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC5I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACnJhC,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;AAC7B,QAAQ,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AAC9C,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,YAAY,OAAO,IAAI,CAAC,QAAQ,EAAE;AAClC,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACtC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AACnK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACvJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACxBhC,MAAM,gBAAgB,CAAC;AAC9B,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,MAAM,SAAS,GAAG,cAAc;AAC5C,YAAY,MAAM,SAAS,GAAG,UAAU;AACxC,YAAY,MAAM,QAAQ,GAAG,SAAS;AACtC,YAAY,OAAO;AACnB,iBAAiB,OAAO,CAAC,SAAS,EAAE,EAAE;AACtC,iBAAiB,OAAO,CAAC,SAAS,EAAE,EAAE;AACtC,iBAAiB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AACtC,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AACrK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAChK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACxBN,MAAM,cAAc,CAAC;AAC5B,IAAI,IAAI,GAAG,EAAE;AACb,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE;AAC5B,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACpD,QAAQ,IAAI,CAAC,EAAE;AACf,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI;AAClC,gBAAgB,CAAC,CAAC,OAAO,CAAC;AAC1B,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI;AACJ,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE;AACtB,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AAClD,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;AACnC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,QAAQ;AACR,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/B,IAAI;AACJ,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE;AAC3B,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACpD,QAAQ,IAAI,CAAC,EAAE;AACf,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE;AACzB,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACzK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;AC9BN,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACtK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACzH;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACNN,MAAM,gBAAgB,CAAC;AAC9B,IAAI,GAAG,CAAC,GAAG,EAAE;AACb,QAAQ,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;AACxC,IAAI;AACJ,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;AACpB,QAAQ,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;AACxC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC3K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AAC9H;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACXb;AACO,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,IAAI,GAAG,IAAI;AACtB,IAAI,OAAO,iBAAiB,GAAG,IAAI,OAAO,EAAE;AAC5C,IAAI,WAAW,QAAQ,GAAG;AAC1B,QAAQ,OAAO,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAC5D,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;AAC7B,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvC,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;AAClD,gBAAgB,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;AACpD,YAAY;AACZ,YAAY,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;AAC3F,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,GAAG,CAAC,IAAI,EAAE;AACrB,QAAQ,YAAY,CAAC,IAAI,GAAG,IAAI;AAChC,QAAQ,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,IAAI;AACJ,IAAI,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AAClC,QAAQ,IAAI,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG;AACtG,QAAQ,IAAI,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACpD,YAAY,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzE,gBAAgB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;AACxE,gBAAgB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACtE,YAAY;AACZ,QAAQ;AACR,QAAQ,OAAO,QAAQ;AACvB,IAAI;AACJ;;AC7BO,MAAM,mBAAmB,CAAC;AACjC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;AACtB,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AACtC,IAAI;AACJ,IAAI,GAAG,CAAC,IAAI,EAAE;AACd,QAAQ,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9B,IAAI;AACJ,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3B,QAAQ,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;AACnD,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC9K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACzJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;AAC7C,SAAS,CAAC,EAAE,CAAC;;AChBN,MAAM,gBAAgB,CAAC;AAC9B,IAAI,WAAW,GAAG,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;AACnC,QAAQ,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;AACpD,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AACrK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC5J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,UAAU,EAAE,KAAK;AACrC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBhC,MAAM,kBAAkB,CAAC;AAChC,IAAI,WAAW,GAAG;AAClB,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,EAAEA,IAAE,CAAC;AACnC,QAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,EAAEC,IAAE,CAAC;AACnC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC3K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC5L,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;AAC7H;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,EAAE;AAC/B,oBAAoB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC/C,oBAAoB,YAAY,EAAE,CAAC,gBAAgB,CAAC;AACpD,oBAAoB,SAAS,EAAE,EAAE;AACjC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACtBvC;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;AAC7B,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9D,IAAI;AACJ,IAAI,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE;AACzC,QAAQ,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACzF,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE;AAC3B,QAAQ,OAAO,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5D,IAAI;AACJ,IAAI,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE;AAClC,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACrD,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,CAAC,IAAI,KAAK;AAChC,YAAY,IAAI,MAAM,GAAG,IAAI;AAC7B,YAAY,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACvC,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACjD,oBAAoB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC1C,oBAAoB,IAAI,CAAC,KAAK,KAAK,EAAE;AACrC,wBAAwB,MAAM,IAAI,GAAG,EAAE;AACvC,wBAAwB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;AAC/D,wBAAwB,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,4BAA4B,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACjE,4BAA4B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5C,4BAA4B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;AAC9D,4BAA4B,IAAI,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACtE,gCAAgC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,4BAA4B;AAC5B,iCAAiC;AACjC,gCAAgC,MAAM,GAAG,KAAK;AAC9C,4BAA4B;AAC5B,wBAAwB;AACxB,6BAA6B;AAC7B,4BAA4B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACjE,wBAAwB;AACxB,wBAAwB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC9C,4BAA4B,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AACxD,gCAAgC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAChD,gCAAgC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK;AAClD,gCAAgC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC7D,oCAAoC,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;AACtD,oCAAoC,QAAQ,CAAC,CAAC,SAAS;AACvD,wCAAwC,KAAK,OAAO;AACpD,4CAA4C,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;AACxG,4CAA4C;AAC5C,wCAAwC,KAAK,WAAW;AACxD,4CAA4C,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;AAC3G,4CAA4C;AAC5C,wCAAwC,KAAK,UAAU;AACvD,4CAA4C,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAClH,4CAA4C;AAC5C,wCAAwC,KAAK,cAAc;AAC3D,4CAA4C,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACnH,4CAA4C;AAC5C,wCAAwC,KAAK,YAAY;AACzD,4CAA4C,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpH,4CAA4C;AAC5C,wCAAwC,KAAK,UAAU;AACvD,4CAA4C,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAClH,4CAA4C;AAC5C,wCAAwC,KAAK,UAAU;AACvD,4CAA4C,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,SAAS;AACnF,4CAA4C;AAC5C,wCAAwC,KAAK,cAAc;AAC3D,4CAA4C,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC;AACtF,4CAA4C;AAC5C,wCAAwC;AACxC,4CAA4C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC;AACzF,4CAA4C,MAAM,GAAG,KAAK;AAC1D;AACA,gCAAgC;AAChC,qCAAqC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE;AAChE,gCAAgC;AAChC,qCAAqC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAClE,oCAAoC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACnD,oCAAoC,QAAQ,CAAC,CAAC,SAAS;AACvD,wCAAwC,KAAK,OAAO;AACpD,4CAA4C,MAAM,GAAG,EAAE,KAAK,EAAE;AAC9D,4CAA4C;AAC5C,wCAAwC,KAAK,WAAW;AACxD,4CAA4C,MAAM,GAAG,EAAE,KAAK,EAAE;AAC9D,4CAA4C;AAC5C,wCAAwC,KAAK,UAAU;AACvD,4CAA4C,MAAM,GAAG,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjG,4CAA4C;AAC5C,wCAAwC,KAAK,WAAW;AACxD,4CAA4C,MAAM,GAAG,EAAE,GAAG,EAAE;AAC5D,4CAA4C;AAC5C,wCAAwC,KAAK,iBAAiB;AAC9D,4CAA4C,MAAM,GAAG,EAAE,IAAI,EAAE;AAC7D,4CAA4C;AAC5C,wCAAwC,KAAK,cAAc;AAC3D,4CAA4C,MAAM,GAAG,EAAE,GAAG,EAAE;AAC5D,4CAA4C;AAC5C,wCAAwC,KAAK,oBAAoB;AACjE,4CAA4C,MAAM,GAAG,EAAE,IAAI,EAAE;AAC7D,4CAA4C;AAC5C,wCAAwC,KAAK,UAAU;AACvD,4CAA4C,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,SAAS;AACnF,4CAA4C;AAC5C,wCAAwC,KAAK,cAAc;AAC3D,4CAA4C,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC;AACtF,4CAA4C;AAC5C,wCAAwC;AACxC,4CAA4C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC;AACzF,4CAA4C,MAAM,GAAG,KAAK;AAC1D;AACA,gCAAgC;AAChC,qCAAqC;AACrC,oCAAoC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC;AAClF,oCAAoC,MAAM,GAAG,KAAK;AAClD,gCAAgC;AAChC,gCAAgC,IAAI,MAAM,EAAE;AAC5C,oCAAoC;AACpC,gCAAgC;AAChC,4BAA4B;AAC5B,wBAAwB;AACxB,oBAAoB;AACpB,oBAAoB,IAAI,CAAC,MAAM,EAAE;AACjC,wBAAwB,OAAO,KAAK;AACpC,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAClC,IAAI;AACJ;;ACnIO,MAAM,UAAU,CAAC;AACxB,IAAI,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AACjC,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAChE,IAAI;AACJ;;ACHO,MAAM,OAAO,CAAC;AACrB,IAAI,CAAC;AACL,IAAI,CAAC;AACL,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;AACtB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,IAAI;AACJ;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,KAAK;AACT,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK;AACzB,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE;AAChB,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC;AACtB,IAAI;AACJ,IAAI,IAAI;AACR,IAAI,IAAI,GAAG,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,IAAI;AACxB,IAAI;AACJ,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE;AACf,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC;AACrB,IAAI;AACJ,IAAI,MAAM;AACV,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACjB,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,IAAI;AACJ,IAAI,OAAO;AACX,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,OAAO;AAC3B,IAAI;AACJ,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC;AACxB,IAAI;AACJ,IAAI,MAAM;AACV,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,MAAM;AAC1B,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;AACjB,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC;AACvB,IAAI;AACJ,IAAI,OAAO;AACX,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,OAAO;AAC3B,IAAI;AACJ,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC;AACxB,IAAI;AACJ,IAAI,WAAW,CAAC,GAAG,EAAE;AACrB,QAAQ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI;AAC7B,QAAQ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM;AACjC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM;AAC9C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO;AAC/C,IAAI;AACJ,IAAI,SAAS,CAAC,GAAG,EAAE;AACnB,QAAQ,QAAQ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK;AAChD,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI;AAC7C,YAAY,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM;AAC3C,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG;AAC5C,IAAI;AACJ;AACA;AACO,MAAM,UAAU,CAAC;AACxB,IAAI,OAAO,oBAAoB,CAAC,EAAE,EAAE,SAAS,EAAE;AAC/C,QAAQ,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE;AAC9C,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW;AACpC,QAAQ,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY;AACtC,QAAQ,QAAQ,SAAS;AACzB,YAAY,KAAK,WAAW;AAC5B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;AACrD,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AACnE,YAAY,KAAK,SAAS;AAC1B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;AAC/D,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9E,YAAY,KAAK,YAAY;AAC7B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC1E,YAAY,KAAK,eAAe;AAChC,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC9E,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAChE,YAAY,KAAK,cAAc;AAC/B,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,YAAY;AACZ,gBAAgB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;AAC9E;AACA,IAAI;AACJ,IAAI,OAAO,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE;AAClC,QAAQ,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC5H,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE;AAC1C,QAAQ,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,EAAE;AACvD,QAAQ,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE;AAC5C,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK;AAChC,YAAY,GAAG,EAAE,OAAO,CAAC,GAAG;AAC5B,YAAY,MAAM,EAAE,OAAO,CAAC;AAC5B,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,OAAO,aAAa,GAAG;AAC3B,QAAQ,IAAI,IAAI,GAAG,GAAG;AACtB,QAAQ,IAAI,IAAI,GAAG,GAAG;AACtB,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;AACxD,YAAY,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW;AAC5C,YAAY,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY;AAC7C,QAAQ;AACR,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,YAAY,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE;AACtH,YAAY,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW;AACvD,YAAY,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY;AACxD,QAAQ;AACR,QAAQ,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE;AACrD,YAAY,IAAI,GAAG,MAAM,CAAC,UAAU;AACpC,YAAY,IAAI,GAAG,MAAM,CAAC,WAAW;AACrC,QAAQ;AACR,QAAQ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AAC5C,IAAI;AACJ,IAAI,OAAO,cAAc,CAAC,IAAI,EAAE;AAChC,QAAQ,IAAI,OAAO,GAAG,IAAI;AAC1B,QAAQ,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW;AACzC,QAAQ,IAAI,KAAK,GAAG,CAAC;AACrB,QAAQ,OAAO,OAAO,CAAC,YAAY,EAAE;AACrC,YAAY,KAAK,IAAI,OAAO,CAAC,UAAU;AACvC,YAAY,OAAO,GAAG,OAAO,CAAC,YAAY;AAC1C,QAAQ;AACR,QAAQ,KAAK,IAAI,OAAO,CAAC,UAAU;AACnC,QAAQ,KAAK,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,KAAK;AACxD,QAAQ,KAAK,IAAI,KAAK;AACtB,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,OAAO,MAAM,GAAG;AACpB,QAAQ,OAAO,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE;AAChF,IAAI;AACJ,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;AACpE,QAAQ,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACrC,QAAQ,MAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5E,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,QAAQ,IAAI,IAAI,GAAG,CAAC;AACpB,QAAQ,QAAQ,SAAS;AACzB,YAAY,KAAK,WAAW;AAC5B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC;AACjC,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC;AAClC,gBAAgB;AAChB,YAAY,KAAK,YAAY;AAC7B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC;AACjC,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;AAC3D,gBAAgB;AAChB,YAAY,KAAK,SAAS;AAC1B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC;AACjC,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;AACvD,gBAAgB;AAChB,YAAY,KAAK,YAAY;AAC7B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AAC3D,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;AACvD,gBAAgB;AAChB,YAAY,KAAK,YAAY;AAC7B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY;AACvD,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;AACvD,gBAAgB;AAChB,YAAY,KAAK,eAAe;AAChC,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY;AACvD,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;AAC3D,gBAAgB;AAChB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY;AACvD,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC;AAClC,gBAAgB;AAChB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;AAC3D,gBAAgB,IAAI,GAAG,SAAS,CAAC,CAAC;AAClC,gBAAgB;AAChB;AACA,QAAQ,MAAM,CAAC,CAAC,GAAG,GAAG;AACtB,QAAQ,MAAM,CAAC,CAAC,GAAG,IAAI;AACvB,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ,IAAI,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AAC3B,QAAQ,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,EAAE;AAC5C,QAAQ,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,EAAE;AAC5C,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI;AACxE,YAAY,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;AACxE,YAAY,OAAO,IAAI;AACvB,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,KAAK;AACxB,QAAQ;AACR,IAAI;AACJ;;AClMO,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACrK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC/M,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAChJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,CAAC,gBAAgB,CAAC;AACpD,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC/C,oBAAoB,SAAS,EAAE;AAC/B,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACbN,MAAM,wBAAwB,CAAC;AACtC,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE;AAC3B,IAAI,GAAG;AACP,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE;AACtC,IAAI;AACJ,IAAI,YAAY,CAAC,SAAS,EAAE;AAC5B,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACnL,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;AACtI;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACbhC,MAAM,eAAe,CAAC;AAC7B,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,wBAAwB;AAC5B,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,QAAQ;AACZ,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE;AACpG,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM;AAC5B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM;AAC5B,QAAQ,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;AAChE,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;AACxD,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,IAAI;AACJ,IAAI,eAAe,CAAC,cAAc,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE;AAC5D,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,cAAc,CAAC;AACtG,QAAQ,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AACnE,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;AACrD,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;AACrD;AACA,QAAQ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1D,QAAQ,YAAY,CAAC,SAAS,CAAC,MAAM;AACrC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC;AACzD,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;AACzC,QAAQ;AACR,aAAa;AACb,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AAC9C,QAAQ;AACR,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE;AAC1D,QAAQ,CAAC,EAAE,CAAC,CAAC;AACb,QAAQ,OAAO,YAAY;AAC3B,IAAI;AACJ,IAAI,0BAA0B,CAAC,IAAI,EAAE,WAAW,GAAG,EAAE,EAAE;AACvD,QAAQ,MAAM,KAAK,GAAG,GAAG;AACzB,QAAQ,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK;AAC/C,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,KAAK,GAAG,IAAI;AAC5B,YAAY,IAAI,OAAO,GAAG,KAAK;AAC/B,YAAY,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK;AACnC,gBAAgB,UAAU,CAAC,YAAY;AACvC,oBAAoB,KAAK,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;AACxE,oBAAoB,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;AAC9C,wBAAwB,IAAI,CAAC,OAAO,EAAE;AACtC,4BAA4B,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC;AACxE,4BAA4B,OAAO,GAAG,IAAI;AAC1C,wBAAwB;AACxB,wBAAwB,OAAO,CAAC,CAAC,CAAC;AAClC,oBAAoB;AACpB,yBAAyB,IAAI,KAAK,EAAE;AACpC,wBAAwB,OAAO,CAAC,KAAK,CAAC;AACtC,oBAAoB;AACpB,yBAAyB;AACzB,wBAAwB,MAAM,EAAE;AAChC,oBAAoB;AACpB,gBAAgB,CAAC,EAAE,KAAK,CAAC;AACzB,YAAY,CAAC;AACb,YAAY,OAAO,CAAC,IAAI,CAAC;AACzB,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,MAAM,2BAA2B,CAAC,MAAM,EAAE;AAC9C,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,QAAQ,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK;AAC5C,YAAY,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;AACtC,gBAAgB,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AAChD,oBAAoB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC7C,oBAAoB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,UAAU;AACpH,oBAAoB,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE;AAC5G,wBAAwB,KAAK,GAAG,KAAK;AACrC,wBAAwB;AACxB,oBAAoB;AACpB,yBAAyB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC9F,wBAAwB,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;AACrG,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAC5C,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;AACtD,gBAAgB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE;AAC9D,oBAAoB,KAAK,GAAG,KAAK;AACjC,gBAAgB;AAChB,qBAAqB,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC7F,oBAAoB,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;AAC5G,gBAAgB;AAChB,gBAAgB,IAAI,KAAK;AACzB,oBAAoB;AACpB,YAAY;AACZ,QAAQ;AACR,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,KAAK,EAAEC,IAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAwB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAEC,wBAA2B,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC5V,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,EAAED,IAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAEC,wBAA2B,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;;ACvGnN;AACO,SAAS,gCAAgC,GAAG;AACnD,IAAI,OAAO,IAAI,wBAAwB,EAAE;AACzC;AACO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC1K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;AAC5H,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE;AACtI,YAAY;AACZ,gBAAgB,OAAO,EAAE,wBAAwB;AACjD,gBAAgB,UAAU,EAAE;AAC5B,aAAa;AACb,YAAY;AACZ,SAAS,EAAE,CAAC;AACZ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,EAAE;AAC/B,oBAAoB,OAAO,EAAE,EAAE;AAC/B,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,wBAAwB;AAC7D,4BAA4B,UAAU,EAAE;AACxC,yBAAyB;AACzB,wBAAwB;AACxB,qBAAqB;AACrB,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC9BN,MAAM,2BAA2B,CAAC;AACzC,IAAI,EAAE;AACN,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE;AACpB,IAAI;AACJ,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,YAAY,CAAC,CAAC,EAAE;AACpB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW;AACpE,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC7M,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACpT;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,oBAAoB;AAClD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC;AAC7F,gBAAgB,IAAI,EAAE,KAAK;AAC3B,gBAAgB,IAAI,EAAE,CAAC,kBAAkB;AACzC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;AAC1C,aAAa,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,yBAAyB,CAAC;AACvC,IAAI,EAAE;AACN,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE;AACpB,IAAI;AACJ,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,YAAY,CAAC,CAAC,EAAE;AACpB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW;AACnE,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC3M,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9S;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,kBAAkB;AAChD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC;AAC7F,gBAAgB,IAAI,EAAE,KAAK;AAC3B,gBAAgB,IAAI,EAAE,CAAC,gBAAgB;AACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;AAC1C,aAAa,CAAC,EAAE,EAAE,CAAC;;ACpDZ,MAAM,cAAc,CAAC;AAC5B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACvK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,CAAC,EAAE,CAAC;AAC7R,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AAClJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;AAC1F,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,OAAO,EAAE,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;AACrF,oBAAoB,SAAS,EAAE;AAC/B,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACdb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,eAAe,CAAC;AAC7B,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE;AACpG,QAAQ,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC9C,YAAY,qBAAqB,EAAE,CAAC;AACpC,YAAY,qBAAqB,EAAE;AACnC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,EAAE,GAAG,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AACzE,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AACpK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/J,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,EAAE;AACX,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC9BN,MAAM,iBAAiB,CAAC;AAC/B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC1K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;AAClN,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;AACrJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,CAAC,eAAe,CAAC;AACnD,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,OAAO,EAAE,CAAC,eAAe,CAAC;AAC9C,oBAAoB,SAAS,EAAE;AAC/B,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACVb,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC;AAC9B,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACpD,MAAM,QAAQ,GAAG,CAAC,cAAc;AAChC,IAAI;AACJ,CAAC;AACM,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AACrK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;AACjO,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AACrK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC;AAC5C,oBAAoB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACzC,oBAAoB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;AACvC,oBAAoB,SAAS,EAAE,CAAC,GAAG,QAAQ;AAC3C,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACzBb;AACA;AACA;;;;"}
|