sketchmark 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/parser/tokenizer.ts","../src/plugins.ts","../src/parser/index.ts","../src/config.ts","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/bidi.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/analysis.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/measurement.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/line-break.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/layout.js","../src/utils/text-measure.ts","../src/fonts/index.ts","../src/markdown/parser.ts","../src/scene/index.ts","../src/layout/entity-rect.ts","../src/renderer/shapes/types.ts","../src/renderer/shapes/registry.ts","../src/renderer/shapes/box.ts","../src/renderer/shapes/circle.ts","../src/renderer/shapes/diamond.ts","../src/renderer/shapes/hexagon.ts","../src/renderer/shapes/triangle.ts","../src/renderer/shapes/cylinder.ts","../src/renderer/shapes/parallelogram.ts","../src/renderer/shapes/text-shape.ts","../src/renderer/shapes/icon.ts","../src/renderer/shapes/image.ts","../src/renderer/shared.ts","../src/renderer/shapes/note.ts","../src/renderer/shapes/line.ts","../src/renderer/shapes/path-geometry.ts","../src/renderer/shapes/path.ts","../src/renderer/shapes/index.ts","../src/layout/index.ts","../src/renderer/roughChart.ts","../src/renderer/svg/roughChartSVG.ts","../src/theme/index.ts","../node_modules/.pnpm/hachure-fill@0.5.2/node_modules/hachure-fill/bin/hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/scan-line-hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hachure-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/geometry.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hatch-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dot-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dashed-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-line-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/math.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/parser.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/absolutize.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/normalize.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/renderer.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/curve-to-bezier.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/index.js","../node_modules/.pnpm/points-on-path@0.2.1/node_modules/points-on-path/lib/index.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/generator.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/canvas.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/core.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/svg.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/rough.js","../src/renderer/typography.ts","../src/renderer/svg/index.ts","../src/renderer/canvas/roughChartCanvas.ts","../src/renderer/canvas/index.ts","../src/animation/index.ts","../src/export/index.ts","../src/utils/index.ts","../src/render.ts","../src/ui/shared.ts","../src/ui/canvas.ts","../src/ui/editor.ts","../src/ui/embed.ts"],"sourcesContent":[null,null,null,null,"// Simplified bidi metadata helper for the rich prepareWithSegments() path,\n// forked from pdf.js via Sebastian's text-layout. It classifies characters\n// into bidi types, computes embedding levels, and maps them onto prepared\n// segments for custom rendering. The line-breaking engine does not consume\n// these levels.\nconst baseTypes = [\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS',\n 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 'ET', 'ET', 'ET', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'ON', 'CS', 'ON', 'CS', 'ON', 'EN', 'EN', 'EN',\n 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'ON', 'ON', 'ON', 'ON', 'ON',\n 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'BN',\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'L', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON',\n 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'\n];\nconst arabicTypes = [\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'CS', 'AL', 'ON', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM',\n 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN',\n 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM',\n 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'ON', 'NSM',\n 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'\n];\nfunction classifyChar(charCode) {\n if (charCode <= 0x00ff)\n return baseTypes[charCode];\n if (0x0590 <= charCode && charCode <= 0x05f4)\n return 'R';\n if (0x0600 <= charCode && charCode <= 0x06ff)\n return arabicTypes[charCode & 0xff];\n if (0x0700 <= charCode && charCode <= 0x08AC)\n return 'AL';\n return 'L';\n}\nfunction computeBidiLevels(str) {\n const len = str.length;\n if (len === 0)\n return null;\n // eslint-disable-next-line unicorn/no-new-array\n const types = new Array(len);\n let numBidi = 0;\n for (let i = 0; i < len; i++) {\n const t = classifyChar(str.charCodeAt(i));\n if (t === 'R' || t === 'AL' || t === 'AN')\n numBidi++;\n types[i] = t;\n }\n if (numBidi === 0)\n return null;\n const startLevel = (len / numBidi) < 0.3 ? 0 : 1;\n const levels = new Int8Array(len);\n for (let i = 0; i < len; i++)\n levels[i] = startLevel;\n const e = (startLevel & 1) ? 'R' : 'L';\n const sor = e;\n // W1-W7\n let lastType = sor;\n for (let i = 0; i < len; i++) {\n if (types[i] === 'NSM')\n types[i] = lastType;\n else\n lastType = types[i];\n }\n lastType = sor;\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'EN')\n types[i] = lastType === 'AL' ? 'AN' : 'EN';\n else if (t === 'R' || t === 'L' || t === 'AL')\n lastType = t;\n }\n for (let i = 0; i < len; i++) {\n if (types[i] === 'AL')\n types[i] = 'R';\n }\n for (let i = 1; i < len - 1; i++) {\n if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n types[i] = 'EN';\n }\n if (types[i] === 'CS' &&\n (types[i - 1] === 'EN' || types[i - 1] === 'AN') &&\n types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n for (let i = 0; i < len; i++) {\n if (types[i] !== 'EN')\n continue;\n let j;\n for (j = i - 1; j >= 0 && types[j] === 'ET'; j--)\n types[j] = 'EN';\n for (j = i + 1; j < len && types[j] === 'ET'; j++)\n types[j] = 'EN';\n }\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS')\n types[i] = 'ON';\n }\n lastType = sor;\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'EN')\n types[i] = lastType === 'L' ? 'L' : 'EN';\n else if (t === 'R' || t === 'L')\n lastType = t;\n }\n // N1-N2\n for (let i = 0; i < len; i++) {\n if (types[i] !== 'ON')\n continue;\n let end = i + 1;\n while (end < len && types[end] === 'ON')\n end++;\n const before = i > 0 ? types[i - 1] : sor;\n const after = end < len ? types[end] : sor;\n const bDir = before !== 'L' ? 'R' : 'L';\n const aDir = after !== 'L' ? 'R' : 'L';\n if (bDir === aDir) {\n for (let j = i; j < end; j++)\n types[j] = bDir;\n }\n i = end - 1;\n }\n for (let i = 0; i < len; i++) {\n if (types[i] === 'ON')\n types[i] = e;\n }\n // I1-I2\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if ((levels[i] & 1) === 0) {\n if (t === 'R')\n levels[i]++;\n else if (t === 'AN' || t === 'EN')\n levels[i] += 2;\n }\n else if (t === 'L' || t === 'AN' || t === 'EN') {\n levels[i]++;\n }\n }\n return levels;\n}\nexport function computeSegmentLevels(normalized, segStarts) {\n const bidiLevels = computeBidiLevels(normalized);\n if (bidiLevels === null)\n return null;\n const segLevels = new Int8Array(segStarts.length);\n for (let i = 0; i < segStarts.length; i++) {\n segLevels[i] = bidiLevels[segStarts[i]];\n }\n return segLevels;\n}\n","const collapsibleWhitespaceRunRe = /[ \\t\\n\\r\\f]+/g;\nconst needsWhitespaceNormalizationRe = /[\\t\\n\\r\\f]| {2,}|^ | $/;\nfunction getWhiteSpaceProfile(whiteSpace) {\n const mode = whiteSpace ?? 'normal';\n return mode === 'pre-wrap'\n ? { mode, preserveOrdinarySpaces: true, preserveHardBreaks: true }\n : { mode, preserveOrdinarySpaces: false, preserveHardBreaks: false };\n}\nexport function normalizeWhitespaceNormal(text) {\n if (!needsWhitespaceNormalizationRe.test(text))\n return text;\n let normalized = text.replace(collapsibleWhitespaceRunRe, ' ');\n if (normalized.charCodeAt(0) === 0x20) {\n normalized = normalized.slice(1);\n }\n if (normalized.length > 0 && normalized.charCodeAt(normalized.length - 1) === 0x20) {\n normalized = normalized.slice(0, -1);\n }\n return normalized;\n}\nfunction normalizeWhitespacePreWrap(text) {\n if (!/[\\r\\f]/.test(text))\n return text.replace(/\\r\\n/g, '\\n');\n return text\n .replace(/\\r\\n/g, '\\n')\n .replace(/[\\r\\f]/g, '\\n');\n}\nlet sharedWordSegmenter = null;\nlet segmenterLocale;\nfunction getSharedWordSegmenter() {\n if (sharedWordSegmenter === null) {\n sharedWordSegmenter = new Intl.Segmenter(segmenterLocale, { granularity: 'word' });\n }\n return sharedWordSegmenter;\n}\nexport function clearAnalysisCaches() {\n sharedWordSegmenter = null;\n}\nexport function setAnalysisLocale(locale) {\n const nextLocale = locale && locale.length > 0 ? locale : undefined;\n if (segmenterLocale === nextLocale)\n return;\n segmenterLocale = nextLocale;\n sharedWordSegmenter = null;\n}\nconst arabicScriptRe = /\\p{Script=Arabic}/u;\nconst combiningMarkRe = /\\p{M}/u;\nconst decimalDigitRe = /\\p{Nd}/u;\nfunction containsArabicScript(text) {\n return arabicScriptRe.test(text);\n}\nexport function isCJK(s) {\n for (const ch of s) {\n const c = ch.codePointAt(0);\n if ((c >= 0x4E00 && c <= 0x9FFF) ||\n (c >= 0x3400 && c <= 0x4DBF) ||\n (c >= 0x20000 && c <= 0x2A6DF) ||\n (c >= 0x2A700 && c <= 0x2B73F) ||\n (c >= 0x2B740 && c <= 0x2B81F) ||\n (c >= 0x2B820 && c <= 0x2CEAF) ||\n (c >= 0x2CEB0 && c <= 0x2EBEF) ||\n (c >= 0x30000 && c <= 0x3134F) ||\n (c >= 0xF900 && c <= 0xFAFF) ||\n (c >= 0x2F800 && c <= 0x2FA1F) ||\n (c >= 0x3000 && c <= 0x303F) ||\n (c >= 0x3040 && c <= 0x309F) ||\n (c >= 0x30A0 && c <= 0x30FF) ||\n (c >= 0xAC00 && c <= 0xD7AF) ||\n (c >= 0xFF00 && c <= 0xFFEF)) {\n return true;\n }\n }\n return false;\n}\nexport const kinsokuStart = new Set([\n '\\uFF0C',\n '\\uFF0E',\n '\\uFF01',\n '\\uFF1A',\n '\\uFF1B',\n '\\uFF1F',\n '\\u3001',\n '\\u3002',\n '\\u30FB',\n '\\uFF09',\n '\\u3015',\n '\\u3009',\n '\\u300B',\n '\\u300D',\n '\\u300F',\n '\\u3011',\n '\\u3017',\n '\\u3019',\n '\\u301B',\n '\\u30FC',\n '\\u3005',\n '\\u303B',\n '\\u309D',\n '\\u309E',\n '\\u30FD',\n '\\u30FE',\n]);\nexport const kinsokuEnd = new Set([\n '\"',\n '(', '[', '{',\n '“', '‘', '«', '‹',\n '\\uFF08',\n '\\u3014',\n '\\u3008',\n '\\u300A',\n '\\u300C',\n '\\u300E',\n '\\u3010',\n '\\u3016',\n '\\u3018',\n '\\u301A',\n]);\nconst forwardStickyGlue = new Set([\n \"'\", '’',\n]);\nexport const leftStickyPunctuation = new Set([\n '.', ',', '!', '?', ':', ';',\n '\\u060C',\n '\\u061B',\n '\\u061F',\n '\\u0964',\n '\\u0965',\n '\\u104A',\n '\\u104B',\n '\\u104C',\n '\\u104D',\n '\\u104F',\n ')', ']', '}',\n '%',\n '\"',\n '”', '’', '»', '›',\n '…',\n]);\nconst arabicNoSpaceTrailingPunctuation = new Set([\n ':',\n '.',\n '\\u060C',\n '\\u061B',\n]);\nconst myanmarMedialGlue = new Set([\n '\\u104F',\n]);\nconst closingQuoteChars = new Set([\n '”', '’', '»', '›',\n '\\u300D',\n '\\u300F',\n '\\u3011',\n '\\u300B',\n '\\u3009',\n '\\u3015',\n '\\uFF09',\n]);\nfunction isLeftStickyPunctuationSegment(segment) {\n if (isEscapedQuoteClusterSegment(segment))\n return true;\n let sawPunctuation = false;\n for (const ch of segment) {\n if (leftStickyPunctuation.has(ch)) {\n sawPunctuation = true;\n continue;\n }\n if (sawPunctuation && combiningMarkRe.test(ch))\n continue;\n return false;\n }\n return sawPunctuation;\n}\nfunction isCJKLineStartProhibitedSegment(segment) {\n for (const ch of segment) {\n if (!kinsokuStart.has(ch) && !leftStickyPunctuation.has(ch))\n return false;\n }\n return segment.length > 0;\n}\nfunction isForwardStickyClusterSegment(segment) {\n if (isEscapedQuoteClusterSegment(segment))\n return true;\n for (const ch of segment) {\n if (!kinsokuEnd.has(ch) && !forwardStickyGlue.has(ch) && !combiningMarkRe.test(ch))\n return false;\n }\n return segment.length > 0;\n}\nfunction isEscapedQuoteClusterSegment(segment) {\n let sawQuote = false;\n for (const ch of segment) {\n if (ch === '\\\\' || combiningMarkRe.test(ch))\n continue;\n if (kinsokuEnd.has(ch) || leftStickyPunctuation.has(ch) || forwardStickyGlue.has(ch)) {\n sawQuote = true;\n continue;\n }\n return false;\n }\n return sawQuote;\n}\nfunction splitTrailingForwardStickyCluster(text) {\n const chars = Array.from(text);\n let splitIndex = chars.length;\n while (splitIndex > 0) {\n const ch = chars[splitIndex - 1];\n if (combiningMarkRe.test(ch)) {\n splitIndex--;\n continue;\n }\n if (kinsokuEnd.has(ch) || forwardStickyGlue.has(ch)) {\n splitIndex--;\n continue;\n }\n break;\n }\n if (splitIndex <= 0 || splitIndex === chars.length)\n return null;\n return {\n head: chars.slice(0, splitIndex).join(''),\n tail: chars.slice(splitIndex).join(''),\n };\n}\nfunction isRepeatedSingleCharRun(segment, ch) {\n if (segment.length === 0)\n return false;\n for (const part of segment) {\n if (part !== ch)\n return false;\n }\n return true;\n}\nfunction endsWithArabicNoSpacePunctuation(segment) {\n if (!containsArabicScript(segment) || segment.length === 0)\n return false;\n return arabicNoSpaceTrailingPunctuation.has(segment[segment.length - 1]);\n}\nfunction endsWithMyanmarMedialGlue(segment) {\n if (segment.length === 0)\n return false;\n return myanmarMedialGlue.has(segment[segment.length - 1]);\n}\nfunction splitLeadingSpaceAndMarks(segment) {\n if (segment.length < 2 || segment[0] !== ' ')\n return null;\n const marks = segment.slice(1);\n if (/^\\p{M}+$/u.test(marks)) {\n return { space: ' ', marks };\n }\n return null;\n}\nexport function endsWithClosingQuote(text) {\n for (let i = text.length - 1; i >= 0; i--) {\n const ch = text[i];\n if (closingQuoteChars.has(ch))\n return true;\n if (!leftStickyPunctuation.has(ch))\n return false;\n }\n return false;\n}\nfunction classifySegmentBreakChar(ch, whiteSpaceProfile) {\n if (whiteSpaceProfile.preserveOrdinarySpaces || whiteSpaceProfile.preserveHardBreaks) {\n if (ch === ' ')\n return 'preserved-space';\n if (ch === '\\t')\n return 'tab';\n if (whiteSpaceProfile.preserveHardBreaks && ch === '\\n')\n return 'hard-break';\n }\n if (ch === ' ')\n return 'space';\n if (ch === '\\u00A0' || ch === '\\u202F' || ch === '\\u2060' || ch === '\\uFEFF') {\n return 'glue';\n }\n if (ch === '\\u200B')\n return 'zero-width-break';\n if (ch === '\\u00AD')\n return 'soft-hyphen';\n return 'text';\n}\nfunction joinTextParts(parts) {\n return parts.length === 1 ? parts[0] : parts.join('');\n}\nfunction splitSegmentByBreakKind(segment, isWordLike, start, whiteSpaceProfile) {\n const pieces = [];\n let currentKind = null;\n let currentTextParts = [];\n let currentStart = start;\n let currentWordLike = false;\n let offset = 0;\n for (const ch of segment) {\n const kind = classifySegmentBreakChar(ch, whiteSpaceProfile);\n const wordLike = kind === 'text' && isWordLike;\n if (currentKind !== null && kind === currentKind && wordLike === currentWordLike) {\n currentTextParts.push(ch);\n offset += ch.length;\n continue;\n }\n if (currentKind !== null) {\n pieces.push({\n text: joinTextParts(currentTextParts),\n isWordLike: currentWordLike,\n kind: currentKind,\n start: currentStart,\n });\n }\n currentKind = kind;\n currentTextParts = [ch];\n currentStart = start + offset;\n currentWordLike = wordLike;\n offset += ch.length;\n }\n if (currentKind !== null) {\n pieces.push({\n text: joinTextParts(currentTextParts),\n isWordLike: currentWordLike,\n kind: currentKind,\n start: currentStart,\n });\n }\n return pieces;\n}\nfunction isTextRunBoundary(kind) {\n return (kind === 'space' ||\n kind === 'preserved-space' ||\n kind === 'zero-width-break' ||\n kind === 'hard-break');\n}\nconst urlSchemeSegmentRe = /^[A-Za-z][A-Za-z0-9+.-]*:$/;\nfunction isUrlLikeRunStart(segmentation, index) {\n const text = segmentation.texts[index];\n if (text.startsWith('www.'))\n return true;\n return (urlSchemeSegmentRe.test(text) &&\n index + 1 < segmentation.len &&\n segmentation.kinds[index + 1] === 'text' &&\n segmentation.texts[index + 1] === '//');\n}\nfunction isUrlQueryBoundarySegment(text) {\n return text.includes('?') && (text.includes('://') || text.startsWith('www.'));\n}\nfunction mergeUrlLikeRuns(segmentation) {\n const texts = segmentation.texts.slice();\n const isWordLike = segmentation.isWordLike.slice();\n const kinds = segmentation.kinds.slice();\n const starts = segmentation.starts.slice();\n for (let i = 0; i < segmentation.len; i++) {\n if (kinds[i] !== 'text' || !isUrlLikeRunStart(segmentation, i))\n continue;\n const mergedParts = [texts[i]];\n let j = i + 1;\n while (j < segmentation.len && !isTextRunBoundary(kinds[j])) {\n mergedParts.push(texts[j]);\n isWordLike[i] = true;\n const endsQueryPrefix = texts[j].includes('?');\n kinds[j] = 'text';\n texts[j] = '';\n j++;\n if (endsQueryPrefix)\n break;\n }\n texts[i] = joinTextParts(mergedParts);\n }\n let compactLen = 0;\n for (let read = 0; read < texts.length; read++) {\n const text = texts[read];\n if (text.length === 0)\n continue;\n if (compactLen !== read) {\n texts[compactLen] = text;\n isWordLike[compactLen] = isWordLike[read];\n kinds[compactLen] = kinds[read];\n starts[compactLen] = starts[read];\n }\n compactLen++;\n }\n texts.length = compactLen;\n isWordLike.length = compactLen;\n kinds.length = compactLen;\n starts.length = compactLen;\n return {\n len: compactLen,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeUrlQueryRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(segmentation.kinds[i]);\n starts.push(segmentation.starts[i]);\n if (!isUrlQueryBoundarySegment(text))\n continue;\n const nextIndex = i + 1;\n if (nextIndex >= segmentation.len ||\n isTextRunBoundary(segmentation.kinds[nextIndex])) {\n continue;\n }\n const queryParts = [];\n const queryStart = segmentation.starts[nextIndex];\n let j = nextIndex;\n while (j < segmentation.len && !isTextRunBoundary(segmentation.kinds[j])) {\n queryParts.push(segmentation.texts[j]);\n j++;\n }\n if (queryParts.length > 0) {\n texts.push(joinTextParts(queryParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(queryStart);\n i = j - 1;\n }\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nconst numericJoinerChars = new Set([\n ':', '-', '/', '×', ',', '.', '+',\n '\\u2013',\n '\\u2014',\n]);\nconst asciiPunctuationChainSegmentRe = /^[A-Za-z0-9_]+[,:;]*$/;\nconst asciiPunctuationChainTrailingJoinersRe = /[,:;]+$/;\nfunction segmentContainsDecimalDigit(text) {\n for (const ch of text) {\n if (decimalDigitRe.test(ch))\n return true;\n }\n return false;\n}\nfunction isNumericRunSegment(text) {\n if (text.length === 0)\n return false;\n for (const ch of text) {\n if (decimalDigitRe.test(ch) || numericJoinerChars.has(ch))\n continue;\n return false;\n }\n return true;\n}\nfunction mergeNumericRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n const kind = segmentation.kinds[i];\n if (kind === 'text' && isNumericRunSegment(text) && segmentContainsDecimalDigit(text)) {\n const mergedParts = [text];\n let j = i + 1;\n while (j < segmentation.len &&\n segmentation.kinds[j] === 'text' &&\n isNumericRunSegment(segmentation.texts[j])) {\n mergedParts.push(segmentation.texts[j]);\n j++;\n }\n texts.push(joinTextParts(mergedParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i]);\n i = j - 1;\n continue;\n }\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(kind);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeAsciiPunctuationChains(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n const kind = segmentation.kinds[i];\n const wordLike = segmentation.isWordLike[i];\n if (kind === 'text' && wordLike && asciiPunctuationChainSegmentRe.test(text)) {\n const mergedParts = [text];\n let endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(text);\n let j = i + 1;\n while (endsWithJoiners &&\n j < segmentation.len &&\n segmentation.kinds[j] === 'text' &&\n segmentation.isWordLike[j] &&\n asciiPunctuationChainSegmentRe.test(segmentation.texts[j])) {\n const nextText = segmentation.texts[j];\n mergedParts.push(nextText);\n endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(nextText);\n j++;\n }\n texts.push(joinTextParts(mergedParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i]);\n i = j - 1;\n continue;\n }\n texts.push(text);\n isWordLike.push(wordLike);\n kinds.push(kind);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction splitHyphenatedNumericRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n if (segmentation.kinds[i] === 'text' && text.includes('-')) {\n const parts = text.split('-');\n let shouldSplit = parts.length > 1;\n for (let j = 0; j < parts.length; j++) {\n const part = parts[j];\n if (!shouldSplit)\n break;\n if (part.length === 0 ||\n !segmentContainsDecimalDigit(part) ||\n !isNumericRunSegment(part)) {\n shouldSplit = false;\n }\n }\n if (shouldSplit) {\n let offset = 0;\n for (let j = 0; j < parts.length; j++) {\n const part = parts[j];\n const splitText = j < parts.length - 1 ? `${part}-` : part;\n texts.push(splitText);\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i] + offset);\n offset += splitText.length;\n }\n continue;\n }\n }\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(segmentation.kinds[i]);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeGlueConnectedTextRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n let read = 0;\n while (read < segmentation.len) {\n const textParts = [segmentation.texts[read]];\n let wordLike = segmentation.isWordLike[read];\n let kind = segmentation.kinds[read];\n let start = segmentation.starts[read];\n if (kind === 'glue') {\n const glueParts = [textParts[0]];\n const glueStart = start;\n read++;\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n glueParts.push(segmentation.texts[read]);\n read++;\n }\n const glueText = joinTextParts(glueParts);\n if (read < segmentation.len && segmentation.kinds[read] === 'text') {\n textParts[0] = glueText;\n textParts.push(segmentation.texts[read]);\n wordLike = segmentation.isWordLike[read];\n kind = 'text';\n start = glueStart;\n read++;\n }\n else {\n texts.push(glueText);\n isWordLike.push(false);\n kinds.push('glue');\n starts.push(glueStart);\n continue;\n }\n }\n else {\n read++;\n }\n if (kind === 'text') {\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n const glueParts = [];\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n glueParts.push(segmentation.texts[read]);\n read++;\n }\n const glueText = joinTextParts(glueParts);\n if (read < segmentation.len && segmentation.kinds[read] === 'text') {\n textParts.push(glueText, segmentation.texts[read]);\n wordLike = wordLike || segmentation.isWordLike[read];\n read++;\n continue;\n }\n textParts.push(glueText);\n }\n }\n texts.push(joinTextParts(textParts));\n isWordLike.push(wordLike);\n kinds.push(kind);\n starts.push(start);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction carryTrailingForwardStickyAcrossCJKBoundary(segmentation) {\n const texts = segmentation.texts.slice();\n const isWordLike = segmentation.isWordLike.slice();\n const kinds = segmentation.kinds.slice();\n const starts = segmentation.starts.slice();\n for (let i = 0; i < texts.length - 1; i++) {\n if (kinds[i] !== 'text' || kinds[i + 1] !== 'text')\n continue;\n if (!isCJK(texts[i]) || !isCJK(texts[i + 1]))\n continue;\n const split = splitTrailingForwardStickyCluster(texts[i]);\n if (split === null)\n continue;\n texts[i] = split.head;\n texts[i + 1] = split.tail + texts[i + 1];\n starts[i + 1] = starts[i] + split.head.length;\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction buildMergedSegmentation(normalized, profile, whiteSpaceProfile) {\n const wordSegmenter = getSharedWordSegmenter();\n let mergedLen = 0;\n const mergedTexts = [];\n const mergedWordLike = [];\n const mergedKinds = [];\n const mergedStarts = [];\n for (const s of wordSegmenter.segment(normalized)) {\n for (const piece of splitSegmentByBreakKind(s.segment, s.isWordLike ?? false, s.index, whiteSpaceProfile)) {\n const isText = piece.kind === 'text';\n if (profile.carryCJKAfterClosingQuote &&\n isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n isCJK(piece.text) &&\n isCJK(mergedTexts[mergedLen - 1]) &&\n endsWithClosingQuote(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n isCJKLineStartProhibitedSegment(piece.text) &&\n isCJK(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n endsWithMyanmarMedialGlue(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n piece.isWordLike &&\n containsArabicScript(piece.text) &&\n endsWithArabicNoSpacePunctuation(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = true;\n }\n else if (isText &&\n !piece.isWordLike &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n piece.text.length === 1 &&\n piece.text !== '-' &&\n piece.text !== '—' &&\n isRepeatedSingleCharRun(mergedTexts[mergedLen - 1], piece.text)) {\n mergedTexts[mergedLen - 1] += piece.text;\n }\n else if (isText &&\n !piece.isWordLike &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n (isLeftStickyPunctuationSegment(piece.text) ||\n (piece.text === '-' && mergedWordLike[mergedLen - 1]))) {\n mergedTexts[mergedLen - 1] += piece.text;\n }\n else {\n mergedTexts[mergedLen] = piece.text;\n mergedWordLike[mergedLen] = piece.isWordLike;\n mergedKinds[mergedLen] = piece.kind;\n mergedStarts[mergedLen] = piece.start;\n mergedLen++;\n }\n }\n }\n for (let i = 1; i < mergedLen; i++) {\n if (mergedKinds[i] === 'text' &&\n !mergedWordLike[i] &&\n isEscapedQuoteClusterSegment(mergedTexts[i]) &&\n mergedKinds[i - 1] === 'text') {\n mergedTexts[i - 1] += mergedTexts[i];\n mergedWordLike[i - 1] = mergedWordLike[i - 1] || mergedWordLike[i];\n mergedTexts[i] = '';\n }\n }\n for (let i = mergedLen - 2; i >= 0; i--) {\n if (mergedKinds[i] === 'text' && !mergedWordLike[i] && isForwardStickyClusterSegment(mergedTexts[i])) {\n let j = i + 1;\n while (j < mergedLen && mergedTexts[j] === '')\n j++;\n if (j < mergedLen && mergedKinds[j] === 'text') {\n mergedTexts[j] = mergedTexts[i] + mergedTexts[j];\n mergedStarts[j] = mergedStarts[i];\n mergedTexts[i] = '';\n }\n }\n }\n let compactLen = 0;\n for (let read = 0; read < mergedLen; read++) {\n const text = mergedTexts[read];\n if (text.length === 0)\n continue;\n if (compactLen !== read) {\n mergedTexts[compactLen] = text;\n mergedWordLike[compactLen] = mergedWordLike[read];\n mergedKinds[compactLen] = mergedKinds[read];\n mergedStarts[compactLen] = mergedStarts[read];\n }\n compactLen++;\n }\n mergedTexts.length = compactLen;\n mergedWordLike.length = compactLen;\n mergedKinds.length = compactLen;\n mergedStarts.length = compactLen;\n const compacted = mergeGlueConnectedTextRuns({\n len: compactLen,\n texts: mergedTexts,\n isWordLike: mergedWordLike,\n kinds: mergedKinds,\n starts: mergedStarts,\n });\n const withMergedUrls = carryTrailingForwardStickyAcrossCJKBoundary(mergeAsciiPunctuationChains(splitHyphenatedNumericRuns(mergeNumericRuns(mergeUrlQueryRuns(mergeUrlLikeRuns(compacted))))));\n for (let i = 0; i < withMergedUrls.len - 1; i++) {\n const split = splitLeadingSpaceAndMarks(withMergedUrls.texts[i]);\n if (split === null)\n continue;\n if ((withMergedUrls.kinds[i] !== 'space' && withMergedUrls.kinds[i] !== 'preserved-space') ||\n withMergedUrls.kinds[i + 1] !== 'text' ||\n !containsArabicScript(withMergedUrls.texts[i + 1])) {\n continue;\n }\n withMergedUrls.texts[i] = split.space;\n withMergedUrls.isWordLike[i] = false;\n withMergedUrls.kinds[i] = withMergedUrls.kinds[i] === 'preserved-space' ? 'preserved-space' : 'space';\n withMergedUrls.texts[i + 1] = split.marks + withMergedUrls.texts[i + 1];\n withMergedUrls.starts[i + 1] = withMergedUrls.starts[i] + split.space.length;\n }\n return withMergedUrls;\n}\nfunction compileAnalysisChunks(segmentation, whiteSpaceProfile) {\n if (segmentation.len === 0)\n return [];\n if (!whiteSpaceProfile.preserveHardBreaks) {\n return [{\n startSegmentIndex: 0,\n endSegmentIndex: segmentation.len,\n consumedEndSegmentIndex: segmentation.len,\n }];\n }\n const chunks = [];\n let startSegmentIndex = 0;\n for (let i = 0; i < segmentation.len; i++) {\n if (segmentation.kinds[i] !== 'hard-break')\n continue;\n chunks.push({\n startSegmentIndex,\n endSegmentIndex: i,\n consumedEndSegmentIndex: i + 1,\n });\n startSegmentIndex = i + 1;\n }\n if (startSegmentIndex < segmentation.len) {\n chunks.push({\n startSegmentIndex,\n endSegmentIndex: segmentation.len,\n consumedEndSegmentIndex: segmentation.len,\n });\n }\n return chunks;\n}\nexport function analyzeText(text, profile, whiteSpace = 'normal') {\n const whiteSpaceProfile = getWhiteSpaceProfile(whiteSpace);\n const normalized = whiteSpaceProfile.mode === 'pre-wrap'\n ? normalizeWhitespacePreWrap(text)\n : normalizeWhitespaceNormal(text);\n if (normalized.length === 0) {\n return {\n normalized,\n chunks: [],\n len: 0,\n texts: [],\n isWordLike: [],\n kinds: [],\n starts: [],\n };\n }\n const segmentation = buildMergedSegmentation(normalized, profile, whiteSpaceProfile);\n return {\n normalized,\n chunks: compileAnalysisChunks(segmentation, whiteSpaceProfile),\n ...segmentation,\n };\n}\n","import { isCJK } from './analysis.js';\nlet measureContext = null;\nconst segmentMetricCaches = new Map();\nlet cachedEngineProfile = null;\nconst emojiPresentationRe = /\\p{Emoji_Presentation}/u;\nconst maybeEmojiRe = /[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u;\nlet sharedGraphemeSegmenter = null;\nconst emojiCorrectionCache = new Map();\nexport function getMeasureContext() {\n if (measureContext !== null)\n return measureContext;\n if (typeof OffscreenCanvas !== 'undefined') {\n measureContext = new OffscreenCanvas(1, 1).getContext('2d');\n return measureContext;\n }\n if (typeof document !== 'undefined') {\n measureContext = document.createElement('canvas').getContext('2d');\n return measureContext;\n }\n throw new Error('Text measurement requires OffscreenCanvas or a DOM canvas context.');\n}\nexport function getSegmentMetricCache(font) {\n let cache = segmentMetricCaches.get(font);\n if (!cache) {\n cache = new Map();\n segmentMetricCaches.set(font, cache);\n }\n return cache;\n}\nexport function getSegmentMetrics(seg, cache) {\n let metrics = cache.get(seg);\n if (metrics === undefined) {\n const ctx = getMeasureContext();\n metrics = {\n width: ctx.measureText(seg).width,\n containsCJK: isCJK(seg),\n };\n cache.set(seg, metrics);\n }\n return metrics;\n}\nexport function getEngineProfile() {\n if (cachedEngineProfile !== null)\n return cachedEngineProfile;\n if (typeof navigator === 'undefined') {\n cachedEngineProfile = {\n lineFitEpsilon: 0.005,\n carryCJKAfterClosingQuote: false,\n preferPrefixWidthsForBreakableRuns: false,\n preferEarlySoftHyphenBreak: false,\n };\n return cachedEngineProfile;\n }\n const ua = navigator.userAgent;\n const vendor = navigator.vendor;\n const isSafari = vendor === 'Apple Computer, Inc.' &&\n ua.includes('Safari/') &&\n !ua.includes('Chrome/') &&\n !ua.includes('Chromium/') &&\n !ua.includes('CriOS/') &&\n !ua.includes('FxiOS/') &&\n !ua.includes('EdgiOS/');\n const isChromium = ua.includes('Chrome/') ||\n ua.includes('Chromium/') ||\n ua.includes('CriOS/') ||\n ua.includes('Edg/');\n cachedEngineProfile = {\n lineFitEpsilon: isSafari ? 1 / 64 : 0.005,\n carryCJKAfterClosingQuote: isChromium,\n preferPrefixWidthsForBreakableRuns: isSafari,\n preferEarlySoftHyphenBreak: isSafari,\n };\n return cachedEngineProfile;\n}\nexport function parseFontSize(font) {\n const m = font.match(/(\\d+(?:\\.\\d+)?)\\s*px/);\n return m ? parseFloat(m[1]) : 16;\n}\nfunction getSharedGraphemeSegmenter() {\n if (sharedGraphemeSegmenter === null) {\n sharedGraphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\n }\n return sharedGraphemeSegmenter;\n}\nfunction isEmojiGrapheme(g) {\n return emojiPresentationRe.test(g) || g.includes('\\uFE0F');\n}\nexport function textMayContainEmoji(text) {\n return maybeEmojiRe.test(text);\n}\nfunction getEmojiCorrection(font, fontSize) {\n let correction = emojiCorrectionCache.get(font);\n if (correction !== undefined)\n return correction;\n const ctx = getMeasureContext();\n ctx.font = font;\n const canvasW = ctx.measureText('\\u{1F600}').width;\n correction = 0;\n if (canvasW > fontSize + 0.5 &&\n typeof document !== 'undefined' &&\n document.body !== null) {\n const span = document.createElement('span');\n span.style.font = font;\n span.style.display = 'inline-block';\n span.style.visibility = 'hidden';\n span.style.position = 'absolute';\n span.textContent = '\\u{1F600}';\n document.body.appendChild(span);\n const domW = span.getBoundingClientRect().width;\n document.body.removeChild(span);\n if (canvasW - domW > 0.5) {\n correction = canvasW - domW;\n }\n }\n emojiCorrectionCache.set(font, correction);\n return correction;\n}\nfunction countEmojiGraphemes(text) {\n let count = 0;\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const g of graphemeSegmenter.segment(text)) {\n if (isEmojiGrapheme(g.segment))\n count++;\n }\n return count;\n}\nfunction getEmojiCount(seg, metrics) {\n if (metrics.emojiCount === undefined) {\n metrics.emojiCount = countEmojiGraphemes(seg);\n }\n return metrics.emojiCount;\n}\nexport function getCorrectedSegmentWidth(seg, metrics, emojiCorrection) {\n if (emojiCorrection === 0)\n return metrics.width;\n return metrics.width - getEmojiCount(seg, metrics) * emojiCorrection;\n}\nexport function getSegmentGraphemeWidths(seg, metrics, cache, emojiCorrection) {\n if (metrics.graphemeWidths !== undefined)\n return metrics.graphemeWidths;\n const widths = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const gs of graphemeSegmenter.segment(seg)) {\n const graphemeMetrics = getSegmentMetrics(gs.segment, cache);\n widths.push(getCorrectedSegmentWidth(gs.segment, graphemeMetrics, emojiCorrection));\n }\n metrics.graphemeWidths = widths.length > 1 ? widths : null;\n return metrics.graphemeWidths;\n}\nexport function getSegmentGraphemePrefixWidths(seg, metrics, cache, emojiCorrection) {\n if (metrics.graphemePrefixWidths !== undefined)\n return metrics.graphemePrefixWidths;\n const prefixWidths = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n let prefix = '';\n for (const gs of graphemeSegmenter.segment(seg)) {\n prefix += gs.segment;\n const prefixMetrics = getSegmentMetrics(prefix, cache);\n prefixWidths.push(getCorrectedSegmentWidth(prefix, prefixMetrics, emojiCorrection));\n }\n metrics.graphemePrefixWidths = prefixWidths.length > 1 ? prefixWidths : null;\n return metrics.graphemePrefixWidths;\n}\nexport function getFontMeasurementState(font, needsEmojiCorrection) {\n const ctx = getMeasureContext();\n ctx.font = font;\n const cache = getSegmentMetricCache(font);\n const fontSize = parseFontSize(font);\n const emojiCorrection = needsEmojiCorrection ? getEmojiCorrection(font, fontSize) : 0;\n return { cache, fontSize, emojiCorrection };\n}\nexport function clearMeasurementCaches() {\n segmentMetricCaches.clear();\n emojiCorrectionCache.clear();\n sharedGraphemeSegmenter = null;\n}\n","import { getEngineProfile } from './measurement.js';\nfunction canBreakAfter(kind) {\n return (kind === 'space' ||\n kind === 'preserved-space' ||\n kind === 'tab' ||\n kind === 'zero-width-break' ||\n kind === 'soft-hyphen');\n}\nfunction normalizeSimpleLineStartSegmentIndex(prepared, segmentIndex) {\n while (segmentIndex < prepared.widths.length) {\n const kind = prepared.kinds[segmentIndex];\n if (kind !== 'space' && kind !== 'zero-width-break' && kind !== 'soft-hyphen')\n break;\n segmentIndex++;\n }\n return segmentIndex;\n}\nfunction getTabAdvance(lineWidth, tabStopAdvance) {\n if (tabStopAdvance <= 0)\n return 0;\n const remainder = lineWidth % tabStopAdvance;\n if (Math.abs(remainder) <= 1e-6)\n return tabStopAdvance;\n return tabStopAdvance - remainder;\n}\nfunction getBreakableAdvance(graphemeWidths, graphemePrefixWidths, graphemeIndex, preferPrefixWidths) {\n if (!preferPrefixWidths || graphemePrefixWidths === null) {\n return graphemeWidths[graphemeIndex];\n }\n return graphemePrefixWidths[graphemeIndex] - (graphemeIndex > 0 ? graphemePrefixWidths[graphemeIndex - 1] : 0);\n}\nfunction fitSoftHyphenBreak(graphemeWidths, initialWidth, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, cumulativeWidths) {\n let fitCount = 0;\n let fittedWidth = initialWidth;\n while (fitCount < graphemeWidths.length) {\n const nextWidth = cumulativeWidths\n ? initialWidth + graphemeWidths[fitCount]\n : fittedWidth + graphemeWidths[fitCount];\n const nextLineWidth = fitCount + 1 < graphemeWidths.length\n ? nextWidth + discretionaryHyphenWidth\n : nextWidth;\n if (nextLineWidth > maxWidth + lineFitEpsilon)\n break;\n fittedWidth = nextWidth;\n fitCount++;\n }\n return { fitCount, fittedWidth };\n}\nfunction findChunkIndexForStart(prepared, segmentIndex) {\n let lo = 0;\n let hi = prepared.chunks.length;\n while (lo < hi) {\n const mid = Math.floor((lo + hi) / 2);\n if (segmentIndex < prepared.chunks[mid].consumedEndSegmentIndex) {\n hi = mid;\n }\n else {\n lo = mid + 1;\n }\n }\n return lo < prepared.chunks.length ? lo : -1;\n}\nfunction normalizeLineStartWithChunk(prepared, start) {\n let segmentIndex = start.segmentIndex;\n const graphemeIndex = start.graphemeIndex;\n if (segmentIndex >= prepared.widths.length)\n return null;\n const chunkIndex = findChunkIndexForStart(prepared, segmentIndex);\n if (chunkIndex < 0)\n return null;\n if (graphemeIndex > 0) {\n return { cursor: start, chunkIndex };\n }\n const chunk = prepared.chunks[chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex && segmentIndex === chunk.startSegmentIndex) {\n return { cursor: { segmentIndex, graphemeIndex: 0 }, chunkIndex };\n }\n if (segmentIndex < chunk.startSegmentIndex)\n segmentIndex = chunk.startSegmentIndex;\n while (segmentIndex < chunk.endSegmentIndex) {\n const kind = prepared.kinds[segmentIndex];\n if (kind !== 'space' && kind !== 'zero-width-break' && kind !== 'soft-hyphen') {\n return { cursor: { segmentIndex, graphemeIndex: 0 }, chunkIndex };\n }\n segmentIndex++;\n }\n if (chunk.consumedEndSegmentIndex >= prepared.widths.length)\n return null;\n return {\n cursor: { segmentIndex: chunk.consumedEndSegmentIndex, graphemeIndex: 0 },\n chunkIndex: chunkIndex + 1,\n };\n}\nexport function normalizeLineStart(prepared, start) {\n return normalizeLineStartWithChunk(prepared, start)?.cursor ?? null;\n}\nexport function countPreparedLines(prepared, maxWidth) {\n if (prepared.simpleLineWalkFastPath) {\n return countPreparedLinesSimple(prepared, maxWidth);\n }\n return walkPreparedLines(prepared, maxWidth);\n}\nfunction countPreparedLinesSimple(prepared, maxWidth) {\n return walkPreparedLinesSimple(prepared, maxWidth);\n}\nfunction walkPreparedLinesSimple(prepared, maxWidth, onLine) {\n const { widths, kinds, breakableWidths, breakablePrefixWidths } = prepared;\n if (widths.length === 0)\n return 0;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineCount = 0;\n let lineW = 0;\n let hasContent = false;\n let lineStartSegmentIndex = 0;\n let lineStartGraphemeIndex = 0;\n let lineEndSegmentIndex = 0;\n let lineEndGraphemeIndex = 0;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakPaintWidth = 0;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakPaintWidth = 0;\n }\n function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n lineCount++;\n onLine?.({\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n });\n lineW = 0;\n hasContent = false;\n clearPendingBreak();\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = graphemeIndex;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreak(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakPaintWidth = lineW - segmentWidth;\n }\n function appendBreakableSegment(segmentIndex) {\n appendBreakableSegmentFrom(segmentIndex, 0);\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n emitCurrentLine();\n startLineAtGrapheme(segmentIndex, g, gw);\n }\n else {\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n }\n let i = 0;\n while (i < widths.length) {\n if (!hasContent) {\n i = normalizeSimpleLineStartSegmentIndex(prepared, i);\n if (i >= widths.length)\n break;\n }\n const w = widths[i];\n const kind = kinds[i];\n if (!hasContent) {\n if (w > maxWidth && breakableWidths[i] !== null) {\n appendBreakableSegment(i);\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreak(i, w);\n i++;\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n if (canBreakAfter(kind)) {\n appendWholeSegment(i, w);\n emitCurrentLine(i + 1, 0, lineW - w);\n i++;\n continue;\n }\n if (pendingBreakSegmentIndex >= 0) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n emitCurrentLine();\n continue;\n }\n emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n continue;\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n emitCurrentLine();\n appendBreakableSegment(i);\n i++;\n continue;\n }\n emitCurrentLine();\n continue;\n }\n appendWholeSegment(i, w);\n updatePendingBreak(i, w);\n i++;\n }\n if (hasContent)\n emitCurrentLine();\n return lineCount;\n}\nexport function walkPreparedLines(prepared, maxWidth, onLine) {\n if (prepared.simpleLineWalkFastPath) {\n return walkPreparedLinesSimple(prepared, maxWidth, onLine);\n }\n const { widths, lineEndFitAdvances, lineEndPaintAdvances, kinds, breakableWidths, breakablePrefixWidths, discretionaryHyphenWidth, tabStopAdvance, chunks, } = prepared;\n if (widths.length === 0 || chunks.length === 0)\n return 0;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineCount = 0;\n let lineW = 0;\n let hasContent = false;\n let lineStartSegmentIndex = 0;\n let lineStartGraphemeIndex = 0;\n let lineEndSegmentIndex = 0;\n let lineEndGraphemeIndex = 0;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakFitWidth = 0;\n let pendingBreakPaintWidth = 0;\n let pendingBreakKind = null;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakFitWidth = 0;\n pendingBreakPaintWidth = 0;\n pendingBreakKind = null;\n }\n function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n lineCount++;\n onLine?.({\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n });\n lineW = 0;\n hasContent = false;\n clearPendingBreak();\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = graphemeIndex;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreakForWholeSegment(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n const fitAdvance = kinds[segmentIndex] === 'tab' ? 0 : lineEndFitAdvances[segmentIndex];\n const paintAdvance = kinds[segmentIndex] === 'tab' ? segmentWidth : lineEndPaintAdvances[segmentIndex];\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakFitWidth = lineW - segmentWidth + fitAdvance;\n pendingBreakPaintWidth = lineW - segmentWidth + paintAdvance;\n pendingBreakKind = kinds[segmentIndex];\n }\n function appendBreakableSegment(segmentIndex) {\n appendBreakableSegmentFrom(segmentIndex, 0);\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n emitCurrentLine();\n startLineAtGrapheme(segmentIndex, g, gw);\n }\n else {\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n }\n function continueSoftHyphenBreakableSegment(segmentIndex) {\n if (pendingBreakKind !== 'soft-hyphen')\n return false;\n const gWidths = breakableWidths[segmentIndex];\n if (gWidths === null)\n return false;\n const fitWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? breakablePrefixWidths[segmentIndex] ?? gWidths\n : gWidths;\n const usesPrefixWidths = fitWidths !== gWidths;\n const { fitCount, fittedWidth } = fitSoftHyphenBreak(fitWidths, lineW, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, usesPrefixWidths);\n if (fitCount === 0)\n return false;\n lineW = fittedWidth;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = fitCount;\n clearPendingBreak();\n if (fitCount === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n return true;\n }\n emitCurrentLine(segmentIndex, fitCount, fittedWidth + discretionaryHyphenWidth);\n appendBreakableSegmentFrom(segmentIndex, fitCount);\n return true;\n }\n function emitEmptyChunk(chunk) {\n lineCount++;\n onLine?.({\n startSegmentIndex: chunk.startSegmentIndex,\n startGraphemeIndex: 0,\n endSegmentIndex: chunk.consumedEndSegmentIndex,\n endGraphemeIndex: 0,\n width: 0,\n });\n clearPendingBreak();\n }\n for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {\n const chunk = chunks[chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex) {\n emitEmptyChunk(chunk);\n continue;\n }\n hasContent = false;\n lineW = 0;\n lineStartSegmentIndex = chunk.startSegmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = chunk.startSegmentIndex;\n lineEndGraphemeIndex = 0;\n clearPendingBreak();\n let i = chunk.startSegmentIndex;\n while (i < chunk.endSegmentIndex) {\n const kind = kinds[i];\n const w = kind === 'tab' ? getTabAdvance(lineW, tabStopAdvance) : widths[i];\n if (kind === 'soft-hyphen') {\n if (hasContent) {\n lineEndSegmentIndex = i + 1;\n lineEndGraphemeIndex = 0;\n pendingBreakSegmentIndex = i + 1;\n pendingBreakFitWidth = lineW + discretionaryHyphenWidth;\n pendingBreakPaintWidth = lineW + discretionaryHyphenWidth;\n pendingBreakKind = kind;\n }\n i++;\n continue;\n }\n if (!hasContent) {\n if (w > maxWidth && breakableWidths[i] !== null) {\n appendBreakableSegment(i);\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreakForWholeSegment(i, w);\n i++;\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n const currentBreakFitWidth = lineW + (kind === 'tab' ? 0 : lineEndFitAdvances[i]);\n const currentBreakPaintWidth = lineW + (kind === 'tab' ? w : lineEndPaintAdvances[i]);\n if (pendingBreakKind === 'soft-hyphen' &&\n engineProfile.preferEarlySoftHyphenBreak &&\n pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n continue;\n }\n if (pendingBreakKind === 'soft-hyphen' && continueSoftHyphenBreakableSegment(i)) {\n i++;\n continue;\n }\n if (canBreakAfter(kind) && currentBreakFitWidth <= maxWidth + lineFitEpsilon) {\n appendWholeSegment(i, w);\n emitCurrentLine(i + 1, 0, currentBreakPaintWidth);\n i++;\n continue;\n }\n if (pendingBreakSegmentIndex >= 0 && pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n emitCurrentLine();\n continue;\n }\n const nextSegmentIndex = pendingBreakSegmentIndex;\n emitCurrentLine(nextSegmentIndex, 0, pendingBreakPaintWidth);\n i = nextSegmentIndex;\n continue;\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n emitCurrentLine();\n appendBreakableSegment(i);\n i++;\n continue;\n }\n emitCurrentLine();\n continue;\n }\n appendWholeSegment(i, w);\n updatePendingBreakForWholeSegment(i, w);\n i++;\n }\n if (hasContent) {\n const finalPaintWidth = pendingBreakSegmentIndex === chunk.consumedEndSegmentIndex\n ? pendingBreakPaintWidth\n : lineW;\n emitCurrentLine(chunk.consumedEndSegmentIndex, 0, finalPaintWidth);\n }\n }\n return lineCount;\n}\nexport function layoutNextLineRange(prepared, start, maxWidth) {\n const normalized = normalizeLineStartWithChunk(prepared, start);\n if (normalized === null)\n return null;\n if (prepared.simpleLineWalkFastPath) {\n return layoutNextLineRangeSimple(prepared, normalized.cursor, maxWidth);\n }\n const chunk = prepared.chunks[normalized.chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex) {\n return {\n startSegmentIndex: chunk.startSegmentIndex,\n startGraphemeIndex: 0,\n endSegmentIndex: chunk.consumedEndSegmentIndex,\n endGraphemeIndex: 0,\n width: 0,\n };\n }\n const { widths, lineEndFitAdvances, lineEndPaintAdvances, kinds, breakableWidths, breakablePrefixWidths, discretionaryHyphenWidth, tabStopAdvance, } = prepared;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineW = 0;\n let hasContent = false;\n const lineStartSegmentIndex = normalized.cursor.segmentIndex;\n const lineStartGraphemeIndex = normalized.cursor.graphemeIndex;\n let lineEndSegmentIndex = lineStartSegmentIndex;\n let lineEndGraphemeIndex = lineStartGraphemeIndex;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakFitWidth = 0;\n let pendingBreakPaintWidth = 0;\n let pendingBreakKind = null;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakFitWidth = 0;\n pendingBreakPaintWidth = 0;\n pendingBreakKind = null;\n }\n function finishLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n if (!hasContent)\n return null;\n return {\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n };\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreakForWholeSegment(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n const fitAdvance = kinds[segmentIndex] === 'tab' ? 0 : lineEndFitAdvances[segmentIndex];\n const paintAdvance = kinds[segmentIndex] === 'tab' ? segmentWidth : lineEndPaintAdvances[segmentIndex];\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakFitWidth = lineW - segmentWidth + fitAdvance;\n pendingBreakPaintWidth = lineW - segmentWidth + paintAdvance;\n pendingBreakKind = kinds[segmentIndex];\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n return finishLine();\n }\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n return null;\n }\n function maybeFinishAtSoftHyphen(segmentIndex) {\n if (pendingBreakKind !== 'soft-hyphen' || pendingBreakSegmentIndex < 0)\n return null;\n const gWidths = breakableWidths[segmentIndex] ?? null;\n if (gWidths !== null) {\n const fitWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? breakablePrefixWidths[segmentIndex] ?? gWidths\n : gWidths;\n const usesPrefixWidths = fitWidths !== gWidths;\n const { fitCount, fittedWidth } = fitSoftHyphenBreak(fitWidths, lineW, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, usesPrefixWidths);\n if (fitCount === gWidths.length) {\n lineW = fittedWidth;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n clearPendingBreak();\n return null;\n }\n if (fitCount > 0) {\n return finishLine(segmentIndex, fitCount, fittedWidth + discretionaryHyphenWidth);\n }\n }\n if (pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n return null;\n }\n for (let i = normalized.cursor.segmentIndex; i < chunk.endSegmentIndex; i++) {\n const kind = kinds[i];\n const startGraphemeIndex = i === normalized.cursor.segmentIndex ? normalized.cursor.graphemeIndex : 0;\n const w = kind === 'tab' ? getTabAdvance(lineW, tabStopAdvance) : widths[i];\n if (kind === 'soft-hyphen' && startGraphemeIndex === 0) {\n if (hasContent) {\n lineEndSegmentIndex = i + 1;\n lineEndGraphemeIndex = 0;\n pendingBreakSegmentIndex = i + 1;\n pendingBreakFitWidth = lineW + discretionaryHyphenWidth;\n pendingBreakPaintWidth = lineW + discretionaryHyphenWidth;\n pendingBreakKind = kind;\n }\n continue;\n }\n if (!hasContent) {\n if (startGraphemeIndex > 0) {\n const line = appendBreakableSegmentFrom(i, startGraphemeIndex);\n if (line !== null)\n return line;\n }\n else if (w > maxWidth && breakableWidths[i] !== null) {\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreakForWholeSegment(i, w);\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n const currentBreakFitWidth = lineW + (kind === 'tab' ? 0 : lineEndFitAdvances[i]);\n const currentBreakPaintWidth = lineW + (kind === 'tab' ? w : lineEndPaintAdvances[i]);\n if (pendingBreakKind === 'soft-hyphen' &&\n engineProfile.preferEarlySoftHyphenBreak &&\n pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n const softBreakLine = maybeFinishAtSoftHyphen(i);\n if (softBreakLine !== null)\n return softBreakLine;\n if (canBreakAfter(kind) && currentBreakFitWidth <= maxWidth + lineFitEpsilon) {\n appendWholeSegment(i, w);\n return finishLine(i + 1, 0, currentBreakPaintWidth);\n }\n if (pendingBreakSegmentIndex >= 0 && pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n return finishLine();\n }\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n const currentLine = finishLine();\n if (currentLine !== null)\n return currentLine;\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n return finishLine();\n }\n appendWholeSegment(i, w);\n updatePendingBreakForWholeSegment(i, w);\n }\n if (pendingBreakSegmentIndex === chunk.consumedEndSegmentIndex && lineEndGraphemeIndex === 0) {\n return finishLine(chunk.consumedEndSegmentIndex, 0, pendingBreakPaintWidth);\n }\n return finishLine(chunk.consumedEndSegmentIndex, 0, lineW);\n}\nfunction layoutNextLineRangeSimple(prepared, normalizedStart, maxWidth) {\n const { widths, kinds, breakableWidths, breakablePrefixWidths } = prepared;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineW = 0;\n let hasContent = false;\n const lineStartSegmentIndex = normalizedStart.segmentIndex;\n const lineStartGraphemeIndex = normalizedStart.graphemeIndex;\n let lineEndSegmentIndex = lineStartSegmentIndex;\n let lineEndGraphemeIndex = lineStartGraphemeIndex;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakPaintWidth = 0;\n function finishLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n if (!hasContent)\n return null;\n return {\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n };\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreak(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakPaintWidth = lineW - segmentWidth;\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n return finishLine();\n }\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n return null;\n }\n for (let i = normalizedStart.segmentIndex; i < widths.length; i++) {\n const w = widths[i];\n const kind = kinds[i];\n const startGraphemeIndex = i === normalizedStart.segmentIndex ? normalizedStart.graphemeIndex : 0;\n if (!hasContent) {\n if (startGraphemeIndex > 0) {\n const line = appendBreakableSegmentFrom(i, startGraphemeIndex);\n if (line !== null)\n return line;\n }\n else if (w > maxWidth && breakableWidths[i] !== null) {\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreak(i, w);\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n if (canBreakAfter(kind)) {\n appendWholeSegment(i, w);\n return finishLine(i + 1, 0, lineW - w);\n }\n if (pendingBreakSegmentIndex >= 0) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n return finishLine();\n }\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n const currentLine = finishLine();\n if (currentLine !== null)\n return currentLine;\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n return finishLine();\n }\n appendWholeSegment(i, w);\n updatePendingBreak(i, w);\n }\n return finishLine();\n}\n","// Text measurement for browser environments using canvas measureText.\n//\n// Problem: DOM-based text measurement (getBoundingClientRect, offsetHeight)\n// forces synchronous layout reflow. When components independently measure text,\n// each measurement triggers a reflow of the entire document. This creates\n// read/write interleaving that can cost 30ms+ per frame for 500 text blocks.\n//\n// Solution: two-phase measurement centered around canvas measureText.\n// prepare(text, font) — segments text via Intl.Segmenter, measures each word\n// via canvas, caches widths, and does one cached DOM calibration read per\n// font when emoji correction is needed. Call once when text first appears.\n// layout(prepared, maxWidth, lineHeight) — walks cached word widths with pure\n// arithmetic to count lines and compute height. Call on every resize.\n// ~0.0002ms per text.\n//\n// i18n: Intl.Segmenter handles CJK (per-character breaking), Thai, Arabic, etc.\n// Bidi: simplified rich-path metadata for mixed LTR/RTL custom rendering.\n// Punctuation merging: \"better.\" measured as one unit (matches CSS behavior).\n// Trailing whitespace: hangs past line edge without triggering breaks (CSS behavior).\n// overflow-wrap: pre-measured grapheme widths enable character-level word breaking.\n//\n// Emoji correction: Chrome/Firefox canvas measures emoji wider than DOM at font\n// sizes <24px on macOS (Apple Color Emoji). The inflation is constant per emoji\n// grapheme at a given size, font-independent. Auto-detected by comparing canvas\n// vs actual DOM emoji width (one cached DOM read per font). Safari canvas and\n// DOM agree (both wider than fontSize), so correction = 0 there.\n//\n// Limitations:\n// - system-ui font: canvas resolves to different optical variants than DOM on macOS.\n// Use named fonts (Helvetica, Inter, etc.) for guaranteed accuracy.\n// See RESEARCH.md \"Discovery: system-ui font resolution mismatch\".\n//\n// Based on Sebastian Markbage's text-layout research (github.com/chenglou/text-layout).\nimport { computeSegmentLevels } from './bidi.js';\nimport { analyzeText, clearAnalysisCaches, endsWithClosingQuote, isCJK, kinsokuEnd, kinsokuStart, leftStickyPunctuation, setAnalysisLocale, } from './analysis.js';\nimport { clearMeasurementCaches, getCorrectedSegmentWidth, getEngineProfile, getFontMeasurementState, getSegmentGraphemePrefixWidths, getSegmentGraphemeWidths, getSegmentMetrics, textMayContainEmoji, } from './measurement.js';\nimport { countPreparedLines, layoutNextLineRange as stepPreparedLineRange, walkPreparedLines, } from './line-break.js';\nlet sharedGraphemeSegmenter = null;\n// Rich-path only. Reuses grapheme splits while materializing multiple lines\n// from the same prepared handle, without pushing that cache into the API.\nlet sharedLineTextCaches = new WeakMap();\nfunction getSharedGraphemeSegmenter() {\n if (sharedGraphemeSegmenter === null) {\n sharedGraphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\n }\n return sharedGraphemeSegmenter;\n}\n// --- Public API ---\nfunction createEmptyPrepared(includeSegments) {\n if (includeSegments) {\n return {\n widths: [],\n lineEndFitAdvances: [],\n lineEndPaintAdvances: [],\n kinds: [],\n simpleLineWalkFastPath: true,\n segLevels: null,\n breakableWidths: [],\n breakablePrefixWidths: [],\n discretionaryHyphenWidth: 0,\n tabStopAdvance: 0,\n chunks: [],\n segments: [],\n };\n }\n return {\n widths: [],\n lineEndFitAdvances: [],\n lineEndPaintAdvances: [],\n kinds: [],\n simpleLineWalkFastPath: true,\n segLevels: null,\n breakableWidths: [],\n breakablePrefixWidths: [],\n discretionaryHyphenWidth: 0,\n tabStopAdvance: 0,\n chunks: [],\n };\n}\nfunction measureAnalysis(analysis, font, includeSegments) {\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n const engineProfile = getEngineProfile();\n const { cache, emojiCorrection } = getFontMeasurementState(font, textMayContainEmoji(analysis.normalized));\n const discretionaryHyphenWidth = getCorrectedSegmentWidth('-', getSegmentMetrics('-', cache), emojiCorrection);\n const spaceWidth = getCorrectedSegmentWidth(' ', getSegmentMetrics(' ', cache), emojiCorrection);\n const tabStopAdvance = spaceWidth * 8;\n if (analysis.len === 0)\n return createEmptyPrepared(includeSegments);\n const widths = [];\n const lineEndFitAdvances = [];\n const lineEndPaintAdvances = [];\n const kinds = [];\n let simpleLineWalkFastPath = analysis.chunks.length <= 1;\n const segStarts = includeSegments ? [] : null;\n const breakableWidths = [];\n const breakablePrefixWidths = [];\n const segments = includeSegments ? [] : null;\n const preparedStartByAnalysisIndex = Array.from({ length: analysis.len });\n const preparedEndByAnalysisIndex = Array.from({ length: analysis.len });\n function pushMeasuredSegment(text, width, lineEndFitAdvance, lineEndPaintAdvance, kind, start, breakable, breakablePrefix) {\n if (kind !== 'text' && kind !== 'space' && kind !== 'zero-width-break') {\n simpleLineWalkFastPath = false;\n }\n widths.push(width);\n lineEndFitAdvances.push(lineEndFitAdvance);\n lineEndPaintAdvances.push(lineEndPaintAdvance);\n kinds.push(kind);\n segStarts?.push(start);\n breakableWidths.push(breakable);\n breakablePrefixWidths.push(breakablePrefix);\n if (segments !== null)\n segments.push(text);\n }\n for (let mi = 0; mi < analysis.len; mi++) {\n preparedStartByAnalysisIndex[mi] = widths.length;\n const segText = analysis.texts[mi];\n const segWordLike = analysis.isWordLike[mi];\n const segKind = analysis.kinds[mi];\n const segStart = analysis.starts[mi];\n if (segKind === 'soft-hyphen') {\n pushMeasuredSegment(segText, 0, discretionaryHyphenWidth, discretionaryHyphenWidth, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n if (segKind === 'hard-break') {\n pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n if (segKind === 'tab') {\n pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n const segMetrics = getSegmentMetrics(segText, cache);\n if (segKind === 'text' && segMetrics.containsCJK) {\n let unitText = '';\n let unitStart = 0;\n for (const gs of graphemeSegmenter.segment(segText)) {\n const grapheme = gs.segment;\n if (unitText.length === 0) {\n unitText = grapheme;\n unitStart = gs.index;\n continue;\n }\n if (kinsokuEnd.has(unitText) ||\n kinsokuStart.has(grapheme) ||\n leftStickyPunctuation.has(grapheme) ||\n (engineProfile.carryCJKAfterClosingQuote &&\n isCJK(grapheme) &&\n endsWithClosingQuote(unitText))) {\n unitText += grapheme;\n continue;\n }\n const unitMetrics = getSegmentMetrics(unitText, cache);\n const w = getCorrectedSegmentWidth(unitText, unitMetrics, emojiCorrection);\n pushMeasuredSegment(unitText, w, w, w, 'text', segStart + unitStart, null, null);\n unitText = grapheme;\n unitStart = gs.index;\n }\n if (unitText.length > 0) {\n const unitMetrics = getSegmentMetrics(unitText, cache);\n const w = getCorrectedSegmentWidth(unitText, unitMetrics, emojiCorrection);\n pushMeasuredSegment(unitText, w, w, w, 'text', segStart + unitStart, null, null);\n }\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n const w = getCorrectedSegmentWidth(segText, segMetrics, emojiCorrection);\n const lineEndFitAdvance = segKind === 'space' || segKind === 'preserved-space' || segKind === 'zero-width-break'\n ? 0\n : w;\n const lineEndPaintAdvance = segKind === 'space' || segKind === 'zero-width-break'\n ? 0\n : w;\n if (segWordLike && segText.length > 1) {\n const graphemeWidths = getSegmentGraphemeWidths(segText, segMetrics, cache, emojiCorrection);\n const graphemePrefixWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? getSegmentGraphemePrefixWidths(segText, segMetrics, cache, emojiCorrection)\n : null;\n pushMeasuredSegment(segText, w, lineEndFitAdvance, lineEndPaintAdvance, segKind, segStart, graphemeWidths, graphemePrefixWidths);\n }\n else {\n pushMeasuredSegment(segText, w, lineEndFitAdvance, lineEndPaintAdvance, segKind, segStart, null, null);\n }\n preparedEndByAnalysisIndex[mi] = widths.length;\n }\n const chunks = mapAnalysisChunksToPreparedChunks(analysis.chunks, preparedStartByAnalysisIndex, preparedEndByAnalysisIndex);\n const segLevels = segStarts === null ? null : computeSegmentLevels(analysis.normalized, segStarts);\n if (segments !== null) {\n return {\n widths,\n lineEndFitAdvances,\n lineEndPaintAdvances,\n kinds,\n simpleLineWalkFastPath,\n segLevels,\n breakableWidths,\n breakablePrefixWidths,\n discretionaryHyphenWidth,\n tabStopAdvance,\n chunks,\n segments,\n };\n }\n return {\n widths,\n lineEndFitAdvances,\n lineEndPaintAdvances,\n kinds,\n simpleLineWalkFastPath,\n segLevels,\n breakableWidths,\n breakablePrefixWidths,\n discretionaryHyphenWidth,\n tabStopAdvance,\n chunks,\n };\n}\nfunction mapAnalysisChunksToPreparedChunks(chunks, preparedStartByAnalysisIndex, preparedEndByAnalysisIndex) {\n const preparedChunks = [];\n for (let i = 0; i < chunks.length; i++) {\n const chunk = chunks[i];\n const startSegmentIndex = chunk.startSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.startSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n const endSegmentIndex = chunk.endSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.endSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n const consumedEndSegmentIndex = chunk.consumedEndSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.consumedEndSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n preparedChunks.push({\n startSegmentIndex,\n endSegmentIndex,\n consumedEndSegmentIndex,\n });\n }\n return preparedChunks;\n}\nfunction prepareInternal(text, font, includeSegments, options) {\n const analysis = analyzeText(text, getEngineProfile(), options?.whiteSpace);\n return measureAnalysis(analysis, font, includeSegments);\n}\n// Diagnostic-only helper used by the browser benchmark harness to separate the\n// text-analysis and measurement phases without duplicating the prepare logic.\nexport function profilePrepare(text, font, options) {\n const t0 = performance.now();\n const analysis = analyzeText(text, getEngineProfile(), options?.whiteSpace);\n const t1 = performance.now();\n const prepared = measureAnalysis(analysis, font, false);\n const t2 = performance.now();\n let breakableSegments = 0;\n for (const widths of prepared.breakableWidths) {\n if (widths !== null)\n breakableSegments++;\n }\n return {\n analysisMs: t1 - t0,\n measureMs: t2 - t1,\n totalMs: t2 - t0,\n analysisSegments: analysis.len,\n preparedSegments: prepared.widths.length,\n breakableSegments,\n };\n}\n// Prepare text for layout. Segments the text, measures each segment via canvas,\n// and stores the widths for fast relayout at any width. Call once per text block\n// (e.g. when a comment first appears). The result is width-independent — the\n// same PreparedText can be laid out at any maxWidth and lineHeight via layout().\n//\n// Steps:\n// 1. Normalize collapsible whitespace (CSS white-space: normal behavior)\n// 2. Segment via Intl.Segmenter (handles CJK, Thai, etc.)\n// 3. Merge punctuation into preceding word (\"better.\" as one unit)\n// 4. Split CJK words into individual graphemes (per-character line breaks)\n// 5. Measure each segment via canvas measureText, cache by (segment, font)\n// 6. Pre-measure graphemes of long words (for overflow-wrap: break-word)\n// 7. Correct emoji canvas inflation (auto-detected per font size)\n// 8. Optionally compute rich-path bidi metadata for custom renderers\nexport function prepare(text, font, options) {\n return prepareInternal(text, font, false, options);\n}\n// Rich variant used by callers that need enough information to render the\n// laid-out lines themselves.\nexport function prepareWithSegments(text, font, options) {\n return prepareInternal(text, font, true, options);\n}\nfunction getInternalPrepared(prepared) {\n return prepared;\n}\n// Layout prepared text at a given max width and caller-provided lineHeight.\n// Pure arithmetic on cached widths — no canvas calls, no DOM reads, no string\n// operations, no allocations.\n// ~0.0002ms per text block. Call on every resize.\n//\n// Line breaking rules (matching CSS white-space: normal + overflow-wrap: break-word):\n// - Break before any non-space segment that would overflow the line\n// - Trailing whitespace hangs past the line edge (doesn't trigger breaks)\n// - Segments wider than maxWidth are broken at grapheme boundaries\nexport function layout(prepared, maxWidth, lineHeight) {\n // Keep the resize hot path specialized. `layoutWithLines()` shares the same\n // break semantics but also tracks line ranges; the extra bookkeeping is too\n // expensive to pay on every hot-path `layout()` call.\n const lineCount = countPreparedLines(getInternalPrepared(prepared), maxWidth);\n return { lineCount, height: lineCount * lineHeight };\n}\nfunction getSegmentGraphemes(segmentIndex, segments, cache) {\n let graphemes = cache.get(segmentIndex);\n if (graphemes !== undefined)\n return graphemes;\n graphemes = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const gs of graphemeSegmenter.segment(segments[segmentIndex])) {\n graphemes.push(gs.segment);\n }\n cache.set(segmentIndex, graphemes);\n return graphemes;\n}\nfunction getLineTextCache(prepared) {\n let cache = sharedLineTextCaches.get(prepared);\n if (cache !== undefined)\n return cache;\n cache = new Map();\n sharedLineTextCaches.set(prepared, cache);\n return cache;\n}\nfunction lineHasDiscretionaryHyphen(kinds, startSegmentIndex, startGraphemeIndex, endSegmentIndex) {\n return (endSegmentIndex > 0 &&\n kinds[endSegmentIndex - 1] === 'soft-hyphen' &&\n !(startSegmentIndex === endSegmentIndex && startGraphemeIndex > 0));\n}\nfunction buildLineTextFromRange(segments, kinds, cache, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex) {\n let text = '';\n const endsWithDiscretionaryHyphen = lineHasDiscretionaryHyphen(kinds, startSegmentIndex, startGraphemeIndex, endSegmentIndex);\n for (let i = startSegmentIndex; i < endSegmentIndex; i++) {\n if (kinds[i] === 'soft-hyphen' || kinds[i] === 'hard-break')\n continue;\n if (i === startSegmentIndex && startGraphemeIndex > 0) {\n text += getSegmentGraphemes(i, segments, cache).slice(startGraphemeIndex).join('');\n }\n else {\n text += segments[i];\n }\n }\n if (endGraphemeIndex > 0) {\n if (endsWithDiscretionaryHyphen)\n text += '-';\n text += getSegmentGraphemes(endSegmentIndex, segments, cache).slice(startSegmentIndex === endSegmentIndex ? startGraphemeIndex : 0, endGraphemeIndex).join('');\n }\n else if (endsWithDiscretionaryHyphen) {\n text += '-';\n }\n return text;\n}\nfunction createLayoutLine(prepared, cache, width, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex) {\n return {\n text: buildLineTextFromRange(prepared.segments, prepared.kinds, cache, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex),\n width,\n start: {\n segmentIndex: startSegmentIndex,\n graphemeIndex: startGraphemeIndex,\n },\n end: {\n segmentIndex: endSegmentIndex,\n graphemeIndex: endGraphemeIndex,\n },\n };\n}\nfunction materializeLayoutLine(prepared, cache, line) {\n return createLayoutLine(prepared, cache, line.width, line.startSegmentIndex, line.startGraphemeIndex, line.endSegmentIndex, line.endGraphemeIndex);\n}\nfunction toLayoutLineRange(line) {\n return {\n width: line.width,\n start: {\n segmentIndex: line.startSegmentIndex,\n graphemeIndex: line.startGraphemeIndex,\n },\n end: {\n segmentIndex: line.endSegmentIndex,\n graphemeIndex: line.endGraphemeIndex,\n },\n };\n}\nfunction stepLineRange(prepared, start, maxWidth) {\n const line = stepPreparedLineRange(prepared, start, maxWidth);\n if (line === null)\n return null;\n return toLayoutLineRange(line);\n}\nfunction materializeLine(prepared, line) {\n return createLayoutLine(prepared, getLineTextCache(prepared), line.width, line.start.segmentIndex, line.start.graphemeIndex, line.end.segmentIndex, line.end.graphemeIndex);\n}\n// Batch low-level line geometry pass. This is the non-materializing counterpart\n// to layoutWithLines(), useful for shrinkwrap and other aggregate geometry work.\nexport function walkLineRanges(prepared, maxWidth, onLine) {\n if (prepared.widths.length === 0)\n return 0;\n return walkPreparedLines(getInternalPrepared(prepared), maxWidth, line => {\n onLine(toLayoutLineRange(line));\n });\n}\nexport function layoutNextLine(prepared, start, maxWidth) {\n const line = stepLineRange(prepared, start, maxWidth);\n if (line === null)\n return null;\n return materializeLine(prepared, line);\n}\n// Rich layout API for callers that want the actual line contents and widths.\n// Caller still supplies lineHeight at layout time. Mirrors layout()'s break\n// decisions, but keeps extra per-line bookkeeping so it should stay off the\n// resize hot path.\nexport function layoutWithLines(prepared, maxWidth, lineHeight) {\n const lines = [];\n if (prepared.widths.length === 0)\n return { lineCount: 0, height: 0, lines };\n const graphemeCache = getLineTextCache(prepared);\n const lineCount = walkPreparedLines(getInternalPrepared(prepared), maxWidth, line => {\n lines.push(materializeLayoutLine(prepared, graphemeCache, line));\n });\n return { lineCount, height: lineCount * lineHeight, lines };\n}\nexport function clearCache() {\n clearAnalysisCaches();\n sharedGraphemeSegmenter = null;\n sharedLineTextCaches = new WeakMap();\n clearMeasurementCaches();\n}\nexport function setLocale(locale) {\n setAnalysisLocale(locale);\n clearCache();\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"function rotatePoints(points, center, degrees) {\n if (points && points.length) {\n const [cx, cy] = center;\n const angle = (Math.PI / 180) * degrees;\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n for (const p of points) {\n const [x, y] = p;\n p[0] = ((x - cx) * cos) - ((y - cy) * sin) + cx;\n p[1] = ((x - cx) * sin) + ((y - cy) * cos) + cy;\n }\n }\n}\nfunction rotateLines(lines, center, degrees) {\n const points = [];\n lines.forEach((line) => points.push(...line));\n rotatePoints(points, center, degrees);\n}\nfunction areSamePoints(p1, p2) {\n return p1[0] === p2[0] && p1[1] === p2[1];\n}\nexport function hachureLines(polygons, hachureGap, hachureAngle, hachureStepOffset = 1) {\n const angle = hachureAngle;\n const gap = Math.max(hachureGap, 0.1);\n const polygonList = (polygons[0] && polygons[0][0] && (typeof polygons[0][0] === 'number')) ? [polygons] : polygons;\n const rotationCenter = [0, 0];\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, angle);\n }\n }\n const lines = straightHachureLines(polygonList, gap, hachureStepOffset);\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, -angle);\n }\n rotateLines(lines, rotationCenter, -angle);\n }\n return lines;\n}\nfunction straightHachureLines(polygons, gap, hachureStepOffset) {\n const vertexArray = [];\n for (const polygon of polygons) {\n const vertices = [...polygon];\n if (!areSamePoints(vertices[0], vertices[vertices.length - 1])) {\n vertices.push([vertices[0][0], vertices[0][1]]);\n }\n if (vertices.length > 2) {\n vertexArray.push(vertices);\n }\n }\n const lines = [];\n gap = Math.max(gap, 0.1);\n // Create sorted edges table\n const edges = [];\n for (const vertices of vertexArray) {\n for (let i = 0; i < vertices.length - 1; i++) {\n const p1 = vertices[i];\n const p2 = vertices[i + 1];\n if (p1[1] !== p2[1]) {\n const ymin = Math.min(p1[1], p2[1]);\n edges.push({\n ymin,\n ymax: Math.max(p1[1], p2[1]),\n x: ymin === p1[1] ? p1[0] : p2[0],\n islope: (p2[0] - p1[0]) / (p2[1] - p1[1]),\n });\n }\n }\n }\n edges.sort((e1, e2) => {\n if (e1.ymin < e2.ymin) {\n return -1;\n }\n if (e1.ymin > e2.ymin) {\n return 1;\n }\n if (e1.x < e2.x) {\n return -1;\n }\n if (e1.x > e2.x) {\n return 1;\n }\n if (e1.ymax === e2.ymax) {\n return 0;\n }\n return (e1.ymax - e2.ymax) / Math.abs((e1.ymax - e2.ymax));\n });\n if (!edges.length) {\n return lines;\n }\n // Start scanning\n let activeEdges = [];\n let y = edges[0].ymin;\n let iteration = 0;\n while (activeEdges.length || edges.length) {\n if (edges.length) {\n let ix = -1;\n for (let i = 0; i < edges.length; i++) {\n if (edges[i].ymin > y) {\n break;\n }\n ix = i;\n }\n const removed = edges.splice(0, ix + 1);\n removed.forEach((edge) => {\n activeEdges.push({ s: y, edge });\n });\n }\n activeEdges = activeEdges.filter((ae) => {\n if (ae.edge.ymax <= y) {\n return false;\n }\n return true;\n });\n activeEdges.sort((ae1, ae2) => {\n if (ae1.edge.x === ae2.edge.x) {\n return 0;\n }\n return (ae1.edge.x - ae2.edge.x) / Math.abs((ae1.edge.x - ae2.edge.x));\n });\n // fill between the edges\n if ((hachureStepOffset !== 1) || (iteration % gap === 0)) {\n if (activeEdges.length > 1) {\n for (let i = 0; i < activeEdges.length; i = i + 2) {\n const nexti = i + 1;\n if (nexti >= activeEdges.length) {\n break;\n }\n const ce = activeEdges[i].edge;\n const ne = activeEdges[nexti].edge;\n lines.push([\n [Math.round(ce.x), y],\n [Math.round(ne.x), y],\n ]);\n }\n }\n }\n y += hachureStepOffset;\n activeEdges.forEach((ae) => {\n ae.edge.x = ae.edge.x + (hachureStepOffset * ae.edge.islope);\n });\n iteration++;\n }\n return lines;\n}\n","import { hachureLines } from 'hachure-fill';\nexport function polygonHachureLines(polygonList, o) {\n var _a;\n const angle = o.hachureAngle + 90;\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.round(Math.max(gap, 0.1));\n let skipOffset = 1;\n if (o.roughness >= 1) {\n if ((((_a = o.randomizer) === null || _a === void 0 ? void 0 : _a.next()) || Math.random()) > 0.7) {\n skipOffset = gap;\n }\n }\n return hachureLines(polygonList, gap, angle, skipOffset || 1);\n}\n","import { polygonHachureLines } from './scan-line-hachure';\nexport class HachureFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n return this._fillPolygons(polygonList, o);\n }\n _fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n const ops = this.renderLines(lines, o);\n return { type: 'fillSketch', ops };\n }\n renderLines(lines, o) {\n const ops = [];\n for (const line of lines) {\n ops.push(...this.helper.doubleLineOps(line[0][0], line[0][1], line[1][0], line[1][1], o));\n }\n return ops;\n }\n}\n","export function lineLength(line) {\n const p1 = line[0];\n const p2 = line[1];\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2));\n}\n","import { HachureFiller } from './hachure-filler';\nimport { polygonHachureLines } from './scan-line-hachure';\nimport { lineLength } from '../geometry';\nexport class ZigZagFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n const o2 = Object.assign({}, o, { hachureGap: gap });\n const lines = polygonHachureLines(polygonList, o2);\n const zigZagAngle = (Math.PI / 180) * o.hachureAngle;\n const zigzagLines = [];\n const dgx = gap * 0.5 * Math.cos(zigZagAngle);\n const dgy = gap * 0.5 * Math.sin(zigZagAngle);\n for (const [p1, p2] of lines) {\n if (lineLength([p1, p2])) {\n zigzagLines.push([\n [p1[0] - dgx, p1[1] + dgy],\n [...p2],\n ], [\n [p1[0] + dgx, p1[1] - dgy],\n [...p2],\n ]);\n }\n }\n const ops = this.renderLines(zigzagLines, o);\n return { type: 'fillSketch', ops };\n }\n}\n","import { HachureFiller } from './hachure-filler';\nexport class HatchFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n const set = this._fillPolygons(polygonList, o);\n const o2 = Object.assign({}, o, { hachureAngle: o.hachureAngle + 90 });\n const set2 = this._fillPolygons(polygonList, o2);\n set.ops = set.ops.concat(set2.ops);\n return set;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DotFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n o = Object.assign({}, o, { hachureAngle: 0 });\n const lines = polygonHachureLines(polygonList, o);\n return this.dotsOnLines(lines, o);\n }\n dotsOnLines(lines, o) {\n const ops = [];\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const ro = gap / 4;\n for (const line of lines) {\n const length = lineLength(line);\n const dl = length / gap;\n const count = Math.ceil(dl) - 1;\n const offset = length - (count * gap);\n const x = ((line[0][0] + line[1][0]) / 2) - (gap / 4);\n const minY = Math.min(line[0][1], line[1][1]);\n for (let i = 0; i < count; i++) {\n const y = minY + offset + (i * gap);\n const cx = (x - ro) + Math.random() * 2 * ro;\n const cy = (y - ro) + Math.random() * 2 * ro;\n const el = this.helper.ellipse(cx, cy, fweight, fweight, o);\n ops.push(...el.ops);\n }\n }\n return { type: 'fillSketch', ops };\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DashedFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.dashedLine(lines, o) };\n }\n dashedLine(lines, o) {\n const offset = o.dashOffset < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashOffset;\n const gap = o.dashGap < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashGap;\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.floor(length / (offset + gap));\n const startOffset = (length + gap - (count * (offset + gap))) / 2;\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * (offset + gap);\n const lend = lstart + offset;\n const start = [p1[0] + (lstart * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha) + (startOffset * Math.sin(alpha))];\n const end = [p1[0] + (lend * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha)) + (startOffset * Math.sin(alpha))];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class ZigZagLineFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const gap = o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap;\n const zo = o.zigzagOffset < 0 ? gap : o.zigzagOffset;\n o = Object.assign({}, o, { hachureGap: gap + zo });\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.zigzagLines(lines, zo, o) };\n }\n zigzagLines(lines, zo, o) {\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.round(length / (2 * zo));\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * 2 * zo;\n const lend = (i + 1) * 2 * zo;\n const dz = Math.sqrt(2 * Math.pow(zo, 2));\n const start = [p1[0] + (lstart * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha)];\n const end = [p1[0] + (lend * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha))];\n const middle = [start[0] + dz * Math.cos(alpha + Math.PI / 4), start[1] + dz * Math.sin(alpha + Math.PI / 4)];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], middle[0], middle[1], o), ...this.helper.doubleLineOps(middle[0], middle[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { HachureFiller } from './hachure-filler';\nimport { ZigZagFiller } from './zigzag-filler';\nimport { HatchFiller } from './hatch-filler';\nimport { DotFiller } from './dot-filler';\nimport { DashedFiller } from './dashed-filler';\nimport { ZigZagLineFiller } from './zigzag-line-filler';\nconst fillers = {};\nexport function getFiller(o, helper) {\n let fillerName = o.fillStyle || 'hachure';\n if (!fillers[fillerName]) {\n switch (fillerName) {\n case 'zigzag':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagFiller(helper);\n }\n break;\n case 'cross-hatch':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HatchFiller(helper);\n }\n break;\n case 'dots':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DotFiller(helper);\n }\n break;\n case 'dashed':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DashedFiller(helper);\n }\n break;\n case 'zigzag-line':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagLineFiller(helper);\n }\n break;\n case 'hachure':\n default:\n fillerName = 'hachure';\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HachureFiller(helper);\n }\n break;\n }\n }\n return fillers[fillerName];\n}\n","export function randomSeed() {\n return Math.floor(Math.random() * 2 ** 31);\n}\nexport class Random {\n constructor(seed) {\n this.seed = seed;\n }\n next() {\n if (this.seed) {\n return ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31;\n }\n else {\n return Math.random();\n }\n }\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { getFiller } from './fillers/filler.js';\nimport { Random } from './math.js';\nimport { parsePath, normalize, absolutize } from 'path-data-parser';\nconst helper = {\n randOffset,\n randOffsetWithRange,\n ellipse,\n doubleLineOps: doubleLineFillOps,\n};\nexport function line(x1, y1, x2, y2, o) {\n return { type: 'path', ops: _doubleLine(x1, y1, x2, y2, o) };\n}\nexport function linearPath(points, close, o) {\n const len = (points || []).length;\n if (len > 2) {\n const ops = [];\n for (let i = 0; i < (len - 1); i++) {\n ops.push(..._doubleLine(points[i][0], points[i][1], points[i + 1][0], points[i + 1][1], o));\n }\n if (close) {\n ops.push(..._doubleLine(points[len - 1][0], points[len - 1][1], points[0][0], points[0][1], o));\n }\n return { type: 'path', ops };\n }\n else if (len === 2) {\n return line(points[0][0], points[0][1], points[1][0], points[1][1], o);\n }\n return { type: 'path', ops: [] };\n}\nexport function polygon(points, o) {\n return linearPath(points, true, o);\n}\nexport function rectangle(x, y, width, height, o) {\n const points = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height],\n ];\n return polygon(points, o);\n}\nexport function curve(inputPoints, o) {\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n const o1 = _curveWithOffset(pointsList[0], 1 * (1 + o.roughness * 0.2), o);\n const o2 = o.disableMultiStroke ? [] : _curveWithOffset(pointsList[0], 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (let i = 1; i < pointsList.length; i++) {\n const points = pointsList[i];\n if (points.length) {\n const underlay = _curveWithOffset(points, 1 * (1 + o.roughness * 0.2), o);\n const overlay = o.disableMultiStroke ? [] : _curveWithOffset(points, 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (const item of underlay) {\n if (item.op !== 'move') {\n o1.push(item);\n }\n }\n for (const item of overlay) {\n if (item.op !== 'move') {\n o2.push(item);\n }\n }\n }\n }\n return { type: 'path', ops: o1.concat(o2) };\n }\n return { type: 'path', ops: [] };\n}\nexport function ellipse(x, y, width, height, o) {\n const params = generateEllipseParams(width, height, o);\n return ellipseWithParams(x, y, o, params).opset;\n}\nexport function generateEllipseParams(width, height, o) {\n const psq = Math.sqrt(Math.PI * 2 * Math.sqrt((Math.pow(width / 2, 2) + Math.pow(height / 2, 2)) / 2));\n const stepCount = Math.ceil(Math.max(o.curveStepCount, (o.curveStepCount / Math.sqrt(200)) * psq));\n const increment = (Math.PI * 2) / stepCount;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n const curveFitRandomness = 1 - o.curveFitting;\n rx += _offsetOpt(rx * curveFitRandomness, o);\n ry += _offsetOpt(ry * curveFitRandomness, o);\n return { increment, rx, ry };\n}\nexport function ellipseWithParams(x, y, o, ellipseParams) {\n const [ap1, cp1] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1, ellipseParams.increment * _offset(0.1, _offset(0.4, 1, o), o), o);\n let o1 = _curve(ap1, null, o);\n if ((!o.disableMultiStroke) && (o.roughness !== 0)) {\n const [ap2] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1.5, 0, o);\n const o2 = _curve(ap2, null, o);\n o1 = o1.concat(o2);\n }\n return {\n estimatedPoints: cp1,\n opset: { type: 'path', ops: o1 },\n };\n}\nexport function arc(x, y, width, height, start, stop, closed, roughClosure, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const ellipseInc = (Math.PI * 2) / o.curveStepCount;\n const arcInc = Math.min(ellipseInc / 2, (stp - strt) / 2);\n const ops = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1, o);\n if (!o.disableMultiStroke) {\n const o2 = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1.5, o);\n ops.push(...o2);\n }\n if (closed) {\n if (roughClosure) {\n ops.push(..._doubleLine(cx, cy, cx + rx * Math.cos(strt), cy + ry * Math.sin(strt), o), ..._doubleLine(cx, cy, cx + rx * Math.cos(stp), cy + ry * Math.sin(stp), o));\n }\n else {\n ops.push({ op: 'lineTo', data: [cx, cy] }, { op: 'lineTo', data: [cx + rx * Math.cos(strt), cy + ry * Math.sin(strt)] });\n }\n }\n return { type: 'path', ops };\n}\nexport function svgPath(path, o) {\n const segments = normalize(absolutize(parsePath(path)));\n const ops = [];\n let first = [0, 0];\n let current = [0, 0];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M': {\n current = [data[0], data[1]];\n first = [data[0], data[1]];\n break;\n }\n case 'L':\n ops.push(..._doubleLine(current[0], current[1], data[0], data[1], o));\n current = [data[0], data[1]];\n break;\n case 'C': {\n const [x1, y1, x2, y2, x, y] = data;\n ops.push(..._bezierTo(x1, y1, x2, y2, x, y, current, o));\n current = [x, y];\n break;\n }\n case 'Z':\n ops.push(..._doubleLine(current[0], current[1], first[0], first[1], o));\n current = [first[0], first[1]];\n break;\n }\n }\n return { type: 'path', ops };\n}\n// Fills\nexport function solidFillPolygon(polygonList, o) {\n const ops = [];\n for (const points of polygonList) {\n if (points.length) {\n const offset = o.maxRandomnessOffset || 0;\n const len = points.length;\n if (len > 2) {\n ops.push({ op: 'move', data: [points[0][0] + _offsetOpt(offset, o), points[0][1] + _offsetOpt(offset, o)] });\n for (let i = 1; i < len; i++) {\n ops.push({ op: 'lineTo', data: [points[i][0] + _offsetOpt(offset, o), points[i][1] + _offsetOpt(offset, o)] });\n }\n }\n }\n }\n return { type: 'fillPath', ops };\n}\nexport function patternFillPolygons(polygonList, o) {\n return getFiller(o, helper).fillPolygons(polygonList, o);\n}\nexport function patternFillArc(x, y, width, height, start, stop, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const increment = (stp - strt) / o.curveStepCount;\n const points = [];\n for (let angle = strt; angle <= stp; angle = angle + increment) {\n points.push([cx + rx * Math.cos(angle), cy + ry * Math.sin(angle)]);\n }\n points.push([cx + rx * Math.cos(stp), cy + ry * Math.sin(stp)]);\n points.push([cx, cy]);\n return patternFillPolygons([points], o);\n}\nexport function randOffset(x, o) {\n return _offsetOpt(x, o);\n}\nexport function randOffsetWithRange(min, max, o) {\n return _offset(min, max, o);\n}\nexport function doubleLineFillOps(x1, y1, x2, y2, o) {\n return _doubleLine(x1, y1, x2, y2, o, true);\n}\n// Private helpers\nfunction cloneOptionsAlterSeed(ops) {\n const result = Object.assign({}, ops);\n result.randomizer = undefined;\n if (ops.seed) {\n result.seed = ops.seed + 1;\n }\n return result;\n}\nfunction random(ops) {\n if (!ops.randomizer) {\n ops.randomizer = new Random(ops.seed || 0);\n }\n return ops.randomizer.next();\n}\nfunction _offset(min, max, ops, roughnessGain = 1) {\n return ops.roughness * roughnessGain * ((random(ops) * (max - min)) + min);\n}\nfunction _offsetOpt(x, ops, roughnessGain = 1) {\n return _offset(-x, x, ops, roughnessGain);\n}\nfunction _doubleLine(x1, y1, x2, y2, o, filling = false) {\n const singleStroke = filling ? o.disableMultiStrokeFill : o.disableMultiStroke;\n const o1 = _line(x1, y1, x2, y2, o, true, false);\n if (singleStroke) {\n return o1;\n }\n const o2 = _line(x1, y1, x2, y2, o, true, true);\n return o1.concat(o2);\n}\nfunction _line(x1, y1, x2, y2, o, move, overlay) {\n const lengthSq = Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2);\n const length = Math.sqrt(lengthSq);\n let roughnessGain = 1;\n if (length < 200) {\n roughnessGain = 1;\n }\n else if (length > 500) {\n roughnessGain = 0.4;\n }\n else {\n roughnessGain = (-0.0016668) * length + 1.233334;\n }\n let offset = o.maxRandomnessOffset || 0;\n if ((offset * offset * 100) > lengthSq) {\n offset = length / 10;\n }\n const halfOffset = offset / 2;\n const divergePoint = 0.2 + random(o) * 0.2;\n let midDispX = o.bowing * o.maxRandomnessOffset * (y2 - y1) / 200;\n let midDispY = o.bowing * o.maxRandomnessOffset * (x1 - x2) / 200;\n midDispX = _offsetOpt(midDispX, o, roughnessGain);\n midDispY = _offsetOpt(midDispY, o, roughnessGain);\n const ops = [];\n const randomHalf = () => _offsetOpt(halfOffset, o, roughnessGain);\n const randomFull = () => _offsetOpt(offset, o, roughnessGain);\n const preserveVertices = o.preserveVertices;\n if (move) {\n if (overlay) {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : randomHalf()),\n y1 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n y1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n ],\n });\n }\n }\n if (overlay) {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomHalf(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomHalf(),\n x2 + (preserveVertices ? 0 : randomHalf()),\n y2 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomFull(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomFull(),\n x2 + (preserveVertices ? 0 : randomFull()),\n y2 + (preserveVertices ? 0 : randomFull()),\n ],\n });\n }\n return ops;\n}\nfunction _curveWithOffset(points, offset, o) {\n if (!points.length) {\n return [];\n }\n const ps = [];\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n for (let i = 1; i < points.length; i++) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n if (i === (points.length - 1)) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n }\n }\n return _curve(ps, null, o);\n}\nfunction _curve(points, closePoint, o) {\n const len = points.length;\n const ops = [];\n if (len > 3) {\n const b = [];\n const s = 1 - o.curveTightness;\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n for (let i = 1; (i + 2) < len; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n ops.push({ op: 'bcurveTo', data: [b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1]] });\n }\n if (closePoint && closePoint.length === 2) {\n const ro = o.maxRandomnessOffset;\n ops.push({ op: 'lineTo', data: [closePoint[0] + _offsetOpt(ro, o), closePoint[1] + _offsetOpt(ro, o)] });\n }\n }\n else if (len === 3) {\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n ops.push({\n op: 'bcurveTo',\n data: [\n points[1][0], points[1][1],\n points[2][0], points[2][1],\n points[2][0], points[2][1],\n ],\n });\n }\n else if (len === 2) {\n ops.push(..._line(points[0][0], points[0][1], points[1][0], points[1][1], o, true, true));\n }\n return ops;\n}\nfunction _computeEllipsePoints(increment, cx, cy, rx, ry, offset, overlap, o) {\n const coreOnly = o.roughness === 0;\n const corePoints = [];\n const allPoints = [];\n if (coreOnly) {\n increment = increment / 4;\n allPoints.push([\n cx + rx * Math.cos(-increment),\n cy + ry * Math.sin(-increment),\n ]);\n for (let angle = 0; angle <= Math.PI * 2; angle = angle + increment) {\n const p = [\n cx + rx * Math.cos(angle),\n cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n cx + rx * Math.cos(0),\n cy + ry * Math.sin(0),\n ]);\n allPoints.push([\n cx + rx * Math.cos(increment),\n cy + ry * Math.sin(increment),\n ]);\n }\n else {\n const radOffset = _offsetOpt(0.5, o) - (Math.PI / 2);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n const endAngle = Math.PI * 2 + radOffset - 0.01;\n for (let angle = radOffset; angle < endAngle; angle = angle + increment) {\n const p = [\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(radOffset + Math.PI * 2 + overlap * 0.5),\n _offsetOpt(offset, o) + cy + ry * Math.sin(radOffset + Math.PI * 2 + overlap * 0.5),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.98 * rx * Math.cos(radOffset + overlap),\n _offsetOpt(offset, o) + cy + 0.98 * ry * Math.sin(radOffset + overlap),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset + overlap * 0.5),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset + overlap * 0.5),\n ]);\n }\n return [allPoints, corePoints];\n}\nfunction _arc(increment, cx, cy, rx, ry, strt, stp, offset, o) {\n const radOffset = strt + _offsetOpt(0.1, o);\n const points = [];\n points.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n for (let angle = radOffset; angle <= stp; angle = angle + increment) {\n points.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ]);\n }\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n return _curve(points, null, o);\n}\nfunction _bezierTo(x1, y1, x2, y2, x, y, current, o) {\n const ops = [];\n const ros = [o.maxRandomnessOffset || 1, (o.maxRandomnessOffset || 1) + 0.3];\n let f = [0, 0];\n const iterations = o.disableMultiStroke ? 1 : 2;\n const preserveVertices = o.preserveVertices;\n for (let i = 0; i < iterations; i++) {\n if (i === 0) {\n ops.push({ op: 'move', data: [current[0], current[1]] });\n }\n else {\n ops.push({ op: 'move', data: [current[0] + (preserveVertices ? 0 : _offsetOpt(ros[0], o)), current[1] + (preserveVertices ? 0 : _offsetOpt(ros[0], o))] });\n }\n f = preserveVertices ? [x, y] : [x + _offsetOpt(ros[i], o), y + _offsetOpt(ros[i], o)];\n ops.push({\n op: 'bcurveTo',\n data: [\n x1 + _offsetOpt(ros[i], o), y1 + _offsetOpt(ros[i], o),\n x2 + _offsetOpt(ros[i], o), y2 + _offsetOpt(ros[i], o),\n f[0], f[1],\n ],\n });\n }\n return ops;\n}\n","function clone(p) {\n return [...p];\n}\nexport function curveToBezier(pointsIn, curveTightness = 0) {\n const len = pointsIn.length;\n if (len < 3) {\n throw new Error('A curve must have at least three points.');\n }\n const out = [];\n if (len === 3) {\n out.push(clone(pointsIn[0]), clone(pointsIn[1]), clone(pointsIn[2]), clone(pointsIn[2]));\n }\n else {\n const points = [];\n points.push(pointsIn[0], pointsIn[0]);\n for (let i = 1; i < pointsIn.length; i++) {\n points.push(pointsIn[i]);\n if (i === (pointsIn.length - 1)) {\n points.push(pointsIn[i]);\n }\n }\n const b = [];\n const s = 1 - curveTightness;\n out.push(clone(points[0]));\n for (let i = 1; (i + 2) < points.length; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n out.push(b[1], b[2], b[3]);\n }\n }\n return out;\n}\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","import { line, solidFillPolygon, patternFillPolygons, rectangle, ellipseWithParams, generateEllipseParams, linearPath, arc, patternFillArc, curve, svgPath } from './renderer.js';\nimport { randomSeed } from './math.js';\nimport { curveToBezier } from 'points-on-curve/lib/curve-to-bezier.js';\nimport { pointsOnBezierCurves } from 'points-on-curve';\nimport { pointsOnPath } from 'points-on-path';\nconst NOS = 'none';\nexport class RoughGenerator {\n constructor(config) {\n this.defaultOptions = {\n maxRandomnessOffset: 2,\n roughness: 1,\n bowing: 1,\n stroke: '#000',\n strokeWidth: 1,\n curveTightness: 0,\n curveFitting: 0.95,\n curveStepCount: 9,\n fillStyle: 'hachure',\n fillWeight: -1,\n hachureAngle: -41,\n hachureGap: -1,\n dashOffset: -1,\n dashGap: -1,\n zigzagOffset: -1,\n seed: 0,\n disableMultiStroke: false,\n disableMultiStrokeFill: false,\n preserveVertices: false,\n fillShapeRoughnessGain: 0.8,\n };\n this.config = config || {};\n if (this.config.options) {\n this.defaultOptions = this._o(this.config.options);\n }\n }\n static newSeed() {\n return randomSeed();\n }\n _o(options) {\n return options ? Object.assign({}, this.defaultOptions, options) : this.defaultOptions;\n }\n _d(shape, sets, options) {\n return { shape, sets: sets || [], options: options || this.defaultOptions };\n }\n line(x1, y1, x2, y2, options) {\n const o = this._o(options);\n return this._d('line', [line(x1, y1, x2, y2, o)], o);\n }\n rectangle(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const outline = rectangle(x, y, width, height, o);\n if (o.fill) {\n const points = [[x, y], [x + width, y], [x + width, y + height], [x, y + height]];\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('rectangle', paths, o);\n }\n ellipse(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const ellipseParams = generateEllipseParams(width, height, o);\n const ellipseResponse = ellipseWithParams(x, y, o, ellipseParams);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n const shape = ellipseWithParams(x, y, o, ellipseParams).opset;\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillPolygons([ellipseResponse.estimatedPoints], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(ellipseResponse.opset);\n }\n return this._d('ellipse', paths, o);\n }\n circle(x, y, diameter, options) {\n const ret = this.ellipse(x, y, diameter, diameter, options);\n ret.shape = 'circle';\n return ret;\n }\n linearPath(points, options) {\n const o = this._o(options);\n return this._d('linearPath', [linearPath(points, false, o)], o);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const o = this._o(options);\n const paths = [];\n const outline = arc(x, y, width, height, start, stop, closed, true, o);\n if (closed && o.fill) {\n if (o.fillStyle === 'solid') {\n const fillOptions = Object.assign({}, o);\n fillOptions.disableMultiStroke = true;\n const shape = arc(x, y, width, height, start, stop, true, false, fillOptions);\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillArc(x, y, width, height, start, stop, o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('arc', paths, o);\n }\n curve(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = curve(points, o);\n if (o.fill && o.fill !== NOS) {\n if (o.fillStyle === 'solid') {\n const fillShape = curve(points, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n const polyPoints = [];\n const inputPoints = points;\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n for (const points of pointsList) {\n if (points.length < 3) {\n polyPoints.push(...points);\n }\n else if (points.length === 3) {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier([\n points[0],\n points[0],\n points[1],\n points[2],\n ]), 10, (1 + o.roughness) / 2));\n }\n else {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier(points), 10, (1 + o.roughness) / 2));\n }\n }\n }\n if (polyPoints.length) {\n paths.push(patternFillPolygons([polyPoints], o));\n }\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('curve', paths, o);\n }\n polygon(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = linearPath(points, true, o);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('polygon', paths, o);\n }\n path(d, options) {\n const o = this._o(options);\n const paths = [];\n if (!d) {\n return this._d('path', paths, o);\n }\n d = (d || '').replace(/\\n/g, ' ').replace(/(-\\s)/g, '-').replace('/(\\s\\s)/g', ' ');\n const hasFill = o.fill && o.fill !== 'transparent' && o.fill !== NOS;\n const hasStroke = o.stroke !== NOS;\n const simplified = !!(o.simplification && (o.simplification < 1));\n const distance = simplified ? (4 - 4 * (o.simplification || 1)) : ((1 + o.roughness) / 2);\n const sets = pointsOnPath(d, 1, distance);\n const shape = svgPath(d, o);\n if (hasFill) {\n if (o.fillStyle === 'solid') {\n if (sets.length === 1) {\n const fillShape = svgPath(d, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n paths.push(solidFillPolygon(sets, o));\n }\n }\n else {\n paths.push(patternFillPolygons(sets, o));\n }\n }\n if (hasStroke) {\n if (simplified) {\n sets.forEach((set) => {\n paths.push(linearPath(set, false, o));\n });\n }\n else {\n paths.push(shape);\n }\n }\n return this._d('path', paths, o);\n }\n opsToPath(drawing, fixedDecimals) {\n let path = '';\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n path += `M${data[0]} ${data[1]} `;\n break;\n case 'bcurveTo':\n path += `C${data[0]} ${data[1]}, ${data[2]} ${data[3]}, ${data[4]} ${data[5]} `;\n break;\n case 'lineTo':\n path += `L${data[0]} ${data[1]} `;\n break;\n }\n }\n return path.trim();\n }\n toPaths(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.defaultOptions;\n const paths = [];\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path':\n path = {\n d: this.opsToPath(drawing),\n stroke: o.stroke,\n strokeWidth: o.strokeWidth,\n fill: NOS,\n };\n break;\n case 'fillPath':\n path = {\n d: this.opsToPath(drawing),\n stroke: NOS,\n strokeWidth: 0,\n fill: o.fill || NOS,\n };\n break;\n case 'fillSketch':\n path = this.fillSketch(drawing, o);\n break;\n }\n if (path) {\n paths.push(path);\n }\n }\n return paths;\n }\n fillSketch(drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n return {\n d: this.opsToPath(drawing),\n stroke: o.fill || NOS,\n strokeWidth: fweight,\n fill: NOS,\n };\n }\n _mergedShape(input) {\n return input.filter((d, i) => {\n if (i === 0) {\n return true;\n }\n if (d.op === 'move') {\n return false;\n }\n return true;\n });\n }\n}\n","import { RoughGenerator } from './generator';\nexport class RoughCanvas {\n constructor(canvas, config) {\n this.canvas = canvas;\n this.ctx = this.canvas.getContext('2d');\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const ctx = this.ctx;\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n switch (drawing.type) {\n case 'path':\n ctx.save();\n ctx.strokeStyle = o.stroke === 'none' ? 'transparent' : o.stroke;\n ctx.lineWidth = o.strokeWidth;\n if (o.strokeLineDash) {\n ctx.setLineDash(o.strokeLineDash);\n }\n if (o.strokeLineDashOffset) {\n ctx.lineDashOffset = o.strokeLineDashOffset;\n }\n this._drawToContext(ctx, drawing, precision);\n ctx.restore();\n break;\n case 'fillPath': {\n ctx.save();\n ctx.fillStyle = o.fill || '';\n const fillRule = (drawable.shape === 'curve' || drawable.shape === 'polygon' || drawable.shape === 'path') ? 'evenodd' : 'nonzero';\n this._drawToContext(ctx, drawing, precision, fillRule);\n ctx.restore();\n break;\n }\n case 'fillSketch':\n this.fillSketch(ctx, drawing, o);\n break;\n }\n }\n }\n fillSketch(ctx, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n ctx.save();\n if (o.fillLineDash) {\n ctx.setLineDash(o.fillLineDash);\n }\n if (o.fillLineDashOffset) {\n ctx.lineDashOffset = o.fillLineDashOffset;\n }\n ctx.strokeStyle = o.fill || '';\n ctx.lineWidth = fweight;\n this._drawToContext(ctx, drawing, o.fixedDecimalPlaceDigits);\n ctx.restore();\n }\n _drawToContext(ctx, drawing, fixedDecimals, rule = 'nonzero') {\n ctx.beginPath();\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n ctx.moveTo(data[0], data[1]);\n break;\n case 'bcurveTo':\n ctx.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5]);\n break;\n case 'lineTo':\n ctx.lineTo(data[0], data[1]);\n break;\n }\n }\n if (drawing.type === 'fillPath') {\n ctx.fill(rule);\n }\n else {\n ctx.stroke();\n }\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n this.draw(d);\n return d;\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n this.draw(d);\n return d;\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n this.draw(d);\n return d;\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n this.draw(d);\n return d;\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n this.draw(d);\n return d;\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n this.draw(d);\n return d;\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n this.draw(drawing);\n return drawing;\n }\n}\n","export const SVGNS = 'http://www.w3.org/2000/svg';\n","import { SVGNS } from './core';\nimport { RoughGenerator } from './generator';\nexport class RoughSVG {\n constructor(svg, config) {\n this.svg = svg;\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const doc = this.svg.ownerDocument || window.document;\n const g = doc.createElementNS(SVGNS, 'g');\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', o.stroke);\n path.setAttribute('stroke-width', o.strokeWidth + '');\n path.setAttribute('fill', 'none');\n if (o.strokeLineDash) {\n path.setAttribute('stroke-dasharray', o.strokeLineDash.join(' ').trim());\n }\n if (o.strokeLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.strokeLineDashOffset}`);\n }\n break;\n }\n case 'fillPath': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', 'none');\n path.setAttribute('stroke-width', '0');\n path.setAttribute('fill', o.fill || '');\n if (drawable.shape === 'curve' || drawable.shape === 'polygon') {\n path.setAttribute('fill-rule', 'evenodd');\n }\n break;\n }\n case 'fillSketch': {\n path = this.fillSketch(doc, drawing, o);\n break;\n }\n }\n if (path) {\n g.appendChild(path);\n }\n }\n return g;\n }\n fillSketch(doc, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, o.fixedDecimalPlaceDigits));\n path.setAttribute('stroke', o.fill || '');\n path.setAttribute('stroke-width', fweight + '');\n path.setAttribute('fill', 'none');\n if (o.fillLineDash) {\n path.setAttribute('stroke-dasharray', o.fillLineDash.join(' ').trim());\n }\n if (o.fillLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.fillLineDashOffset}`);\n }\n return path;\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n opsToPath(drawing, fixedDecimalPlaceDigits) {\n return this.gen.opsToPath(drawing, fixedDecimalPlaceDigits);\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n return this.draw(d);\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n return this.draw(d);\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n return this.draw(d);\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n return this.draw(d);\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n return this.draw(d);\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n return this.draw(d);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n return this.draw(d);\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n return this.draw(d);\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n return this.draw(drawing);\n }\n}\n","import { RoughCanvas } from './canvas';\nimport { RoughGenerator } from './generator';\nimport { RoughSVG } from './svg';\nexport default {\n canvas(canvas, config) {\n return new RoughCanvas(canvas, config);\n },\n svg(svg, config) {\n return new RoughSVG(svg, config);\n },\n generator(config) {\n return new RoughGenerator(config);\n },\n newSeed() {\n return RoughGenerator.newSeed();\n },\n};\n",null,null,null,null,null,null,null,null,null,null,null,null],"names":["tokenize","SHAPES","SVG_NS","sharedGraphemeSegmenter","getSharedGraphemeSegmenter","_SVG_NS","hashStr","NS","se","drawAxes","fmtNum","lerp","renderShape","NOTE_CFG","escapeHtml"],"mappings":"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IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC/E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC5E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;AAC9E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC9E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC9E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5D,CAAC;AACD,MAAM,WAAW,GAAG;AACpB,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AAC3E,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC3E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC3E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IA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","x_google_ignoreList":[4,5,6,7,8,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/parser/tokenizer.ts","../src/plugins.ts","../src/parser/index.ts","../src/config.ts","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/bidi.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/analysis.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/measurement.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/line-break.js","../node_modules/.pnpm/@chenglou+pretext@0.0.4/node_modules/@chenglou/pretext/dist/layout.js","../src/utils/text-measure.ts","../src/fonts/index.ts","../src/markdown/parser.ts","../src/scene/index.ts","../src/layout/entity-rect.ts","../src/renderer/shapes/types.ts","../src/renderer/shapes/registry.ts","../src/renderer/shapes/box.ts","../src/renderer/shapes/circle.ts","../src/renderer/shapes/diamond.ts","../src/renderer/shapes/hexagon.ts","../src/renderer/shapes/triangle.ts","../src/renderer/shapes/cylinder.ts","../src/renderer/shapes/parallelogram.ts","../src/renderer/shapes/text-shape.ts","../src/renderer/shapes/icon.ts","../src/renderer/shapes/image.ts","../src/renderer/shared.ts","../src/renderer/shapes/note.ts","../src/renderer/shapes/line.ts","../src/renderer/shapes/path-geometry.ts","../src/renderer/shapes/path.ts","../src/renderer/shapes/index.ts","../src/layout/index.ts","../src/renderer/roughChart.ts","../src/renderer/svg/roughChartSVG.ts","../src/theme/index.ts","../node_modules/.pnpm/hachure-fill@0.5.2/node_modules/hachure-fill/bin/hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/scan-line-hachure.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hachure-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/geometry.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/hatch-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dot-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/dashed-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/zigzag-line-filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/fillers/filler.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/math.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/parser.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/absolutize.js","../node_modules/.pnpm/path-data-parser@0.1.0/node_modules/path-data-parser/lib/normalize.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/renderer.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/curve-to-bezier.js","../node_modules/.pnpm/points-on-curve@0.2.0/node_modules/points-on-curve/lib/index.js","../node_modules/.pnpm/points-on-path@0.2.1/node_modules/points-on-path/lib/index.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/generator.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/canvas.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/core.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/svg.js","../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bin/rough.js","../src/renderer/typography.ts","../src/renderer/svg/index.ts","../src/renderer/canvas/roughChartCanvas.ts","../src/renderer/canvas/index.ts","../src/animation/index.ts","../src/export/index.ts","../src/utils/index.ts","../src/render.ts","../src/ui/shared.ts","../src/ui/canvas.ts","../src/ui/editor.ts","../src/ui/embed.ts"],"sourcesContent":[null,null,null,null,"// Simplified bidi metadata helper for the rich prepareWithSegments() path,\n// forked from pdf.js via Sebastian's text-layout. It classifies characters\n// into bidi types, computes embedding levels, and maps them onto prepared\n// segments for custom rendering. The line-breaking engine does not consume\n// these levels.\nconst baseTypes = [\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS',\n 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 'ET', 'ET', 'ET', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'ON', 'CS', 'ON', 'CS', 'ON', 'EN', 'EN', 'EN',\n 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'ON', 'ON', 'ON', 'ON', 'ON',\n 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'BN',\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN',\n 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'L', 'ON',\n 'ON', 'ON', 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON',\n 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L',\n 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'\n];\nconst arabicTypes = [\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'CS', 'AL', 'ON', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM',\n 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN',\n 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM',\n 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'ON', 'NSM',\n 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL',\n 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'\n];\nfunction classifyChar(charCode) {\n if (charCode <= 0x00ff)\n return baseTypes[charCode];\n if (0x0590 <= charCode && charCode <= 0x05f4)\n return 'R';\n if (0x0600 <= charCode && charCode <= 0x06ff)\n return arabicTypes[charCode & 0xff];\n if (0x0700 <= charCode && charCode <= 0x08AC)\n return 'AL';\n return 'L';\n}\nfunction computeBidiLevels(str) {\n const len = str.length;\n if (len === 0)\n return null;\n // eslint-disable-next-line unicorn/no-new-array\n const types = new Array(len);\n let numBidi = 0;\n for (let i = 0; i < len; i++) {\n const t = classifyChar(str.charCodeAt(i));\n if (t === 'R' || t === 'AL' || t === 'AN')\n numBidi++;\n types[i] = t;\n }\n if (numBidi === 0)\n return null;\n const startLevel = (len / numBidi) < 0.3 ? 0 : 1;\n const levels = new Int8Array(len);\n for (let i = 0; i < len; i++)\n levels[i] = startLevel;\n const e = (startLevel & 1) ? 'R' : 'L';\n const sor = e;\n // W1-W7\n let lastType = sor;\n for (let i = 0; i < len; i++) {\n if (types[i] === 'NSM')\n types[i] = lastType;\n else\n lastType = types[i];\n }\n lastType = sor;\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'EN')\n types[i] = lastType === 'AL' ? 'AN' : 'EN';\n else if (t === 'R' || t === 'L' || t === 'AL')\n lastType = t;\n }\n for (let i = 0; i < len; i++) {\n if (types[i] === 'AL')\n types[i] = 'R';\n }\n for (let i = 1; i < len - 1; i++) {\n if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n types[i] = 'EN';\n }\n if (types[i] === 'CS' &&\n (types[i - 1] === 'EN' || types[i - 1] === 'AN') &&\n types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n for (let i = 0; i < len; i++) {\n if (types[i] !== 'EN')\n continue;\n let j;\n for (j = i - 1; j >= 0 && types[j] === 'ET'; j--)\n types[j] = 'EN';\n for (j = i + 1; j < len && types[j] === 'ET'; j++)\n types[j] = 'EN';\n }\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS')\n types[i] = 'ON';\n }\n lastType = sor;\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if (t === 'EN')\n types[i] = lastType === 'L' ? 'L' : 'EN';\n else if (t === 'R' || t === 'L')\n lastType = t;\n }\n // N1-N2\n for (let i = 0; i < len; i++) {\n if (types[i] !== 'ON')\n continue;\n let end = i + 1;\n while (end < len && types[end] === 'ON')\n end++;\n const before = i > 0 ? types[i - 1] : sor;\n const after = end < len ? types[end] : sor;\n const bDir = before !== 'L' ? 'R' : 'L';\n const aDir = after !== 'L' ? 'R' : 'L';\n if (bDir === aDir) {\n for (let j = i; j < end; j++)\n types[j] = bDir;\n }\n i = end - 1;\n }\n for (let i = 0; i < len; i++) {\n if (types[i] === 'ON')\n types[i] = e;\n }\n // I1-I2\n for (let i = 0; i < len; i++) {\n const t = types[i];\n if ((levels[i] & 1) === 0) {\n if (t === 'R')\n levels[i]++;\n else if (t === 'AN' || t === 'EN')\n levels[i] += 2;\n }\n else if (t === 'L' || t === 'AN' || t === 'EN') {\n levels[i]++;\n }\n }\n return levels;\n}\nexport function computeSegmentLevels(normalized, segStarts) {\n const bidiLevels = computeBidiLevels(normalized);\n if (bidiLevels === null)\n return null;\n const segLevels = new Int8Array(segStarts.length);\n for (let i = 0; i < segStarts.length; i++) {\n segLevels[i] = bidiLevels[segStarts[i]];\n }\n return segLevels;\n}\n","const collapsibleWhitespaceRunRe = /[ \\t\\n\\r\\f]+/g;\nconst needsWhitespaceNormalizationRe = /[\\t\\n\\r\\f]| {2,}|^ | $/;\nfunction getWhiteSpaceProfile(whiteSpace) {\n const mode = whiteSpace ?? 'normal';\n return mode === 'pre-wrap'\n ? { mode, preserveOrdinarySpaces: true, preserveHardBreaks: true }\n : { mode, preserveOrdinarySpaces: false, preserveHardBreaks: false };\n}\nexport function normalizeWhitespaceNormal(text) {\n if (!needsWhitespaceNormalizationRe.test(text))\n return text;\n let normalized = text.replace(collapsibleWhitespaceRunRe, ' ');\n if (normalized.charCodeAt(0) === 0x20) {\n normalized = normalized.slice(1);\n }\n if (normalized.length > 0 && normalized.charCodeAt(normalized.length - 1) === 0x20) {\n normalized = normalized.slice(0, -1);\n }\n return normalized;\n}\nfunction normalizeWhitespacePreWrap(text) {\n if (!/[\\r\\f]/.test(text))\n return text.replace(/\\r\\n/g, '\\n');\n return text\n .replace(/\\r\\n/g, '\\n')\n .replace(/[\\r\\f]/g, '\\n');\n}\nlet sharedWordSegmenter = null;\nlet segmenterLocale;\nfunction getSharedWordSegmenter() {\n if (sharedWordSegmenter === null) {\n sharedWordSegmenter = new Intl.Segmenter(segmenterLocale, { granularity: 'word' });\n }\n return sharedWordSegmenter;\n}\nexport function clearAnalysisCaches() {\n sharedWordSegmenter = null;\n}\nexport function setAnalysisLocale(locale) {\n const nextLocale = locale && locale.length > 0 ? locale : undefined;\n if (segmenterLocale === nextLocale)\n return;\n segmenterLocale = nextLocale;\n sharedWordSegmenter = null;\n}\nconst arabicScriptRe = /\\p{Script=Arabic}/u;\nconst combiningMarkRe = /\\p{M}/u;\nconst decimalDigitRe = /\\p{Nd}/u;\nfunction containsArabicScript(text) {\n return arabicScriptRe.test(text);\n}\nexport function isCJK(s) {\n for (const ch of s) {\n const c = ch.codePointAt(0);\n if ((c >= 0x4E00 && c <= 0x9FFF) ||\n (c >= 0x3400 && c <= 0x4DBF) ||\n (c >= 0x20000 && c <= 0x2A6DF) ||\n (c >= 0x2A700 && c <= 0x2B73F) ||\n (c >= 0x2B740 && c <= 0x2B81F) ||\n (c >= 0x2B820 && c <= 0x2CEAF) ||\n (c >= 0x2CEB0 && c <= 0x2EBEF) ||\n (c >= 0x30000 && c <= 0x3134F) ||\n (c >= 0xF900 && c <= 0xFAFF) ||\n (c >= 0x2F800 && c <= 0x2FA1F) ||\n (c >= 0x3000 && c <= 0x303F) ||\n (c >= 0x3040 && c <= 0x309F) ||\n (c >= 0x30A0 && c <= 0x30FF) ||\n (c >= 0xAC00 && c <= 0xD7AF) ||\n (c >= 0xFF00 && c <= 0xFFEF)) {\n return true;\n }\n }\n return false;\n}\nexport const kinsokuStart = new Set([\n '\\uFF0C',\n '\\uFF0E',\n '\\uFF01',\n '\\uFF1A',\n '\\uFF1B',\n '\\uFF1F',\n '\\u3001',\n '\\u3002',\n '\\u30FB',\n '\\uFF09',\n '\\u3015',\n '\\u3009',\n '\\u300B',\n '\\u300D',\n '\\u300F',\n '\\u3011',\n '\\u3017',\n '\\u3019',\n '\\u301B',\n '\\u30FC',\n '\\u3005',\n '\\u303B',\n '\\u309D',\n '\\u309E',\n '\\u30FD',\n '\\u30FE',\n]);\nexport const kinsokuEnd = new Set([\n '\"',\n '(', '[', '{',\n '“', '‘', '«', '‹',\n '\\uFF08',\n '\\u3014',\n '\\u3008',\n '\\u300A',\n '\\u300C',\n '\\u300E',\n '\\u3010',\n '\\u3016',\n '\\u3018',\n '\\u301A',\n]);\nconst forwardStickyGlue = new Set([\n \"'\", '’',\n]);\nexport const leftStickyPunctuation = new Set([\n '.', ',', '!', '?', ':', ';',\n '\\u060C',\n '\\u061B',\n '\\u061F',\n '\\u0964',\n '\\u0965',\n '\\u104A',\n '\\u104B',\n '\\u104C',\n '\\u104D',\n '\\u104F',\n ')', ']', '}',\n '%',\n '\"',\n '”', '’', '»', '›',\n '…',\n]);\nconst arabicNoSpaceTrailingPunctuation = new Set([\n ':',\n '.',\n '\\u060C',\n '\\u061B',\n]);\nconst myanmarMedialGlue = new Set([\n '\\u104F',\n]);\nconst closingQuoteChars = new Set([\n '”', '’', '»', '›',\n '\\u300D',\n '\\u300F',\n '\\u3011',\n '\\u300B',\n '\\u3009',\n '\\u3015',\n '\\uFF09',\n]);\nfunction isLeftStickyPunctuationSegment(segment) {\n if (isEscapedQuoteClusterSegment(segment))\n return true;\n let sawPunctuation = false;\n for (const ch of segment) {\n if (leftStickyPunctuation.has(ch)) {\n sawPunctuation = true;\n continue;\n }\n if (sawPunctuation && combiningMarkRe.test(ch))\n continue;\n return false;\n }\n return sawPunctuation;\n}\nfunction isCJKLineStartProhibitedSegment(segment) {\n for (const ch of segment) {\n if (!kinsokuStart.has(ch) && !leftStickyPunctuation.has(ch))\n return false;\n }\n return segment.length > 0;\n}\nfunction isForwardStickyClusterSegment(segment) {\n if (isEscapedQuoteClusterSegment(segment))\n return true;\n for (const ch of segment) {\n if (!kinsokuEnd.has(ch) && !forwardStickyGlue.has(ch) && !combiningMarkRe.test(ch))\n return false;\n }\n return segment.length > 0;\n}\nfunction isEscapedQuoteClusterSegment(segment) {\n let sawQuote = false;\n for (const ch of segment) {\n if (ch === '\\\\' || combiningMarkRe.test(ch))\n continue;\n if (kinsokuEnd.has(ch) || leftStickyPunctuation.has(ch) || forwardStickyGlue.has(ch)) {\n sawQuote = true;\n continue;\n }\n return false;\n }\n return sawQuote;\n}\nfunction splitTrailingForwardStickyCluster(text) {\n const chars = Array.from(text);\n let splitIndex = chars.length;\n while (splitIndex > 0) {\n const ch = chars[splitIndex - 1];\n if (combiningMarkRe.test(ch)) {\n splitIndex--;\n continue;\n }\n if (kinsokuEnd.has(ch) || forwardStickyGlue.has(ch)) {\n splitIndex--;\n continue;\n }\n break;\n }\n if (splitIndex <= 0 || splitIndex === chars.length)\n return null;\n return {\n head: chars.slice(0, splitIndex).join(''),\n tail: chars.slice(splitIndex).join(''),\n };\n}\nfunction isRepeatedSingleCharRun(segment, ch) {\n if (segment.length === 0)\n return false;\n for (const part of segment) {\n if (part !== ch)\n return false;\n }\n return true;\n}\nfunction endsWithArabicNoSpacePunctuation(segment) {\n if (!containsArabicScript(segment) || segment.length === 0)\n return false;\n return arabicNoSpaceTrailingPunctuation.has(segment[segment.length - 1]);\n}\nfunction endsWithMyanmarMedialGlue(segment) {\n if (segment.length === 0)\n return false;\n return myanmarMedialGlue.has(segment[segment.length - 1]);\n}\nfunction splitLeadingSpaceAndMarks(segment) {\n if (segment.length < 2 || segment[0] !== ' ')\n return null;\n const marks = segment.slice(1);\n if (/^\\p{M}+$/u.test(marks)) {\n return { space: ' ', marks };\n }\n return null;\n}\nexport function endsWithClosingQuote(text) {\n for (let i = text.length - 1; i >= 0; i--) {\n const ch = text[i];\n if (closingQuoteChars.has(ch))\n return true;\n if (!leftStickyPunctuation.has(ch))\n return false;\n }\n return false;\n}\nfunction classifySegmentBreakChar(ch, whiteSpaceProfile) {\n if (whiteSpaceProfile.preserveOrdinarySpaces || whiteSpaceProfile.preserveHardBreaks) {\n if (ch === ' ')\n return 'preserved-space';\n if (ch === '\\t')\n return 'tab';\n if (whiteSpaceProfile.preserveHardBreaks && ch === '\\n')\n return 'hard-break';\n }\n if (ch === ' ')\n return 'space';\n if (ch === '\\u00A0' || ch === '\\u202F' || ch === '\\u2060' || ch === '\\uFEFF') {\n return 'glue';\n }\n if (ch === '\\u200B')\n return 'zero-width-break';\n if (ch === '\\u00AD')\n return 'soft-hyphen';\n return 'text';\n}\nfunction joinTextParts(parts) {\n return parts.length === 1 ? parts[0] : parts.join('');\n}\nfunction splitSegmentByBreakKind(segment, isWordLike, start, whiteSpaceProfile) {\n const pieces = [];\n let currentKind = null;\n let currentTextParts = [];\n let currentStart = start;\n let currentWordLike = false;\n let offset = 0;\n for (const ch of segment) {\n const kind = classifySegmentBreakChar(ch, whiteSpaceProfile);\n const wordLike = kind === 'text' && isWordLike;\n if (currentKind !== null && kind === currentKind && wordLike === currentWordLike) {\n currentTextParts.push(ch);\n offset += ch.length;\n continue;\n }\n if (currentKind !== null) {\n pieces.push({\n text: joinTextParts(currentTextParts),\n isWordLike: currentWordLike,\n kind: currentKind,\n start: currentStart,\n });\n }\n currentKind = kind;\n currentTextParts = [ch];\n currentStart = start + offset;\n currentWordLike = wordLike;\n offset += ch.length;\n }\n if (currentKind !== null) {\n pieces.push({\n text: joinTextParts(currentTextParts),\n isWordLike: currentWordLike,\n kind: currentKind,\n start: currentStart,\n });\n }\n return pieces;\n}\nfunction isTextRunBoundary(kind) {\n return (kind === 'space' ||\n kind === 'preserved-space' ||\n kind === 'zero-width-break' ||\n kind === 'hard-break');\n}\nconst urlSchemeSegmentRe = /^[A-Za-z][A-Za-z0-9+.-]*:$/;\nfunction isUrlLikeRunStart(segmentation, index) {\n const text = segmentation.texts[index];\n if (text.startsWith('www.'))\n return true;\n return (urlSchemeSegmentRe.test(text) &&\n index + 1 < segmentation.len &&\n segmentation.kinds[index + 1] === 'text' &&\n segmentation.texts[index + 1] === '//');\n}\nfunction isUrlQueryBoundarySegment(text) {\n return text.includes('?') && (text.includes('://') || text.startsWith('www.'));\n}\nfunction mergeUrlLikeRuns(segmentation) {\n const texts = segmentation.texts.slice();\n const isWordLike = segmentation.isWordLike.slice();\n const kinds = segmentation.kinds.slice();\n const starts = segmentation.starts.slice();\n for (let i = 0; i < segmentation.len; i++) {\n if (kinds[i] !== 'text' || !isUrlLikeRunStart(segmentation, i))\n continue;\n const mergedParts = [texts[i]];\n let j = i + 1;\n while (j < segmentation.len && !isTextRunBoundary(kinds[j])) {\n mergedParts.push(texts[j]);\n isWordLike[i] = true;\n const endsQueryPrefix = texts[j].includes('?');\n kinds[j] = 'text';\n texts[j] = '';\n j++;\n if (endsQueryPrefix)\n break;\n }\n texts[i] = joinTextParts(mergedParts);\n }\n let compactLen = 0;\n for (let read = 0; read < texts.length; read++) {\n const text = texts[read];\n if (text.length === 0)\n continue;\n if (compactLen !== read) {\n texts[compactLen] = text;\n isWordLike[compactLen] = isWordLike[read];\n kinds[compactLen] = kinds[read];\n starts[compactLen] = starts[read];\n }\n compactLen++;\n }\n texts.length = compactLen;\n isWordLike.length = compactLen;\n kinds.length = compactLen;\n starts.length = compactLen;\n return {\n len: compactLen,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeUrlQueryRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(segmentation.kinds[i]);\n starts.push(segmentation.starts[i]);\n if (!isUrlQueryBoundarySegment(text))\n continue;\n const nextIndex = i + 1;\n if (nextIndex >= segmentation.len ||\n isTextRunBoundary(segmentation.kinds[nextIndex])) {\n continue;\n }\n const queryParts = [];\n const queryStart = segmentation.starts[nextIndex];\n let j = nextIndex;\n while (j < segmentation.len && !isTextRunBoundary(segmentation.kinds[j])) {\n queryParts.push(segmentation.texts[j]);\n j++;\n }\n if (queryParts.length > 0) {\n texts.push(joinTextParts(queryParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(queryStart);\n i = j - 1;\n }\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nconst numericJoinerChars = new Set([\n ':', '-', '/', '×', ',', '.', '+',\n '\\u2013',\n '\\u2014',\n]);\nconst asciiPunctuationChainSegmentRe = /^[A-Za-z0-9_]+[,:;]*$/;\nconst asciiPunctuationChainTrailingJoinersRe = /[,:;]+$/;\nfunction segmentContainsDecimalDigit(text) {\n for (const ch of text) {\n if (decimalDigitRe.test(ch))\n return true;\n }\n return false;\n}\nfunction isNumericRunSegment(text) {\n if (text.length === 0)\n return false;\n for (const ch of text) {\n if (decimalDigitRe.test(ch) || numericJoinerChars.has(ch))\n continue;\n return false;\n }\n return true;\n}\nfunction mergeNumericRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n const kind = segmentation.kinds[i];\n if (kind === 'text' && isNumericRunSegment(text) && segmentContainsDecimalDigit(text)) {\n const mergedParts = [text];\n let j = i + 1;\n while (j < segmentation.len &&\n segmentation.kinds[j] === 'text' &&\n isNumericRunSegment(segmentation.texts[j])) {\n mergedParts.push(segmentation.texts[j]);\n j++;\n }\n texts.push(joinTextParts(mergedParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i]);\n i = j - 1;\n continue;\n }\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(kind);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeAsciiPunctuationChains(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n const kind = segmentation.kinds[i];\n const wordLike = segmentation.isWordLike[i];\n if (kind === 'text' && wordLike && asciiPunctuationChainSegmentRe.test(text)) {\n const mergedParts = [text];\n let endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(text);\n let j = i + 1;\n while (endsWithJoiners &&\n j < segmentation.len &&\n segmentation.kinds[j] === 'text' &&\n segmentation.isWordLike[j] &&\n asciiPunctuationChainSegmentRe.test(segmentation.texts[j])) {\n const nextText = segmentation.texts[j];\n mergedParts.push(nextText);\n endsWithJoiners = asciiPunctuationChainTrailingJoinersRe.test(nextText);\n j++;\n }\n texts.push(joinTextParts(mergedParts));\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i]);\n i = j - 1;\n continue;\n }\n texts.push(text);\n isWordLike.push(wordLike);\n kinds.push(kind);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction splitHyphenatedNumericRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n for (let i = 0; i < segmentation.len; i++) {\n const text = segmentation.texts[i];\n if (segmentation.kinds[i] === 'text' && text.includes('-')) {\n const parts = text.split('-');\n let shouldSplit = parts.length > 1;\n for (let j = 0; j < parts.length; j++) {\n const part = parts[j];\n if (!shouldSplit)\n break;\n if (part.length === 0 ||\n !segmentContainsDecimalDigit(part) ||\n !isNumericRunSegment(part)) {\n shouldSplit = false;\n }\n }\n if (shouldSplit) {\n let offset = 0;\n for (let j = 0; j < parts.length; j++) {\n const part = parts[j];\n const splitText = j < parts.length - 1 ? `${part}-` : part;\n texts.push(splitText);\n isWordLike.push(true);\n kinds.push('text');\n starts.push(segmentation.starts[i] + offset);\n offset += splitText.length;\n }\n continue;\n }\n }\n texts.push(text);\n isWordLike.push(segmentation.isWordLike[i]);\n kinds.push(segmentation.kinds[i]);\n starts.push(segmentation.starts[i]);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction mergeGlueConnectedTextRuns(segmentation) {\n const texts = [];\n const isWordLike = [];\n const kinds = [];\n const starts = [];\n let read = 0;\n while (read < segmentation.len) {\n const textParts = [segmentation.texts[read]];\n let wordLike = segmentation.isWordLike[read];\n let kind = segmentation.kinds[read];\n let start = segmentation.starts[read];\n if (kind === 'glue') {\n const glueParts = [textParts[0]];\n const glueStart = start;\n read++;\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n glueParts.push(segmentation.texts[read]);\n read++;\n }\n const glueText = joinTextParts(glueParts);\n if (read < segmentation.len && segmentation.kinds[read] === 'text') {\n textParts[0] = glueText;\n textParts.push(segmentation.texts[read]);\n wordLike = segmentation.isWordLike[read];\n kind = 'text';\n start = glueStart;\n read++;\n }\n else {\n texts.push(glueText);\n isWordLike.push(false);\n kinds.push('glue');\n starts.push(glueStart);\n continue;\n }\n }\n else {\n read++;\n }\n if (kind === 'text') {\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n const glueParts = [];\n while (read < segmentation.len && segmentation.kinds[read] === 'glue') {\n glueParts.push(segmentation.texts[read]);\n read++;\n }\n const glueText = joinTextParts(glueParts);\n if (read < segmentation.len && segmentation.kinds[read] === 'text') {\n textParts.push(glueText, segmentation.texts[read]);\n wordLike = wordLike || segmentation.isWordLike[read];\n read++;\n continue;\n }\n textParts.push(glueText);\n }\n }\n texts.push(joinTextParts(textParts));\n isWordLike.push(wordLike);\n kinds.push(kind);\n starts.push(start);\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction carryTrailingForwardStickyAcrossCJKBoundary(segmentation) {\n const texts = segmentation.texts.slice();\n const isWordLike = segmentation.isWordLike.slice();\n const kinds = segmentation.kinds.slice();\n const starts = segmentation.starts.slice();\n for (let i = 0; i < texts.length - 1; i++) {\n if (kinds[i] !== 'text' || kinds[i + 1] !== 'text')\n continue;\n if (!isCJK(texts[i]) || !isCJK(texts[i + 1]))\n continue;\n const split = splitTrailingForwardStickyCluster(texts[i]);\n if (split === null)\n continue;\n texts[i] = split.head;\n texts[i + 1] = split.tail + texts[i + 1];\n starts[i + 1] = starts[i] + split.head.length;\n }\n return {\n len: texts.length,\n texts,\n isWordLike,\n kinds,\n starts,\n };\n}\nfunction buildMergedSegmentation(normalized, profile, whiteSpaceProfile) {\n const wordSegmenter = getSharedWordSegmenter();\n let mergedLen = 0;\n const mergedTexts = [];\n const mergedWordLike = [];\n const mergedKinds = [];\n const mergedStarts = [];\n for (const s of wordSegmenter.segment(normalized)) {\n for (const piece of splitSegmentByBreakKind(s.segment, s.isWordLike ?? false, s.index, whiteSpaceProfile)) {\n const isText = piece.kind === 'text';\n if (profile.carryCJKAfterClosingQuote &&\n isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n isCJK(piece.text) &&\n isCJK(mergedTexts[mergedLen - 1]) &&\n endsWithClosingQuote(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n isCJKLineStartProhibitedSegment(piece.text) &&\n isCJK(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n endsWithMyanmarMedialGlue(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = mergedWordLike[mergedLen - 1] || piece.isWordLike;\n }\n else if (isText &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n piece.isWordLike &&\n containsArabicScript(piece.text) &&\n endsWithArabicNoSpacePunctuation(mergedTexts[mergedLen - 1])) {\n mergedTexts[mergedLen - 1] += piece.text;\n mergedWordLike[mergedLen - 1] = true;\n }\n else if (isText &&\n !piece.isWordLike &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n piece.text.length === 1 &&\n piece.text !== '-' &&\n piece.text !== '—' &&\n isRepeatedSingleCharRun(mergedTexts[mergedLen - 1], piece.text)) {\n mergedTexts[mergedLen - 1] += piece.text;\n }\n else if (isText &&\n !piece.isWordLike &&\n mergedLen > 0 &&\n mergedKinds[mergedLen - 1] === 'text' &&\n (isLeftStickyPunctuationSegment(piece.text) ||\n (piece.text === '-' && mergedWordLike[mergedLen - 1]))) {\n mergedTexts[mergedLen - 1] += piece.text;\n }\n else {\n mergedTexts[mergedLen] = piece.text;\n mergedWordLike[mergedLen] = piece.isWordLike;\n mergedKinds[mergedLen] = piece.kind;\n mergedStarts[mergedLen] = piece.start;\n mergedLen++;\n }\n }\n }\n for (let i = 1; i < mergedLen; i++) {\n if (mergedKinds[i] === 'text' &&\n !mergedWordLike[i] &&\n isEscapedQuoteClusterSegment(mergedTexts[i]) &&\n mergedKinds[i - 1] === 'text') {\n mergedTexts[i - 1] += mergedTexts[i];\n mergedWordLike[i - 1] = mergedWordLike[i - 1] || mergedWordLike[i];\n mergedTexts[i] = '';\n }\n }\n for (let i = mergedLen - 2; i >= 0; i--) {\n if (mergedKinds[i] === 'text' && !mergedWordLike[i] && isForwardStickyClusterSegment(mergedTexts[i])) {\n let j = i + 1;\n while (j < mergedLen && mergedTexts[j] === '')\n j++;\n if (j < mergedLen && mergedKinds[j] === 'text') {\n mergedTexts[j] = mergedTexts[i] + mergedTexts[j];\n mergedStarts[j] = mergedStarts[i];\n mergedTexts[i] = '';\n }\n }\n }\n let compactLen = 0;\n for (let read = 0; read < mergedLen; read++) {\n const text = mergedTexts[read];\n if (text.length === 0)\n continue;\n if (compactLen !== read) {\n mergedTexts[compactLen] = text;\n mergedWordLike[compactLen] = mergedWordLike[read];\n mergedKinds[compactLen] = mergedKinds[read];\n mergedStarts[compactLen] = mergedStarts[read];\n }\n compactLen++;\n }\n mergedTexts.length = compactLen;\n mergedWordLike.length = compactLen;\n mergedKinds.length = compactLen;\n mergedStarts.length = compactLen;\n const compacted = mergeGlueConnectedTextRuns({\n len: compactLen,\n texts: mergedTexts,\n isWordLike: mergedWordLike,\n kinds: mergedKinds,\n starts: mergedStarts,\n });\n const withMergedUrls = carryTrailingForwardStickyAcrossCJKBoundary(mergeAsciiPunctuationChains(splitHyphenatedNumericRuns(mergeNumericRuns(mergeUrlQueryRuns(mergeUrlLikeRuns(compacted))))));\n for (let i = 0; i < withMergedUrls.len - 1; i++) {\n const split = splitLeadingSpaceAndMarks(withMergedUrls.texts[i]);\n if (split === null)\n continue;\n if ((withMergedUrls.kinds[i] !== 'space' && withMergedUrls.kinds[i] !== 'preserved-space') ||\n withMergedUrls.kinds[i + 1] !== 'text' ||\n !containsArabicScript(withMergedUrls.texts[i + 1])) {\n continue;\n }\n withMergedUrls.texts[i] = split.space;\n withMergedUrls.isWordLike[i] = false;\n withMergedUrls.kinds[i] = withMergedUrls.kinds[i] === 'preserved-space' ? 'preserved-space' : 'space';\n withMergedUrls.texts[i + 1] = split.marks + withMergedUrls.texts[i + 1];\n withMergedUrls.starts[i + 1] = withMergedUrls.starts[i] + split.space.length;\n }\n return withMergedUrls;\n}\nfunction compileAnalysisChunks(segmentation, whiteSpaceProfile) {\n if (segmentation.len === 0)\n return [];\n if (!whiteSpaceProfile.preserveHardBreaks) {\n return [{\n startSegmentIndex: 0,\n endSegmentIndex: segmentation.len,\n consumedEndSegmentIndex: segmentation.len,\n }];\n }\n const chunks = [];\n let startSegmentIndex = 0;\n for (let i = 0; i < segmentation.len; i++) {\n if (segmentation.kinds[i] !== 'hard-break')\n continue;\n chunks.push({\n startSegmentIndex,\n endSegmentIndex: i,\n consumedEndSegmentIndex: i + 1,\n });\n startSegmentIndex = i + 1;\n }\n if (startSegmentIndex < segmentation.len) {\n chunks.push({\n startSegmentIndex,\n endSegmentIndex: segmentation.len,\n consumedEndSegmentIndex: segmentation.len,\n });\n }\n return chunks;\n}\nexport function analyzeText(text, profile, whiteSpace = 'normal') {\n const whiteSpaceProfile = getWhiteSpaceProfile(whiteSpace);\n const normalized = whiteSpaceProfile.mode === 'pre-wrap'\n ? normalizeWhitespacePreWrap(text)\n : normalizeWhitespaceNormal(text);\n if (normalized.length === 0) {\n return {\n normalized,\n chunks: [],\n len: 0,\n texts: [],\n isWordLike: [],\n kinds: [],\n starts: [],\n };\n }\n const segmentation = buildMergedSegmentation(normalized, profile, whiteSpaceProfile);\n return {\n normalized,\n chunks: compileAnalysisChunks(segmentation, whiteSpaceProfile),\n ...segmentation,\n };\n}\n","import { isCJK } from './analysis.js';\nlet measureContext = null;\nconst segmentMetricCaches = new Map();\nlet cachedEngineProfile = null;\nconst emojiPresentationRe = /\\p{Emoji_Presentation}/u;\nconst maybeEmojiRe = /[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u;\nlet sharedGraphemeSegmenter = null;\nconst emojiCorrectionCache = new Map();\nexport function getMeasureContext() {\n if (measureContext !== null)\n return measureContext;\n if (typeof OffscreenCanvas !== 'undefined') {\n measureContext = new OffscreenCanvas(1, 1).getContext('2d');\n return measureContext;\n }\n if (typeof document !== 'undefined') {\n measureContext = document.createElement('canvas').getContext('2d');\n return measureContext;\n }\n throw new Error('Text measurement requires OffscreenCanvas or a DOM canvas context.');\n}\nexport function getSegmentMetricCache(font) {\n let cache = segmentMetricCaches.get(font);\n if (!cache) {\n cache = new Map();\n segmentMetricCaches.set(font, cache);\n }\n return cache;\n}\nexport function getSegmentMetrics(seg, cache) {\n let metrics = cache.get(seg);\n if (metrics === undefined) {\n const ctx = getMeasureContext();\n metrics = {\n width: ctx.measureText(seg).width,\n containsCJK: isCJK(seg),\n };\n cache.set(seg, metrics);\n }\n return metrics;\n}\nexport function getEngineProfile() {\n if (cachedEngineProfile !== null)\n return cachedEngineProfile;\n if (typeof navigator === 'undefined') {\n cachedEngineProfile = {\n lineFitEpsilon: 0.005,\n carryCJKAfterClosingQuote: false,\n preferPrefixWidthsForBreakableRuns: false,\n preferEarlySoftHyphenBreak: false,\n };\n return cachedEngineProfile;\n }\n const ua = navigator.userAgent;\n const vendor = navigator.vendor;\n const isSafari = vendor === 'Apple Computer, Inc.' &&\n ua.includes('Safari/') &&\n !ua.includes('Chrome/') &&\n !ua.includes('Chromium/') &&\n !ua.includes('CriOS/') &&\n !ua.includes('FxiOS/') &&\n !ua.includes('EdgiOS/');\n const isChromium = ua.includes('Chrome/') ||\n ua.includes('Chromium/') ||\n ua.includes('CriOS/') ||\n ua.includes('Edg/');\n cachedEngineProfile = {\n lineFitEpsilon: isSafari ? 1 / 64 : 0.005,\n carryCJKAfterClosingQuote: isChromium,\n preferPrefixWidthsForBreakableRuns: isSafari,\n preferEarlySoftHyphenBreak: isSafari,\n };\n return cachedEngineProfile;\n}\nexport function parseFontSize(font) {\n const m = font.match(/(\\d+(?:\\.\\d+)?)\\s*px/);\n return m ? parseFloat(m[1]) : 16;\n}\nfunction getSharedGraphemeSegmenter() {\n if (sharedGraphemeSegmenter === null) {\n sharedGraphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\n }\n return sharedGraphemeSegmenter;\n}\nfunction isEmojiGrapheme(g) {\n return emojiPresentationRe.test(g) || g.includes('\\uFE0F');\n}\nexport function textMayContainEmoji(text) {\n return maybeEmojiRe.test(text);\n}\nfunction getEmojiCorrection(font, fontSize) {\n let correction = emojiCorrectionCache.get(font);\n if (correction !== undefined)\n return correction;\n const ctx = getMeasureContext();\n ctx.font = font;\n const canvasW = ctx.measureText('\\u{1F600}').width;\n correction = 0;\n if (canvasW > fontSize + 0.5 &&\n typeof document !== 'undefined' &&\n document.body !== null) {\n const span = document.createElement('span');\n span.style.font = font;\n span.style.display = 'inline-block';\n span.style.visibility = 'hidden';\n span.style.position = 'absolute';\n span.textContent = '\\u{1F600}';\n document.body.appendChild(span);\n const domW = span.getBoundingClientRect().width;\n document.body.removeChild(span);\n if (canvasW - domW > 0.5) {\n correction = canvasW - domW;\n }\n }\n emojiCorrectionCache.set(font, correction);\n return correction;\n}\nfunction countEmojiGraphemes(text) {\n let count = 0;\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const g of graphemeSegmenter.segment(text)) {\n if (isEmojiGrapheme(g.segment))\n count++;\n }\n return count;\n}\nfunction getEmojiCount(seg, metrics) {\n if (metrics.emojiCount === undefined) {\n metrics.emojiCount = countEmojiGraphemes(seg);\n }\n return metrics.emojiCount;\n}\nexport function getCorrectedSegmentWidth(seg, metrics, emojiCorrection) {\n if (emojiCorrection === 0)\n return metrics.width;\n return metrics.width - getEmojiCount(seg, metrics) * emojiCorrection;\n}\nexport function getSegmentGraphemeWidths(seg, metrics, cache, emojiCorrection) {\n if (metrics.graphemeWidths !== undefined)\n return metrics.graphemeWidths;\n const widths = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const gs of graphemeSegmenter.segment(seg)) {\n const graphemeMetrics = getSegmentMetrics(gs.segment, cache);\n widths.push(getCorrectedSegmentWidth(gs.segment, graphemeMetrics, emojiCorrection));\n }\n metrics.graphemeWidths = widths.length > 1 ? widths : null;\n return metrics.graphemeWidths;\n}\nexport function getSegmentGraphemePrefixWidths(seg, metrics, cache, emojiCorrection) {\n if (metrics.graphemePrefixWidths !== undefined)\n return metrics.graphemePrefixWidths;\n const prefixWidths = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n let prefix = '';\n for (const gs of graphemeSegmenter.segment(seg)) {\n prefix += gs.segment;\n const prefixMetrics = getSegmentMetrics(prefix, cache);\n prefixWidths.push(getCorrectedSegmentWidth(prefix, prefixMetrics, emojiCorrection));\n }\n metrics.graphemePrefixWidths = prefixWidths.length > 1 ? prefixWidths : null;\n return metrics.graphemePrefixWidths;\n}\nexport function getFontMeasurementState(font, needsEmojiCorrection) {\n const ctx = getMeasureContext();\n ctx.font = font;\n const cache = getSegmentMetricCache(font);\n const fontSize = parseFontSize(font);\n const emojiCorrection = needsEmojiCorrection ? getEmojiCorrection(font, fontSize) : 0;\n return { cache, fontSize, emojiCorrection };\n}\nexport function clearMeasurementCaches() {\n segmentMetricCaches.clear();\n emojiCorrectionCache.clear();\n sharedGraphemeSegmenter = null;\n}\n","import { getEngineProfile } from './measurement.js';\nfunction canBreakAfter(kind) {\n return (kind === 'space' ||\n kind === 'preserved-space' ||\n kind === 'tab' ||\n kind === 'zero-width-break' ||\n kind === 'soft-hyphen');\n}\nfunction normalizeSimpleLineStartSegmentIndex(prepared, segmentIndex) {\n while (segmentIndex < prepared.widths.length) {\n const kind = prepared.kinds[segmentIndex];\n if (kind !== 'space' && kind !== 'zero-width-break' && kind !== 'soft-hyphen')\n break;\n segmentIndex++;\n }\n return segmentIndex;\n}\nfunction getTabAdvance(lineWidth, tabStopAdvance) {\n if (tabStopAdvance <= 0)\n return 0;\n const remainder = lineWidth % tabStopAdvance;\n if (Math.abs(remainder) <= 1e-6)\n return tabStopAdvance;\n return tabStopAdvance - remainder;\n}\nfunction getBreakableAdvance(graphemeWidths, graphemePrefixWidths, graphemeIndex, preferPrefixWidths) {\n if (!preferPrefixWidths || graphemePrefixWidths === null) {\n return graphemeWidths[graphemeIndex];\n }\n return graphemePrefixWidths[graphemeIndex] - (graphemeIndex > 0 ? graphemePrefixWidths[graphemeIndex - 1] : 0);\n}\nfunction fitSoftHyphenBreak(graphemeWidths, initialWidth, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, cumulativeWidths) {\n let fitCount = 0;\n let fittedWidth = initialWidth;\n while (fitCount < graphemeWidths.length) {\n const nextWidth = cumulativeWidths\n ? initialWidth + graphemeWidths[fitCount]\n : fittedWidth + graphemeWidths[fitCount];\n const nextLineWidth = fitCount + 1 < graphemeWidths.length\n ? nextWidth + discretionaryHyphenWidth\n : nextWidth;\n if (nextLineWidth > maxWidth + lineFitEpsilon)\n break;\n fittedWidth = nextWidth;\n fitCount++;\n }\n return { fitCount, fittedWidth };\n}\nfunction findChunkIndexForStart(prepared, segmentIndex) {\n let lo = 0;\n let hi = prepared.chunks.length;\n while (lo < hi) {\n const mid = Math.floor((lo + hi) / 2);\n if (segmentIndex < prepared.chunks[mid].consumedEndSegmentIndex) {\n hi = mid;\n }\n else {\n lo = mid + 1;\n }\n }\n return lo < prepared.chunks.length ? lo : -1;\n}\nfunction normalizeLineStartWithChunk(prepared, start) {\n let segmentIndex = start.segmentIndex;\n const graphemeIndex = start.graphemeIndex;\n if (segmentIndex >= prepared.widths.length)\n return null;\n const chunkIndex = findChunkIndexForStart(prepared, segmentIndex);\n if (chunkIndex < 0)\n return null;\n if (graphemeIndex > 0) {\n return { cursor: start, chunkIndex };\n }\n const chunk = prepared.chunks[chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex && segmentIndex === chunk.startSegmentIndex) {\n return { cursor: { segmentIndex, graphemeIndex: 0 }, chunkIndex };\n }\n if (segmentIndex < chunk.startSegmentIndex)\n segmentIndex = chunk.startSegmentIndex;\n while (segmentIndex < chunk.endSegmentIndex) {\n const kind = prepared.kinds[segmentIndex];\n if (kind !== 'space' && kind !== 'zero-width-break' && kind !== 'soft-hyphen') {\n return { cursor: { segmentIndex, graphemeIndex: 0 }, chunkIndex };\n }\n segmentIndex++;\n }\n if (chunk.consumedEndSegmentIndex >= prepared.widths.length)\n return null;\n return {\n cursor: { segmentIndex: chunk.consumedEndSegmentIndex, graphemeIndex: 0 },\n chunkIndex: chunkIndex + 1,\n };\n}\nexport function normalizeLineStart(prepared, start) {\n return normalizeLineStartWithChunk(prepared, start)?.cursor ?? null;\n}\nexport function countPreparedLines(prepared, maxWidth) {\n if (prepared.simpleLineWalkFastPath) {\n return countPreparedLinesSimple(prepared, maxWidth);\n }\n return walkPreparedLines(prepared, maxWidth);\n}\nfunction countPreparedLinesSimple(prepared, maxWidth) {\n return walkPreparedLinesSimple(prepared, maxWidth);\n}\nfunction walkPreparedLinesSimple(prepared, maxWidth, onLine) {\n const { widths, kinds, breakableWidths, breakablePrefixWidths } = prepared;\n if (widths.length === 0)\n return 0;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineCount = 0;\n let lineW = 0;\n let hasContent = false;\n let lineStartSegmentIndex = 0;\n let lineStartGraphemeIndex = 0;\n let lineEndSegmentIndex = 0;\n let lineEndGraphemeIndex = 0;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakPaintWidth = 0;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakPaintWidth = 0;\n }\n function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n lineCount++;\n onLine?.({\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n });\n lineW = 0;\n hasContent = false;\n clearPendingBreak();\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = graphemeIndex;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreak(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakPaintWidth = lineW - segmentWidth;\n }\n function appendBreakableSegment(segmentIndex) {\n appendBreakableSegmentFrom(segmentIndex, 0);\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n emitCurrentLine();\n startLineAtGrapheme(segmentIndex, g, gw);\n }\n else {\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n }\n let i = 0;\n while (i < widths.length) {\n if (!hasContent) {\n i = normalizeSimpleLineStartSegmentIndex(prepared, i);\n if (i >= widths.length)\n break;\n }\n const w = widths[i];\n const kind = kinds[i];\n if (!hasContent) {\n if (w > maxWidth && breakableWidths[i] !== null) {\n appendBreakableSegment(i);\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreak(i, w);\n i++;\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n if (canBreakAfter(kind)) {\n appendWholeSegment(i, w);\n emitCurrentLine(i + 1, 0, lineW - w);\n i++;\n continue;\n }\n if (pendingBreakSegmentIndex >= 0) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n emitCurrentLine();\n continue;\n }\n emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n continue;\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n emitCurrentLine();\n appendBreakableSegment(i);\n i++;\n continue;\n }\n emitCurrentLine();\n continue;\n }\n appendWholeSegment(i, w);\n updatePendingBreak(i, w);\n i++;\n }\n if (hasContent)\n emitCurrentLine();\n return lineCount;\n}\nexport function walkPreparedLines(prepared, maxWidth, onLine) {\n if (prepared.simpleLineWalkFastPath) {\n return walkPreparedLinesSimple(prepared, maxWidth, onLine);\n }\n const { widths, lineEndFitAdvances, lineEndPaintAdvances, kinds, breakableWidths, breakablePrefixWidths, discretionaryHyphenWidth, tabStopAdvance, chunks, } = prepared;\n if (widths.length === 0 || chunks.length === 0)\n return 0;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineCount = 0;\n let lineW = 0;\n let hasContent = false;\n let lineStartSegmentIndex = 0;\n let lineStartGraphemeIndex = 0;\n let lineEndSegmentIndex = 0;\n let lineEndGraphemeIndex = 0;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakFitWidth = 0;\n let pendingBreakPaintWidth = 0;\n let pendingBreakKind = null;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakFitWidth = 0;\n pendingBreakPaintWidth = 0;\n pendingBreakKind = null;\n }\n function emitCurrentLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n lineCount++;\n onLine?.({\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n });\n lineW = 0;\n hasContent = false;\n clearPendingBreak();\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineStartSegmentIndex = segmentIndex;\n lineStartGraphemeIndex = graphemeIndex;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreakForWholeSegment(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n const fitAdvance = kinds[segmentIndex] === 'tab' ? 0 : lineEndFitAdvances[segmentIndex];\n const paintAdvance = kinds[segmentIndex] === 'tab' ? segmentWidth : lineEndPaintAdvances[segmentIndex];\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakFitWidth = lineW - segmentWidth + fitAdvance;\n pendingBreakPaintWidth = lineW - segmentWidth + paintAdvance;\n pendingBreakKind = kinds[segmentIndex];\n }\n function appendBreakableSegment(segmentIndex) {\n appendBreakableSegmentFrom(segmentIndex, 0);\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n emitCurrentLine();\n startLineAtGrapheme(segmentIndex, g, gw);\n }\n else {\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n }\n function continueSoftHyphenBreakableSegment(segmentIndex) {\n if (pendingBreakKind !== 'soft-hyphen')\n return false;\n const gWidths = breakableWidths[segmentIndex];\n if (gWidths === null)\n return false;\n const fitWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? breakablePrefixWidths[segmentIndex] ?? gWidths\n : gWidths;\n const usesPrefixWidths = fitWidths !== gWidths;\n const { fitCount, fittedWidth } = fitSoftHyphenBreak(fitWidths, lineW, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, usesPrefixWidths);\n if (fitCount === 0)\n return false;\n lineW = fittedWidth;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = fitCount;\n clearPendingBreak();\n if (fitCount === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n return true;\n }\n emitCurrentLine(segmentIndex, fitCount, fittedWidth + discretionaryHyphenWidth);\n appendBreakableSegmentFrom(segmentIndex, fitCount);\n return true;\n }\n function emitEmptyChunk(chunk) {\n lineCount++;\n onLine?.({\n startSegmentIndex: chunk.startSegmentIndex,\n startGraphemeIndex: 0,\n endSegmentIndex: chunk.consumedEndSegmentIndex,\n endGraphemeIndex: 0,\n width: 0,\n });\n clearPendingBreak();\n }\n for (let chunkIndex = 0; chunkIndex < chunks.length; chunkIndex++) {\n const chunk = chunks[chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex) {\n emitEmptyChunk(chunk);\n continue;\n }\n hasContent = false;\n lineW = 0;\n lineStartSegmentIndex = chunk.startSegmentIndex;\n lineStartGraphemeIndex = 0;\n lineEndSegmentIndex = chunk.startSegmentIndex;\n lineEndGraphemeIndex = 0;\n clearPendingBreak();\n let i = chunk.startSegmentIndex;\n while (i < chunk.endSegmentIndex) {\n const kind = kinds[i];\n const w = kind === 'tab' ? getTabAdvance(lineW, tabStopAdvance) : widths[i];\n if (kind === 'soft-hyphen') {\n if (hasContent) {\n lineEndSegmentIndex = i + 1;\n lineEndGraphemeIndex = 0;\n pendingBreakSegmentIndex = i + 1;\n pendingBreakFitWidth = lineW + discretionaryHyphenWidth;\n pendingBreakPaintWidth = lineW + discretionaryHyphenWidth;\n pendingBreakKind = kind;\n }\n i++;\n continue;\n }\n if (!hasContent) {\n if (w > maxWidth && breakableWidths[i] !== null) {\n appendBreakableSegment(i);\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreakForWholeSegment(i, w);\n i++;\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n const currentBreakFitWidth = lineW + (kind === 'tab' ? 0 : lineEndFitAdvances[i]);\n const currentBreakPaintWidth = lineW + (kind === 'tab' ? w : lineEndPaintAdvances[i]);\n if (pendingBreakKind === 'soft-hyphen' &&\n engineProfile.preferEarlySoftHyphenBreak &&\n pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n emitCurrentLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n continue;\n }\n if (pendingBreakKind === 'soft-hyphen' && continueSoftHyphenBreakableSegment(i)) {\n i++;\n continue;\n }\n if (canBreakAfter(kind) && currentBreakFitWidth <= maxWidth + lineFitEpsilon) {\n appendWholeSegment(i, w);\n emitCurrentLine(i + 1, 0, currentBreakPaintWidth);\n i++;\n continue;\n }\n if (pendingBreakSegmentIndex >= 0 && pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n emitCurrentLine();\n continue;\n }\n const nextSegmentIndex = pendingBreakSegmentIndex;\n emitCurrentLine(nextSegmentIndex, 0, pendingBreakPaintWidth);\n i = nextSegmentIndex;\n continue;\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n emitCurrentLine();\n appendBreakableSegment(i);\n i++;\n continue;\n }\n emitCurrentLine();\n continue;\n }\n appendWholeSegment(i, w);\n updatePendingBreakForWholeSegment(i, w);\n i++;\n }\n if (hasContent) {\n const finalPaintWidth = pendingBreakSegmentIndex === chunk.consumedEndSegmentIndex\n ? pendingBreakPaintWidth\n : lineW;\n emitCurrentLine(chunk.consumedEndSegmentIndex, 0, finalPaintWidth);\n }\n }\n return lineCount;\n}\nexport function layoutNextLineRange(prepared, start, maxWidth) {\n const normalized = normalizeLineStartWithChunk(prepared, start);\n if (normalized === null)\n return null;\n if (prepared.simpleLineWalkFastPath) {\n return layoutNextLineRangeSimple(prepared, normalized.cursor, maxWidth);\n }\n const chunk = prepared.chunks[normalized.chunkIndex];\n if (chunk.startSegmentIndex === chunk.endSegmentIndex) {\n return {\n startSegmentIndex: chunk.startSegmentIndex,\n startGraphemeIndex: 0,\n endSegmentIndex: chunk.consumedEndSegmentIndex,\n endGraphemeIndex: 0,\n width: 0,\n };\n }\n const { widths, lineEndFitAdvances, lineEndPaintAdvances, kinds, breakableWidths, breakablePrefixWidths, discretionaryHyphenWidth, tabStopAdvance, } = prepared;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineW = 0;\n let hasContent = false;\n const lineStartSegmentIndex = normalized.cursor.segmentIndex;\n const lineStartGraphemeIndex = normalized.cursor.graphemeIndex;\n let lineEndSegmentIndex = lineStartSegmentIndex;\n let lineEndGraphemeIndex = lineStartGraphemeIndex;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakFitWidth = 0;\n let pendingBreakPaintWidth = 0;\n let pendingBreakKind = null;\n function clearPendingBreak() {\n pendingBreakSegmentIndex = -1;\n pendingBreakFitWidth = 0;\n pendingBreakPaintWidth = 0;\n pendingBreakKind = null;\n }\n function finishLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n if (!hasContent)\n return null;\n return {\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n };\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreakForWholeSegment(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n const fitAdvance = kinds[segmentIndex] === 'tab' ? 0 : lineEndFitAdvances[segmentIndex];\n const paintAdvance = kinds[segmentIndex] === 'tab' ? segmentWidth : lineEndPaintAdvances[segmentIndex];\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakFitWidth = lineW - segmentWidth + fitAdvance;\n pendingBreakPaintWidth = lineW - segmentWidth + paintAdvance;\n pendingBreakKind = kinds[segmentIndex];\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n return finishLine();\n }\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n return null;\n }\n function maybeFinishAtSoftHyphen(segmentIndex) {\n if (pendingBreakKind !== 'soft-hyphen' || pendingBreakSegmentIndex < 0)\n return null;\n const gWidths = breakableWidths[segmentIndex] ?? null;\n if (gWidths !== null) {\n const fitWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? breakablePrefixWidths[segmentIndex] ?? gWidths\n : gWidths;\n const usesPrefixWidths = fitWidths !== gWidths;\n const { fitCount, fittedWidth } = fitSoftHyphenBreak(fitWidths, lineW, maxWidth, lineFitEpsilon, discretionaryHyphenWidth, usesPrefixWidths);\n if (fitCount === gWidths.length) {\n lineW = fittedWidth;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n clearPendingBreak();\n return null;\n }\n if (fitCount > 0) {\n return finishLine(segmentIndex, fitCount, fittedWidth + discretionaryHyphenWidth);\n }\n }\n if (pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n return null;\n }\n for (let i = normalized.cursor.segmentIndex; i < chunk.endSegmentIndex; i++) {\n const kind = kinds[i];\n const startGraphemeIndex = i === normalized.cursor.segmentIndex ? normalized.cursor.graphemeIndex : 0;\n const w = kind === 'tab' ? getTabAdvance(lineW, tabStopAdvance) : widths[i];\n if (kind === 'soft-hyphen' && startGraphemeIndex === 0) {\n if (hasContent) {\n lineEndSegmentIndex = i + 1;\n lineEndGraphemeIndex = 0;\n pendingBreakSegmentIndex = i + 1;\n pendingBreakFitWidth = lineW + discretionaryHyphenWidth;\n pendingBreakPaintWidth = lineW + discretionaryHyphenWidth;\n pendingBreakKind = kind;\n }\n continue;\n }\n if (!hasContent) {\n if (startGraphemeIndex > 0) {\n const line = appendBreakableSegmentFrom(i, startGraphemeIndex);\n if (line !== null)\n return line;\n }\n else if (w > maxWidth && breakableWidths[i] !== null) {\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreakForWholeSegment(i, w);\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n const currentBreakFitWidth = lineW + (kind === 'tab' ? 0 : lineEndFitAdvances[i]);\n const currentBreakPaintWidth = lineW + (kind === 'tab' ? w : lineEndPaintAdvances[i]);\n if (pendingBreakKind === 'soft-hyphen' &&\n engineProfile.preferEarlySoftHyphenBreak &&\n pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n const softBreakLine = maybeFinishAtSoftHyphen(i);\n if (softBreakLine !== null)\n return softBreakLine;\n if (canBreakAfter(kind) && currentBreakFitWidth <= maxWidth + lineFitEpsilon) {\n appendWholeSegment(i, w);\n return finishLine(i + 1, 0, currentBreakPaintWidth);\n }\n if (pendingBreakSegmentIndex >= 0 && pendingBreakFitWidth <= maxWidth + lineFitEpsilon) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n return finishLine();\n }\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n const currentLine = finishLine();\n if (currentLine !== null)\n return currentLine;\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n return finishLine();\n }\n appendWholeSegment(i, w);\n updatePendingBreakForWholeSegment(i, w);\n }\n if (pendingBreakSegmentIndex === chunk.consumedEndSegmentIndex && lineEndGraphemeIndex === 0) {\n return finishLine(chunk.consumedEndSegmentIndex, 0, pendingBreakPaintWidth);\n }\n return finishLine(chunk.consumedEndSegmentIndex, 0, lineW);\n}\nfunction layoutNextLineRangeSimple(prepared, normalizedStart, maxWidth) {\n const { widths, kinds, breakableWidths, breakablePrefixWidths } = prepared;\n const engineProfile = getEngineProfile();\n const lineFitEpsilon = engineProfile.lineFitEpsilon;\n let lineW = 0;\n let hasContent = false;\n const lineStartSegmentIndex = normalizedStart.segmentIndex;\n const lineStartGraphemeIndex = normalizedStart.graphemeIndex;\n let lineEndSegmentIndex = lineStartSegmentIndex;\n let lineEndGraphemeIndex = lineStartGraphemeIndex;\n let pendingBreakSegmentIndex = -1;\n let pendingBreakPaintWidth = 0;\n function finishLine(endSegmentIndex = lineEndSegmentIndex, endGraphemeIndex = lineEndGraphemeIndex, width = lineW) {\n if (!hasContent)\n return null;\n return {\n startSegmentIndex: lineStartSegmentIndex,\n startGraphemeIndex: lineStartGraphemeIndex,\n endSegmentIndex,\n endGraphemeIndex,\n width,\n };\n }\n function startLineAtSegment(segmentIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n lineW = width;\n }\n function startLineAtGrapheme(segmentIndex, graphemeIndex, width) {\n hasContent = true;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = graphemeIndex + 1;\n lineW = width;\n }\n function appendWholeSegment(segmentIndex, width) {\n if (!hasContent) {\n startLineAtSegment(segmentIndex, width);\n return;\n }\n lineW += width;\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n function updatePendingBreak(segmentIndex, segmentWidth) {\n if (!canBreakAfter(kinds[segmentIndex]))\n return;\n pendingBreakSegmentIndex = segmentIndex + 1;\n pendingBreakPaintWidth = lineW - segmentWidth;\n }\n function appendBreakableSegmentFrom(segmentIndex, startGraphemeIndex) {\n const gWidths = breakableWidths[segmentIndex];\n const gPrefixWidths = breakablePrefixWidths[segmentIndex] ?? null;\n for (let g = startGraphemeIndex; g < gWidths.length; g++) {\n const gw = getBreakableAdvance(gWidths, gPrefixWidths, g, engineProfile.preferPrefixWidthsForBreakableRuns);\n if (!hasContent) {\n startLineAtGrapheme(segmentIndex, g, gw);\n continue;\n }\n if (lineW + gw > maxWidth + lineFitEpsilon) {\n return finishLine();\n }\n lineW += gw;\n lineEndSegmentIndex = segmentIndex;\n lineEndGraphemeIndex = g + 1;\n }\n if (hasContent && lineEndSegmentIndex === segmentIndex && lineEndGraphemeIndex === gWidths.length) {\n lineEndSegmentIndex = segmentIndex + 1;\n lineEndGraphemeIndex = 0;\n }\n return null;\n }\n for (let i = normalizedStart.segmentIndex; i < widths.length; i++) {\n const w = widths[i];\n const kind = kinds[i];\n const startGraphemeIndex = i === normalizedStart.segmentIndex ? normalizedStart.graphemeIndex : 0;\n if (!hasContent) {\n if (startGraphemeIndex > 0) {\n const line = appendBreakableSegmentFrom(i, startGraphemeIndex);\n if (line !== null)\n return line;\n }\n else if (w > maxWidth && breakableWidths[i] !== null) {\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n else {\n startLineAtSegment(i, w);\n }\n updatePendingBreak(i, w);\n continue;\n }\n const newW = lineW + w;\n if (newW > maxWidth + lineFitEpsilon) {\n if (canBreakAfter(kind)) {\n appendWholeSegment(i, w);\n return finishLine(i + 1, 0, lineW - w);\n }\n if (pendingBreakSegmentIndex >= 0) {\n if (lineEndSegmentIndex > pendingBreakSegmentIndex ||\n (lineEndSegmentIndex === pendingBreakSegmentIndex && lineEndGraphemeIndex > 0)) {\n return finishLine();\n }\n return finishLine(pendingBreakSegmentIndex, 0, pendingBreakPaintWidth);\n }\n if (w > maxWidth && breakableWidths[i] !== null) {\n const currentLine = finishLine();\n if (currentLine !== null)\n return currentLine;\n const line = appendBreakableSegmentFrom(i, 0);\n if (line !== null)\n return line;\n }\n return finishLine();\n }\n appendWholeSegment(i, w);\n updatePendingBreak(i, w);\n }\n return finishLine();\n}\n","// Text measurement for browser environments using canvas measureText.\n//\n// Problem: DOM-based text measurement (getBoundingClientRect, offsetHeight)\n// forces synchronous layout reflow. When components independently measure text,\n// each measurement triggers a reflow of the entire document. This creates\n// read/write interleaving that can cost 30ms+ per frame for 500 text blocks.\n//\n// Solution: two-phase measurement centered around canvas measureText.\n// prepare(text, font) — segments text via Intl.Segmenter, measures each word\n// via canvas, caches widths, and does one cached DOM calibration read per\n// font when emoji correction is needed. Call once when text first appears.\n// layout(prepared, maxWidth, lineHeight) — walks cached word widths with pure\n// arithmetic to count lines and compute height. Call on every resize.\n// ~0.0002ms per text.\n//\n// i18n: Intl.Segmenter handles CJK (per-character breaking), Thai, Arabic, etc.\n// Bidi: simplified rich-path metadata for mixed LTR/RTL custom rendering.\n// Punctuation merging: \"better.\" measured as one unit (matches CSS behavior).\n// Trailing whitespace: hangs past line edge without triggering breaks (CSS behavior).\n// overflow-wrap: pre-measured grapheme widths enable character-level word breaking.\n//\n// Emoji correction: Chrome/Firefox canvas measures emoji wider than DOM at font\n// sizes <24px on macOS (Apple Color Emoji). The inflation is constant per emoji\n// grapheme at a given size, font-independent. Auto-detected by comparing canvas\n// vs actual DOM emoji width (one cached DOM read per font). Safari canvas and\n// DOM agree (both wider than fontSize), so correction = 0 there.\n//\n// Limitations:\n// - system-ui font: canvas resolves to different optical variants than DOM on macOS.\n// Use named fonts (Helvetica, Inter, etc.) for guaranteed accuracy.\n// See RESEARCH.md \"Discovery: system-ui font resolution mismatch\".\n//\n// Based on Sebastian Markbage's text-layout research (github.com/chenglou/text-layout).\nimport { computeSegmentLevels } from './bidi.js';\nimport { analyzeText, clearAnalysisCaches, endsWithClosingQuote, isCJK, kinsokuEnd, kinsokuStart, leftStickyPunctuation, setAnalysisLocale, } from './analysis.js';\nimport { clearMeasurementCaches, getCorrectedSegmentWidth, getEngineProfile, getFontMeasurementState, getSegmentGraphemePrefixWidths, getSegmentGraphemeWidths, getSegmentMetrics, textMayContainEmoji, } from './measurement.js';\nimport { countPreparedLines, layoutNextLineRange as stepPreparedLineRange, walkPreparedLines, } from './line-break.js';\nlet sharedGraphemeSegmenter = null;\n// Rich-path only. Reuses grapheme splits while materializing multiple lines\n// from the same prepared handle, without pushing that cache into the API.\nlet sharedLineTextCaches = new WeakMap();\nfunction getSharedGraphemeSegmenter() {\n if (sharedGraphemeSegmenter === null) {\n sharedGraphemeSegmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });\n }\n return sharedGraphemeSegmenter;\n}\n// --- Public API ---\nfunction createEmptyPrepared(includeSegments) {\n if (includeSegments) {\n return {\n widths: [],\n lineEndFitAdvances: [],\n lineEndPaintAdvances: [],\n kinds: [],\n simpleLineWalkFastPath: true,\n segLevels: null,\n breakableWidths: [],\n breakablePrefixWidths: [],\n discretionaryHyphenWidth: 0,\n tabStopAdvance: 0,\n chunks: [],\n segments: [],\n };\n }\n return {\n widths: [],\n lineEndFitAdvances: [],\n lineEndPaintAdvances: [],\n kinds: [],\n simpleLineWalkFastPath: true,\n segLevels: null,\n breakableWidths: [],\n breakablePrefixWidths: [],\n discretionaryHyphenWidth: 0,\n tabStopAdvance: 0,\n chunks: [],\n };\n}\nfunction measureAnalysis(analysis, font, includeSegments) {\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n const engineProfile = getEngineProfile();\n const { cache, emojiCorrection } = getFontMeasurementState(font, textMayContainEmoji(analysis.normalized));\n const discretionaryHyphenWidth = getCorrectedSegmentWidth('-', getSegmentMetrics('-', cache), emojiCorrection);\n const spaceWidth = getCorrectedSegmentWidth(' ', getSegmentMetrics(' ', cache), emojiCorrection);\n const tabStopAdvance = spaceWidth * 8;\n if (analysis.len === 0)\n return createEmptyPrepared(includeSegments);\n const widths = [];\n const lineEndFitAdvances = [];\n const lineEndPaintAdvances = [];\n const kinds = [];\n let simpleLineWalkFastPath = analysis.chunks.length <= 1;\n const segStarts = includeSegments ? [] : null;\n const breakableWidths = [];\n const breakablePrefixWidths = [];\n const segments = includeSegments ? [] : null;\n const preparedStartByAnalysisIndex = Array.from({ length: analysis.len });\n const preparedEndByAnalysisIndex = Array.from({ length: analysis.len });\n function pushMeasuredSegment(text, width, lineEndFitAdvance, lineEndPaintAdvance, kind, start, breakable, breakablePrefix) {\n if (kind !== 'text' && kind !== 'space' && kind !== 'zero-width-break') {\n simpleLineWalkFastPath = false;\n }\n widths.push(width);\n lineEndFitAdvances.push(lineEndFitAdvance);\n lineEndPaintAdvances.push(lineEndPaintAdvance);\n kinds.push(kind);\n segStarts?.push(start);\n breakableWidths.push(breakable);\n breakablePrefixWidths.push(breakablePrefix);\n if (segments !== null)\n segments.push(text);\n }\n for (let mi = 0; mi < analysis.len; mi++) {\n preparedStartByAnalysisIndex[mi] = widths.length;\n const segText = analysis.texts[mi];\n const segWordLike = analysis.isWordLike[mi];\n const segKind = analysis.kinds[mi];\n const segStart = analysis.starts[mi];\n if (segKind === 'soft-hyphen') {\n pushMeasuredSegment(segText, 0, discretionaryHyphenWidth, discretionaryHyphenWidth, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n if (segKind === 'hard-break') {\n pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n if (segKind === 'tab') {\n pushMeasuredSegment(segText, 0, 0, 0, segKind, segStart, null, null);\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n const segMetrics = getSegmentMetrics(segText, cache);\n if (segKind === 'text' && segMetrics.containsCJK) {\n let unitText = '';\n let unitStart = 0;\n for (const gs of graphemeSegmenter.segment(segText)) {\n const grapheme = gs.segment;\n if (unitText.length === 0) {\n unitText = grapheme;\n unitStart = gs.index;\n continue;\n }\n if (kinsokuEnd.has(unitText) ||\n kinsokuStart.has(grapheme) ||\n leftStickyPunctuation.has(grapheme) ||\n (engineProfile.carryCJKAfterClosingQuote &&\n isCJK(grapheme) &&\n endsWithClosingQuote(unitText))) {\n unitText += grapheme;\n continue;\n }\n const unitMetrics = getSegmentMetrics(unitText, cache);\n const w = getCorrectedSegmentWidth(unitText, unitMetrics, emojiCorrection);\n pushMeasuredSegment(unitText, w, w, w, 'text', segStart + unitStart, null, null);\n unitText = grapheme;\n unitStart = gs.index;\n }\n if (unitText.length > 0) {\n const unitMetrics = getSegmentMetrics(unitText, cache);\n const w = getCorrectedSegmentWidth(unitText, unitMetrics, emojiCorrection);\n pushMeasuredSegment(unitText, w, w, w, 'text', segStart + unitStart, null, null);\n }\n preparedEndByAnalysisIndex[mi] = widths.length;\n continue;\n }\n const w = getCorrectedSegmentWidth(segText, segMetrics, emojiCorrection);\n const lineEndFitAdvance = segKind === 'space' || segKind === 'preserved-space' || segKind === 'zero-width-break'\n ? 0\n : w;\n const lineEndPaintAdvance = segKind === 'space' || segKind === 'zero-width-break'\n ? 0\n : w;\n if (segWordLike && segText.length > 1) {\n const graphemeWidths = getSegmentGraphemeWidths(segText, segMetrics, cache, emojiCorrection);\n const graphemePrefixWidths = engineProfile.preferPrefixWidthsForBreakableRuns\n ? getSegmentGraphemePrefixWidths(segText, segMetrics, cache, emojiCorrection)\n : null;\n pushMeasuredSegment(segText, w, lineEndFitAdvance, lineEndPaintAdvance, segKind, segStart, graphemeWidths, graphemePrefixWidths);\n }\n else {\n pushMeasuredSegment(segText, w, lineEndFitAdvance, lineEndPaintAdvance, segKind, segStart, null, null);\n }\n preparedEndByAnalysisIndex[mi] = widths.length;\n }\n const chunks = mapAnalysisChunksToPreparedChunks(analysis.chunks, preparedStartByAnalysisIndex, preparedEndByAnalysisIndex);\n const segLevels = segStarts === null ? null : computeSegmentLevels(analysis.normalized, segStarts);\n if (segments !== null) {\n return {\n widths,\n lineEndFitAdvances,\n lineEndPaintAdvances,\n kinds,\n simpleLineWalkFastPath,\n segLevels,\n breakableWidths,\n breakablePrefixWidths,\n discretionaryHyphenWidth,\n tabStopAdvance,\n chunks,\n segments,\n };\n }\n return {\n widths,\n lineEndFitAdvances,\n lineEndPaintAdvances,\n kinds,\n simpleLineWalkFastPath,\n segLevels,\n breakableWidths,\n breakablePrefixWidths,\n discretionaryHyphenWidth,\n tabStopAdvance,\n chunks,\n };\n}\nfunction mapAnalysisChunksToPreparedChunks(chunks, preparedStartByAnalysisIndex, preparedEndByAnalysisIndex) {\n const preparedChunks = [];\n for (let i = 0; i < chunks.length; i++) {\n const chunk = chunks[i];\n const startSegmentIndex = chunk.startSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.startSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n const endSegmentIndex = chunk.endSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.endSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n const consumedEndSegmentIndex = chunk.consumedEndSegmentIndex < preparedStartByAnalysisIndex.length\n ? preparedStartByAnalysisIndex[chunk.consumedEndSegmentIndex]\n : preparedEndByAnalysisIndex[preparedEndByAnalysisIndex.length - 1] ?? 0;\n preparedChunks.push({\n startSegmentIndex,\n endSegmentIndex,\n consumedEndSegmentIndex,\n });\n }\n return preparedChunks;\n}\nfunction prepareInternal(text, font, includeSegments, options) {\n const analysis = analyzeText(text, getEngineProfile(), options?.whiteSpace);\n return measureAnalysis(analysis, font, includeSegments);\n}\n// Diagnostic-only helper used by the browser benchmark harness to separate the\n// text-analysis and measurement phases without duplicating the prepare logic.\nexport function profilePrepare(text, font, options) {\n const t0 = performance.now();\n const analysis = analyzeText(text, getEngineProfile(), options?.whiteSpace);\n const t1 = performance.now();\n const prepared = measureAnalysis(analysis, font, false);\n const t2 = performance.now();\n let breakableSegments = 0;\n for (const widths of prepared.breakableWidths) {\n if (widths !== null)\n breakableSegments++;\n }\n return {\n analysisMs: t1 - t0,\n measureMs: t2 - t1,\n totalMs: t2 - t0,\n analysisSegments: analysis.len,\n preparedSegments: prepared.widths.length,\n breakableSegments,\n };\n}\n// Prepare text for layout. Segments the text, measures each segment via canvas,\n// and stores the widths for fast relayout at any width. Call once per text block\n// (e.g. when a comment first appears). The result is width-independent — the\n// same PreparedText can be laid out at any maxWidth and lineHeight via layout().\n//\n// Steps:\n// 1. Normalize collapsible whitespace (CSS white-space: normal behavior)\n// 2. Segment via Intl.Segmenter (handles CJK, Thai, etc.)\n// 3. Merge punctuation into preceding word (\"better.\" as one unit)\n// 4. Split CJK words into individual graphemes (per-character line breaks)\n// 5. Measure each segment via canvas measureText, cache by (segment, font)\n// 6. Pre-measure graphemes of long words (for overflow-wrap: break-word)\n// 7. Correct emoji canvas inflation (auto-detected per font size)\n// 8. Optionally compute rich-path bidi metadata for custom renderers\nexport function prepare(text, font, options) {\n return prepareInternal(text, font, false, options);\n}\n// Rich variant used by callers that need enough information to render the\n// laid-out lines themselves.\nexport function prepareWithSegments(text, font, options) {\n return prepareInternal(text, font, true, options);\n}\nfunction getInternalPrepared(prepared) {\n return prepared;\n}\n// Layout prepared text at a given max width and caller-provided lineHeight.\n// Pure arithmetic on cached widths — no canvas calls, no DOM reads, no string\n// operations, no allocations.\n// ~0.0002ms per text block. Call on every resize.\n//\n// Line breaking rules (matching CSS white-space: normal + overflow-wrap: break-word):\n// - Break before any non-space segment that would overflow the line\n// - Trailing whitespace hangs past the line edge (doesn't trigger breaks)\n// - Segments wider than maxWidth are broken at grapheme boundaries\nexport function layout(prepared, maxWidth, lineHeight) {\n // Keep the resize hot path specialized. `layoutWithLines()` shares the same\n // break semantics but also tracks line ranges; the extra bookkeeping is too\n // expensive to pay on every hot-path `layout()` call.\n const lineCount = countPreparedLines(getInternalPrepared(prepared), maxWidth);\n return { lineCount, height: lineCount * lineHeight };\n}\nfunction getSegmentGraphemes(segmentIndex, segments, cache) {\n let graphemes = cache.get(segmentIndex);\n if (graphemes !== undefined)\n return graphemes;\n graphemes = [];\n const graphemeSegmenter = getSharedGraphemeSegmenter();\n for (const gs of graphemeSegmenter.segment(segments[segmentIndex])) {\n graphemes.push(gs.segment);\n }\n cache.set(segmentIndex, graphemes);\n return graphemes;\n}\nfunction getLineTextCache(prepared) {\n let cache = sharedLineTextCaches.get(prepared);\n if (cache !== undefined)\n return cache;\n cache = new Map();\n sharedLineTextCaches.set(prepared, cache);\n return cache;\n}\nfunction lineHasDiscretionaryHyphen(kinds, startSegmentIndex, startGraphemeIndex, endSegmentIndex) {\n return (endSegmentIndex > 0 &&\n kinds[endSegmentIndex - 1] === 'soft-hyphen' &&\n !(startSegmentIndex === endSegmentIndex && startGraphemeIndex > 0));\n}\nfunction buildLineTextFromRange(segments, kinds, cache, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex) {\n let text = '';\n const endsWithDiscretionaryHyphen = lineHasDiscretionaryHyphen(kinds, startSegmentIndex, startGraphemeIndex, endSegmentIndex);\n for (let i = startSegmentIndex; i < endSegmentIndex; i++) {\n if (kinds[i] === 'soft-hyphen' || kinds[i] === 'hard-break')\n continue;\n if (i === startSegmentIndex && startGraphemeIndex > 0) {\n text += getSegmentGraphemes(i, segments, cache).slice(startGraphemeIndex).join('');\n }\n else {\n text += segments[i];\n }\n }\n if (endGraphemeIndex > 0) {\n if (endsWithDiscretionaryHyphen)\n text += '-';\n text += getSegmentGraphemes(endSegmentIndex, segments, cache).slice(startSegmentIndex === endSegmentIndex ? startGraphemeIndex : 0, endGraphemeIndex).join('');\n }\n else if (endsWithDiscretionaryHyphen) {\n text += '-';\n }\n return text;\n}\nfunction createLayoutLine(prepared, cache, width, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex) {\n return {\n text: buildLineTextFromRange(prepared.segments, prepared.kinds, cache, startSegmentIndex, startGraphemeIndex, endSegmentIndex, endGraphemeIndex),\n width,\n start: {\n segmentIndex: startSegmentIndex,\n graphemeIndex: startGraphemeIndex,\n },\n end: {\n segmentIndex: endSegmentIndex,\n graphemeIndex: endGraphemeIndex,\n },\n };\n}\nfunction materializeLayoutLine(prepared, cache, line) {\n return createLayoutLine(prepared, cache, line.width, line.startSegmentIndex, line.startGraphemeIndex, line.endSegmentIndex, line.endGraphemeIndex);\n}\nfunction toLayoutLineRange(line) {\n return {\n width: line.width,\n start: {\n segmentIndex: line.startSegmentIndex,\n graphemeIndex: line.startGraphemeIndex,\n },\n end: {\n segmentIndex: line.endSegmentIndex,\n graphemeIndex: line.endGraphemeIndex,\n },\n };\n}\nfunction stepLineRange(prepared, start, maxWidth) {\n const line = stepPreparedLineRange(prepared, start, maxWidth);\n if (line === null)\n return null;\n return toLayoutLineRange(line);\n}\nfunction materializeLine(prepared, line) {\n return createLayoutLine(prepared, getLineTextCache(prepared), line.width, line.start.segmentIndex, line.start.graphemeIndex, line.end.segmentIndex, line.end.graphemeIndex);\n}\n// Batch low-level line geometry pass. This is the non-materializing counterpart\n// to layoutWithLines(), useful for shrinkwrap and other aggregate geometry work.\nexport function walkLineRanges(prepared, maxWidth, onLine) {\n if (prepared.widths.length === 0)\n return 0;\n return walkPreparedLines(getInternalPrepared(prepared), maxWidth, line => {\n onLine(toLayoutLineRange(line));\n });\n}\nexport function layoutNextLine(prepared, start, maxWidth) {\n const line = stepLineRange(prepared, start, maxWidth);\n if (line === null)\n return null;\n return materializeLine(prepared, line);\n}\n// Rich layout API for callers that want the actual line contents and widths.\n// Caller still supplies lineHeight at layout time. Mirrors layout()'s break\n// decisions, but keeps extra per-line bookkeeping so it should stay off the\n// resize hot path.\nexport function layoutWithLines(prepared, maxWidth, lineHeight) {\n const lines = [];\n if (prepared.widths.length === 0)\n return { lineCount: 0, height: 0, lines };\n const graphemeCache = getLineTextCache(prepared);\n const lineCount = walkPreparedLines(getInternalPrepared(prepared), maxWidth, line => {\n lines.push(materializeLayoutLine(prepared, graphemeCache, line));\n });\n return { lineCount, height: lineCount * lineHeight, lines };\n}\nexport function clearCache() {\n clearAnalysisCaches();\n sharedGraphemeSegmenter = null;\n sharedLineTextCaches = new WeakMap();\n clearMeasurementCaches();\n}\nexport function setLocale(locale) {\n setAnalysisLocale(locale);\n clearCache();\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"function rotatePoints(points, center, degrees) {\n if (points && points.length) {\n const [cx, cy] = center;\n const angle = (Math.PI / 180) * degrees;\n const cos = Math.cos(angle);\n const sin = Math.sin(angle);\n for (const p of points) {\n const [x, y] = p;\n p[0] = ((x - cx) * cos) - ((y - cy) * sin) + cx;\n p[1] = ((x - cx) * sin) + ((y - cy) * cos) + cy;\n }\n }\n}\nfunction rotateLines(lines, center, degrees) {\n const points = [];\n lines.forEach((line) => points.push(...line));\n rotatePoints(points, center, degrees);\n}\nfunction areSamePoints(p1, p2) {\n return p1[0] === p2[0] && p1[1] === p2[1];\n}\nexport function hachureLines(polygons, hachureGap, hachureAngle, hachureStepOffset = 1) {\n const angle = hachureAngle;\n const gap = Math.max(hachureGap, 0.1);\n const polygonList = (polygons[0] && polygons[0][0] && (typeof polygons[0][0] === 'number')) ? [polygons] : polygons;\n const rotationCenter = [0, 0];\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, angle);\n }\n }\n const lines = straightHachureLines(polygonList, gap, hachureStepOffset);\n if (angle) {\n for (const polygon of polygonList) {\n rotatePoints(polygon, rotationCenter, -angle);\n }\n rotateLines(lines, rotationCenter, -angle);\n }\n return lines;\n}\nfunction straightHachureLines(polygons, gap, hachureStepOffset) {\n const vertexArray = [];\n for (const polygon of polygons) {\n const vertices = [...polygon];\n if (!areSamePoints(vertices[0], vertices[vertices.length - 1])) {\n vertices.push([vertices[0][0], vertices[0][1]]);\n }\n if (vertices.length > 2) {\n vertexArray.push(vertices);\n }\n }\n const lines = [];\n gap = Math.max(gap, 0.1);\n // Create sorted edges table\n const edges = [];\n for (const vertices of vertexArray) {\n for (let i = 0; i < vertices.length - 1; i++) {\n const p1 = vertices[i];\n const p2 = vertices[i + 1];\n if (p1[1] !== p2[1]) {\n const ymin = Math.min(p1[1], p2[1]);\n edges.push({\n ymin,\n ymax: Math.max(p1[1], p2[1]),\n x: ymin === p1[1] ? p1[0] : p2[0],\n islope: (p2[0] - p1[0]) / (p2[1] - p1[1]),\n });\n }\n }\n }\n edges.sort((e1, e2) => {\n if (e1.ymin < e2.ymin) {\n return -1;\n }\n if (e1.ymin > e2.ymin) {\n return 1;\n }\n if (e1.x < e2.x) {\n return -1;\n }\n if (e1.x > e2.x) {\n return 1;\n }\n if (e1.ymax === e2.ymax) {\n return 0;\n }\n return (e1.ymax - e2.ymax) / Math.abs((e1.ymax - e2.ymax));\n });\n if (!edges.length) {\n return lines;\n }\n // Start scanning\n let activeEdges = [];\n let y = edges[0].ymin;\n let iteration = 0;\n while (activeEdges.length || edges.length) {\n if (edges.length) {\n let ix = -1;\n for (let i = 0; i < edges.length; i++) {\n if (edges[i].ymin > y) {\n break;\n }\n ix = i;\n }\n const removed = edges.splice(0, ix + 1);\n removed.forEach((edge) => {\n activeEdges.push({ s: y, edge });\n });\n }\n activeEdges = activeEdges.filter((ae) => {\n if (ae.edge.ymax <= y) {\n return false;\n }\n return true;\n });\n activeEdges.sort((ae1, ae2) => {\n if (ae1.edge.x === ae2.edge.x) {\n return 0;\n }\n return (ae1.edge.x - ae2.edge.x) / Math.abs((ae1.edge.x - ae2.edge.x));\n });\n // fill between the edges\n if ((hachureStepOffset !== 1) || (iteration % gap === 0)) {\n if (activeEdges.length > 1) {\n for (let i = 0; i < activeEdges.length; i = i + 2) {\n const nexti = i + 1;\n if (nexti >= activeEdges.length) {\n break;\n }\n const ce = activeEdges[i].edge;\n const ne = activeEdges[nexti].edge;\n lines.push([\n [Math.round(ce.x), y],\n [Math.round(ne.x), y],\n ]);\n }\n }\n }\n y += hachureStepOffset;\n activeEdges.forEach((ae) => {\n ae.edge.x = ae.edge.x + (hachureStepOffset * ae.edge.islope);\n });\n iteration++;\n }\n return lines;\n}\n","import { hachureLines } from 'hachure-fill';\nexport function polygonHachureLines(polygonList, o) {\n var _a;\n const angle = o.hachureAngle + 90;\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.round(Math.max(gap, 0.1));\n let skipOffset = 1;\n if (o.roughness >= 1) {\n if ((((_a = o.randomizer) === null || _a === void 0 ? void 0 : _a.next()) || Math.random()) > 0.7) {\n skipOffset = gap;\n }\n }\n return hachureLines(polygonList, gap, angle, skipOffset || 1);\n}\n","import { polygonHachureLines } from './scan-line-hachure';\nexport class HachureFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n return this._fillPolygons(polygonList, o);\n }\n _fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n const ops = this.renderLines(lines, o);\n return { type: 'fillSketch', ops };\n }\n renderLines(lines, o) {\n const ops = [];\n for (const line of lines) {\n ops.push(...this.helper.doubleLineOps(line[0][0], line[0][1], line[1][0], line[1][1], o));\n }\n return ops;\n }\n}\n","export function lineLength(line) {\n const p1 = line[0];\n const p2 = line[1];\n return Math.sqrt(Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2));\n}\n","import { HachureFiller } from './hachure-filler';\nimport { polygonHachureLines } from './scan-line-hachure';\nimport { lineLength } from '../geometry';\nexport class ZigZagFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n const o2 = Object.assign({}, o, { hachureGap: gap });\n const lines = polygonHachureLines(polygonList, o2);\n const zigZagAngle = (Math.PI / 180) * o.hachureAngle;\n const zigzagLines = [];\n const dgx = gap * 0.5 * Math.cos(zigZagAngle);\n const dgy = gap * 0.5 * Math.sin(zigZagAngle);\n for (const [p1, p2] of lines) {\n if (lineLength([p1, p2])) {\n zigzagLines.push([\n [p1[0] - dgx, p1[1] + dgy],\n [...p2],\n ], [\n [p1[0] + dgx, p1[1] - dgy],\n [...p2],\n ]);\n }\n }\n const ops = this.renderLines(zigzagLines, o);\n return { type: 'fillSketch', ops };\n }\n}\n","import { HachureFiller } from './hachure-filler';\nexport class HatchFiller extends HachureFiller {\n fillPolygons(polygonList, o) {\n const set = this._fillPolygons(polygonList, o);\n const o2 = Object.assign({}, o, { hachureAngle: o.hachureAngle + 90 });\n const set2 = this._fillPolygons(polygonList, o2);\n set.ops = set.ops.concat(set2.ops);\n return set;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DotFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n o = Object.assign({}, o, { hachureAngle: 0 });\n const lines = polygonHachureLines(polygonList, o);\n return this.dotsOnLines(lines, o);\n }\n dotsOnLines(lines, o) {\n const ops = [];\n let gap = o.hachureGap;\n if (gap < 0) {\n gap = o.strokeWidth * 4;\n }\n gap = Math.max(gap, 0.1);\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const ro = gap / 4;\n for (const line of lines) {\n const length = lineLength(line);\n const dl = length / gap;\n const count = Math.ceil(dl) - 1;\n const offset = length - (count * gap);\n const x = ((line[0][0] + line[1][0]) / 2) - (gap / 4);\n const minY = Math.min(line[0][1], line[1][1]);\n for (let i = 0; i < count; i++) {\n const y = minY + offset + (i * gap);\n const cx = (x - ro) + Math.random() * 2 * ro;\n const cy = (y - ro) + Math.random() * 2 * ro;\n const el = this.helper.ellipse(cx, cy, fweight, fweight, o);\n ops.push(...el.ops);\n }\n }\n return { type: 'fillSketch', ops };\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class DashedFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.dashedLine(lines, o) };\n }\n dashedLine(lines, o) {\n const offset = o.dashOffset < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashOffset;\n const gap = o.dashGap < 0 ? (o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap) : o.dashGap;\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.floor(length / (offset + gap));\n const startOffset = (length + gap - (count * (offset + gap))) / 2;\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * (offset + gap);\n const lend = lstart + offset;\n const start = [p1[0] + (lstart * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha) + (startOffset * Math.sin(alpha))];\n const end = [p1[0] + (lend * Math.cos(alpha)) + (startOffset * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha)) + (startOffset * Math.sin(alpha))];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { lineLength } from '../geometry';\nimport { polygonHachureLines } from './scan-line-hachure';\nexport class ZigZagLineFiller {\n constructor(helper) {\n this.helper = helper;\n }\n fillPolygons(polygonList, o) {\n const gap = o.hachureGap < 0 ? (o.strokeWidth * 4) : o.hachureGap;\n const zo = o.zigzagOffset < 0 ? gap : o.zigzagOffset;\n o = Object.assign({}, o, { hachureGap: gap + zo });\n const lines = polygonHachureLines(polygonList, o);\n return { type: 'fillSketch', ops: this.zigzagLines(lines, zo, o) };\n }\n zigzagLines(lines, zo, o) {\n const ops = [];\n lines.forEach((line) => {\n const length = lineLength(line);\n const count = Math.round(length / (2 * zo));\n let p1 = line[0];\n let p2 = line[1];\n if (p1[0] > p2[0]) {\n p1 = line[1];\n p2 = line[0];\n }\n const alpha = Math.atan((p2[1] - p1[1]) / (p2[0] - p1[0]));\n for (let i = 0; i < count; i++) {\n const lstart = i * 2 * zo;\n const lend = (i + 1) * 2 * zo;\n const dz = Math.sqrt(2 * Math.pow(zo, 2));\n const start = [p1[0] + (lstart * Math.cos(alpha)), p1[1] + lstart * Math.sin(alpha)];\n const end = [p1[0] + (lend * Math.cos(alpha)), p1[1] + (lend * Math.sin(alpha))];\n const middle = [start[0] + dz * Math.cos(alpha + Math.PI / 4), start[1] + dz * Math.sin(alpha + Math.PI / 4)];\n ops.push(...this.helper.doubleLineOps(start[0], start[1], middle[0], middle[1], o), ...this.helper.doubleLineOps(middle[0], middle[1], end[0], end[1], o));\n }\n });\n return ops;\n }\n}\n","import { HachureFiller } from './hachure-filler';\nimport { ZigZagFiller } from './zigzag-filler';\nimport { HatchFiller } from './hatch-filler';\nimport { DotFiller } from './dot-filler';\nimport { DashedFiller } from './dashed-filler';\nimport { ZigZagLineFiller } from './zigzag-line-filler';\nconst fillers = {};\nexport function getFiller(o, helper) {\n let fillerName = o.fillStyle || 'hachure';\n if (!fillers[fillerName]) {\n switch (fillerName) {\n case 'zigzag':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagFiller(helper);\n }\n break;\n case 'cross-hatch':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HatchFiller(helper);\n }\n break;\n case 'dots':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DotFiller(helper);\n }\n break;\n case 'dashed':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new DashedFiller(helper);\n }\n break;\n case 'zigzag-line':\n if (!fillers[fillerName]) {\n fillers[fillerName] = new ZigZagLineFiller(helper);\n }\n break;\n case 'hachure':\n default:\n fillerName = 'hachure';\n if (!fillers[fillerName]) {\n fillers[fillerName] = new HachureFiller(helper);\n }\n break;\n }\n }\n return fillers[fillerName];\n}\n","export function randomSeed() {\n return Math.floor(Math.random() * 2 ** 31);\n}\nexport class Random {\n constructor(seed) {\n this.seed = seed;\n }\n next() {\n if (this.seed) {\n return ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31;\n }\n else {\n return Math.random();\n }\n }\n}\n","const COMMAND = 0;\nconst NUMBER = 1;\nconst EOD = 2;\nconst PARAMS = { A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0 };\nfunction tokenize(d) {\n const tokens = new Array();\n while (d !== '') {\n if (d.match(/^([ \\t\\r\\n,]+)/)) {\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^([aAcChHlLmMqQsStTvVzZ])/)) {\n tokens[tokens.length] = { type: COMMAND, text: RegExp.$1 };\n d = d.substr(RegExp.$1.length);\n }\n else if (d.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/)) {\n tokens[tokens.length] = { type: NUMBER, text: `${parseFloat(RegExp.$1)}` };\n d = d.substr(RegExp.$1.length);\n }\n else {\n return [];\n }\n }\n tokens[tokens.length] = { type: EOD, text: '' };\n return tokens;\n}\nfunction isType(token, type) {\n return token.type === type;\n}\nexport function parsePath(d) {\n const segments = [];\n const tokens = tokenize(d);\n let mode = 'BOD';\n let index = 0;\n let token = tokens[index];\n while (!isType(token, EOD)) {\n let paramsCount = 0;\n const params = [];\n if (mode === 'BOD') {\n if (token.text === 'M' || token.text === 'm') {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n else {\n return parsePath('M0,0' + d);\n }\n }\n else if (isType(token, NUMBER)) {\n paramsCount = PARAMS[mode];\n }\n else {\n index++;\n paramsCount = PARAMS[token.text];\n mode = token.text;\n }\n if ((index + paramsCount) < tokens.length) {\n for (let i = index; i < index + paramsCount; i++) {\n const numbeToken = tokens[i];\n if (isType(numbeToken, NUMBER)) {\n params[params.length] = +numbeToken.text;\n }\n else {\n throw new Error('Param not a number: ' + mode + ',' + numbeToken.text);\n }\n }\n if (typeof PARAMS[mode] === 'number') {\n const segment = { key: mode, data: params };\n segments.push(segment);\n index += paramsCount;\n token = tokens[index];\n if (mode === 'M')\n mode = 'L';\n if (mode === 'm')\n mode = 'l';\n }\n else {\n throw new Error('Bad segment: ' + mode);\n }\n }\n else {\n throw new Error('Path data ended short');\n }\n }\n return segments;\n}\nexport function serialize(segments) {\n const tokens = [];\n for (const { key, data } of segments) {\n tokens.push(key);\n switch (key) {\n case 'C':\n case 'c':\n tokens.push(data[0], `${data[1]},`, data[2], `${data[3]},`, data[4], data[5]);\n break;\n case 'S':\n case 's':\n case 'Q':\n case 'q':\n tokens.push(data[0], `${data[1]},`, data[2], data[3]);\n break;\n default:\n tokens.push(...data);\n break;\n }\n }\n return tokens.join(' ');\n}\n","// Translate relative commands to absolute commands\nexport function absolutize(segments) {\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n const out = [];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'm':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'M', data: [cx, cy] });\n subx = cx;\n suby = cy;\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'l':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n break;\n case 'c': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'C', data: newdata });\n cx = newdata[4];\n cy = newdata[5];\n break;\n }\n case 'Q':\n out.push({ key: 'Q', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 'q': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'Q', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'A':\n out.push({ key: 'A', data: [...data] });\n cx = data[5];\n cy = data[6];\n break;\n case 'a':\n cx += data[5];\n cy += data[6];\n out.push({ key: 'A', data: [data[0], data[1], data[2], data[3], data[4], cx, cy] });\n break;\n case 'H':\n out.push({ key: 'H', data: [...data] });\n cx = data[0];\n break;\n case 'h':\n cx += data[0];\n out.push({ key: 'H', data: [cx] });\n break;\n case 'V':\n out.push({ key: 'V', data: [...data] });\n cy = data[0];\n break;\n case 'v':\n cy += data[0];\n out.push({ key: 'V', data: [cy] });\n break;\n case 'S':\n out.push({ key: 'S', data: [...data] });\n cx = data[2];\n cy = data[3];\n break;\n case 's': {\n const newdata = data.map((d, i) => (i % 2) ? (d + cy) : (d + cx));\n out.push({ key: 'S', data: newdata });\n cx = newdata[2];\n cy = newdata[3];\n break;\n }\n case 'T':\n out.push({ key: 'T', data: [...data] });\n cx = data[0];\n cy = data[1];\n break;\n case 't':\n cx += data[0];\n cy += data[1];\n out.push({ key: 'T', data: [cx, cy] });\n break;\n case 'Z':\n case 'z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n }\n return out;\n}\n","// Normalize path to include only M, L, C, and Z commands\nexport function normalize(segments) {\n const out = [];\n let lastType = '';\n let cx = 0, cy = 0;\n let subx = 0, suby = 0;\n let lcx = 0, lcy = 0;\n for (const { key, data } of segments) {\n switch (key) {\n case 'M':\n out.push({ key: 'M', data: [...data] });\n [cx, cy] = data;\n [subx, suby] = data;\n break;\n case 'C':\n out.push({ key: 'C', data: [...data] });\n cx = data[4];\n cy = data[5];\n lcx = data[2];\n lcy = data[3];\n break;\n case 'L':\n out.push({ key: 'L', data: [...data] });\n [cx, cy] = data;\n break;\n case 'H':\n cx = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'V':\n cy = data[0];\n out.push({ key: 'L', data: [cx, cy] });\n break;\n case 'S': {\n let cx1 = 0, cy1 = 0;\n if (lastType === 'C' || lastType === 'S') {\n cx1 = cx + (cx - lcx);\n cy1 = cy + (cy - lcy);\n }\n else {\n cx1 = cx;\n cy1 = cy;\n }\n out.push({ key: 'C', data: [cx1, cy1, ...data] });\n lcx = data[0];\n lcy = data[1];\n cx = data[2];\n cy = data[3];\n break;\n }\n case 'T': {\n const [x, y] = data;\n let x1 = 0, y1 = 0;\n if (lastType === 'Q' || lastType === 'T') {\n x1 = cx + (cx - lcx);\n y1 = cy + (cy - lcy);\n }\n else {\n x1 = cx;\n y1 = cy;\n }\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'Q': {\n const [x1, y1, x, y] = data;\n const cx1 = cx + 2 * (x1 - cx) / 3;\n const cy1 = cy + 2 * (y1 - cy) / 3;\n const cx2 = x + 2 * (x1 - x) / 3;\n const cy2 = y + 2 * (y1 - y) / 3;\n out.push({ key: 'C', data: [cx1, cy1, cx2, cy2, x, y] });\n lcx = x1;\n lcy = y1;\n cx = x;\n cy = y;\n break;\n }\n case 'A': {\n const r1 = Math.abs(data[0]);\n const r2 = Math.abs(data[1]);\n const angle = data[2];\n const largeArcFlag = data[3];\n const sweepFlag = data[4];\n const x = data[5];\n const y = data[6];\n if (r1 === 0 || r2 === 0) {\n out.push({ key: 'C', data: [cx, cy, x, y, x, y] });\n cx = x;\n cy = y;\n }\n else {\n if (cx !== x || cy !== y) {\n const curves = arcToCubicCurves(cx, cy, x, y, r1, r2, angle, largeArcFlag, sweepFlag);\n curves.forEach(function (curve) {\n out.push({ key: 'C', data: curve });\n });\n cx = x;\n cy = y;\n }\n }\n break;\n }\n case 'Z':\n out.push({ key: 'Z', data: [] });\n cx = subx;\n cy = suby;\n break;\n }\n lastType = key;\n }\n return out;\n}\nfunction degToRad(degrees) {\n return (Math.PI * degrees) / 180;\n}\nfunction rotate(x, y, angleRad) {\n const X = x * Math.cos(angleRad) - y * Math.sin(angleRad);\n const Y = x * Math.sin(angleRad) + y * Math.cos(angleRad);\n return [X, Y];\n}\nfunction arcToCubicCurves(x1, y1, x2, y2, r1, r2, angle, largeArcFlag, sweepFlag, recursive) {\n const angleRad = degToRad(angle);\n let params = [];\n let f1 = 0, f2 = 0, cx = 0, cy = 0;\n if (recursive) {\n [f1, f2, cx, cy] = recursive;\n }\n else {\n [x1, y1] = rotate(x1, y1, -angleRad);\n [x2, y2] = rotate(x2, y2, -angleRad);\n const x = (x1 - x2) / 2;\n const y = (y1 - y2) / 2;\n let h = (x * x) / (r1 * r1) + (y * y) / (r2 * r2);\n if (h > 1) {\n h = Math.sqrt(h);\n r1 = h * r1;\n r2 = h * r2;\n }\n const sign = (largeArcFlag === sweepFlag) ? -1 : 1;\n const r1Pow = r1 * r1;\n const r2Pow = r2 * r2;\n const left = r1Pow * r2Pow - r1Pow * y * y - r2Pow * x * x;\n const right = r1Pow * y * y + r2Pow * x * x;\n const k = sign * Math.sqrt(Math.abs(left / right));\n cx = k * r1 * y / r2 + (x1 + x2) / 2;\n cy = k * -r2 * x / r1 + (y1 + y2) / 2;\n f1 = Math.asin(parseFloat(((y1 - cy) / r2).toFixed(9)));\n f2 = Math.asin(parseFloat(((y2 - cy) / r2).toFixed(9)));\n if (x1 < cx) {\n f1 = Math.PI - f1;\n }\n if (x2 < cx) {\n f2 = Math.PI - f2;\n }\n if (f1 < 0) {\n f1 = Math.PI * 2 + f1;\n }\n if (f2 < 0) {\n f2 = Math.PI * 2 + f2;\n }\n if (sweepFlag && f1 > f2) {\n f1 = f1 - Math.PI * 2;\n }\n if (!sweepFlag && f2 > f1) {\n f2 = f2 - Math.PI * 2;\n }\n }\n let df = f2 - f1;\n if (Math.abs(df) > (Math.PI * 120 / 180)) {\n const f2old = f2;\n const x2old = x2;\n const y2old = y2;\n if (sweepFlag && f2 > f1) {\n f2 = f1 + (Math.PI * 120 / 180) * (1);\n }\n else {\n f2 = f1 + (Math.PI * 120 / 180) * (-1);\n }\n x2 = cx + r1 * Math.cos(f2);\n y2 = cy + r2 * Math.sin(f2);\n params = arcToCubicCurves(x2, y2, x2old, y2old, r1, r2, angle, 0, sweepFlag, [f2, f2old, cx, cy]);\n }\n df = f2 - f1;\n const c1 = Math.cos(f1);\n const s1 = Math.sin(f1);\n const c2 = Math.cos(f2);\n const s2 = Math.sin(f2);\n const t = Math.tan(df / 4);\n const hx = 4 / 3 * r1 * t;\n const hy = 4 / 3 * r2 * t;\n const m1 = [x1, y1];\n const m2 = [x1 + hx * s1, y1 - hy * c1];\n const m3 = [x2 + hx * s2, y2 - hy * c2];\n const m4 = [x2, y2];\n m2[0] = 2 * m1[0] - m2[0];\n m2[1] = 2 * m1[1] - m2[1];\n if (recursive) {\n return [m2, m3, m4].concat(params);\n }\n else {\n params = [m2, m3, m4].concat(params);\n const curves = [];\n for (let i = 0; i < params.length; i += 3) {\n const r1 = rotate(params[i][0], params[i][1], angleRad);\n const r2 = rotate(params[i + 1][0], params[i + 1][1], angleRad);\n const r3 = rotate(params[i + 2][0], params[i + 2][1], angleRad);\n curves.push([r1[0], r1[1], r2[0], r2[1], r3[0], r3[1]]);\n }\n return curves;\n }\n}\n","import { getFiller } from './fillers/filler.js';\nimport { Random } from './math.js';\nimport { parsePath, normalize, absolutize } from 'path-data-parser';\nconst helper = {\n randOffset,\n randOffsetWithRange,\n ellipse,\n doubleLineOps: doubleLineFillOps,\n};\nexport function line(x1, y1, x2, y2, o) {\n return { type: 'path', ops: _doubleLine(x1, y1, x2, y2, o) };\n}\nexport function linearPath(points, close, o) {\n const len = (points || []).length;\n if (len > 2) {\n const ops = [];\n for (let i = 0; i < (len - 1); i++) {\n ops.push(..._doubleLine(points[i][0], points[i][1], points[i + 1][0], points[i + 1][1], o));\n }\n if (close) {\n ops.push(..._doubleLine(points[len - 1][0], points[len - 1][1], points[0][0], points[0][1], o));\n }\n return { type: 'path', ops };\n }\n else if (len === 2) {\n return line(points[0][0], points[0][1], points[1][0], points[1][1], o);\n }\n return { type: 'path', ops: [] };\n}\nexport function polygon(points, o) {\n return linearPath(points, true, o);\n}\nexport function rectangle(x, y, width, height, o) {\n const points = [\n [x, y],\n [x + width, y],\n [x + width, y + height],\n [x, y + height],\n ];\n return polygon(points, o);\n}\nexport function curve(inputPoints, o) {\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n const o1 = _curveWithOffset(pointsList[0], 1 * (1 + o.roughness * 0.2), o);\n const o2 = o.disableMultiStroke ? [] : _curveWithOffset(pointsList[0], 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (let i = 1; i < pointsList.length; i++) {\n const points = pointsList[i];\n if (points.length) {\n const underlay = _curveWithOffset(points, 1 * (1 + o.roughness * 0.2), o);\n const overlay = o.disableMultiStroke ? [] : _curveWithOffset(points, 1.5 * (1 + o.roughness * 0.22), cloneOptionsAlterSeed(o));\n for (const item of underlay) {\n if (item.op !== 'move') {\n o1.push(item);\n }\n }\n for (const item of overlay) {\n if (item.op !== 'move') {\n o2.push(item);\n }\n }\n }\n }\n return { type: 'path', ops: o1.concat(o2) };\n }\n return { type: 'path', ops: [] };\n}\nexport function ellipse(x, y, width, height, o) {\n const params = generateEllipseParams(width, height, o);\n return ellipseWithParams(x, y, o, params).opset;\n}\nexport function generateEllipseParams(width, height, o) {\n const psq = Math.sqrt(Math.PI * 2 * Math.sqrt((Math.pow(width / 2, 2) + Math.pow(height / 2, 2)) / 2));\n const stepCount = Math.ceil(Math.max(o.curveStepCount, (o.curveStepCount / Math.sqrt(200)) * psq));\n const increment = (Math.PI * 2) / stepCount;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n const curveFitRandomness = 1 - o.curveFitting;\n rx += _offsetOpt(rx * curveFitRandomness, o);\n ry += _offsetOpt(ry * curveFitRandomness, o);\n return { increment, rx, ry };\n}\nexport function ellipseWithParams(x, y, o, ellipseParams) {\n const [ap1, cp1] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1, ellipseParams.increment * _offset(0.1, _offset(0.4, 1, o), o), o);\n let o1 = _curve(ap1, null, o);\n if ((!o.disableMultiStroke) && (o.roughness !== 0)) {\n const [ap2] = _computeEllipsePoints(ellipseParams.increment, x, y, ellipseParams.rx, ellipseParams.ry, 1.5, 0, o);\n const o2 = _curve(ap2, null, o);\n o1 = o1.concat(o2);\n }\n return {\n estimatedPoints: cp1,\n opset: { type: 'path', ops: o1 },\n };\n}\nexport function arc(x, y, width, height, start, stop, closed, roughClosure, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const ellipseInc = (Math.PI * 2) / o.curveStepCount;\n const arcInc = Math.min(ellipseInc / 2, (stp - strt) / 2);\n const ops = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1, o);\n if (!o.disableMultiStroke) {\n const o2 = _arc(arcInc, cx, cy, rx, ry, strt, stp, 1.5, o);\n ops.push(...o2);\n }\n if (closed) {\n if (roughClosure) {\n ops.push(..._doubleLine(cx, cy, cx + rx * Math.cos(strt), cy + ry * Math.sin(strt), o), ..._doubleLine(cx, cy, cx + rx * Math.cos(stp), cy + ry * Math.sin(stp), o));\n }\n else {\n ops.push({ op: 'lineTo', data: [cx, cy] }, { op: 'lineTo', data: [cx + rx * Math.cos(strt), cy + ry * Math.sin(strt)] });\n }\n }\n return { type: 'path', ops };\n}\nexport function svgPath(path, o) {\n const segments = normalize(absolutize(parsePath(path)));\n const ops = [];\n let first = [0, 0];\n let current = [0, 0];\n for (const { key, data } of segments) {\n switch (key) {\n case 'M': {\n current = [data[0], data[1]];\n first = [data[0], data[1]];\n break;\n }\n case 'L':\n ops.push(..._doubleLine(current[0], current[1], data[0], data[1], o));\n current = [data[0], data[1]];\n break;\n case 'C': {\n const [x1, y1, x2, y2, x, y] = data;\n ops.push(..._bezierTo(x1, y1, x2, y2, x, y, current, o));\n current = [x, y];\n break;\n }\n case 'Z':\n ops.push(..._doubleLine(current[0], current[1], first[0], first[1], o));\n current = [first[0], first[1]];\n break;\n }\n }\n return { type: 'path', ops };\n}\n// Fills\nexport function solidFillPolygon(polygonList, o) {\n const ops = [];\n for (const points of polygonList) {\n if (points.length) {\n const offset = o.maxRandomnessOffset || 0;\n const len = points.length;\n if (len > 2) {\n ops.push({ op: 'move', data: [points[0][0] + _offsetOpt(offset, o), points[0][1] + _offsetOpt(offset, o)] });\n for (let i = 1; i < len; i++) {\n ops.push({ op: 'lineTo', data: [points[i][0] + _offsetOpt(offset, o), points[i][1] + _offsetOpt(offset, o)] });\n }\n }\n }\n }\n return { type: 'fillPath', ops };\n}\nexport function patternFillPolygons(polygonList, o) {\n return getFiller(o, helper).fillPolygons(polygonList, o);\n}\nexport function patternFillArc(x, y, width, height, start, stop, o) {\n const cx = x;\n const cy = y;\n let rx = Math.abs(width / 2);\n let ry = Math.abs(height / 2);\n rx += _offsetOpt(rx * 0.01, o);\n ry += _offsetOpt(ry * 0.01, o);\n let strt = start;\n let stp = stop;\n while (strt < 0) {\n strt += Math.PI * 2;\n stp += Math.PI * 2;\n }\n if ((stp - strt) > (Math.PI * 2)) {\n strt = 0;\n stp = Math.PI * 2;\n }\n const increment = (stp - strt) / o.curveStepCount;\n const points = [];\n for (let angle = strt; angle <= stp; angle = angle + increment) {\n points.push([cx + rx * Math.cos(angle), cy + ry * Math.sin(angle)]);\n }\n points.push([cx + rx * Math.cos(stp), cy + ry * Math.sin(stp)]);\n points.push([cx, cy]);\n return patternFillPolygons([points], o);\n}\nexport function randOffset(x, o) {\n return _offsetOpt(x, o);\n}\nexport function randOffsetWithRange(min, max, o) {\n return _offset(min, max, o);\n}\nexport function doubleLineFillOps(x1, y1, x2, y2, o) {\n return _doubleLine(x1, y1, x2, y2, o, true);\n}\n// Private helpers\nfunction cloneOptionsAlterSeed(ops) {\n const result = Object.assign({}, ops);\n result.randomizer = undefined;\n if (ops.seed) {\n result.seed = ops.seed + 1;\n }\n return result;\n}\nfunction random(ops) {\n if (!ops.randomizer) {\n ops.randomizer = new Random(ops.seed || 0);\n }\n return ops.randomizer.next();\n}\nfunction _offset(min, max, ops, roughnessGain = 1) {\n return ops.roughness * roughnessGain * ((random(ops) * (max - min)) + min);\n}\nfunction _offsetOpt(x, ops, roughnessGain = 1) {\n return _offset(-x, x, ops, roughnessGain);\n}\nfunction _doubleLine(x1, y1, x2, y2, o, filling = false) {\n const singleStroke = filling ? o.disableMultiStrokeFill : o.disableMultiStroke;\n const o1 = _line(x1, y1, x2, y2, o, true, false);\n if (singleStroke) {\n return o1;\n }\n const o2 = _line(x1, y1, x2, y2, o, true, true);\n return o1.concat(o2);\n}\nfunction _line(x1, y1, x2, y2, o, move, overlay) {\n const lengthSq = Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2);\n const length = Math.sqrt(lengthSq);\n let roughnessGain = 1;\n if (length < 200) {\n roughnessGain = 1;\n }\n else if (length > 500) {\n roughnessGain = 0.4;\n }\n else {\n roughnessGain = (-0.0016668) * length + 1.233334;\n }\n let offset = o.maxRandomnessOffset || 0;\n if ((offset * offset * 100) > lengthSq) {\n offset = length / 10;\n }\n const halfOffset = offset / 2;\n const divergePoint = 0.2 + random(o) * 0.2;\n let midDispX = o.bowing * o.maxRandomnessOffset * (y2 - y1) / 200;\n let midDispY = o.bowing * o.maxRandomnessOffset * (x1 - x2) / 200;\n midDispX = _offsetOpt(midDispX, o, roughnessGain);\n midDispY = _offsetOpt(midDispY, o, roughnessGain);\n const ops = [];\n const randomHalf = () => _offsetOpt(halfOffset, o, roughnessGain);\n const randomFull = () => _offsetOpt(offset, o, roughnessGain);\n const preserveVertices = o.preserveVertices;\n if (move) {\n if (overlay) {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : randomHalf()),\n y1 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'move', data: [\n x1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n y1 + (preserveVertices ? 0 : _offsetOpt(offset, o, roughnessGain)),\n ],\n });\n }\n }\n if (overlay) {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomHalf(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomHalf(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomHalf(),\n x2 + (preserveVertices ? 0 : randomHalf()),\n y2 + (preserveVertices ? 0 : randomHalf()),\n ],\n });\n }\n else {\n ops.push({\n op: 'bcurveTo',\n data: [\n midDispX + x1 + (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + (y2 - y1) * divergePoint + randomFull(),\n midDispX + x1 + 2 * (x2 - x1) * divergePoint + randomFull(),\n midDispY + y1 + 2 * (y2 - y1) * divergePoint + randomFull(),\n x2 + (preserveVertices ? 0 : randomFull()),\n y2 + (preserveVertices ? 0 : randomFull()),\n ],\n });\n }\n return ops;\n}\nfunction _curveWithOffset(points, offset, o) {\n if (!points.length) {\n return [];\n }\n const ps = [];\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n ps.push([\n points[0][0] + _offsetOpt(offset, o),\n points[0][1] + _offsetOpt(offset, o),\n ]);\n for (let i = 1; i < points.length; i++) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n if (i === (points.length - 1)) {\n ps.push([\n points[i][0] + _offsetOpt(offset, o),\n points[i][1] + _offsetOpt(offset, o),\n ]);\n }\n }\n return _curve(ps, null, o);\n}\nfunction _curve(points, closePoint, o) {\n const len = points.length;\n const ops = [];\n if (len > 3) {\n const b = [];\n const s = 1 - o.curveTightness;\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n for (let i = 1; (i + 2) < len; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n ops.push({ op: 'bcurveTo', data: [b[1][0], b[1][1], b[2][0], b[2][1], b[3][0], b[3][1]] });\n }\n if (closePoint && closePoint.length === 2) {\n const ro = o.maxRandomnessOffset;\n ops.push({ op: 'lineTo', data: [closePoint[0] + _offsetOpt(ro, o), closePoint[1] + _offsetOpt(ro, o)] });\n }\n }\n else if (len === 3) {\n ops.push({ op: 'move', data: [points[1][0], points[1][1]] });\n ops.push({\n op: 'bcurveTo',\n data: [\n points[1][0], points[1][1],\n points[2][0], points[2][1],\n points[2][0], points[2][1],\n ],\n });\n }\n else if (len === 2) {\n ops.push(..._line(points[0][0], points[0][1], points[1][0], points[1][1], o, true, true));\n }\n return ops;\n}\nfunction _computeEllipsePoints(increment, cx, cy, rx, ry, offset, overlap, o) {\n const coreOnly = o.roughness === 0;\n const corePoints = [];\n const allPoints = [];\n if (coreOnly) {\n increment = increment / 4;\n allPoints.push([\n cx + rx * Math.cos(-increment),\n cy + ry * Math.sin(-increment),\n ]);\n for (let angle = 0; angle <= Math.PI * 2; angle = angle + increment) {\n const p = [\n cx + rx * Math.cos(angle),\n cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n cx + rx * Math.cos(0),\n cy + ry * Math.sin(0),\n ]);\n allPoints.push([\n cx + rx * Math.cos(increment),\n cy + ry * Math.sin(increment),\n ]);\n }\n else {\n const radOffset = _offsetOpt(0.5, o) - (Math.PI / 2);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n const endAngle = Math.PI * 2 + radOffset - 0.01;\n for (let angle = radOffset; angle < endAngle; angle = angle + increment) {\n const p = [\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ];\n corePoints.push(p);\n allPoints.push(p);\n }\n allPoints.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(radOffset + Math.PI * 2 + overlap * 0.5),\n _offsetOpt(offset, o) + cy + ry * Math.sin(radOffset + Math.PI * 2 + overlap * 0.5),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.98 * rx * Math.cos(radOffset + overlap),\n _offsetOpt(offset, o) + cy + 0.98 * ry * Math.sin(radOffset + overlap),\n ]);\n allPoints.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset + overlap * 0.5),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset + overlap * 0.5),\n ]);\n }\n return [allPoints, corePoints];\n}\nfunction _arc(increment, cx, cy, rx, ry, strt, stp, offset, o) {\n const radOffset = strt + _offsetOpt(0.1, o);\n const points = [];\n points.push([\n _offsetOpt(offset, o) + cx + 0.9 * rx * Math.cos(radOffset - increment),\n _offsetOpt(offset, o) + cy + 0.9 * ry * Math.sin(radOffset - increment),\n ]);\n for (let angle = radOffset; angle <= stp; angle = angle + increment) {\n points.push([\n _offsetOpt(offset, o) + cx + rx * Math.cos(angle),\n _offsetOpt(offset, o) + cy + ry * Math.sin(angle),\n ]);\n }\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n points.push([\n cx + rx * Math.cos(stp),\n cy + ry * Math.sin(stp),\n ]);\n return _curve(points, null, o);\n}\nfunction _bezierTo(x1, y1, x2, y2, x, y, current, o) {\n const ops = [];\n const ros = [o.maxRandomnessOffset || 1, (o.maxRandomnessOffset || 1) + 0.3];\n let f = [0, 0];\n const iterations = o.disableMultiStroke ? 1 : 2;\n const preserveVertices = o.preserveVertices;\n for (let i = 0; i < iterations; i++) {\n if (i === 0) {\n ops.push({ op: 'move', data: [current[0], current[1]] });\n }\n else {\n ops.push({ op: 'move', data: [current[0] + (preserveVertices ? 0 : _offsetOpt(ros[0], o)), current[1] + (preserveVertices ? 0 : _offsetOpt(ros[0], o))] });\n }\n f = preserveVertices ? [x, y] : [x + _offsetOpt(ros[i], o), y + _offsetOpt(ros[i], o)];\n ops.push({\n op: 'bcurveTo',\n data: [\n x1 + _offsetOpt(ros[i], o), y1 + _offsetOpt(ros[i], o),\n x2 + _offsetOpt(ros[i], o), y2 + _offsetOpt(ros[i], o),\n f[0], f[1],\n ],\n });\n }\n return ops;\n}\n","function clone(p) {\n return [...p];\n}\nexport function curveToBezier(pointsIn, curveTightness = 0) {\n const len = pointsIn.length;\n if (len < 3) {\n throw new Error('A curve must have at least three points.');\n }\n const out = [];\n if (len === 3) {\n out.push(clone(pointsIn[0]), clone(pointsIn[1]), clone(pointsIn[2]), clone(pointsIn[2]));\n }\n else {\n const points = [];\n points.push(pointsIn[0], pointsIn[0]);\n for (let i = 1; i < pointsIn.length; i++) {\n points.push(pointsIn[i]);\n if (i === (pointsIn.length - 1)) {\n points.push(pointsIn[i]);\n }\n }\n const b = [];\n const s = 1 - curveTightness;\n out.push(clone(points[0]));\n for (let i = 1; (i + 2) < points.length; i++) {\n const cachedVertArray = points[i];\n b[0] = [cachedVertArray[0], cachedVertArray[1]];\n b[1] = [cachedVertArray[0] + (s * points[i + 1][0] - s * points[i - 1][0]) / 6, cachedVertArray[1] + (s * points[i + 1][1] - s * points[i - 1][1]) / 6];\n b[2] = [points[i + 1][0] + (s * points[i][0] - s * points[i + 2][0]) / 6, points[i + 1][1] + (s * points[i][1] - s * points[i + 2][1]) / 6];\n b[3] = [points[i + 1][0], points[i + 1][1]];\n out.push(b[1], b[2], b[3]);\n }\n }\n return out;\n}\n","// distance between 2 points\nfunction distance(p1, p2) {\n return Math.sqrt(distanceSq(p1, p2));\n}\n// distance between 2 points squared\nfunction distanceSq(p1, p2) {\n return Math.pow(p1[0] - p2[0], 2) + Math.pow(p1[1] - p2[1], 2);\n}\n// Sistance squared from a point p to the line segment vw\nfunction distanceToSegmentSq(p, v, w) {\n const l2 = distanceSq(v, w);\n if (l2 === 0) {\n return distanceSq(p, v);\n }\n let t = ((p[0] - v[0]) * (w[0] - v[0]) + (p[1] - v[1]) * (w[1] - v[1])) / l2;\n t = Math.max(0, Math.min(1, t));\n return distanceSq(p, lerp(v, w, t));\n}\nfunction lerp(a, b, t) {\n return [\n a[0] + (b[0] - a[0]) * t,\n a[1] + (b[1] - a[1]) * t,\n ];\n}\n// Adapted from https://seant23.wordpress.com/2010/11/12/offset-bezier-curves/\nfunction flatness(points, offset) {\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n let ux = 3 * p2[0] - 2 * p1[0] - p4[0];\n ux *= ux;\n let uy = 3 * p2[1] - 2 * p1[1] - p4[1];\n uy *= uy;\n let vx = 3 * p3[0] - 2 * p4[0] - p1[0];\n vx *= vx;\n let vy = 3 * p3[1] - 2 * p4[1] - p1[1];\n vy *= vy;\n if (ux < vx) {\n ux = vx;\n }\n if (uy < vy) {\n uy = vy;\n }\n return ux + uy;\n}\nfunction getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints) {\n const outPoints = newPoints || [];\n if (flatness(points, offset) < tolerance) {\n const p0 = points[offset + 0];\n if (outPoints.length) {\n const d = distance(outPoints[outPoints.length - 1], p0);\n if (d > 1) {\n outPoints.push(p0);\n }\n }\n else {\n outPoints.push(p0);\n }\n outPoints.push(points[offset + 3]);\n }\n else {\n // subdivide\n const t = .5;\n const p1 = points[offset + 0];\n const p2 = points[offset + 1];\n const p3 = points[offset + 2];\n const p4 = points[offset + 3];\n const q1 = lerp(p1, p2, t);\n const q2 = lerp(p2, p3, t);\n const q3 = lerp(p3, p4, t);\n const r1 = lerp(q1, q2, t);\n const r2 = lerp(q2, q3, t);\n const red = lerp(r1, r2, t);\n getPointsOnBezierCurveWithSplitting([p1, q1, r1, red], 0, tolerance, outPoints);\n getPointsOnBezierCurveWithSplitting([red, r2, q3, p4], 0, tolerance, outPoints);\n }\n return outPoints;\n}\nexport function simplify(points, distance) {\n return simplifyPoints(points, 0, points.length, distance);\n}\n// Ramer–Douglas–Peucker algorithm\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction simplifyPoints(points, start, end, epsilon, newPoints) {\n const outPoints = newPoints || [];\n // find the most distance point from the endpoints\n const s = points[start];\n const e = points[end - 1];\n let maxDistSq = 0;\n let maxNdx = 1;\n for (let i = start + 1; i < end - 1; ++i) {\n const distSq = distanceToSegmentSq(points[i], s, e);\n if (distSq > maxDistSq) {\n maxDistSq = distSq;\n maxNdx = i;\n }\n }\n // if that point is too far, split\n if (Math.sqrt(maxDistSq) > epsilon) {\n simplifyPoints(points, start, maxNdx + 1, epsilon, outPoints);\n simplifyPoints(points, maxNdx, end, epsilon, outPoints);\n }\n else {\n if (!outPoints.length) {\n outPoints.push(s);\n }\n outPoints.push(e);\n }\n return outPoints;\n}\nexport function pointsOnBezierCurves(points, tolerance = 0.15, distance) {\n const newPoints = [];\n const numSegments = (points.length - 1) / 3;\n for (let i = 0; i < numSegments; i++) {\n const offset = i * 3;\n getPointsOnBezierCurveWithSplitting(points, offset, tolerance, newPoints);\n }\n if (distance && distance > 0) {\n return simplifyPoints(newPoints, 0, newPoints.length, distance);\n }\n return newPoints;\n}\n","import { pointsOnBezierCurves, simplify } from 'points-on-curve';\nimport { parsePath, absolutize, normalize } from 'path-data-parser';\nexport function pointsOnPath(path, tolerance, distance) {\n const segments = parsePath(path);\n const normalized = normalize(absolutize(segments));\n const sets = [];\n let currentPoints = [];\n let start = [0, 0];\n let pendingCurve = [];\n const appendPendingCurve = () => {\n if (pendingCurve.length >= 4) {\n currentPoints.push(...pointsOnBezierCurves(pendingCurve, tolerance));\n }\n pendingCurve = [];\n };\n const appendPendingPoints = () => {\n appendPendingCurve();\n if (currentPoints.length) {\n sets.push(currentPoints);\n currentPoints = [];\n }\n };\n for (const { key, data } of normalized) {\n switch (key) {\n case 'M':\n appendPendingPoints();\n start = [data[0], data[1]];\n currentPoints.push(start);\n break;\n case 'L':\n appendPendingCurve();\n currentPoints.push([data[0], data[1]]);\n break;\n case 'C':\n if (!pendingCurve.length) {\n const lastPoint = currentPoints.length ? currentPoints[currentPoints.length - 1] : start;\n pendingCurve.push([lastPoint[0], lastPoint[1]]);\n }\n pendingCurve.push([data[0], data[1]]);\n pendingCurve.push([data[2], data[3]]);\n pendingCurve.push([data[4], data[5]]);\n break;\n case 'Z':\n appendPendingCurve();\n currentPoints.push([start[0], start[1]]);\n break;\n }\n }\n appendPendingPoints();\n if (!distance) {\n return sets;\n }\n const out = [];\n for (const set of sets) {\n const simplifiedSet = simplify(set, distance);\n if (simplifiedSet.length) {\n out.push(simplifiedSet);\n }\n }\n return out;\n}\n","import { line, solidFillPolygon, patternFillPolygons, rectangle, ellipseWithParams, generateEllipseParams, linearPath, arc, patternFillArc, curve, svgPath } from './renderer.js';\nimport { randomSeed } from './math.js';\nimport { curveToBezier } from 'points-on-curve/lib/curve-to-bezier.js';\nimport { pointsOnBezierCurves } from 'points-on-curve';\nimport { pointsOnPath } from 'points-on-path';\nconst NOS = 'none';\nexport class RoughGenerator {\n constructor(config) {\n this.defaultOptions = {\n maxRandomnessOffset: 2,\n roughness: 1,\n bowing: 1,\n stroke: '#000',\n strokeWidth: 1,\n curveTightness: 0,\n curveFitting: 0.95,\n curveStepCount: 9,\n fillStyle: 'hachure',\n fillWeight: -1,\n hachureAngle: -41,\n hachureGap: -1,\n dashOffset: -1,\n dashGap: -1,\n zigzagOffset: -1,\n seed: 0,\n disableMultiStroke: false,\n disableMultiStrokeFill: false,\n preserveVertices: false,\n fillShapeRoughnessGain: 0.8,\n };\n this.config = config || {};\n if (this.config.options) {\n this.defaultOptions = this._o(this.config.options);\n }\n }\n static newSeed() {\n return randomSeed();\n }\n _o(options) {\n return options ? Object.assign({}, this.defaultOptions, options) : this.defaultOptions;\n }\n _d(shape, sets, options) {\n return { shape, sets: sets || [], options: options || this.defaultOptions };\n }\n line(x1, y1, x2, y2, options) {\n const o = this._o(options);\n return this._d('line', [line(x1, y1, x2, y2, o)], o);\n }\n rectangle(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const outline = rectangle(x, y, width, height, o);\n if (o.fill) {\n const points = [[x, y], [x + width, y], [x + width, y + height], [x, y + height]];\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('rectangle', paths, o);\n }\n ellipse(x, y, width, height, options) {\n const o = this._o(options);\n const paths = [];\n const ellipseParams = generateEllipseParams(width, height, o);\n const ellipseResponse = ellipseWithParams(x, y, o, ellipseParams);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n const shape = ellipseWithParams(x, y, o, ellipseParams).opset;\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillPolygons([ellipseResponse.estimatedPoints], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(ellipseResponse.opset);\n }\n return this._d('ellipse', paths, o);\n }\n circle(x, y, diameter, options) {\n const ret = this.ellipse(x, y, diameter, diameter, options);\n ret.shape = 'circle';\n return ret;\n }\n linearPath(points, options) {\n const o = this._o(options);\n return this._d('linearPath', [linearPath(points, false, o)], o);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const o = this._o(options);\n const paths = [];\n const outline = arc(x, y, width, height, start, stop, closed, true, o);\n if (closed && o.fill) {\n if (o.fillStyle === 'solid') {\n const fillOptions = Object.assign({}, o);\n fillOptions.disableMultiStroke = true;\n const shape = arc(x, y, width, height, start, stop, true, false, fillOptions);\n shape.type = 'fillPath';\n paths.push(shape);\n }\n else {\n paths.push(patternFillArc(x, y, width, height, start, stop, o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('arc', paths, o);\n }\n curve(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = curve(points, o);\n if (o.fill && o.fill !== NOS) {\n if (o.fillStyle === 'solid') {\n const fillShape = curve(points, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n const polyPoints = [];\n const inputPoints = points;\n if (inputPoints.length) {\n const p1 = inputPoints[0];\n const pointsList = (typeof p1[0] === 'number') ? [inputPoints] : inputPoints;\n for (const points of pointsList) {\n if (points.length < 3) {\n polyPoints.push(...points);\n }\n else if (points.length === 3) {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier([\n points[0],\n points[0],\n points[1],\n points[2],\n ]), 10, (1 + o.roughness) / 2));\n }\n else {\n polyPoints.push(...pointsOnBezierCurves(curveToBezier(points), 10, (1 + o.roughness) / 2));\n }\n }\n }\n if (polyPoints.length) {\n paths.push(patternFillPolygons([polyPoints], o));\n }\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('curve', paths, o);\n }\n polygon(points, options) {\n const o = this._o(options);\n const paths = [];\n const outline = linearPath(points, true, o);\n if (o.fill) {\n if (o.fillStyle === 'solid') {\n paths.push(solidFillPolygon([points], o));\n }\n else {\n paths.push(patternFillPolygons([points], o));\n }\n }\n if (o.stroke !== NOS) {\n paths.push(outline);\n }\n return this._d('polygon', paths, o);\n }\n path(d, options) {\n const o = this._o(options);\n const paths = [];\n if (!d) {\n return this._d('path', paths, o);\n }\n d = (d || '').replace(/\\n/g, ' ').replace(/(-\\s)/g, '-').replace('/(\\s\\s)/g', ' ');\n const hasFill = o.fill && o.fill !== 'transparent' && o.fill !== NOS;\n const hasStroke = o.stroke !== NOS;\n const simplified = !!(o.simplification && (o.simplification < 1));\n const distance = simplified ? (4 - 4 * (o.simplification || 1)) : ((1 + o.roughness) / 2);\n const sets = pointsOnPath(d, 1, distance);\n const shape = svgPath(d, o);\n if (hasFill) {\n if (o.fillStyle === 'solid') {\n if (sets.length === 1) {\n const fillShape = svgPath(d, Object.assign(Object.assign({}, o), { disableMultiStroke: true, roughness: o.roughness ? (o.roughness + o.fillShapeRoughnessGain) : 0 }));\n paths.push({\n type: 'fillPath',\n ops: this._mergedShape(fillShape.ops),\n });\n }\n else {\n paths.push(solidFillPolygon(sets, o));\n }\n }\n else {\n paths.push(patternFillPolygons(sets, o));\n }\n }\n if (hasStroke) {\n if (simplified) {\n sets.forEach((set) => {\n paths.push(linearPath(set, false, o));\n });\n }\n else {\n paths.push(shape);\n }\n }\n return this._d('path', paths, o);\n }\n opsToPath(drawing, fixedDecimals) {\n let path = '';\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n path += `M${data[0]} ${data[1]} `;\n break;\n case 'bcurveTo':\n path += `C${data[0]} ${data[1]}, ${data[2]} ${data[3]}, ${data[4]} ${data[5]} `;\n break;\n case 'lineTo':\n path += `L${data[0]} ${data[1]} `;\n break;\n }\n }\n return path.trim();\n }\n toPaths(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.defaultOptions;\n const paths = [];\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path':\n path = {\n d: this.opsToPath(drawing),\n stroke: o.stroke,\n strokeWidth: o.strokeWidth,\n fill: NOS,\n };\n break;\n case 'fillPath':\n path = {\n d: this.opsToPath(drawing),\n stroke: NOS,\n strokeWidth: 0,\n fill: o.fill || NOS,\n };\n break;\n case 'fillSketch':\n path = this.fillSketch(drawing, o);\n break;\n }\n if (path) {\n paths.push(path);\n }\n }\n return paths;\n }\n fillSketch(drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n return {\n d: this.opsToPath(drawing),\n stroke: o.fill || NOS,\n strokeWidth: fweight,\n fill: NOS,\n };\n }\n _mergedShape(input) {\n return input.filter((d, i) => {\n if (i === 0) {\n return true;\n }\n if (d.op === 'move') {\n return false;\n }\n return true;\n });\n }\n}\n","import { RoughGenerator } from './generator';\nexport class RoughCanvas {\n constructor(canvas, config) {\n this.canvas = canvas;\n this.ctx = this.canvas.getContext('2d');\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const ctx = this.ctx;\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n switch (drawing.type) {\n case 'path':\n ctx.save();\n ctx.strokeStyle = o.stroke === 'none' ? 'transparent' : o.stroke;\n ctx.lineWidth = o.strokeWidth;\n if (o.strokeLineDash) {\n ctx.setLineDash(o.strokeLineDash);\n }\n if (o.strokeLineDashOffset) {\n ctx.lineDashOffset = o.strokeLineDashOffset;\n }\n this._drawToContext(ctx, drawing, precision);\n ctx.restore();\n break;\n case 'fillPath': {\n ctx.save();\n ctx.fillStyle = o.fill || '';\n const fillRule = (drawable.shape === 'curve' || drawable.shape === 'polygon' || drawable.shape === 'path') ? 'evenodd' : 'nonzero';\n this._drawToContext(ctx, drawing, precision, fillRule);\n ctx.restore();\n break;\n }\n case 'fillSketch':\n this.fillSketch(ctx, drawing, o);\n break;\n }\n }\n }\n fillSketch(ctx, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n ctx.save();\n if (o.fillLineDash) {\n ctx.setLineDash(o.fillLineDash);\n }\n if (o.fillLineDashOffset) {\n ctx.lineDashOffset = o.fillLineDashOffset;\n }\n ctx.strokeStyle = o.fill || '';\n ctx.lineWidth = fweight;\n this._drawToContext(ctx, drawing, o.fixedDecimalPlaceDigits);\n ctx.restore();\n }\n _drawToContext(ctx, drawing, fixedDecimals, rule = 'nonzero') {\n ctx.beginPath();\n for (const item of drawing.ops) {\n const data = ((typeof fixedDecimals === 'number') && fixedDecimals >= 0) ? (item.data.map((d) => +d.toFixed(fixedDecimals))) : item.data;\n switch (item.op) {\n case 'move':\n ctx.moveTo(data[0], data[1]);\n break;\n case 'bcurveTo':\n ctx.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5]);\n break;\n case 'lineTo':\n ctx.lineTo(data[0], data[1]);\n break;\n }\n }\n if (drawing.type === 'fillPath') {\n ctx.fill(rule);\n }\n else {\n ctx.stroke();\n }\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n this.draw(d);\n return d;\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n this.draw(d);\n return d;\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n this.draw(d);\n return d;\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n this.draw(d);\n return d;\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n this.draw(d);\n return d;\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n this.draw(d);\n return d;\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n this.draw(d);\n return d;\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n this.draw(drawing);\n return drawing;\n }\n}\n","export const SVGNS = 'http://www.w3.org/2000/svg';\n","import { SVGNS } from './core';\nimport { RoughGenerator } from './generator';\nexport class RoughSVG {\n constructor(svg, config) {\n this.svg = svg;\n this.gen = new RoughGenerator(config);\n }\n draw(drawable) {\n const sets = drawable.sets || [];\n const o = drawable.options || this.getDefaultOptions();\n const doc = this.svg.ownerDocument || window.document;\n const g = doc.createElementNS(SVGNS, 'g');\n const precision = drawable.options.fixedDecimalPlaceDigits;\n for (const drawing of sets) {\n let path = null;\n switch (drawing.type) {\n case 'path': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', o.stroke);\n path.setAttribute('stroke-width', o.strokeWidth + '');\n path.setAttribute('fill', 'none');\n if (o.strokeLineDash) {\n path.setAttribute('stroke-dasharray', o.strokeLineDash.join(' ').trim());\n }\n if (o.strokeLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.strokeLineDashOffset}`);\n }\n break;\n }\n case 'fillPath': {\n path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, precision));\n path.setAttribute('stroke', 'none');\n path.setAttribute('stroke-width', '0');\n path.setAttribute('fill', o.fill || '');\n if (drawable.shape === 'curve' || drawable.shape === 'polygon') {\n path.setAttribute('fill-rule', 'evenodd');\n }\n break;\n }\n case 'fillSketch': {\n path = this.fillSketch(doc, drawing, o);\n break;\n }\n }\n if (path) {\n g.appendChild(path);\n }\n }\n return g;\n }\n fillSketch(doc, drawing, o) {\n let fweight = o.fillWeight;\n if (fweight < 0) {\n fweight = o.strokeWidth / 2;\n }\n const path = doc.createElementNS(SVGNS, 'path');\n path.setAttribute('d', this.opsToPath(drawing, o.fixedDecimalPlaceDigits));\n path.setAttribute('stroke', o.fill || '');\n path.setAttribute('stroke-width', fweight + '');\n path.setAttribute('fill', 'none');\n if (o.fillLineDash) {\n path.setAttribute('stroke-dasharray', o.fillLineDash.join(' ').trim());\n }\n if (o.fillLineDashOffset) {\n path.setAttribute('stroke-dashoffset', `${o.fillLineDashOffset}`);\n }\n return path;\n }\n get generator() {\n return this.gen;\n }\n getDefaultOptions() {\n return this.gen.defaultOptions;\n }\n opsToPath(drawing, fixedDecimalPlaceDigits) {\n return this.gen.opsToPath(drawing, fixedDecimalPlaceDigits);\n }\n line(x1, y1, x2, y2, options) {\n const d = this.gen.line(x1, y1, x2, y2, options);\n return this.draw(d);\n }\n rectangle(x, y, width, height, options) {\n const d = this.gen.rectangle(x, y, width, height, options);\n return this.draw(d);\n }\n ellipse(x, y, width, height, options) {\n const d = this.gen.ellipse(x, y, width, height, options);\n return this.draw(d);\n }\n circle(x, y, diameter, options) {\n const d = this.gen.circle(x, y, diameter, options);\n return this.draw(d);\n }\n linearPath(points, options) {\n const d = this.gen.linearPath(points, options);\n return this.draw(d);\n }\n polygon(points, options) {\n const d = this.gen.polygon(points, options);\n return this.draw(d);\n }\n arc(x, y, width, height, start, stop, closed = false, options) {\n const d = this.gen.arc(x, y, width, height, start, stop, closed, options);\n return this.draw(d);\n }\n curve(points, options) {\n const d = this.gen.curve(points, options);\n return this.draw(d);\n }\n path(d, options) {\n const drawing = this.gen.path(d, options);\n return this.draw(drawing);\n }\n}\n","import { RoughCanvas } from './canvas';\nimport { RoughGenerator } from './generator';\nimport { RoughSVG } from './svg';\nexport default {\n canvas(canvas, config) {\n return new RoughCanvas(canvas, config);\n },\n svg(svg, config) {\n return new RoughSVG(svg, config);\n },\n generator(config) {\n return new RoughGenerator(config);\n },\n newSeed() {\n return RoughGenerator.newSeed();\n },\n};\n",null,null,null,null,null,null,null,null,null,null,null,null],"names":["tokenize","SHAPES","SVG_NS","sharedGraphemeSegmenter","getSharedGraphemeSegmenter","_SVG_NS","hashStr","NS","se","drawAxes","fmtNum","lerp","renderShape","NOTE_CFG","escapeHtml"],"mappings":";;AAAA;AACA;AACA;AAgCO,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC9B,SAAS;IACT,KAAK;IACL,WAAW;IACX,QAAQ;IACR,OAAO;IACP,aAAa;IACb,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,eAAe;IACf,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;IACN,WAAW;IACX,YAAY;IACZ,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;IACZ,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,QAAQ;IACR,WAAW;IACX,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IACN,WAAW;AACZ,CAAA,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AAE7E;AACA;AACA,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEjD,SAAUA,UAAQ,CAAC,GAAW,EAAA;IAClC,MAAM,MAAM,GAAY,EAAE;IAC1B,IAAI,CAAC,GAAG,CAAC,EACP,IAAI,GAAG,CAAC,EACR,SAAS,GAAG,CAAC;IAEf,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC;AACnC,IAAA,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE;AAClD,IAAA,MAAM,GAAG,GAAG,CAAC,IAAe,EAAE,KAAa,KACzC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AAE/D,IAAA,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;AACrB,QAAA,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;;AAGjB,QAAA,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;YACjD,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;AAAE,gBAAA,CAAC,EAAE;YAC7C;QACF;;AAGA,QAAA,IAAI,EAAE,KAAK,IAAI,EAAE;AACf,YAAA,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC;AACpB,YAAA,IAAI,EAAE;AACN,YAAA,SAAS,GAAG,CAAC,GAAG,CAAC;AACjB,YAAA,CAAC,EAAE;YACH;QACF;;AAGA,QAAA,IAAI,EAAE,KAAK,IAAI,EAAE;AACf,YAAA,CAAC,EAAE;YACH;QACF;;AAGA,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACpB,YAAA,CAAC,EAAE;YACH;QACF;AAEA,QAAA,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACpD,YAAA,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,GAAG,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE;gBACrB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;AAC9D,oBAAA,CAAC,IAAI,CAAC,CAAC;oBACP;gBACF;AACA,gBAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACnB,oBAAA,IAAI,EAAE;AACN,oBAAA,SAAS,GAAG,CAAC,GAAG,CAAC;gBACnB;AACA,gBAAA,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB;AACA,YAAA,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC;YACxB;QACF;;QAGA,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE;YAC5B,MAAM,CAAC,GAAG,EAAE;YACZ,IAAI,GAAG,GAAG,EAAE;AACZ,YAAA,CAAC,EAAE;AACH,YAAA,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;AACrC,gBAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACnB,oBAAA,CAAC,EAAE;oBACH,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxB,IAAI,GAAG,KAAK,GAAG;wBAAE,GAAG,IAAI,IAAI;yBACvB,IAAI,GAAG,KAAK,GAAG;wBAAE,GAAG,IAAI,IAAI;yBAC5B,IAAI,GAAG,KAAK,GAAG;wBAAE,GAAG,IAAI,IAAI;yBAC5B,IAAI,GAAG,KAAK,IAAI;wBAAE,GAAG,IAAI,IAAI;yBAC7B,IAAI,GAAG,KAAK,CAAC;wBAAE,GAAG,IAAI,CAAC;AACvB,yBAAA,IAAI,GAAG;AAAE,wBAAA,GAAG,IAAI,CAAA,EAAA,EAAK,GAAG,CAAA,CAAE;;wBAC1B,GAAG,IAAI,IAAI;gBAClB;;AAAO,oBAAA,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACpB,gBAAA,CAAC,EAAE;YACL;YACA,CAAC,EAAE,CAAC;AACJ,YAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;YAClB;QACF;;QAGA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7D,IAAI,GAAG,GAAG,EAAE;AACZ,YAAA,IAAI,EAAE,KAAK,GAAG,EAAE;gBACd,GAAG,GAAG,GAAG;AACT,gBAAA,CAAC,EAAE;YACL;AACA,YAAA,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAAE,gBAAA,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;AAC/D,YAAA,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;YAClB;QACF;;QAGA,IAAI,YAAY,GAAG,EAAE;AACrB,QAAA,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;YAChC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC1B,YAAY,GAAG,GAAG;gBAClB;YACF;QACF;QACA,IAAI,YAAY,EAAE;AAChB,YAAA,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC;AAC1B,YAAA,CAAC,IAAI,YAAY,CAAC,MAAM;YACxB;QACF;;AAGA,QAAA,MAAM,KAAK,GAA8B;AACvC,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,GAAG,EAAE,MAAM;SACZ;AACD,QAAA,IAAI,EAAE,IAAI,KAAK,EAAE;YACf,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAClB,YAAA,CAAC,EAAE;YACH;QACF;;;;;AAMA,QAAA,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACxB,IAAI,EAAE,GAAG,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;;;AAGrD,gBAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChE;AACF,gBAAA,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB;AACA,YAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,CAAC;YAC/C;QACF;AAEA,QAAA,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;AAClB,QAAA,CAAC,EAAE;IACL;AAEA,IAAA,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;AACd,IAAA,OAAO,MAAM;AACf;;AClQA,SAAS,aAAa,CAAC,MAAwB,EAAE,KAAa,EAAE,KAAc,EAAA;AAC5E,IAAA,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IACrE,OAAO,CAAA,QAAA,EAAW,MAAM,CAAC,IAAI,KAAK,KAAK,CAAA,SAAA,EAAY,MAAM,CAAA,CAAE;AAC7D;SAEgB,wBAAwB,CACtC,MAAc,EACd,UAAuC,EAAE,EAAA;IAEzC,IAAI,UAAU,GAAG,MAAM;AACvB,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE;AACxB,QAAA,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;AACjD,YAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;YACpD;YACA,UAAU,GAAG,WAAW;QAC1B;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC7D;IACF;AACA,IAAA,OAAO,UAAU;AACnB;SAEgB,wBAAwB,CACtC,GAAe,EACf,UAAuC,EAAE,EAAA;IAEzC,IAAI,OAAO,GAAG,GAAG;AACjB,IAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,CAAC,MAAM,CAAC,YAAY;YAAE;AAC1B,QAAA,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAClD,gBAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;YAC9E;YACA,OAAO,GAAG,WAAW;QACvB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/D;IACF;AACA,IAAA,OAAO,OAAO;AAChB;;ACvDA;AACA;AACA;AAmCA,IAAI,IAAI,GAAG,CAAC;AACZ,SAAS,GAAG,CAAC,MAAc,EAAA;AACzB,IAAA,OAAO,GAAG,MAAM,CAAA,CAAA,EAAI,EAAE,IAAI,EAAE;AAC9B;AAEA,SAAS,QAAQ,GAAA;IACf,IAAI,GAAG,CAAC;AACV;AAEA,MAAMC,QAAM,GAAgB;IAC1B,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,eAAe;IACf,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;CACP;AAED,MAAM,WAAW,GAAG;IAClB,WAAW;IACX,YAAY;IACZ,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;CACb;AAEK,MAAO,UAAW,SAAQ,KAAK,CAAA;AACnC,IAAA,WAAA,CACE,GAAW,EACJ,IAAY,EACZ,GAAW,EAAA;QAElB,KAAK,CAAC,gBAAgB,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,EAAA,EAAK,GAAG,CAAA,CAAE,CAAC;QAHrC,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,GAAG,GAAH,GAAG;AAGV,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY;IAC1B;AACD;AAED,SAAS,YAAY,CAAC,CAAyB,EAAA;IAC7C,MAAM,CAAC,GAAe,EAAE;IACxB,IAAI,CAAC,CAAC,IAAI;AAAE,QAAA,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,CAAC,MAAM;AAAE,QAAA,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;IACjC,IAAI,CAAC,CAAC,cAAc,CAAC;QAAE,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,KAAK;AAAE,QAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;IAC9B,IAAI,CAAC,CAAC,OAAO;QAAE,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,IAAI,CAAC,CAAC,WAAW,CAAC;QAAE,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,aAAa,CAAC;AAAE,QAAA,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,aAAa,CAAC;IACrD,IAAI,CAAC,CAAC,YAAY,CAAC;AAAE,QAAA,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAA4B;IAC7E,IAAI,CAAC,CAAC,OAAO;QAAE,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AAChD,IAAA,IAAI,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACvB,QAAA,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAgC;IACtE;IACA,IAAI,CAAC,CAAC,aAAa,CAAC;QAAE,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,gBAAgB,CAAC;QAAE,CAAC,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,IAAI;AAAE,QAAA,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;IAE3B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC;IAC1C,IAAI,OAAO,EAAE;QACX,MAAM,KAAK,GAAG;aACX,KAAK,CAAC,GAAG;aACT,GAAG,CAAC,MAAM;AACV,aAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM;AAAE,YAAA,CAAC,CAAC,UAAU,GAAG,KAAK;IACxC;AAEA,IAAA,OAAO,CAAC;AACV;AAEA,SAAS,YAAY,CAAC,CAAS,EAAA;IAC7B,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;AACnF;AAEA,SAAS,cAAc,CAAC,CAAS,EAAA;AAC/B,IAAA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;AAC5D;SAEgB,KAAK,CAAC,GAAW,EAAE,UAAwB,EAAE,EAAA;AAC3D,IAAA,QAAQ,EAAE;IAEV,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;IAErE,MAAM,MAAM,GAAGD,UAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAC5C,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAChD;IAED,MAAM,IAAI,GAAY,EAAE;IACxB,IAAI,MAAM,GAAG,KAAK;AAClB,IAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,IAAI;QACf;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,KAAK;QAChB;IACF;AAEA,IAAA,MAAM,GAAG,GAAe;AACtB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,SAAS,EAAE,EAAE;KACd;AAED,IAAA,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA8B;AACjE,IAAA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB;AACxD,IAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB;IAE5C,IAAI,CAAC,GAAG,CAAC;AACT,IAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACxD,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE;IACtB,MAAM,MAAM,GAAG,MAAK;AAClB,QAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS;AAAE,YAAA,IAAI,EAAE;AACzC,IAAA,CAAC;AAED,IAAA,SAAS,UAAU,GAAA;QACjB,MAAM,GAAG,GAAY,EAAE;AACvB,QAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;AACvD,YAAA,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,YAAA,IAAI,EAAE;QACR;AACA,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS;AAAE,YAAA,IAAI,EAAE;AACpC,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,SAAS,iBAAiB,CAAC,UAAiB,EAAE,IAAa,EAAA;AACzD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE;AACtD,YAAA,MAAM,IAAI,UAAU,CAClB,CAAA,EAAG,UAAU,CAAC,KAAK,CAAA,0CAAA,CAA4C,EAC/D,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,GAAG,CACf;QACH;QACA,OAAO,KAAK,CAAC,KAAK;IACpB;AAEA,IAAA,SAAS,gBAAgB,CAAC,IAAa,EAAE,UAAkB,EAAA;QACzD,MAAM,KAAK,GAA2B,EAAE;QACxC,IAAI,CAAC,GAAG,UAAU;QAElB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1B,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,YAAA,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACvE,gBAAA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;gBACpC,CAAC,IAAI,CAAC;YACR;iBAAO;AACL,gBAAA,CAAC,EAAE;YACL;QACF;AAEA,QAAA,OAAO,KAAK;IACd;IAEA,SAAS,gBAAgB,CAAC,KAAa,EAAA;AACrC,QAAA,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI;AACnD,QAAA,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK;AAAE,YAAA,OAAO,KAAK;AACtD,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AAC7B,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,OAAO;IAChD;IAEA,SAAS,cAAc,CAAC,KAA6B,EAAA;AACnD,QAAA,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,QAAA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,MAAM;YACN,QAAQ;YACR,cAAc;YACd,OAAO;YACP,SAAS;YACT,WAAW;YACX,aAAa;YACb,MAAM;YACN,MAAM;YACN,aAAa;YACb,SAAS;YACT,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,gBAAgB;AACjB,SAAA,CAAC;AACF,QAAA,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,EAAE;AAEnD,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,YAAA,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAoB;QACzC;AACA,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC7B,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QACrC;AACA,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC;AAEA,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAChD;AAEA,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ;gBAAE;AAC7D,YAAA,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;QAC3C;IACF;AAEA,IAAA,SAAS,eAAe,CACtB,IAAa,EACb,UAAkB,EAAA;QAElB,MAAM,KAAK,GAA2B,EAAE;QACxC,MAAM,OAAO,GAAa,EAAE;QAC5B,IAAI,CAAC,GAAG,UAAU;AAElB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACtB,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAEtB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,QAAQ,EAAE;AACjD,gBAAA,CAAC,EAAE;gBACH;YACF;AAEA,YAAA,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACxB,gBAAA,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE;AAC7B,oBAAA,MAAM,IAAI,UAAU,CAClB,CAAA,8CAAA,CAAgD,EAChD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;gBACH;gBAEA,CAAC,IAAI,CAAC;AACN,gBAAA,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;AACrD,oBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACnB,oBAAA,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;AACxB,wBAAA,CAAC,EAAE;wBACH;oBACF;AACA,oBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;AACtB,wBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAE;AAC3B,wBAAA,MAAM,IAAI,UAAU,CAClB,CAAA,2CAAA,CAA6C,EAC7C,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,GAAG,CACf;oBACH;AACA,oBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,oBAAA,CAAC,EAAE;oBACH,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE;AAC7B,wBAAA,CAAC,EAAE;oBACL;AAAO,yBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE;AACjD,wBAAA,MAAM,IAAI,UAAU,CAClB,mCAAmC,EACnC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACZ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CACZ;oBACH;gBACF;gBAEA,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,EAAE;AAChC,oBAAA,MAAM,IAAI,UAAU,CAClB,CAAA,qCAAA,CAAuC,EACvC,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;gBACH;AAEA,gBAAA,CAAC,EAAE;gBACH;YACF;YAEA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACvB,gBAAA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;gBACpC,CAAC,IAAI,CAAC;YACR;iBAAO;AACL,gBAAA,CAAC,EAAE;YACL;QACF;AAEA,QAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC3B;AAEA,IAAA,SAAS,kBAAkB,CAAC,EAAU,EAAE,IAAwB,EAAE,GAAU,EAAA;QAC1E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,IAAI,QAAQ,EAAE;AACZ,YAAA,MAAM,IAAI,UAAU,CAClB,CAAA,cAAA,EAAiB,EAAE,2BAA2B,QAAQ,CAAA,CAAE,EACxD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;QACH;AACA,QAAA,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;IACnC;AAEA,IAAA,SAAS,cAAc,GAAA;QACrB,MAAM,IAAI,GAA0B,EAAE;AACtC,QAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK;AAAE,YAAA,IAAI,EAAE;AAChE,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,EAAE;AAER,QAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;AACxD,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK;gBAAE;AAEvD,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE;AAC7B,gBAAA,IAAI,EAAE;gBACN,MAAM,GAAG,GAAwB,EAAE;AACnC,gBAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;AACxD,oBAAA,MAAM,CAAC,GAAG,GAAG,EAAE;AACf,oBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACrE,wBAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACjB,wBAAA,IAAI,EAAE;oBACR;AAAO,yBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAC9B,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,wBAAA,IAAI,EAAE;oBACR;AAAO,yBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACrD,wBAAA,IAAI,EAAE;oBACR;yBAAO;wBACL;oBACF;gBACF;AACA,gBAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU;AAAE,oBAAA,IAAI,EAAE;AACrC,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAChB;AAAO,iBAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7D,gBAAA,IAAI,EAAE;YACR;iBAAO;AACL,gBAAA,IAAI,EAAE;YACR;QACF;AAEA,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,UAAU;AAAE,YAAA,IAAI,EAAE;AACrC,QAAA,OAAO,IAAI;IACb;IAEA,SAAS,SAAS,CAAC,KAAgB,EAAA;AACjC,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AAEvC,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC;AACnC,QAAA,MAAM,IAAI,GAAY;AACpB,YAAA,IAAI,EAAE,MAAM;YACZ,EAAE;YACF,KAAK;AACL,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YAC7D,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AAC7D,YAAA,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AAC9C,YAAA,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACzB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B;QAED,IAAI,KAAK,CAAC,GAAG;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG;QACxC,IAAI,KAAK,CAAC,IAAI;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI;QAC1C,IAAI,KAAK,CAAC,KAAK;AAAE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK;AAE5C,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,SAAS,SAAS,GAAA;AAChB,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAA2B,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC;QAET,IACE,IAAI,CAAC,CAAC,CAAC;AACP,aAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;iBACvB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,EAC3D;YACA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YAC3B,CAAC,GAAG,CAAC;QACP;AAEA,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE/C,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC;QACnC,OAAO;AACL,YAAA,IAAI,EAAE,MAAM;YACZ,EAAE;AACF,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;YAChD,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACzB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YAC7D,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;SAC9D;IACH;IAEA,SAAS,eAAe,CAAC,KAA6B,EAAA;QACpD,MAAM,IAAI,GAA2B,EAAE;AAEvC,QAAA,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC;QAClD;AAEA,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS;IACpD;AAEA,IAAA,SAAS,UAAU,GAAA;AACjB,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;AAChE,YAAA,MAAM,IAAI,UAAU,CAClB,CAAA,sCAAA,EAAyC,UAAU,CAAC,KAAK,CAAA,0BAAA,CAA4B,EACrF,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,GAAG,CACf;QACH;QAEA,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAA2B,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC;QAET,IACE,IAAI,CAAC,CAAC,CAAC;AACP,aAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;iBACvB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,EAC3D;YACA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YAC3B,CAAC,GAAG,CAAC;QACP;QAEA,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;AAElC,QAAA,MAAM,EAAE;AACR,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,MAAM,IAAI,UAAU,CAClB,CAAA,sCAAA,EAAyC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAA,qBAAA,CAAuB,EACtF,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,GAAG,CACV;QACH;QAEA,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;AAC5C,QAAA,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC;QAE/B,OAAO;AACL,YAAA,IAAI,EAAE,OAAO;YACb,EAAE;AACF,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;AACxB,YAAA,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,KAAK,CAAC,MAAgC;YAC9C,OAAO,EACL,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,SAAS;YACvE,OAAO,EACL,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,SAAS;YACvE,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,SAAS;YAClE,KAAK,EAAE,KAAK,CAAC,KAA+B;YAC5C,OAAO,EAAE,KAAK,CAAC,OAAqC;YACpD,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;AAC1B,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC1D,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC1D,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS;AACtE,YAAA,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS;SAC1E;IACH;AAEA,IAAA,SAAS,SAAS,CAChB,MAAc,EACd,SAAiB,EACjB,IAAa,EAAA;AAEb,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9D,MAAM,KAAK,GAA2B,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC;AACT,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACtB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACjB,YAAA,IACE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;AAC3C,gBAAA,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM;gBACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAC7B;AACA,gBAAA,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;gBACzC,CAAC,IAAI,CAAC;YACR;iBAAO;AACL,gBAAA,CAAC,EAAE;YACL;QACF;AAEA,QAAA,MAAM,MAAM,GACV,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;AACxB,YAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;AACxB,YAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAExE,OAAO;AACL,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC;AACf,YAAA,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK,CAAC,KAAK;AACf,YAAA,SAAS,EAAE,SAA0B;YACrC,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,UAAU,EAAE,KAAK,CAAC,aAAa,CAA2B;AAC1D,YAAA,QAAQ,EAAE,KAAK,CAAC,WAAW,CAA2B;YACtD,MAAM;YACN,aAAa;AACb,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B;IACH;AAEA,IAAA,SAAS,SAAS,GAAA;AAChB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;AACzB,QAAA,MAAM,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,WAAW,CAAoB;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;AACjC,QAAA,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE;QAC7D;QAEA,MAAM,IAAI,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;AAEtD,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QACnC;QAEA,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QACrC;AAEA,QAAA,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC;AAC5C,QAAA,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEtB,IAAI,EAAE,EAAE,IAAI,KAAK,QAAQ,IAAI,EAAE,EAAE;AAC/B,gBAAA,IAAI,CAAC,KAAK,IAAI,EAAE;oBACd,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBAC9B,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,IAAI,EAAE;oBACd,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBAC9B,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,UAAU,EAAE;oBACpB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,OAAO,EAAE;oBACjB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBACjC,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,QAAQ,EAAE;oBAClB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBAClC,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,KAAK,EAAE;oBACf,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;oBAC/B,CAAC,IAAI,CAAC;oBACN;gBACF;gBACA,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,EAAE;AACjC,oBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK;oBACrB,CAAC,IAAI,CAAC;oBACN;gBACF;AACA,gBAAA,IAAI,CAAC,KAAK,MAAM,EAAE;AAChB,oBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,KAAiB;oBAChC,CAAC,IAAI,CAAC;oBACN;gBACF;YACF;YAEA,IAAI,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,IAAI,KAAK,QAAQ,EAAE;gBAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;AACjC,gBAAA,CAAC,EAAE;gBACH;YACF;YACA,IAAI,CAAC,KAAK,UAAU,IAAI,EAAE,EAAE,IAAI,KAAK,QAAQ,EAAE;gBAC7C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC;AACpC,gBAAA,CAAC,EAAE;gBACH;YACF;AACA,YAAA,IAAI,CAAC,KAAK,SAAS,EAAE;AACnB,gBAAA,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,KAAyB;AAC5C,gBAAA,CAAC,EAAE;YACL;QACF;AAEA,QAAA,OAAO,IAAI;IACb;IAEA,SAAS,UAAU,CAAC,SAAiB,EAAA;AACnC,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,GAA0B,EAAE;AAExC,QAAA,MAAM,EAAE;AACR,QAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE;AACpD,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;gBAAE;AAE7B,YAAA,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK;AACrB,YAAA,IAAI,CAAC,KAAK,MAAM,EAAE;gBAChB,QAAQ,GAAG,cAAc,EAAE;YAC7B;AAAO,iBAAA,IACL,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS;AACnD,gBAAA,KAAK,EAAE,CAAC,IAAI,KAAK,QAAQ,EACzB;AACA,gBAAA,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK;AACvB,gBAAA,IAAI,EAAE;AACN,gBAAA,IAAI,EAAE;gBACN,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK;AACxB,gBAAA,IAAI,EAAE;YACR;AAAO,iBAAA,IACLC,QAAM,CAAC,QAAQ,CAAC,CAAc,CAAC;AAC/B,gBAAA,CAAC,KAAK,MAAM;AACZ,gBAAA,CAAC,KAAK,OAAO;AACb,gBAAA,CAAC,KAAK,MAAM;AACZ,gBAAA,CAAC,KAAK,MAAM;AACZ,gBAAA,CAAC,KAAK,OAAO;AACb,gBAAA,CAAC,KAAK,QAAQ;AACd,gBAAA,CAAC,KAAK,OAAO;AACb,gBAAA,CAAC,KAAK,OAAO;AACb,gBAAA,CAAC,KAAK,UAAU;AAChB,gBAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EACvB;gBACA;YACF;AAAO,iBAAA,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE;gBACnC;YACF;iBAAO;AACL,gBAAA,IAAI,EAAE;YACR;QACF;AAEA,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9B,OAAO;AACL,YAAA,IAAI,EAAE,OAAO;YACb,EAAE;YACF,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAA0B;AACnE,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;AACjC,YAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC5C,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC5C,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS;AACxD,YAAA,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS;YAC3D,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B;IACH;AAEA,IAAA,SAAS,UAAU,GAAA;AACjB,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAA2B,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC;QAET,IACE,IAAI,CAAC,CAAC,CAAC;AACP,aAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ;iBACvB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,EAC3D;YACA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YAC3B,CAAC,GAAG,CAAC;QACP;AAEA,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE/C,QAAA,MAAM,KAAK,GAAa;AACtB,YAAA,IAAI,EAAE,OAAO;YACb,EAAE;AACF,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;AACxB,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC5C,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;YAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B;AAED,QAAA,MAAM,EAAE;AACR,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,YAAA,IAAI,EAAE;AACN,YAAA,MAAM,EAAE;QACV;AAEA,QAAA,OACE,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AACvB,YAAA,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK;AACrB,YAAA,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EACpB;AACA,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;gBAAE;AAE7B,YAAA,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK;YACrB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,EAAE;AACjC,gBAAA,IAAI,EAAE;gBACN,MAAM,KAAK,GAAa,EAAE;AAC1B,gBAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE;AACvD,oBAAA,IACE,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AACvB,wBAAA,GAAG,EAAE,CAAC,IAAI,KAAK,OAAO;AACtB,wBAAA,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AACvB,wBAAA,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,EACxB;wBACA,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;oBACzB;AACA,oBAAA,IAAI,EAAE;gBACR;AACA,gBAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS;AAAE,oBAAA,IAAI,EAAE;gBACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;YACtE;iBAAO;AACL,gBAAA,IAAI,EAAE;YACR;QACF;AAEA,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AAAE,YAAA,IAAI,EAAE;AACnC,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,SAAS,aAAa,GAAA;AACpB,QAAA,MAAM,UAAU,GAAG,GAAG,EAAE;AACxB,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QAEzB,MAAM,EAAE,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AAEvC,QAAA,MAAM,EAAE;QACR,IAAI,OAAO,GAAG,EAAE;AAChB,QAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE;AACjC,YAAA,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK;AACrB,YAAA,IAAI,EAAE;QACR;QAEA,OAAO;AACL,YAAA,IAAI,EAAE,UAAU;YAChB,EAAE;AACF,YAAA,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;AACvB,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC5C,YAAA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS;AAC5C,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS;AACxD,YAAA,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS;YAC3D,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B;IACH;AAEA,IAAA,MAAM,EAAE;AACR,IAAA,IAAI,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;AAC7B,QAAA,IAAI,EAAE;AACN,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE;QACzB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,cAAc,CAAC,KAAK,CAAC;IACvB;AACA,IAAA,MAAM,EAAE;AAER,IAAA,OAAO,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK,EAAE;AACpD,QAAA,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,GAAG,GAAG,EAAE;AACf,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK;AAEjB,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,EAAE;YACN;QACF;AACA,QAAA,IAAI,CAAC,KAAK,SAAS,EAAE;AACnB,YAAA,UAAU,EAAE;YACZ;QACF;QACA,IAAI,CAAC,KAAK,KAAK;YAAE;AAEjB,QAAA,IAAI,CAAC,KAAK,WAAW,EAAE;AACrB,YAAA,UAAU,EAAE;YACZ;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClB,YAAA,MAAM,IAAI,UAAU,CAClB,CAAA,8EAAA,CAAgF,EAChF,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,GAAG,CACN;QAEH;AAEA,QAAA,IAAI,CAAC,KAAK,OAAO,EAAE;AACjB,YAAA,IAAI,EAAE;AACN,YAAA,MAAM,IAAI,GAAG,UAAU,EAAE;AACzB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CACtE;YACD,IAAI,SAAS,EAAE;gBACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACnC,gBAAA,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;YACxC;iBAAO;AACL,gBAAA,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE;YACA;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,aAAa,EAAE;AACvB,YAAA,IAAI,EAAE;AACN,YAAA,GAAG,CAAC,WAAW,GAAG,UAAU;iBACzB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK;iBACpB,IAAI,CAAC,GAAG;AACR,iBAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClB,YAAA,MAAM,IAAI,UAAU,CAClB,CAAA,uFAAA,CAAyF,EACzF,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,GAAG,CACN;QAEH;AAEA,QAAA,IAAI,CAAC,KAAK,OAAO,EAAE;AACjB,YAAA,IAAI,EAAE;AACN,YAAA,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK;AAC5B,YAAA,IAAI,EAAE;YACN,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE;YAC1E;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,OAAO,EAAE;AACjB,YAAA,IAAI,EAAE;AACN,YAAA,MAAM,IAAI,GAAG,UAAU,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;AAC9B,YAAA,IAAI,CAAC,OAAO;gBAAE;AACd,YAAA,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D;QACF;QAEA,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM,EAAE;AACjC,YAAA,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM;AAC3B,YAAA,MAAM,GAAG,GAAG,UAAU,EAAE;YACxB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEtC,IAAI,MAAM,EAAE;AACV,gBAAA,GAAG,CAAC,KAAK,GAAG,EAAE;gBACd,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC;gBAC9B,GAAG,CAAC,KAAK,GAAG;oBACV,GAAG,GAAG,CAAC,KAAK;AACZ,oBAAA,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM;AAC/B,oBAAA,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM;AACnC,oBAAA,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;iBACzC;YACH;AAEA,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACpB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACjD;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,OAAO,EAAE;AACjB,YAAA,MAAM,GAAG,GAAG,UAAU,EAAE;YACxB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACtC,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACpB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;YACjD;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,MAAM,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,SAAS,EAAE;YACxB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtC,YAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACjD;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,MAAM,EAAE;AAChB,YAAA,IAAI,EAAE;AACN,YAAA,MAAM,EAAE;AACR,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC3B,gBAAA,IAAI,EAAE;AACN,gBAAA,MAAM,EAAE;YACV;YACA,MAAM,QAAQ,GAAc,EAAE;AAC9B,YAAA,OACE,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AACvB,gBAAA,GAAG,EAAE,CAAC,KAAK,KAAK,KAAK;AACrB,gBAAA,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,EACpB;AACA,gBAAA,MAAM,EAAE;AACR,gBAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;oBAAE;AAC7B,gBAAA,IAAI,GAAG,EAAE,CAAC,KAAK,KAAK,MAAM,EAAE;AAC1B,oBAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B;qBAAO;AACL,oBAAA,IAAI,EAAE;gBACR;YACF;AACA,YAAA,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ;AAAE,gBAAA,IAAI,EAAE;AACnC,YAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAa,CAAC;YACrD;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,MAAM,EAAE;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B;QACF;AAEA,QAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AAC3B,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;YAC3B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxC,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACnD;QACF;AAEA,QAAA,IAAI,CAAC,KAAK,UAAU,EAAE;AACpB,YAAA,MAAM,EAAE,GAAG,aAAa,EAAE;YAC1B,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AACxC,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACtB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD;QACF;AAEA,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;AACvC,gBAAA,MAAM,QAAQ,GAAG,UAAU,EAAE;AAC7B,gBAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;oBACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;oBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;AACnC,oBAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/D;gBACF;YACF;QACF;AAEA,QAAA,IAAIA,QAAM,CAAC,QAAQ,CAAC,CAAc,CAAC,EAAE;AACnC,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,CAAc,CAAC;YACtC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtC,YAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,YAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACjD;QACF;AAEA,QAAA,IAAI,EAAE;IACR;IAEA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAC/D,IAAA,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;AAC5B,QAAA,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE;AACrC,YAAA,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE;AACzB,YAAA,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACnB,YAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACb,gBAAA,IAAI,EAAE,MAAM;gBACZ,EAAE;AACF,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA,CAAC;QACJ;IACF;AAEA,IAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC;IAC/D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAChE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAEpE,IAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;AAC9B,QAAA,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;QACxD,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;AACtC,YAAA,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE,EAAE;AACvB,gBAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE;AAC9C,gBAAA,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,KAAK,CAAC,EAAE,CAAA,sCAAA,CAAwC,EAC1D,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;YACH;YAEA,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE;AAC9C,gBAAA,MAAM,IAAI,UAAU,CAClB,UAAU,KAAK,CAAC,EAAE,CAAA,2BAAA,EAA8B,MAAM,kBAAkB,EACxE,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;YACH;AAEA,YAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE;AAC7B,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB;AAChD,IAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;AAC9B,QAAA,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClC,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,cAAc,EAAE;AAClB,gBAAA,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE;gBAC9C,MAAM,IAAI,UAAU,CAClB,CAAA,MAAA,EAAS,KAAK,CAAC,EAAE,CAAA,yBAAA,EAA4B,cAAc,CAAA,OAAA,EAAU,KAAK,CAAC,EAAE,CAAA,CAAA,CAAG,EAChF,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;YACH;YACA,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC;IACF;IAEA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACxE,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU;AAClC,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU;IACjC,MAAM,KAAK,GAAa,EAAE;IAE1B,SAAS,UAAU,CAAC,OAAe,EAAA;AACjC,QAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YACvE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE;YAC7C,MAAM,IAAI,UAAU,CAClB,CAAA,sBAAA,EAAyB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAC7C,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,GAAG,CACR;QACH;AACA,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE;AAE1B,QAAA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,QAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;QACrC,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClC,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;AAAE,oBAAA,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD;QACF;QAEA,KAAK,CAAC,GAAG,EAAE;AACX,QAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB;AAEA,IAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM;AAAE,QAAA,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAEpD,IAAA,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;QAC5B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;QACxD;IACF;IAEA,OAAO,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;AACvD;;AChnCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACO,MAAM,MAAM,GAAG;IACpB,MAAM,EAAQ,EAAE;IAChB,GAAG,EAAW,EAAE;IAChB,WAAW,EAAG,EAAE;IAChB,QAAQ,EAAM,EAAE;IAChB,QAAQ,EAAM,EAAE;CACR;AAEV;AACO,MAAM,IAAI,GAAG;IAClB,IAAI,EAAU,EAAE;IAChB,IAAI,EAAU,GAAG;IAGjB,OAAO,EAAO,EAAE;CACR;AAEV;AACO,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAO,EAAE,QAAQ,EAAE,EAAE,EAAG,QAAQ,EAAE,EAAE,EAAE;AAC9C,IAAA,OAAO,EAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClE,OAAO,EAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC/E,IAAA,QAAQ,EAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAG,QAAQ,EAAE,EAAE,EAAE;AAClE,IAAA,aAAa,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;CAC/C;AAEV;AACO,MAAM,KAAK,GAAG;IACnB,OAAO,EAAO,EAAE;IAChB,OAAO,EAAO,EAAE;IAChB,aAAa,EAAE,GAAG;IAClB,IAAI,EAAU,EAAE;IAChB,OAAO,EAAO,EAAE;IAChB,MAAM,EAAQ,EAAE;CACR;AAEV;AACO,MAAM,IAAI,GAAG;IAClB,KAAK,EAAS,EAAE;IAChB,IAAI,EAAU,EAAE;IAChB,IAAI,EAAU,EAAE;IAEhB,IAAI,EAAU,EAAE;IAChB,IAAI,EAAU,GAAG;CACT;AAEV;AACO,MAAM,UAAU,GAAG;AACxB,IAAA,eAAe,EAAI,EAAE;AACrB,IAAA,iBAAiB,EAAE,GAAG;IACtB,iBAAiB,EAAE,GAAG;AACtB,IAAA,cAAc,EAAK,CAAC;AACpB,IAAA,YAAY,EAAO,QAAiB;AACpC,IAAA,aAAa,EAAM,QAAiB;CAC5B;AAEV;AACO,MAAM,KAAK,GAAG;IACnB,CAAC,EAAa,EAAE;IAChB,QAAQ,EAAM,EAAE;IAChB,UAAU,EAAI,GAAG;CACT;AAEV;AACO,MAAM,WAAW,GAAG;AACzB,IAAA,QAAQ,EAAM,EAAE;AAChB,IAAA,UAAU,EAAI,GAAG;AACjB,IAAA,OAAO,EAAO,EAAE;CACR;AAEV;AACO,MAAM,IAAI,GAAG;IAClB,SAAS,EAAK,EAAE;IAChB,SAAS,EAAK,EAAE;IAChB,WAAW,EAAG,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,GAAG;AACpB,IAAA,WAAW,EAAG,CAAC,CAAC,EAAE,CAAC,CAAsB;CACjC;AAEV;AACO,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;IACvD,UAAU,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;IAC7D,OAAO,EAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AACxD,IAAA,UAAU,EAAE,CAAC;CACL;AAEV;AACO,MAAM,KAAK,GAAG;IACnB,SAAS,EAAQ,GAAG;IACpB,cAAc,EAAG,GAAG;AACpB,IAAA,MAAM,EAAW,GAAG;CACZ;AAEV;AACO,MAAM,KAAK,GAAG;IACnB,MAAM,EAAQ,EAAE;IAChB,WAAW,EAAG,CAAC;IACf,IAAI,EAAU,EAAE;IAChB,IAAI,EAAU,EAAE;IAChB,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,EAAE;IAChB,QAAQ,EAAM,GAAG;IACjB,QAAQ,EAAM,GAAG;CACT;AAEV;AACO,MAAM,SAAS,GAAG;;IAEvB,SAAS,EAAQ,GAAG;IACpB,WAAW,EAAM,GAAG;IACpB,SAAS,EAAQ,GAAG;;IAGpB,aAAa,EAAI,GAAG;IACpB,WAAW,EAAM,EAAE;IACnB,cAAc,EAAG,GAAG;IACpB,YAAY,EAAK,EAAE;IACnB,cAAc,EAAG,GAAG;IACpB,YAAY,EAAK,EAAE;;IAGnB,QAAQ,EAAS,GAAG;AACpB,IAAA,cAAc,EAAG,GAAG;IACpB,SAAS,EAAQ,EAAE;IACnB,SAAS,EAAQ,GAAG;;IAGpB,WAAW,EAAM,GAAG;IACpB,WAAW,EAAM,GAAG;IACpB,WAAW,EAAM,IAAI;;IAGrB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,EAAE;;IAGnB,YAAY,EAAK,GAAG;;IAGpB,mBAAmB,EAAE,GAAG;IACxB,eAAe,EAAM,SAAS;IAC9B,iBAAiB,EAAI,GAAG;IAKxB,WAAW,EAAM,CAAC;CACV;AAEV;AACO,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAM,CAAC;IACf,SAAS,EAAK,GAAG;IACjB,SAAS,EAAK,GAAG;IACjB,UAAU,EAAI,SAAS;IACvB,WAAW,EAAG,IAAI;IAClB,UAAU,EAAI,EAAE;CACR;AAEV;AACO,MAAMC,QAAM,GAAG,4BAA4B;;AC3KlD;AACA;AACA;AACA;AACA;AACA,MAAM,SAAS,GAAG;AAClB,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;AAC7E,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC5E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC/E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC5E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;AAC9E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC/E,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC9E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC9E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAC7E,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AAC5D,CAAC;AACD,MAAM,WAAW,GAAG;AACpB,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;AAC3E,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC3E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC3E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AAC1E,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IA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","x_google_ignoreList":[4,5,6,7,8,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]}