{"version":3,"file":"index.cjs","sources":["../../node_modules/chalk/source/vendor/ansi-styles/index.js","../../node_modules/chalk/source/vendor/supports-color/browser.js","../../node_modules/chalk/source/utilities.js","../../node_modules/chalk/source/index.js","../../node_modules/note-down/index.js","../../src/logger/index.js"],"sourcesContent":["const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","/* eslint-env browser */\n\nconst level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (globalThis.navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand && brand.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\tif (/\\b(Chrome|Chromium)\\//.test(globalThis.navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n","import util from 'node:util';\nimport path from 'node:path';\n\nimport chalk from 'chalk';\n\nconst createNoteDownInstance = function () {\n    var noteDown = {};\n\n    var getLine = function () {\n        // TODO: * Check if it works fine with Windows paths\n\n        let callSites = util.getCallSites();\n\n        const ignoreLogsFor = noteDown.getComputedOption('ignoreLogsFor') || [];\n        for (const entryToIgnore of ignoreLogsFor) {\n            callSites = callSites.filter(function (callSite) {\n                if (callSite.scriptName.indexOf(entryToIgnore) >= 0) {\n                    return false;\n                }\n                return true;\n            });\n        }\n\n        const relevantCallSite = callSites[6];\n\n        let scriptName = relevantCallSite.scriptName;\n        scriptName = scriptName.replace(/^file:\\/\\/\\//, '/'); // Seemingly, useful for cases like TypeScript (was last tested before moving to `util.getCallSites()` API)\n        if (noteDown.getComputedOption('basePath')) {\n            var filePathAndLine = scriptName;\n            var match = filePathAndLine.match(/:/g);\n            var extractedPath = filePathAndLine;\n            if (match && match.length >= 2) {\n                extractedPath = extractedPath.substr(0, extractedPath.lastIndexOf(':'));\n                extractedPath = extractedPath.substr(0, extractedPath.lastIndexOf(':'));\n            }\n\n            var relativePath = path.relative(noteDown.getComputedOption('basePath'), extractedPath);\n\n            scriptName = relativePath + filePathAndLine.replace(extractedPath, '');\n        }\n        const lineNumber = relevantCallSite.lineNumber;\n        const column = relevantCallSite.column;\n        const line = scriptName + ':' + lineNumber + ':' + column;\n\n        return line;\n    };\n\n    const deviceNameIfAvailableInGray = (function () {\n        // $ export NOTE_DOWN_DEVICE_NAME=\"example.com\"\n        const deviceName = process.env.NOTE_DOWN_DEVICE_NAME;\n\n        if (deviceName) {\n            return chalk.gray.dim('[' + process.env.NOTE_DOWN_DEVICE_NAME + '] ');\n        } else {\n            return '';\n        }\n    }());\n\n    var log = function (msg, logItAs) {\n        if (noteDown.getComputedOption('disabled')) {\n            // do nothing (because logging is disabled)\n        } else {\n            const loggingFn = (() => {\n                if (logItAs === 'error') {\n                    return console.error;\n                } else if (logItAs === 'warning') {\n                    return console.warn;\n                } else {\n                    return console.log;\n                }\n            })();\n            if (noteDown.getComputedOption('showLogLine')) {\n                loggingFn(deviceNameIfAvailableInGray + msg + chalk.gray.dim(' @ ' + getLine()));\n            } else {\n                loggingFn(deviceNameIfAvailableInGray + msg);\n            }\n        }\n    };\n\n    var idempotent = function (param) {\n        return param;\n    };\n\n    var logIt = function (passedArguments, processFn, logItAs = 'log') {\n        var i;\n        let output = [];\n        for (i = 0; i < passedArguments.length; i++) {\n            var passedArgument = passedArguments[i];\n\n            // TODO: Cover various data types\n            if (\n                typeof passedArgument === 'undefined' ||\n                passedArgument === Infinity ||\n                (typeof passedArgument === 'number' && isNaN(passedArgument))\n            ) {\n                output.push(processFn(String(passedArgument)));\n            } else if (passedArgument instanceof Error) {\n                output.push(processFn(String(passedArgument)));\n                output.push(processFn(passedArgument.stack));\n            } else if (passedArgument instanceof Set) {\n                const setAsArray = Array.from(passedArgument);\n                output.push(processFn('Set(' + setAsArray.length + ') ' + JSON.stringify(setAsArray)));\n            } else if (typeof passedArgument === 'string') {\n                output.push(processFn(passedArgument));\n            } else {\n                output.push(processFn(JSON.stringify(passedArgument)));\n            }\n        }\n\n        const result = output.join(' ');\n        log(result, logItAs);\n    };\n\n    var logItAsLog = function (passedArguments, processFn) {\n        logIt(passedArguments, processFn, 'log');\n    };\n\n    var logItAsWarning = function (passedArguments, processFn) {\n        logIt(passedArguments, processFn, 'warning');\n    };\n\n    var logItAsError = function (passedArguments, processFn) {\n        logIt(passedArguments, processFn, 'error');\n    };\n\n    // debugCategoryList would be used to decide whether to log the .debug(message, category) calls or not\n    var debugCategoryList = {};\n    // Examples:\n    // {} - All noteDown.debug() messages would be printed\n    // { '*': 'enabled' } - All noteDown.debug() messages would be printed\n    // { 'TEST': 'disabled' } - All noteDown.debug() messages, except noteDown.debug(<message>, 'TEST') would be printed\n    // { '*': 'disabled' } - No noteDown.debug() messages would be printed\n    // { '*': 'disabled', 'TEST': 'enabled' } - Only noteDown.debug(<message>, 'TEST') messages would be printed\n\n    /*\n        operation: enable/disable/delete/get/getAll\n        category: any string\n    */\n    noteDown.debugCategoryOperation = function (operation, category) {\n        if (['enable', 'disable', 'delete', 'get'].indexOf(operation) >= 0) {\n            if (category && typeof category === 'string') {\n                if (operation === 'enable') {\n                    debugCategoryList[category] = 'enabled';\n                } else if (operation === 'disable') {\n                    debugCategoryList[category] = 'disabled';\n                } else if (operation === 'delete') {\n                    delete debugCategoryList[category];\n                } else if (operation === 'get') {\n                    return debugCategoryList[category];\n                } else if (operation === 'getAll') {\n                    return debugCategoryList;\n                } else {\n                    console.log('Warning: The code should never reach this line. Please report a bug in this package.');\n                }\n            } else {\n                console.log('Warning: Unexpected category for debugCategoryOperation');\n            }\n        } else if (operation === 'getAll') {\n            return debugCategoryList;\n        } else {\n            console.log('Warning: Unexpected operation for debugCategoryOperation');\n        }\n\n        // Make this function call chainable for the cases where it has not returned some data\n        return noteDown;\n    };\n\n\n    var fnMap = {\n        error:          function () { logItAsError(arguments, chalk.red); },\n        errorHeading:   function () { logItAsError(arguments, chalk.white.bgRed); },\n        fatal:          function () { logItAsError(arguments, chalk.white.bgRed); },\n        fixme:          function () { logItAsWarning(arguments, chalk.yellow); },\n        help:           function () { logItAsLog(arguments, chalk.black.bgWhite); },\n        info:           function () { logItAsLog(arguments, chalk.cyan); },\n        log:            function () { logItAsLog(arguments, idempotent); },\n        success:        function () { logItAsLog(arguments, chalk.green); },\n        todo:           function () { logItAsWarning(arguments, chalk.yellow); },\n        trace:          function () { logItAsLog(arguments, chalk.yellow); },\n        warn:           function () { logItAsWarning(arguments, chalk.yellow); },\n        warnHeading:    function () { logItAsWarning(arguments, chalk.black.bgYellow); },\n\n        data: function () {\n            logItAsLog(arguments, function (msg) {\n                return chalk.magenta(util.inspect(msg, {\n                    showHidden: false,\n                    depth: null,\n                    colors: true\n                }));\n            });\n        },\n        debug: function (msg, category) {\n            var showMessage = true;\n            if (debugCategoryList['*'] === 'disabled' || debugCategoryList[category] === 'disabled') {\n                showMessage = false;\n            }\n            if (debugCategoryList[category] === 'enabled') {\n                showMessage = true;\n            }\n            if (showMessage) {\n                logItAsLog([category + ': ' + msg], chalk.cyan);\n            }\n        },\n        json: function () {\n            logItAsLog(arguments, function (msg) {\n                return chalk.magenta(util.inspect(msg, {\n                    showHidden: false,\n                    depth: null,\n                    colors: true\n                }));\n            });\n        },\n        verbose: function () {\n            logItAsLog(arguments, function (msg) {\n                if (typeof msg !== 'string') {\n                    msg = util.inspect(msg, {\n                        showHidden: false,\n                        depth: null\n                    });\n                }\n                return chalk.dim(msg);\n            });\n        }\n    };\n\n    Object.keys(fnMap).forEach(function (key) {\n        noteDown[key] = function () {\n            fnMap[key].apply(this, arguments);\n        };\n    });\n\n    var globalPrefix = '_noteDown_';\n\n    // Get/Set an option\n    noteDown.option = function (name, value, globalSetting) {\n        if (value === undefined) {\n            if (globalSetting) {\n                return global[globalPrefix + name];\n            } else {\n                return options[name];\n            }\n        } else {\n            if (globalSetting) {\n                global[globalPrefix + name] = value;\n            } else {\n                options[name] = value;\n            }\n            return noteDown;\n        }\n    };\n\n    // Remove an option\n    noteDown.removeOption = function (name, globalSetting) {\n        if (globalSetting) {\n            delete global[globalPrefix + name];\n        } else {\n            delete options[name];\n        }\n    };\n\n    // Get the computed value for the option (value set for the option and fallback to the global value)\n    noteDown.getComputedOption = function (name) { return noteDown.option(name) || noteDown.option(name, undefined, true); };\n\n    noteDown.off = noteDown.disable = function () { noteDown.option('disabled', true);  };\n    noteDown.on  = noteDown.enable  = function () { noteDown.option('disabled', false); };\n\n    noteDown.chalk = chalk;\n\n    // Options object\n    var options = {\n        disabled: noteDown.option('disabled', undefined, true) || undefined,\n        basePath: noteDown.option('basePath', undefined, true) || process.cwd() || undefined,\n        showLogLine: noteDown.option('showLogLine', undefined, true) || true\n    };\n\n    return noteDown;\n};\n\nconst noteDown = createNoteDownInstance();\nconst logger = noteDown;\n\nexport {\n    createNoteDownInstance,\n    noteDown,\n    logger\n};\n","import { noteDown } from './noteDown.js';\n\nconst logger = noteDown;\n\nexport { logger };\n"],"names":["wrapAnsi16","offset","code","wrapAnsi256","wrapAnsi16m","red","green","blue","styles","modifier","reset","bold","dim","italic","underline","overline","inverse","hidden","strikethrough","color","black","yellow","magenta","cyan","white","blackBright","gray","grey","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgColor","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgBlackBright","bgGray","bgGrey","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","Object","keys","ansiStyles","codes","Map","groupName","group","entries","styleName","style","open","close","set","defineProperty","value","enumerable","ansi","ansi256","ansi16m","defineProperties","rgbToAnsi256","Math","round","hexToRgb","hex","matches","exec","toString","colorString","length","map","character","join","integer","Number","parseInt","hexToAnsi256","ansi256ToAnsi","remainder","floor","max","result","rgbToAnsi","hexToAnsi","assembleStyles","level","globalThis","navigator","userAgentData","brand","brands","find","version","test","userAgent","colorSupport","supportsColor","stdout","stderr","stringReplaceAll","string","substring","replacer","index","indexOf","substringLength","endIndex","returnValue","slice","stdoutColor","stderrColor","GENERATOR","Symbol","STYLER","IS_EMPTY","levelMapping","create","chalkFactory","options","chalk","strings","object","isInteger","Error","colorLevel","undefined","applyOptions","setPrototypeOf","createChalk","prototype","Function","get","builder","createBuilder","this","createStyler","visible","getModelAnsi","model","type","arguments_","usedModels","styler","toUpperCase","proto","parent","openAll","closeAll","self","_styler","_isEmpty","applyStyle","includes","lfIndex","prefix","postfix","gotCR","stringEncaseCRLFWithFirstIndex","logger","noteDown","deviceNameIfAvailableInGray","process","env","NOTE_DOWN_DEVICE_NAME","log","msg","logItAs","getComputedOption","loggingFn","console","error","warn","callSites","util","getCallSites","ignoreLogsFor","entryToIgnore","filter","callSite","scriptName","relevantCallSite","replace","filePathAndLine","match","extractedPath","substr","lastIndexOf","path","relative","lineNumber","column","getLine","idempotent","param","logIt","passedArguments","processFn","i","output","passedArgument","Infinity","isNaN","push","String","stack","Set","setAsArray","Array","from","JSON","stringify","logItAsLog","logItAsWarning","logItAsError","debugCategoryList","debugCategoryOperation","operation","category","fnMap","arguments","errorHeading","fatal","fixme","help","info","success","todo","trace","warnHeading","data","inspect","showHidden","depth","colors","debug","showMessage","json","verbose","forEach","key","apply","option","name","globalSetting","global","removeOption","off","disable","on","enable","disabled","basePath","cwd","showLogLine","createNoteDownInstance"],"mappings":";;AAAA,MAEMA,WAAa,CAACC,OAAS,IAAMC,MAAQ,KAAUA,KAAOD,UAEtDE,YAAc,CAACF,OAAS,IAAMC,MAAQ,KAAU,GAAKD,YAAYC,QAEjEE,YAAc,CAACH,OAAS,IAAM,CAACI,IAAKC,MAAOC,OAAS,KAAU,GAAKN,YAAYI,OAAOC,SAASC,QAE/FC,SAAS,CACdC,SAAU,CACTC,MAAO,CAAC,EAAG,GAEXC,KAAM,CAAC,EAAG,IACVC,IAAK,CAAC,EAAG,IACTC,OAAQ,CAAC,EAAG,IACZC,UAAW,CAAC,EAAG,IACfC,SAAU,CAAC,GAAI,IACfC,QAAS,CAAC,EAAG,IACbC,OAAQ,CAAC,EAAG,IACZC,cAAe,CAAC,EAAG,KAEpBC,MAAO,CACNC,MAAO,CAAC,GAAI,IACZf,IAAK,CAAC,GAAI,IACVC,MAAO,CAAC,GAAI,IACZe,OAAQ,CAAC,GAAI,IACbd,KAAM,CAAC,GAAI,IACXe,QAAS,CAAC,GAAI,IACdC,KAAM,CAAC,GAAI,IACXC,MAAO,CAAC,GAAI,IAGZC,YAAa,CAAC,GAAI,IAClBC,KAAM,CAAC,GAAI,IACXC,KAAM,CAAC,GAAI,IACXC,UAAW,CAAC,GAAI,IAChBC,YAAa,CAAC,GAAI,IAClBC,aAAc,CAAC,GAAI,IACnBC,WAAY,CAAC,GAAI,IACjBC,cAAe,CAAC,GAAI,IACpBC,WAAY,CAAC,GAAI,IACjBC,YAAa,CAAC,GAAI,KAEnBC,QAAS,CACRC,QAAS,CAAC,GAAI,IACdC,MAAO,CAAC,GAAI,IACZC,QAAS,CAAC,GAAI,IACdC,SAAU,CAAC,GAAI,IACfC,OAAQ,CAAC,GAAI,IACbC,UAAW,CAAC,GAAI,IAChBC,OAAQ,CAAC,GAAI,IACbC,QAAS,CAAC,GAAI,IAGdC,cAAe,CAAC,IAAK,IACrBC,OAAQ,CAAC,IAAK,IACdC,OAAQ,CAAC,IAAK,IACdC,YAAa,CAAC,IAAK,IACnBC,cAAe,CAAC,IAAK,IACrBC,eAAgB,CAAC,IAAK,IACtBC,aAAc,CAAC,IAAK,IACpBC,gBAAiB,CAAC,IAAK,IACvBC,aAAc,CAAC,IAAK,IACpBC,cAAe,CAAC,IAAK;AAIMC,OAAOC,KAAK/C,SAAOC;AACZ6C,OAAOC,KAAK/C,SAAOW,OACnBmC,OAAOC,KAAK/C,SAAO2B;AAuJvD,MAAMqB,WApJN,WACC,MAAMC,MAAQ,IAAIC;AAElB,IAAK,MAAOC,UAAWC,SAAUN,OAAOO,QAAQrD,UAAS,CACxD,IAAK,MAAOsD,UAAWC,SAAUT,OAAOO,QAAQD,OAAQ,CACvDpD,SAAOsD,WAAa,CACnBE,KAAM,KAAUD,MAAM,MACtBE,MAAO,KAAUF,MAAM;AAGxBH,MAAME,WAAatD,SAAOsD;AAE1BL,MAAMS,IAAIH,MAAM,GAAIA,MAAM,GAC3B,CAEAT,OAAOa,eAAe3D,SAAQmD,UAAW,CACxCS,MAAOR,MACPS,YAAY,GAEd,CAEAf,OAAOa,eAAe3D,SAAQ,QAAS,CACtC4D,MAAOX,MACPY,YAAY;AAGb7D,SAAOW,MAAM8C,MAAQ;AACrBzD,SAAO2B,QAAQ8B,MAAQ;AAEvBzD,SAAOW,MAAMmD,KAAOtE;AACpBQ,SAAOW,MAAMoD,QAAUpE;AACvBK,SAAOW,MAAMqD,QAAUpE;AACvBI,SAAO2B,QAAQmC,KAAOtE,WAxGQ;AAyG9BQ,SAAO2B,QAAQoC,QAAUpE,YAzGK;AA0G9BK,SAAO2B,QAAQqC,QAAUpE,YA1GK;AA6G9BkD,OAAOmB,iBAAiBjE,SAAQ,CAC/BkE,aAAc,CACbN,MAAK,CAAC/D,IAAKC,MAAOC,OAGbF,MAAQC,OAASA,QAAUC,KAC1BF,IAAM,EACF,GAGJA,IAAM,IACF,IAGDsE,KAAKC,OAAQvE,IAAM,GAAK,IAAO,IAAM,IAGtC,GACH,GAAKsE,KAAKC,MAAMvE,IAAM,IAAM,GAC5B,EAAIsE,KAAKC,MAAMtE,MAAQ,IAAM,GAC9BqE,KAAKC,MAAMrE,KAAO,IAAM,GAE5B8D,YAAY,GAEbQ,SAAU,CACT,KAAAT,CAAMU,KACL,MAAMC,QAAU,yBAAyBC,KAAKF,IAAIG,SAAS;AAC3D,IAAKF,QACJ,MAAO,CAAC,EAAG,EAAG;AAGf,IAAKG,aAAeH;AAEO,IAAvBG,YAAYC,SACfD,YAAc,IAAIA,aAAaE,IAAIC,WAAaA,UAAYA,WAAWC,KAAK;AAG7E,MAAMC,QAAUC,OAAOC,SAASP,YAAa;AAE7C,MAAO,CAELK,SAAW,GAAM,IACjBA,SAAW,EAAK,IACP,IAAVA,QAGF,EACAlB,YAAY,GAEbqB,aAAc,CACbtB,MAAOU,KAAOtE,SAAOkE,gBAAgBlE,SAAOqE,SAASC,MACrDT,YAAY,GAEbsB,cAAe,CACd,KAAAvB,CAAMlE,MACL,GAAIA,KAAO,EACV,OAAO,GAAKA;AAGb,GAAIA,KAAO,GACV,OAAaA,KAAO,EAAb;AAGR,IAAIG,IACAC,MACAC;AAEJ,GAAIL,MAAQ,IAAK,CAChBG,KAAuB,IAAdH,KAAO,KAAa,GAAK;AAClCI,MAAQD;AACRE,KAAOF,GACR,KAAO,CAGN,MAAMuF,WAFN1F,MAAQ,IAEiB;AAEzBG,IAAMsE,KAAKkB,MAAM3F,KAAO,IAAM;AAC9BI,MAAQqE,KAAKkB,MAAMD,UAAY,GAAK;AACpCrF,KAAQqF,UAAY,EAAK,CAC1B,CAEA,MAAMxB,MAAqC,EAA7BO,KAAKmB,IAAIzF,IAAKC,MAAOC;AAEnC,GAAc,IAAV6D,MACH,OAAO;AAIR,IAAI2B,OAAS,IAAOpB,KAAKC,MAAMrE,OAAS,EAAMoE,KAAKC,MAAMtE,QAAU,EAAKqE,KAAKC,MAAMvE;AAErE,IAAV+D,QACH2B,QAAU;AAGX,OAAOA,MACR,EACA1B,YAAY,GAEb2B,UAAW,CACV5B,MAAO,CAAC/D,IAAKC,MAAOC,OAASC,SAAOmF,cAAcnF,SAAOkE,aAAarE,IAAKC,MAAOC,OAClF8D,YAAY,GAEb4B,UAAW,CACV7B,MAAOU,KAAOtE,SAAOmF,cAAcnF,SAAOkF,aAAaZ,MACvDT,YAAY;AAId,OAAO7D,QACR,CAEmB0F,GC1NbC,MAAQ,MACb,KAAM,cAAeC,YACpB,OAAO;AAGR,GAAIA,WAAWC,UAAUC,cAAe,CACvC,MAAMC,MAAQF,UAAUC,cAAcE,OAAOC,KAAK,EAAEF,eAAqB,aAAVA;AAC/D,GAAIA,OAASA,MAAMG,QAAU,GAC5B,OAAO,CAET,CAEA,MAAI,wBAAwBC,KAAKP,WAAWC,UAAUO,WAC9C,EAGD,CACP,EAjBa,GAmBRC,aAAyB,IAAVV,OAAe,CACnCA,aAMKW,cAAgB,CACrBC,OAAQF,aACRG,OAAQH;AC7BF,SAASI,iBAAiBC,OAAQC,UAAWC,UACnD,IAAIC,MAAQH,OAAOI,QAAQH;AAC3B,IAAc,IAAVE,MACH,OAAOH;AAGR,MAAMK,gBAAkBJ,UAAUhC;AAClC,IAAIqC,SAAW,EACXC,YAAc;AAClB,EAAG,CACFA,aAAeP,OAAOQ,MAAMF,SAAUH,OAASF,UAAYC;AAC3DI,SAAWH,MAAQE;AACnBF,MAAQH,OAAOI,QAAQH,UAAWK,SACnC,QAAmB,IAAVH;AAETI,aAAeP,OAAOQ,MAAMF;AAC5B,OAAOC,WACR,CCXA,MAAOV,OAAQY,YAAaX,OAAQY,aAAed,cAE7Ce,UAAYC,OAAO,aACnBC,OAASD,OAAO,UAChBE,SAAWF,OAAO,YAGlBG,aAAe,CACpB,OACA,OACA,UACA,WAGKzH,OAAS8C,OAAO4E,OAAO,MAmBvBC,aAAeC,UACpB,MAAMC,MAAQ,IAAIC,UAAYA,QAAQhD,KAAK,KAlBvB,EAACiD,OAAQH,QAAU,MACvC,GAAIA,QAAQjC,SAAWX,OAAOgD,UAAUJ,QAAQjC,QAAUiC,QAAQjC,OAAS,GAAKiC,QAAQjC,OAAS,GAChG,MAAM,IAAIsC,MAAM;AAIjB,MAAMC,WAAaf,YAAcA,YAAYxB,MAAQ;AACrDoC,OAAOpC,WAA0BwC,IAAlBP,QAAQjC,MAAsBuC,WAAaN,QAAQjC,OAYlEyC,CAAaP,MAAOD;AAEpB9E,OAAOuF,eAAeR,MAAOS,YAAYC;AAEzC,OAAOV;AAGR,SAASS,YAAYV,SACpB,OAAOD,aAAaC,QACrB,CAEA9E,OAAOuF,eAAeC,YAAYC,UAAWC,SAASD;AAEtD,IAAK,MAAOjF,UAAWC,SAAUT,OAAOO,QAAQL,YAC/ChD,OAAOsD,WAAa,CACnB,GAAAmF,GACC,MAAMC,QAAUC,cAAcC,KAAMC,aAAatF,MAAMC,KAAMD,MAAME,MAAOmF,KAAKrB,SAAUqB,KAAKpB;AAC9F1E,OAAOa,eAAeiF,KAAMtF,UAAW,CAACM,MAAO8E;AAC/C,OAAOA,OACR;AAIF1I,OAAO8I,QAAU,CAChB,GAAAL,GACC,MAAMC,QAAUC,cAAcC,KAAMA,KAAKrB,SAAS;AAClDzE,OAAOa,eAAeiF,KAAM,UAAW,CAAChF,MAAO8E;AAC/C,OAAOA,OACR;AAGD,MAAMK,aAAe,CAACC,MAAOrD,MAAOsD,QAASC,aAC9B,QAAVF,MACW,YAAVrD,MACI3C,WAAWiG,MAAMjF,WAAWkF,YAGtB,YAAVvD,MACI3C,WAAWiG,MAAMlF,QAAQf,WAAWkB,gBAAgBgF,aAGrDlG,WAAWiG,MAAMnF,KAAKd,WAAWwC,aAAa0D,aAGxC,QAAVF,MACID,aAAa,MAAOpD,MAAOsD,QAASjG,WAAWqB,YAAY6E,aAG5DlG,WAAWiG,MAAMD,UAAUE,YAG7BC,WAAa,CAAC,MAAO,MAAO;AAElC,IAAK,MAAMH,SAASG,WAAY,CAC/BnJ,OAAOgJ,OAAS,CACf,GAAAP,GACC,MAAM9C,MAACA,OAASiD;AAChB,OAAO,YAAaM,YACnB,MAAME,OAASP,aAAaE,aAAaC,MAAOvB,aAAa9B,OAAQ,WAAYuD,YAAalG,WAAWrC,MAAM8C,MAAOmF,KAAKrB;AAC3H,OAAOoB,cAAcC,KAAMQ,OAAQR,KAAKpB,UACzC,CACD;AAIDxH,OADgB,KAAOgJ,MAAM,GAAGK,cAAgBL,MAAM9B,MAAM,IAC1C,CACjB,GAAAuB,GACC,MAAM9C,MAACA,OAASiD;AAChB,OAAO,YAAaM,YACnB,MAAME,OAASP,aAAaE,aAAaC,MAAOvB,aAAa9B,OAAQ,aAAcuD,YAAalG,WAAWrB,QAAQ8B,MAAOmF,KAAKrB;AAC/H,OAAOoB,cAAcC,KAAMQ,OAAQR,KAAKpB,UACzC,CACD,EAEF,CAEA,MAAM8B,MAAQxG,OAAOmB,iBAAiB,OAAU,IAC5CjE,OACH2F,MAAO,CACN9B,YAAY,EACZ,GAAA4E,GACC,OAAOG,KAAKvB,WAAW1B,KACxB,EACA,GAAAjC,CAAIiC,OACHiD,KAAKvB,WAAW1B,MAAQA,KACzB,KAIIkD,aAAe,CAACrF,KAAMC,MAAO8F,UAClC,IAAIC,QACAC;AACJ,QAAetB,IAAXoB,OAAsB,CACzBC,QAAUhG;AACViG,SAAWhG,KACZ,KAAO,CACN+F,QAAUD,OAAOC,QAAUhG;AAC3BiG,SAAWhG,MAAQ8F,OAAOE,QAC3B,CAEA,MAAO,CACNjG,UACAC,YACA+F,gBACAC,kBACAF,gBAIIZ,cAAgB,CAACe,KAAMC,QAASC,YAGrC,MAAMlB,QAAU,IAAIQ,aAAeW,WAAWnB,QAAgC,IAAtBQ,WAAWvE,OAAiB,GAAKuE,WAAW,GAAMA,WAAWpE,KAAK;AAI1HhC,OAAOuF,eAAeK,QAASY;AAE/BZ,QAAQrB,WAAaqC;AACrBhB,QAAQnB,QAAUoC;AAClBjB,QAAQlB,UAAYoC;AAEpB,OAAOlB,SAGFmB,WAAa,CAACH,KAAMhD,UACzB,GAAIgD,KAAK/D,OAAS,IAAMe,OACvB,OAAOgD,KAAKlC,UAAY,GAAKd;AAG9B,IAAI0C,OAASM,KAAKnC;AAElB,QAAeY,IAAXiB,OACH,OAAO1C;AAGR,MAAM8C,QAACA,QAAOC,SAAEA,UAAYL;AAC5B,GAAI1C,OAAOoD,SAAS,KACnB,UAAkB3B,IAAXiB,QAAsB,CAI5B1C,OAASD,iBAAiBC,OAAQ0C,OAAO3F,MAAO2F,OAAO5F;AAEvD4F,OAASA,OAAOG,MACjB,CAMD,MAAMQ,QAAUrD,OAAOI,QAAQ,OACf,IAAZiD,UACHrD,OD/KK,SAAwCA,OAAQsD,OAAQC,QAASpD,OACvE,IAAIG,SAAW,EACXC,YAAc;AAClB,EAAG,CACF,MAAMiD,MAA8B,OAAtBxD,OAAOG,MAAQ;AAC7BI,aAAeP,OAAOQ,MAAMF,SAAWkD,MAAQrD,MAAQ,EAAIA,OAAUmD,QAAUE,MAAQ,OAAS,MAAQD;AACxGjD,SAAWH,MAAQ;AACnBA,MAAQH,OAAOI,QAAQ,KAAME,SAC9B,QAAmB,IAAVH;AAETI,aAAeP,OAAOQ,MAAMF;AAC5B,OAAOC,WACR,CCmKWkD,CAA+BzD,OAAQ+C,SAAUD,QAASO;AAGpE,OAAOP,QAAU9C,OAAS+C;AAG3B3G,OAAOmB,iBAAiBqE,YAAYC,UAAWvI;AAE/C,MAAM6H,MAAQS;AACaA,YAAY,CAAC3C,MAAOyB,YAAcA,YAAYzB,MAAQ;ACvMjF,MCHMyE,ODGyB,WAC3B,IAAIC,SAAW,CAAA;AAyCf,MAAMC,4BAEiBC,QAAQC,IAAIC,sBAGpB5C,MAAM3G,KAAKd,IAAI,IAAMmK,QAAQC,IAAIC,sBAAwB,MAEzD;AAIf,IAAIC,IAAM,SAAUC,IAAKC,SACrB,GAAIP,SAASQ,kBAAkB,iBAExB,CACH,MAAMC,UACc,UAAZF,QACOG,QAAQC,MACI,YAAZJ,QACAG,QAAQE,KAERF,QAAQL;AAGnBL,SAASQ,kBAAkB,eAC3BC,UAAUR,4BAA8BK,IAAM9C,MAAM3G,KAAKd,IAAI,MAhE3D,WAGV,IAAI8K,UAAYC,KAAKC;AAErB,MAAMC,cAAgBhB,SAASQ,kBAAkB,kBAAoB;AACrE,IAAK,MAAMS,iBAAiBD,cACxBH,UAAYA,UAAUK,OAAO,SAAUC,UACnC,QAAIA,SAASC,WAAW3E,QAAQwE,gBAAkB,EAItD;AAGJ,MAAMI,iBAAmBR,UAAU;AAEnC,IAAIO,WAAaC,iBAAiBD;AAClCA,WAAaA,WAAWE,QAAQ,eAAgB;AAChD,GAAItB,SAASQ,kBAAkB,YAAa,CACxC,IAAIe,gBAAkBH,WAClBI,MAAQD,gBAAgBC,MAAM,MAC9BC,cAAgBF;AAChBC,OAASA,MAAMlH,QAAU,IAEzBmH,eADAA,cAAgBA,cAAcC,OAAO,EAAGD,cAAcE,YAAY,OACpCD,OAAO,EAAGD,cAAcE,YAAY;AAKtEP,WAFmBQ,KAAKC,SAAS7B,SAASQ,kBAAkB,YAAaiB,eAE7CF,gBAAgBD,QAAQG,cAAe,GACvE,CAKA,OAFaL,WAAa,IAFPC,iBAAiBS,WAES,IAD9BT,iBAAiBU,MAIpC,CA2BiFC,KAErEvB,UAAUR,4BAA8BK,IAEhD,CACJ,EAEI2B,WAAa,SAAUC,OACvB,OAAOA,KACX,EAEIC,MAAQ,SAAUC,gBAAiBC,UAAW9B,QAAU,OACxD,IAAI+B;AACJ,IAAIC,OAAS;AACb,IAAKD,EAAI,EAAGA,EAAIF,gBAAgB9H,OAAQgI,IAAK,CACzC,IAAIE,eAAiBJ,gBAAgBE;AAGrC,QAC8B,IAAnBE,gBACPA,iBAAmBC,KACQ,iBAAnBD,gBAA+BE,MAAMF,gBAE7CD,OAAOI,KAAKN,UAAUO,OAAOJ;KAC1B,GAAIA,0BAA0B5E,MAAO,CACxC2E,OAAOI,KAAKN,UAAUO,OAAOJ;AAC7BD,OAAOI,KAAKN,UAAUG,eAAeK,OACzC,MAAO,GAAIL,0BAA0BM,IAAK,CACtC,MAAMC,WAAaC,MAAMC,KAAKT;AAC9BD,OAAOI,KAAKN,UAAU,OAASU,WAAWzI,OAAS,KAAO4I,KAAKC,UAAUJ,aAC7E,KAAqC,iBAAnBP,eACdD,OAAOI,KAAKN,UAAUG,iBAEtBD,OAAOI,KAAKN,UAAUa,KAAKC,UAAUX,iBAE7C,CAEA,MAAMtH,OAASqH,OAAO9H,KAAK;AAC3B4F,IAAInF,OAAQqF,QAChB,EAEI6C,WAAa,SAAUhB,gBAAiBC,WACxCF,MAAMC,gBAAiBC,UAAW,MACtC,EAEIgB,eAAiB,SAAUjB,gBAAiBC,WAC5CF,MAAMC,gBAAiBC,UAAW,UACtC,EAEIiB,aAAe,SAAUlB,gBAAiBC,WAC1CF,MAAMC,gBAAiBC,UAAW,QACtC,EAGIkB,kBAAoB,CAAA;AAYxBvD,SAASwD,uBAAyB,SAAUC,UAAWC,UACnD,GAAI,CAAC,SAAU,UAAW,SAAU,OAAOjH,QAAQgH,YAAc,EAC7D,GAAIC,UAAgC,iBAAbA,SACnB,GAAkB,WAAdD,UACAF,kBAAkBG,UAAY;KAC3B,GAAkB,YAAdD,UACPF,kBAAkBG,UAAY;KAC3B,GAAkB,WAAdD,iBACAF,kBAAkBG;IACtB,IAAkB,QAAdD,UACP,OAAOF,kBAAkBG;AACtB,GAAkB,WAAdD,UACP,OAAOF;AAEP7C,QAAQL,IAAI,uFAChB,MAEAK,QAAQL,IAAI;IAEb,IAAkB,WAAdoD,UACP,OAAOF;AAEP7C,QAAQL,IAAI,2DAChB,CAGA,OAAOL,QACX;AAGA,IAAI2D,MAAQ,CACRhD,MAAgB,WAAc2C,aAAaM,UAAWpG,MAAMhI,IAAM,EAClEqO,aAAgB,WAAcP,aAAaM,UAAWpG,MAAM7G,MAAMa,MAAQ,EAC1EsM,MAAgB,WAAcR,aAAaM,UAAWpG,MAAM7G,MAAMa,MAAQ,EAC1EuM,MAAgB,WAAcV,eAAeO,UAAWpG,MAAMhH,OAAS,EACvEwN,KAAgB,WAAcZ,WAAWQ,UAAWpG,MAAMjH,MAAMuB,QAAU,EAC1EmM,KAAgB,WAAcb,WAAWQ,UAAWpG,MAAM9G,KAAO,EACjE2J,IAAgB,WAAc+C,WAAWQ,UAAW3B,WAAa,EACjEiC,QAAgB,WAAcd,WAAWQ,UAAWpG,MAAM/H,MAAQ,EAClE0O,KAAgB,WAAcd,eAAeO,UAAWpG,MAAMhH,OAAS,EACvE4N,MAAgB,WAAchB,WAAWQ,UAAWpG,MAAMhH,OAAS,EACnEoK,KAAgB,WAAcyC,eAAeO,UAAWpG,MAAMhH,OAAS,EACvE6N,YAAgB,WAAchB,eAAeO,UAAWpG,MAAMjH,MAAMmB,SAAW,EAE/E4M,KAAM,WACFlB,WAAWQ,UAAW,SAAUtD,KAC5B,OAAO9C,MAAM/G,QAAQqK,KAAKyD,QAAQjE,IAAK,CACnCkE,YAAY,EACZC,MAAO,KACPC,QAAQ,IAEhB,EACJ,EACAC,MAAO,SAAUrE,IAAKoD,UAClB,IAAIkB,aAAc;AACa,aAA3BrB,kBAAkB,MAAuD,aAAhCA,kBAAkBG,YAC3DkB,aAAc;AAEkB,YAAhCrB,kBAAkBG,YAClBkB,aAAc;AAEdA,aACAxB,WAAW,CAACM,SAAW,KAAOpD,KAAM9C,MAAM9G,KAElD,EACAmO,KAAM,WACFzB,WAAWQ,UAAW,SAAUtD,KAC5B,OAAO9C,MAAM/G,QAAQqK,KAAKyD,QAAQjE,IAAK,CACnCkE,YAAY,EACZC,MAAO,KACPC,QAAQ,IAEhB,EACJ,EACAI,QAAS,WACL1B,WAAWQ,UAAW,SAAUtD,KACT,iBAARA,MACPA,IAAMQ,KAAKyD,QAAQjE,IAAK,CACpBkE,YAAY,EACZC,MAAO;AAGf,OAAOjH,MAAMzH,IAAIuK,IACrB,EACJ;AAGJ7H,OAAOC,KAAKiL,OAAOoB,QAAQ,SAAUC,KACjChF,SAASgF,KAAO,WACZrB,MAAMqB,KAAKC,MAAM1G,KAAMqF,UAC3B,CACJ;AAKA5D,SAASkF,OAAS,SAAUC,KAAM5L,MAAO6L,eACrC,QAActH,IAAVvE,MACA,OAAI6L,cACOC,OANA,aAMsBF,MAEtB5H,QAAQ4H;AAGfC,cACAC,OAZO,aAYeF,MAAQ5L,MAE9BgE,QAAQ4H,MAAQ5L;AAEpB,OAAOyG,QAEf;AAGAA,SAASsF,aAAe,SAAUH,KAAMC,eAChCA,qBACOC,OAvBI,aAuBkBF,aAEtB5H,QAAQ4H,KAEvB;AAGAnF,SAASQ,kBAAoB,SAAU2E,MAAQ,OAAOnF,SAASkF,OAAOC,OAASnF,SAASkF,OAAOC,UAAMrH,GAAW,EAAO;AAEvHkC,SAASuF,IAAMvF,SAASwF,QAAU,WAAcxF,SAASkF,OAAO,YAAY,EAAQ;AACpFlF,SAASyF,GAAMzF,SAAS0F,OAAU,WAAc1F,SAASkF,OAAO,YAAY,EAAQ;AAEpFlF,SAASxC,MAAQA;AAGjB,IAAID,QAAU,CACVoI,SAAU3F,SAASkF,OAAO,gBAAYpH,GAAW,SAASA,EAC1D8H,SAAU5F,SAASkF,OAAO,gBAAYpH,GAAW,IAASoC,QAAQ2F,YAAS/H,EAC3EgI,YAAa9F,SAASkF,OAAO,mBAAepH,GAAW,KAAS;AAGpE,OAAOkC,QACX,CAEiB+F;","x_google_ignoreList":[0,1,2,3,4]}