@xyd-js/components 0.1.0-build.178 → 0.1.0-build.180

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/Button-BpHEbDmh.js +2 -0
  3. package/dist/Button-BpHEbDmh.js.map +1 -0
  4. package/dist/Button-C3mD0WmY.js +2 -0
  5. package/dist/Button-C3mD0WmY.js.map +1 -0
  6. package/dist/Button-DYNTgYIa.js +2 -0
  7. package/dist/Button-DYNTgYIa.js.map +1 -0
  8. package/dist/Button-x2kwgjIP.js +2 -0
  9. package/dist/Button-x2kwgjIP.js.map +1 -0
  10. package/dist/CodeSample-BdlbDNy0.js +2 -0
  11. package/dist/CodeSample-BdlbDNy0.js.map +1 -0
  12. package/dist/CodeSample-CKsYpGav.js +2 -0
  13. package/dist/CodeSample-CKsYpGav.js.map +1 -0
  14. package/dist/CodeSample-CLdX40je.js +2 -0
  15. package/dist/CodeSample-CLdX40je.js.map +1 -0
  16. package/dist/CodeSample-DjgMyUsH.js +2 -0
  17. package/dist/CodeSample-DjgMyUsH.js.map +1 -0
  18. package/dist/Icon-BAi0zTut.js +2 -0
  19. package/dist/Icon-BAi0zTut.js.map +1 -0
  20. package/dist/Icon-BqZUoi4D.js +2 -0
  21. package/dist/Icon-BqZUoi4D.js.map +1 -0
  22. package/dist/Icon-D55kdbr6.js +2 -0
  23. package/dist/Icon-D55kdbr6.js.map +1 -0
  24. package/dist/Icon-DpgHe7sc.js +2 -0
  25. package/dist/Icon-DpgHe7sc.js.map +1 -0
  26. package/dist/PageFirstSlide-BkRyYpvn.js +2 -0
  27. package/dist/PageFirstSlide-BkRyYpvn.js.map +1 -0
  28. package/dist/PageFirstSlide-CAzOqcVv.js +2 -0
  29. package/dist/PageFirstSlide-CAzOqcVv.js.map +1 -0
  30. package/dist/PageFirstSlide-CopM24KJ.js +2 -0
  31. package/dist/PageFirstSlide-CopM24KJ.js.map +1 -0
  32. package/dist/PageFirstSlide-EgOISimY.js +2 -0
  33. package/dist/PageFirstSlide-EgOISimY.js.map +1 -0
  34. package/dist/TabsAnalytics-By_cUojO.js +2 -0
  35. package/dist/TabsAnalytics-By_cUojO.js.map +1 -0
  36. package/dist/TabsAnalytics-BzgE4DYu.js +2 -0
  37. package/dist/TabsAnalytics-BzgE4DYu.js.map +1 -0
  38. package/dist/TabsAnalytics-C-IXPvxh.js +2 -0
  39. package/dist/TabsAnalytics-C-IXPvxh.js.map +1 -0
  40. package/dist/TabsAnalytics-DHXBixVC.js +2 -0
  41. package/dist/TabsAnalytics-DHXBixVC.js.map +1 -0
  42. package/dist/Update-BDekf1Zi.js +2 -0
  43. package/dist/Update-BDekf1Zi.js.map +1 -0
  44. package/dist/Update-BUkeOqwH.js +2 -0
  45. package/dist/Update-BUkeOqwH.js.map +1 -0
  46. package/dist/Update-CdiI5w7-.js +2 -0
  47. package/dist/Update-CdiI5w7-.js.map +1 -0
  48. package/dist/Update-Dag6HgA6.js +2 -0
  49. package/dist/Update-Dag6HgA6.js.map +1 -0
  50. package/dist/VideoGuide-CEydj_fK.js +2 -0
  51. package/dist/VideoGuide-CEydj_fK.js.map +1 -0
  52. package/dist/VideoGuide-CF9W04HE.js +2 -0
  53. package/dist/VideoGuide-CF9W04HE.js.map +1 -0
  54. package/dist/VideoGuide-DrNdQa9-.js +2 -0
  55. package/dist/VideoGuide-DrNdQa9-.js.map +1 -0
  56. package/dist/VideoGuide-OEYiCoSf.js +2 -0
  57. package/dist/VideoGuide-OEYiCoSf.js.map +1 -0
  58. package/dist/_rollupPluginBabelHelpers-BXihn5zk.js +4 -0
  59. package/dist/_rollupPluginBabelHelpers-BXihn5zk.js.map +1 -0
  60. package/dist/_rollupPluginBabelHelpers-CBN_KTQH.js +4 -0
  61. package/dist/_rollupPluginBabelHelpers-CBN_KTQH.js.map +1 -0
  62. package/dist/_rollupPluginBabelHelpers-CGJln61R.js +4 -0
  63. package/dist/_rollupPluginBabelHelpers-CGJln61R.js.map +1 -0
  64. package/dist/_rollupPluginBabelHelpers-D1Q4p8vv.js +4 -0
  65. package/dist/_rollupPluginBabelHelpers-D1Q4p8vv.js.map +1 -0
  66. package/dist/coder.js +1 -1
  67. package/dist/content.js +1 -1
  68. package/dist/index.css +103 -103
  69. package/dist/layouts.js +1 -1
  70. package/dist/pages.js +1 -1
  71. package/dist/system.js +1 -1
  72. package/dist/useUXClick-DJtj-Uhz.js +2 -0
  73. package/dist/useUXClick-DJtj-Uhz.js.map +1 -0
  74. package/dist/useUXClick-Dhbs6-G3.js +2 -0
  75. package/dist/useUXClick-Dhbs6-G3.js.map +1 -0
  76. package/dist/useUXClick-HW1SIIo3.js +2 -0
  77. package/dist/useUXClick-HW1SIIo3.js.map +1 -0
  78. package/dist/useUXClick-RlxDP-BF.js +2 -0
  79. package/dist/useUXClick-RlxDP-BF.js.map +1 -0
  80. package/dist/useUXEvents-BCvw4EGl.js +2 -0
  81. package/dist/useUXEvents-BCvw4EGl.js.map +1 -0
  82. package/dist/useUXEvents-E2eCLUA7.js +2 -0
  83. package/dist/useUXEvents-E2eCLUA7.js.map +1 -0
  84. package/dist/useUXEvents-jTYjSmic.js +2 -0
  85. package/dist/useUXEvents-jTYjSmic.js.map +1 -0
  86. package/dist/useUXEvents-mxPpR4nr.js +2 -0
  87. package/dist/useUXEvents-mxPpR4nr.js.map +1 -0
  88. package/dist/useUXScrollDepth-7UB-euyd.js +2 -0
  89. package/dist/useUXScrollDepth-7UB-euyd.js.map +1 -0
  90. package/dist/useUXScrollDepth-CNZ4HCn8.js +2 -0
  91. package/dist/useUXScrollDepth-CNZ4HCn8.js.map +1 -0
  92. package/dist/useUXScrollDepth-CiMJJfK1.js +2 -0
  93. package/dist/useUXScrollDepth-CiMJJfK1.js.map +1 -0
  94. package/dist/useUXScrollDepth-Dqac5xIg.js +2 -0
  95. package/dist/useUXScrollDepth-Dqac5xIg.js.map +1 -0
  96. package/dist/uxsdk.js +1 -1
  97. package/dist/writer.js +1 -1
  98. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon-BqZUoi4D.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.2/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/index.js","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/node.js","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/index.js","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/commonjs/decode-codepoint.js","../../../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/commonjs/decode.js","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/commonjs/Tokenizer.js","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/commonjs/Parser.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/decode_codepoint.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/decode.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/generated/encode-html.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/escape.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/encode.js","../../../node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/index.js","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/foreignNames.js","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/index.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/stringify.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/traversal.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/manipulation.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/querying.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/legacy.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/helpers.js","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/feeds.js","../../../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/commonjs/index.js","../../../node_modules/.pnpm/html-dom-parser@5.1.1/node_modules/html-dom-parser/lib/server/utilities.js","../../../node_modules/.pnpm/react-property@2.0.2/node_modules/react-property/lib/possibleStandardNamesOptimized.js","../../../node_modules/.pnpm/style-to-object@1.0.9/node_modules/style-to-object/cjs/index.js","../../../node_modules/.pnpm/inline-style-parser@0.2.4/node_modules/inline-style-parser/index.js","../../../node_modules/.pnpm/style-to-js@1.1.17/node_modules/style-to-js/cjs/utilities.js","../../../node_modules/.pnpm/html-react-parser@5.2.6_@types+react@19.1.9_react@19.1.1/node_modules/html-react-parser/lib/utilities.js","../../../node_modules/.pnpm/style-to-js@1.1.17/node_modules/style-to-js/cjs/index.js","../../../node_modules/.pnpm/html-react-parser@5.2.6_@types+react@19.1.9_react@19.1.1/node_modules/html-react-parser/lib/attributes-to-props.js","../../../node_modules/.pnpm/react-property@2.0.2/node_modules/react-property/lib/index.js","../../../node_modules/.pnpm/html-react-parser@5.2.6_@types+react@19.1.9_react@19.1.1/node_modules/html-react-parser/lib/dom-to-react.js","../../../node_modules/.pnpm/html-react-parser@5.2.6_@types+react@19.1.9_react@19.1.1/node_modules/html-react-parser/lib/index.js","../../../node_modules/.pnpm/html-react-parser@5.2.6_@types+react@19.1.9_react@19.1.1/node_modules/html-react-parser/esm/index.mjs","../src/writer/Icon/Icon.tsx","../src/writer/Icon/Icon.styles.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromCodePoint = void 0;\nexports.replaceCodePoint = replaceCodePoint;\nexports.decodeCodePoint = decodeCodePoint;\nconst decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n let output = \"\";\n if (codePoint > 65535) {\n codePoint -= 65536;\n output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296);\n codePoint = 56320 | (codePoint & 1023);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 55296 && codePoint <= 57343) ||\n codePoint > 1114111) {\n return 65533;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\n//# sourceMappingURL=decode-codepoint.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = void 0;\nexports.determineBranch = determineBranch;\nexports.decodeHTML = decodeHTML;\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\nexports.decodeHTMLStrict = decodeHTMLStrict;\nexports.decodeXML = decodeXML;\nconst decode_data_html_js_1 = require(\"./generated/decode-data-html.js\");\nconst decode_data_xml_js_1 = require(\"./generated/decode-data-xml.js\");\nconst decode_codepoint_js_1 = require(\"./decode-codepoint.js\");\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nconst TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags || (exports.BinTrieFlags = BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode || (exports.DecodingMode = DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nclass EntityDecoder {\n constructor(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n startEntity(decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n }\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n write(input, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (input.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(input, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(input, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(input, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(input, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(input, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(input, offset);\n }\n }\n }\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericStart(input, offset) {\n if (offset >= input.length) {\n return -1;\n }\n if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(input, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(input, offset);\n }\n addToNumericResult(input, start, end, base) {\n if (start !== end) {\n const digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n Number.parseInt(input.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n }\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericHex(input, offset) {\n const startIndex = offset;\n while (offset < input.length) {\n const char = input.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(input, startIndex, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(input, startIndex, offset, 16);\n return -1;\n }\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNumericDecimal(input, offset) {\n const startIndex = offset;\n while (offset < input.length) {\n const char = input.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(input, startIndex, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(input, startIndex, offset, 10);\n return -1;\n }\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n emitNumericEntity(lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n }\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param input The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n stateNamedEntity(input, offset) {\n const { decodeTree } = this;\n let current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < input.length; offset++, this.excess++) {\n const char = input.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n }\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n emitNotTerminatedNamedEntity() {\n var _a;\n const { result, decodeTree } = this;\n const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n }\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n emitNamedEntityData(result, valueLength, consumed) {\n const { decodeTree } = this;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n }\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n end() {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n }\n}\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n let returnValue = \"\";\n const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += (0, decode_codepoint_js_1.fromCodePoint)(data)));\n return function decodeWithTrie(input, decodeMode) {\n let lastIndex = 0;\n let offset = 0;\n while ((offset = input.indexOf(\"&\", offset)) >= 0) {\n returnValue += input.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n const length = decoder.write(input, \n // Skip the \"&\"\n offset + 1);\n if (length < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + length;\n // If `length` is 0, skip the current `&` and continue.\n offset = length === 0 ? lastIndex + 1 : lastIndex;\n }\n const result = returnValue + input.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n returnValue = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIndex, char) {\n const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n const jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n const value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIndex + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n let lo = nodeIndex;\n let hi = lo + branchCount - 1;\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midValue = decodeTree[mid];\n if (midValue < char) {\n lo = mid + 1;\n }\n else if (midValue > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nconst htmlDecoder = /* #__PURE__ */ getDecoder(decode_data_html_js_1.htmlDecodeTree);\nconst xmlDecoder = /* #__PURE__ */ getDecoder(decode_data_xml_js_1.xmlDecodeTree);\n/**\n * Decodes an HTML string.\n *\n * @param htmlString The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(htmlString, mode = DecodingMode.Legacy) {\n return htmlDecoder(htmlString, mode);\n}\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param htmlAttribute The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(htmlAttribute) {\n return htmlDecoder(htmlAttribute, DecodingMode.Attribute);\n}\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param htmlString The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(htmlString) {\n return htmlDecoder(htmlString, DecodingMode.Strict);\n}\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param xmlString The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(xmlString) {\n return xmlDecoder(xmlString, DecodingMode.Strict);\n}\n// Re-export for use by eg. htmlparser2\nvar decode_data_html_js_2 = require(\"./generated/decode-data-html.js\");\nObject.defineProperty(exports, \"htmlDecodeTree\", { enumerable: true, get: function () { return decode_data_html_js_2.htmlDecodeTree; } });\nvar decode_data_xml_js_2 = require(\"./generated/decode-data-xml.js\");\nObject.defineProperty(exports, \"xmlDecodeTree\", { enumerable: true, get: function () { return decode_data_xml_js_2.xmlDecodeTree; } });\nvar decode_codepoint_js_2 = require(\"./decode-codepoint.js\");\nObject.defineProperty(exports, \"decodeCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.decodeCodePoint; } });\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\n//# sourceMappingURL=decode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuoteType = void 0;\nconst decode_1 = require(\"entities/decode\");\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n CharCodes[CharCodes[\"NewLine\"] = 10] = \"NewLine\";\n CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n CharCodes[CharCodes[\"ExclamationMark\"] = 33] = \"ExclamationMark\";\n CharCodes[CharCodes[\"Number\"] = 35] = \"Number\";\n CharCodes[CharCodes[\"Amp\"] = 38] = \"Amp\";\n CharCodes[CharCodes[\"SingleQuote\"] = 39] = \"SingleQuote\";\n CharCodes[CharCodes[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n CharCodes[CharCodes[\"Slash\"] = 47] = \"Slash\";\n CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n CharCodes[CharCodes[\"Semi\"] = 59] = \"Semi\";\n CharCodes[CharCodes[\"Lt\"] = 60] = \"Lt\";\n CharCodes[CharCodes[\"Eq\"] = 61] = \"Eq\";\n CharCodes[CharCodes[\"Gt\"] = 62] = \"Gt\";\n CharCodes[CharCodes[\"Questionmark\"] = 63] = \"Questionmark\";\n CharCodes[CharCodes[\"UpperA\"] = 65] = \"UpperA\";\n CharCodes[CharCodes[\"LowerA\"] = 97] = \"LowerA\";\n CharCodes[CharCodes[\"UpperF\"] = 70] = \"UpperF\";\n CharCodes[CharCodes[\"LowerF\"] = 102] = \"LowerF\";\n CharCodes[CharCodes[\"UpperZ\"] = 90] = \"UpperZ\";\n CharCodes[CharCodes[\"LowerZ\"] = 122] = \"LowerZ\";\n CharCodes[CharCodes[\"LowerX\"] = 120] = \"LowerX\";\n CharCodes[CharCodes[\"OpeningSquareBracket\"] = 91] = \"OpeningSquareBracket\";\n})(CharCodes || (CharCodes = {}));\n/** All the states the tokenizer can be in. */\nvar State;\n(function (State) {\n State[State[\"Text\"] = 1] = \"Text\";\n State[State[\"BeforeTagName\"] = 2] = \"BeforeTagName\";\n State[State[\"InTagName\"] = 3] = \"InTagName\";\n State[State[\"InSelfClosingTag\"] = 4] = \"InSelfClosingTag\";\n State[State[\"BeforeClosingTagName\"] = 5] = \"BeforeClosingTagName\";\n State[State[\"InClosingTagName\"] = 6] = \"InClosingTagName\";\n State[State[\"AfterClosingTagName\"] = 7] = \"AfterClosingTagName\";\n // Attributes\n State[State[\"BeforeAttributeName\"] = 8] = \"BeforeAttributeName\";\n State[State[\"InAttributeName\"] = 9] = \"InAttributeName\";\n State[State[\"AfterAttributeName\"] = 10] = \"AfterAttributeName\";\n State[State[\"BeforeAttributeValue\"] = 11] = \"BeforeAttributeValue\";\n State[State[\"InAttributeValueDq\"] = 12] = \"InAttributeValueDq\";\n State[State[\"InAttributeValueSq\"] = 13] = \"InAttributeValueSq\";\n State[State[\"InAttributeValueNq\"] = 14] = \"InAttributeValueNq\";\n // Declarations\n State[State[\"BeforeDeclaration\"] = 15] = \"BeforeDeclaration\";\n State[State[\"InDeclaration\"] = 16] = \"InDeclaration\";\n // Processing instructions\n State[State[\"InProcessingInstruction\"] = 17] = \"InProcessingInstruction\";\n // Comments & CDATA\n State[State[\"BeforeComment\"] = 18] = \"BeforeComment\";\n State[State[\"CDATASequence\"] = 19] = \"CDATASequence\";\n State[State[\"InSpecialComment\"] = 20] = \"InSpecialComment\";\n State[State[\"InCommentLike\"] = 21] = \"InCommentLike\";\n // Special tags\n State[State[\"BeforeSpecialS\"] = 22] = \"BeforeSpecialS\";\n State[State[\"BeforeSpecialT\"] = 23] = \"BeforeSpecialT\";\n State[State[\"SpecialStartSequence\"] = 24] = \"SpecialStartSequence\";\n State[State[\"InSpecialTag\"] = 25] = \"InSpecialTag\";\n State[State[\"InEntity\"] = 26] = \"InEntity\";\n})(State || (State = {}));\nfunction isWhitespace(c) {\n return (c === CharCodes.Space ||\n c === CharCodes.NewLine ||\n c === CharCodes.Tab ||\n c === CharCodes.FormFeed ||\n c === CharCodes.CarriageReturn);\n}\nfunction isEndOfTagSection(c) {\n return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c);\n}\nfunction isASCIIAlpha(c) {\n return ((c >= CharCodes.LowerA && c <= CharCodes.LowerZ) ||\n (c >= CharCodes.UpperA && c <= CharCodes.UpperZ));\n}\nvar QuoteType;\n(function (QuoteType) {\n QuoteType[QuoteType[\"NoValue\"] = 0] = \"NoValue\";\n QuoteType[QuoteType[\"Unquoted\"] = 1] = \"Unquoted\";\n QuoteType[QuoteType[\"Single\"] = 2] = \"Single\";\n QuoteType[QuoteType[\"Double\"] = 3] = \"Double\";\n})(QuoteType || (exports.QuoteType = QuoteType = {}));\n/**\n * Sequences used to match longer strings.\n *\n * We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End\n * sequences with an increased offset.\n */\nconst Sequences = {\n Cdata: new Uint8Array([0x43, 0x44, 0x41, 0x54, 0x41, 0x5b]), // CDATA[\n CdataEnd: new Uint8Array([0x5d, 0x5d, 0x3e]), // ]]>\n CommentEnd: new Uint8Array([0x2d, 0x2d, 0x3e]), // `-->`\n ScriptEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74]), // `</script`\n StyleEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]), // `</style`\n TitleEnd: new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]), // `</title`\n TextareaEnd: new Uint8Array([\n 0x3c, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61,\n ]), // `</textarea`\n XmpEnd: new Uint8Array([0x3c, 0x2f, 0x78, 0x6d, 0x70]), // `</xmp`\n};\nclass Tokenizer {\n constructor({ xmlMode = false, decodeEntities = true, }, cbs) {\n this.cbs = cbs;\n /** The current state the tokenizer is in. */\n this.state = State.Text;\n /** The read buffer. */\n this.buffer = \"\";\n /** The beginning of the section that is currently being read. */\n this.sectionStart = 0;\n /** The index within the buffer that we are currently looking at. */\n this.index = 0;\n /** The start of the last entity. */\n this.entityStart = 0;\n /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */\n this.baseState = State.Text;\n /** For special parsing behavior inside of script and style tags. */\n this.isSpecial = false;\n /** Indicates whether the tokenizer has been paused. */\n this.running = true;\n /** The offset of the current buffer. */\n this.offset = 0;\n this.currentSequence = undefined;\n this.sequenceIndex = 0;\n this.xmlMode = xmlMode;\n this.decodeEntities = decodeEntities;\n this.entityDecoder = new decode_1.EntityDecoder(xmlMode ? decode_1.xmlDecodeTree : decode_1.htmlDecodeTree, (cp, consumed) => this.emitCodePoint(cp, consumed));\n }\n reset() {\n this.state = State.Text;\n this.buffer = \"\";\n this.sectionStart = 0;\n this.index = 0;\n this.baseState = State.Text;\n this.currentSequence = undefined;\n this.running = true;\n this.offset = 0;\n }\n write(chunk) {\n this.offset += this.buffer.length;\n this.buffer = chunk;\n this.parse();\n }\n end() {\n if (this.running)\n this.finish();\n }\n pause() {\n this.running = false;\n }\n resume() {\n this.running = true;\n if (this.index < this.buffer.length + this.offset) {\n this.parse();\n }\n }\n stateText(c) {\n if (c === CharCodes.Lt ||\n (!this.decodeEntities && this.fastForwardTo(CharCodes.Lt))) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = State.BeforeTagName;\n this.sectionStart = this.index;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n stateSpecialStartSequence(c) {\n const isEnd = this.sequenceIndex === this.currentSequence.length;\n const isMatch = isEnd\n ? // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n : // Otherwise, do a case-insensitive comparison\n (c | 0x20) === this.currentSequence[this.sequenceIndex];\n if (!isMatch) {\n this.isSpecial = false;\n }\n else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = State.InTagName;\n this.stateInTagName(c);\n }\n /** Look for an end tag. For <title> tags, also decode entities. */\n stateInSpecialTag(c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n const endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n // Spoof the index so that reported locations match up.\n const actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.isSpecial = false;\n this.sectionStart = endOfText + 2; // Skip over the `</`\n this.stateInClosingTagName(c);\n return; // We are done; skip the rest of the function.\n }\n this.sequenceIndex = 0;\n }\n if ((c | 0x20) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n }\n else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd) {\n // We have to parse entities in <title> tags.\n if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n else if (this.fastForwardTo(CharCodes.Lt)) {\n // Outside of <title> tags, we can fast-forward.\n this.sequenceIndex = 1;\n }\n }\n else {\n // If we see a `<`, set the sequence index to 1; useful for eg. `<</script>`.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n }\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n isTagStartChar(c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n }\n startSpecial(sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n }\n stateBeforeTagName(c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n const lower = c | 0x20;\n this.sectionStart = this.index;\n if (this.xmlMode) {\n this.state = State.InTagName;\n }\n else if (lower === Sequences.ScriptEnd[2]) {\n this.state = State.BeforeSpecialS;\n }\n else if (lower === Sequences.TitleEnd[2] ||\n lower === Sequences.XmpEnd[2]) {\n this.state = State.BeforeSpecialT;\n }\n else {\n this.state = State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttributeName(c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n }\n stateInAttributeName(c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = this.index;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n }\n stateAfterAttributeName(c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.sectionStart);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n }\n stateBeforeAttributeValue(c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n }\n handleInAttributeValue(c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index + 1);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n stateInAttributeValueDoubleQuotes(c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n }\n stateInAttributeValueSingleQuotes(c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n }\n stateInAttributeValueNoQuotes(c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.startEntity();\n }\n }\n stateBeforeDeclaration(c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n }\n stateInDeclaration(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. <!-->)\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n }\n stateInSpecialComment(c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n const lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n }\n stateBeforeSpecialT(c) {\n const lower = c | 0x20;\n switch (lower) {\n case Sequences.TitleEnd[3]: {\n this.startSpecial(Sequences.TitleEnd, 4);\n break;\n }\n case Sequences.TextareaEnd[3]: {\n this.startSpecial(Sequences.TextareaEnd, 4);\n break;\n }\n case Sequences.XmpEnd[3]: {\n this.startSpecial(Sequences.XmpEnd, 4);\n break;\n }\n default: {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n }\n }\n startEntity() {\n this.baseState = this.state;\n this.state = State.InEntity;\n this.entityStart = this.index;\n this.entityDecoder.startEntity(this.xmlMode\n ? decode_1.DecodingMode.Strict\n : this.baseState === State.Text ||\n this.baseState === State.InSpecialTag\n ? decode_1.DecodingMode.Legacy\n : decode_1.DecodingMode.Attribute);\n }\n stateInEntity() {\n const length = this.entityDecoder.write(this.buffer, this.index - this.offset);\n // If `length` is positive, we are done with the entity.\n if (length >= 0) {\n this.state = this.baseState;\n if (length === 0) {\n this.index = this.entityStart;\n }\n }\n else {\n // Mark buffer as consumed.\n this.index = this.offset + this.buffer.length - 1;\n }\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n shouldContinue() {\n return this.index < this.buffer.length + this.offset && this.running;\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse() {\n while (this.shouldContinue()) {\n const c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.BeforeSpecialT: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InEntity: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n }\n finish() {\n if (this.state === State.InEntity) {\n this.entityDecoder.end();\n this.state = this.baseState;\n }\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length + this.offset;\n // If there is no remaining data, we are done.\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n if (this.sectionStart < this.entityStart) {\n this.cbs.onattribdata(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.onattribentity(cp);\n }\n else {\n if (this.sectionStart < this.entityStart) {\n this.cbs.ontext(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.ontextentity(cp, this.sectionStart);\n }\n }\n}\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parser = void 0;\nconst Tokenizer_js_1 = __importStar(require(\"./Tokenizer.js\"));\nconst decode_1 = require(\"entities/decode\");\nconst formTags = new Set([\n \"input\",\n \"option\",\n \"optgroup\",\n \"select\",\n \"button\",\n \"datalist\",\n \"textarea\",\n]);\nconst pTag = new Set([\"p\"]);\nconst tableSectionTags = new Set([\"thead\", \"tbody\"]);\nconst ddtTags = new Set([\"dd\", \"dt\"]);\nconst rtpTags = new Set([\"rt\", \"rp\"]);\nconst openImpliesClose = new Map([\n [\"tr\", new Set([\"tr\", \"th\", \"td\"])],\n [\"th\", new Set([\"th\"])],\n [\"td\", new Set([\"thead\", \"th\", \"td\"])],\n [\"body\", new Set([\"head\", \"link\", \"script\"])],\n [\"li\", new Set([\"li\"])],\n [\"p\", pTag],\n [\"h1\", pTag],\n [\"h2\", pTag],\n [\"h3\", pTag],\n [\"h4\", pTag],\n [\"h5\", pTag],\n [\"h6\", pTag],\n [\"select\", formTags],\n [\"input\", formTags],\n [\"output\", formTags],\n [\"button\", formTags],\n [\"datalist\", formTags],\n [\"textarea\", formTags],\n [\"option\", new Set([\"option\"])],\n [\"optgroup\", new Set([\"optgroup\", \"option\"])],\n [\"dd\", ddtTags],\n [\"dt\", ddtTags],\n [\"address\", pTag],\n [\"article\", pTag],\n [\"aside\", pTag],\n [\"blockquote\", pTag],\n [\"details\", pTag],\n [\"div\", pTag],\n [\"dl\", pTag],\n [\"fieldset\", pTag],\n [\"figcaption\", pTag],\n [\"figure\", pTag],\n [\"footer\", pTag],\n [\"form\", pTag],\n [\"header\", pTag],\n [\"hr\", pTag],\n [\"main\", pTag],\n [\"nav\", pTag],\n [\"ol\", pTag],\n [\"pre\", pTag],\n [\"section\", pTag],\n [\"table\", pTag],\n [\"ul\", pTag],\n [\"rt\", rtpTags],\n [\"rp\", rtpTags],\n [\"tbody\", tableSectionTags],\n [\"tfoot\", tableSectionTags],\n]);\nconst voidElements = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\nconst foreignContextElements = new Set([\"math\", \"svg\"]);\nconst htmlIntegrationElements = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignobject\",\n \"desc\",\n \"title\",\n]);\nconst reNameEnd = /\\s|\\//;\nclass Parser {\n constructor(cbs, options = {}) {\n var _a, _b, _c, _d, _e, _f;\n this.options = options;\n /** The start index of the last event. */\n this.startIndex = 0;\n /** The end index of the last event. */\n this.endIndex = 0;\n /**\n * Store the start index of the current open tag,\n * so we can update the start index for attributes.\n */\n this.openTagStart = 0;\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribvalue = \"\";\n this.attribs = null;\n this.stack = [];\n this.buffers = [];\n this.bufferOffset = 0;\n /** The index of the last written buffer. Used when resuming after a `pause()`. */\n this.writeIndex = 0;\n /** Indicates whether the parser has finished running / `.end` has been called. */\n this.ended = false;\n this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};\n this.htmlMode = !this.options.xmlMode;\n this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : this.htmlMode;\n this.lowerCaseAttributeNames =\n (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : this.htmlMode;\n this.recognizeSelfClosing =\n (_c = options.recognizeSelfClosing) !== null && _c !== void 0 ? _c : !this.htmlMode;\n this.tokenizer = new ((_d = options.Tokenizer) !== null && _d !== void 0 ? _d : Tokenizer_js_1.default)(this.options, this);\n this.foreignContext = [!this.htmlMode];\n (_f = (_e = this.cbs).onparserinit) === null || _f === void 0 ? void 0 : _f.call(_e, this);\n }\n // Tokenizer event handlers\n /** @internal */\n ontext(start, endIndex) {\n var _a, _b;\n const data = this.getSlice(start, endIndex);\n this.endIndex = endIndex - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n this.startIndex = endIndex;\n }\n /** @internal */\n ontextentity(cp, endIndex) {\n var _a, _b;\n this.endIndex = endIndex - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, (0, decode_1.fromCodePoint)(cp));\n this.startIndex = endIndex;\n }\n /**\n * Checks if the current tag is a void element. Override this if you want\n * to specify your own additional void elements.\n */\n isVoidElement(name) {\n return this.htmlMode && voidElements.has(name);\n }\n /** @internal */\n onopentagname(start, endIndex) {\n this.endIndex = endIndex;\n let name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n this.emitOpenTag(name);\n }\n emitOpenTag(name) {\n var _a, _b, _c, _d;\n this.openTagStart = this.startIndex;\n this.tagname = name;\n const impliesClose = this.htmlMode && openImpliesClose.get(name);\n if (impliesClose) {\n while (this.stack.length > 0 && impliesClose.has(this.stack[0])) {\n const element = this.stack.shift();\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);\n }\n }\n if (!this.isVoidElement(name)) {\n this.stack.unshift(name);\n if (this.htmlMode) {\n if (foreignContextElements.has(name)) {\n this.foreignContext.unshift(true);\n }\n else if (htmlIntegrationElements.has(name)) {\n this.foreignContext.unshift(false);\n }\n }\n }\n (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);\n if (this.cbs.onopentag)\n this.attribs = {};\n }\n endOpenTag(isImplied) {\n var _a, _b;\n this.startIndex = this.openTagStart;\n if (this.attribs) {\n (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);\n this.attribs = null;\n }\n if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {\n this.cbs.onclosetag(this.tagname, true);\n }\n this.tagname = \"\";\n }\n /** @internal */\n onopentagend(endIndex) {\n this.endIndex = endIndex;\n this.endOpenTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onclosetag(start, endIndex) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n this.endIndex = endIndex;\n let name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n if (this.htmlMode &&\n (foreignContextElements.has(name) ||\n htmlIntegrationElements.has(name))) {\n this.foreignContext.shift();\n }\n if (!this.isVoidElement(name)) {\n const pos = this.stack.indexOf(name);\n if (pos !== -1) {\n for (let index = 0; index <= pos; index++) {\n const element = this.stack.shift();\n // We know the stack has sufficient elements.\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, index !== pos);\n }\n }\n else if (this.htmlMode && name === \"p\") {\n // Implicit open before close\n this.emitOpenTag(\"p\");\n this.closeCurrentTag(true);\n }\n }\n else if (this.htmlMode && name === \"br\") {\n // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\");\n (_f = (_e = this.cbs).onopentag) === null || _f === void 0 ? void 0 : _f.call(_e, \"br\", {}, true);\n (_h = (_g = this.cbs).onclosetag) === null || _h === void 0 ? void 0 : _h.call(_g, \"br\", false);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onselfclosingtag(endIndex) {\n this.endIndex = endIndex;\n if (this.recognizeSelfClosing || this.foreignContext[0]) {\n this.closeCurrentTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n else {\n // Ignore the fact that the tag is self-closing.\n this.onopentagend(endIndex);\n }\n }\n closeCurrentTag(isOpenImplied) {\n var _a, _b;\n const name = this.tagname;\n this.endOpenTag(isOpenImplied);\n // Self-closing tags will be on the top of the stack\n if (this.stack[0] === name) {\n // If the opening tag isn't implied, the closing tag has to be implied.\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);\n this.stack.shift();\n }\n }\n /** @internal */\n onattribname(start, endIndex) {\n this.startIndex = start;\n const name = this.getSlice(start, endIndex);\n this.attribname = this.lowerCaseAttributeNames\n ? name.toLowerCase()\n : name;\n }\n /** @internal */\n onattribdata(start, endIndex) {\n this.attribvalue += this.getSlice(start, endIndex);\n }\n /** @internal */\n onattribentity(cp) {\n this.attribvalue += (0, decode_1.fromCodePoint)(cp);\n }\n /** @internal */\n onattribend(quote, endIndex) {\n var _a, _b;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === Tokenizer_js_1.QuoteType.Double\n ? '\"'\n : quote === Tokenizer_js_1.QuoteType.Single\n ? \"'\"\n : quote === Tokenizer_js_1.QuoteType.NoValue\n ? undefined\n : null);\n if (this.attribs &&\n !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {\n this.attribs[this.attribname] = this.attribvalue;\n }\n this.attribvalue = \"\";\n }\n getInstructionName(value) {\n const index = value.search(reNameEnd);\n let name = index < 0 ? value : value.substr(0, index);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n return name;\n }\n /** @internal */\n ondeclaration(start, endIndex) {\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n const name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(`!${name}`, `!${value}`);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onprocessinginstruction(start, endIndex) {\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n const name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(`?${name}`, `?${value}`);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n oncomment(start, endIndex, offset) {\n var _a, _b, _c, _d;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));\n (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n oncdata(start, endIndex, offset) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n this.endIndex = endIndex;\n const value = this.getSlice(start, endIndex - offset);\n if (!this.htmlMode || this.options.recognizeCDATA) {\n (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);\n (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);\n }\n else {\n (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, `[CDATA[${value}]]`);\n (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n /** @internal */\n onend() {\n var _a, _b;\n if (this.cbs.onclosetag) {\n // Set the end index for all remaining tags\n this.endIndex = this.startIndex;\n for (let index = 0; index < this.stack.length; index++) {\n this.cbs.onclosetag(this.stack[index], true);\n }\n }\n (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n /**\n * Resets the parser to a blank state, ready to parse a new HTML document\n */\n reset() {\n var _a, _b, _c, _d;\n (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.tokenizer.reset();\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribs = null;\n this.stack.length = 0;\n this.startIndex = 0;\n this.endIndex = 0;\n (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this.buffers.length = 0;\n this.foreignContext.length = 0;\n this.foreignContext.unshift(!this.htmlMode);\n this.bufferOffset = 0;\n this.writeIndex = 0;\n this.ended = false;\n }\n /**\n * Resets the parser, then parses a complete document and\n * pushes it to the handler.\n *\n * @param data Document to parse.\n */\n parseComplete(data) {\n this.reset();\n this.end(data);\n }\n getSlice(start, end) {\n while (start - this.bufferOffset >= this.buffers[0].length) {\n this.shiftBuffer();\n }\n let slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);\n while (end - this.bufferOffset > this.buffers[0].length) {\n this.shiftBuffer();\n slice += this.buffers[0].slice(0, end - this.bufferOffset);\n }\n return slice;\n }\n shiftBuffer() {\n this.bufferOffset += this.buffers[0].length;\n this.writeIndex--;\n this.buffers.shift();\n }\n /**\n * Parses a chunk of data and calls the corresponding callbacks.\n *\n * @param chunk Chunk to parse.\n */\n write(chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".write() after done!\"));\n return;\n }\n this.buffers.push(chunk);\n if (this.tokenizer.running) {\n this.tokenizer.write(chunk);\n this.writeIndex++;\n }\n }\n /**\n * Parses the end of the buffer and clears the stack, calls onend.\n *\n * @param chunk Optional final chunk to parse.\n */\n end(chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".end() after done!\"));\n return;\n }\n if (chunk)\n this.write(chunk);\n this.ended = true;\n this.tokenizer.end();\n }\n /**\n * Pauses parsing. The parser won't emit events until `resume` is called.\n */\n pause() {\n this.tokenizer.pause();\n }\n /**\n * Resumes parsing after `pause` was called.\n */\n resume() {\n this.tokenizer.resume();\n while (this.tokenizer.running &&\n this.writeIndex < this.buffers.length) {\n this.tokenizer.write(this.buffers[this.writeIndex++]);\n }\n if (this.ended)\n this.tokenizer.end();\n }\n /**\n * Alias of `write`, for backwards compatibility.\n *\n * @param chunk Chunk to parse.\n * @deprecated\n */\n parseChunk(chunk) {\n this.write(chunk);\n }\n /**\n * Alias of `end`, for backwards compatibility.\n *\n * @param chunk Optional final chunk to parse.\n * @deprecated\n */\n done(chunk) {\n this.end(chunk);\n }\n}\nexports.Parser = Parser;\n//# sourceMappingURL=Parser.js.map","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports.default = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(require(\"./generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(require(\"./generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(require(\"./decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = require(\"./decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map","\"use strict\";\n// Generated using scripts/write-encode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction restoreDiff(arr) {\n for (var i = 1; i < arr.length; i++) {\n arr[i][0] += arr[i - 1][0] + 1;\n }\n return arr;\n}\n// prettier-ignore\nexports.default = new Map(/* #__PURE__ */ restoreDiff([[9, \"&Tab;\"], [0, \"&NewLine;\"], [22, \"&excl;\"], [0, \"&quot;\"], [0, \"&num;\"], [0, \"&dollar;\"], [0, \"&percnt;\"], [0, \"&amp;\"], [0, \"&apos;\"], [0, \"&lpar;\"], [0, \"&rpar;\"], [0, \"&ast;\"], [0, \"&plus;\"], [0, \"&comma;\"], [1, \"&period;\"], [0, \"&sol;\"], [10, \"&colon;\"], [0, \"&semi;\"], [0, { v: \"&lt;\", n: 8402, o: \"&nvlt;\" }], [0, { v: \"&equals;\", n: 8421, o: \"&bne;\" }], [0, { v: \"&gt;\", n: 8402, o: \"&nvgt;\" }], [0, \"&quest;\"], [0, \"&commat;\"], [26, \"&lbrack;\"], [0, \"&bsol;\"], [0, \"&rbrack;\"], [0, \"&Hat;\"], [0, \"&lowbar;\"], [0, \"&DiacriticalGrave;\"], [5, { n: 106, o: \"&fjlig;\" }], [20, \"&lbrace;\"], [0, \"&verbar;\"], [0, \"&rbrace;\"], [34, \"&nbsp;\"], [0, \"&iexcl;\"], [0, \"&cent;\"], [0, \"&pound;\"], [0, \"&curren;\"], [0, \"&yen;\"], [0, \"&brvbar;\"], [0, \"&sect;\"], [0, \"&die;\"], [0, \"&copy;\"], [0, \"&ordf;\"], [0, \"&laquo;\"], [0, \"&not;\"], [0, \"&shy;\"], [0, \"&circledR;\"], [0, \"&macr;\"], [0, \"&deg;\"], [0, \"&PlusMinus;\"], [0, \"&sup2;\"], [0, \"&sup3;\"], [0, \"&acute;\"], [0, \"&micro;\"], [0, \"&para;\"], [0, \"&centerdot;\"], [0, \"&cedil;\"], [0, \"&sup1;\"], [0, \"&ordm;\"], [0, \"&raquo;\"], [0, \"&frac14;\"], [0, \"&frac12;\"], [0, \"&frac34;\"], [0, \"&iquest;\"], [0, \"&Agrave;\"], [0, \"&Aacute;\"], [0, \"&Acirc;\"], [0, \"&Atilde;\"], [0, \"&Auml;\"], [0, \"&angst;\"], [0, \"&AElig;\"], [0, \"&Ccedil;\"], [0, \"&Egrave;\"], [0, \"&Eacute;\"], [0, \"&Ecirc;\"], [0, \"&Euml;\"], [0, \"&Igrave;\"], [0, \"&Iacute;\"], [0, \"&Icirc;\"], [0, \"&Iuml;\"], [0, \"&ETH;\"], [0, \"&Ntilde;\"], [0, \"&Ograve;\"], [0, \"&Oacute;\"], [0, \"&Ocirc;\"], [0, \"&Otilde;\"], [0, \"&Ouml;\"], [0, \"&times;\"], [0, \"&Oslash;\"], [0, \"&Ugrave;\"], [0, \"&Uacute;\"], [0, \"&Ucirc;\"], [0, \"&Uuml;\"], [0, \"&Yacute;\"], [0, \"&THORN;\"], [0, \"&szlig;\"], [0, \"&agrave;\"], [0, \"&aacute;\"], [0, \"&acirc;\"], [0, \"&atilde;\"], [0, \"&auml;\"], [0, \"&aring;\"], [0, \"&aelig;\"], [0, \"&ccedil;\"], [0, \"&egrave;\"], [0, \"&eacute;\"], [0, \"&ecirc;\"], [0, \"&euml;\"], [0, \"&igrave;\"], [0, \"&iacute;\"], [0, \"&icirc;\"], [0, \"&iuml;\"], [0, \"&eth;\"], [0, \"&ntilde;\"], [0, \"&ograve;\"], [0, \"&oacute;\"], [0, \"&ocirc;\"], [0, \"&otilde;\"], [0, \"&ouml;\"], [0, \"&div;\"], [0, \"&oslash;\"], [0, \"&ugrave;\"], [0, \"&uacute;\"], [0, \"&ucirc;\"], [0, \"&uuml;\"], [0, \"&yacute;\"], [0, \"&thorn;\"], [0, \"&yuml;\"], [0, \"&Amacr;\"], [0, \"&amacr;\"], [0, \"&Abreve;\"], [0, \"&abreve;\"], [0, \"&Aogon;\"], [0, \"&aogon;\"], [0, \"&Cacute;\"], [0, \"&cacute;\"], [0, \"&Ccirc;\"], [0, \"&ccirc;\"], [0, \"&Cdot;\"], [0, \"&cdot;\"], [0, \"&Ccaron;\"], [0, \"&ccaron;\"], [0, \"&Dcaron;\"], [0, \"&dcaron;\"], [0, \"&Dstrok;\"], [0, \"&dstrok;\"], [0, \"&Emacr;\"], [0, \"&emacr;\"], [2, \"&Edot;\"], [0, \"&edot;\"], [0, \"&Eogon;\"], [0, \"&eogon;\"], [0, \"&Ecaron;\"], [0, \"&ecaron;\"], [0, \"&Gcirc;\"], [0, \"&gcirc;\"], [0, \"&Gbreve;\"], [0, \"&gbreve;\"], [0, \"&Gdot;\"], [0, \"&gdot;\"], [0, \"&Gcedil;\"], [1, \"&Hcirc;\"], [0, \"&hcirc;\"], [0, \"&Hstrok;\"], [0, \"&hstrok;\"], [0, \"&Itilde;\"], [0, \"&itilde;\"], [0, \"&Imacr;\"], [0, \"&imacr;\"], [2, \"&Iogon;\"], [0, \"&iogon;\"], [0, \"&Idot;\"], [0, \"&imath;\"], [0, \"&IJlig;\"], [0, \"&ijlig;\"], [0, \"&Jcirc;\"], [0, \"&jcirc;\"], [0, \"&Kcedil;\"], [0, \"&kcedil;\"], [0, \"&kgreen;\"], [0, \"&Lacute;\"], [0, \"&lacute;\"], [0, \"&Lcedil;\"], [0, \"&lcedil;\"], [0, \"&Lcaron;\"], [0, \"&lcaron;\"], [0, \"&Lmidot;\"], [0, \"&lmidot;\"], [0, \"&Lstrok;\"], [0, \"&lstrok;\"], [0, \"&Nacute;\"], [0, \"&nacute;\"], [0, \"&Ncedil;\"], [0, \"&ncedil;\"], [0, \"&Ncaron;\"], [0, \"&ncaron;\"], [0, \"&napos;\"], [0, \"&ENG;\"], [0, \"&eng;\"], [0, \"&Omacr;\"], [0, \"&omacr;\"], [2, \"&Odblac;\"], [0, \"&odblac;\"], [0, \"&OElig;\"], [0, \"&oelig;\"], [0, \"&Racute;\"], [0, \"&racute;\"], [0, \"&Rcedil;\"], [0, \"&rcedil;\"], [0, \"&Rcaron;\"], [0, \"&rcaron;\"], [0, \"&Sacute;\"], [0, \"&sacute;\"], [0, \"&Scirc;\"], [0, \"&scirc;\"], [0, \"&Scedil;\"], [0, \"&scedil;\"], [0, \"&Scaron;\"], [0, \"&scaron;\"], [0, \"&Tcedil;\"], [0, \"&tcedil;\"], [0, \"&Tcaron;\"], [0, \"&tcaron;\"], [0, \"&Tstrok;\"], [0, \"&tstrok;\"], [0, \"&Utilde;\"], [0, \"&utilde;\"], [0, \"&Umacr;\"], [0, \"&umacr;\"], [0, \"&Ubreve;\"], [0, \"&ubreve;\"], [0, \"&Uring;\"], [0, \"&uring;\"], [0, \"&Udblac;\"], [0, \"&udblac;\"], [0, \"&Uogon;\"], [0, \"&uogon;\"], [0, \"&Wcirc;\"], [0, \"&wcirc;\"], [0, \"&Ycirc;\"], [0, \"&ycirc;\"], [0, \"&Yuml;\"], [0, \"&Zacute;\"], [0, \"&zacute;\"], [0, \"&Zdot;\"], [0, \"&zdot;\"], [0, \"&Zcaron;\"], [0, \"&zcaron;\"], [19, \"&fnof;\"], [34, \"&imped;\"], [63, \"&gacute;\"], [65, \"&jmath;\"], [142, \"&circ;\"], [0, \"&caron;\"], [16, \"&breve;\"], [0, \"&DiacriticalDot;\"], [0, \"&ring;\"], [0, \"&ogon;\"], [0, \"&DiacriticalTilde;\"], [0, \"&dblac;\"], [51, \"&DownBreve;\"], [127, \"&Alpha;\"], [0, \"&Beta;\"], [0, \"&Gamma;\"], [0, \"&Delta;\"], [0, \"&Epsilon;\"], [0, \"&Zeta;\"], [0, \"&Eta;\"], [0, \"&Theta;\"], [0, \"&Iota;\"], [0, \"&Kappa;\"], [0, \"&Lambda;\"], [0, \"&Mu;\"], [0, \"&Nu;\"], [0, \"&Xi;\"], [0, \"&Omicron;\"], [0, \"&Pi;\"], [0, \"&Rho;\"], [1, \"&Sigma;\"], [0, \"&Tau;\"], [0, \"&Upsilon;\"], [0, \"&Phi;\"], [0, \"&Chi;\"], [0, \"&Psi;\"], [0, \"&ohm;\"], [7, \"&alpha;\"], [0, \"&beta;\"], [0, \"&gamma;\"], [0, \"&delta;\"], [0, \"&epsi;\"], [0, \"&zeta;\"], [0, \"&eta;\"], [0, \"&theta;\"], [0, \"&iota;\"], [0, \"&kappa;\"], [0, \"&lambda;\"], [0, \"&mu;\"], [0, \"&nu;\"], [0, \"&xi;\"], [0, \"&omicron;\"], [0, \"&pi;\"], [0, \"&rho;\"], [0, \"&sigmaf;\"], [0, \"&sigma;\"], [0, \"&tau;\"], [0, \"&upsi;\"], [0, \"&phi;\"], [0, \"&chi;\"], [0, \"&psi;\"], [0, \"&omega;\"], [7, \"&thetasym;\"], [0, \"&Upsi;\"], [2, \"&phiv;\"], [0, \"&piv;\"], [5, \"&Gammad;\"], [0, \"&digamma;\"], [18, \"&kappav;\"], [0, \"&rhov;\"], [3, \"&epsiv;\"], [0, \"&backepsilon;\"], [10, \"&IOcy;\"], [0, \"&DJcy;\"], [0, \"&GJcy;\"], [0, \"&Jukcy;\"], [0, \"&DScy;\"], [0, \"&Iukcy;\"], [0, \"&YIcy;\"], [0, \"&Jsercy;\"], [0, \"&LJcy;\"], [0, \"&NJcy;\"], [0, \"&TSHcy;\"], [0, \"&KJcy;\"], [1, \"&Ubrcy;\"], [0, \"&DZcy;\"], [0, \"&Acy;\"], [0, \"&Bcy;\"], [0, \"&Vcy;\"], [0, \"&Gcy;\"], [0, \"&Dcy;\"], [0, \"&IEcy;\"], [0, \"&ZHcy;\"], [0, \"&Zcy;\"], [0, \"&Icy;\"], [0, \"&Jcy;\"], [0, \"&Kcy;\"], [0, \"&Lcy;\"], [0, \"&Mcy;\"], [0, \"&Ncy;\"], [0, \"&Ocy;\"], [0, \"&Pcy;\"], [0, \"&Rcy;\"], [0, \"&Scy;\"], [0, \"&Tcy;\"], [0, \"&Ucy;\"], [0, \"&Fcy;\"], [0, \"&KHcy;\"], [0, \"&TScy;\"], [0, \"&CHcy;\"], [0, \"&SHcy;\"], [0, \"&SHCHcy;\"], [0, \"&HARDcy;\"], [0, \"&Ycy;\"], [0, \"&SOFTcy;\"], [0, \"&Ecy;\"], [0, \"&YUcy;\"], [0, \"&YAcy;\"], [0, \"&acy;\"], [0, \"&bcy;\"], [0, \"&vcy;\"], [0, \"&gcy;\"], [0, \"&dcy;\"], [0, \"&iecy;\"], [0, \"&zhcy;\"], [0, \"&zcy;\"], [0, \"&icy;\"], [0, \"&jcy;\"], [0, \"&kcy;\"], [0, \"&lcy;\"], [0, \"&mcy;\"], [0, \"&ncy;\"], [0, \"&ocy;\"], [0, \"&pcy;\"], [0, \"&rcy;\"], [0, \"&scy;\"], [0, \"&tcy;\"], [0, \"&ucy;\"], [0, \"&fcy;\"], [0, \"&khcy;\"], [0, \"&tscy;\"], [0, \"&chcy;\"], [0, \"&shcy;\"], [0, \"&shchcy;\"], [0, \"&hardcy;\"], [0, \"&ycy;\"], [0, \"&softcy;\"], [0, \"&ecy;\"], [0, \"&yucy;\"], [0, \"&yacy;\"], [1, \"&iocy;\"], [0, \"&djcy;\"], [0, \"&gjcy;\"], [0, \"&jukcy;\"], [0, \"&dscy;\"], [0, \"&iukcy;\"], [0, \"&yicy;\"], [0, \"&jsercy;\"], [0, \"&ljcy;\"], [0, \"&njcy;\"], [0, \"&tshcy;\"], [0, \"&kjcy;\"], [1, \"&ubrcy;\"], [0, \"&dzcy;\"], [7074, \"&ensp;\"], [0, \"&emsp;\"], [0, \"&emsp13;\"], [0, \"&emsp14;\"], [1, \"&numsp;\"], [0, \"&puncsp;\"], [0, \"&ThinSpace;\"], [0, \"&hairsp;\"], [0, \"&NegativeMediumSpace;\"], [0, \"&zwnj;\"], [0, \"&zwj;\"], [0, \"&lrm;\"], [0, \"&rlm;\"], [0, \"&dash;\"], [2, \"&ndash;\"], [0, \"&mdash;\"], [0, \"&horbar;\"], [0, \"&Verbar;\"], [1, \"&lsquo;\"], [0, \"&CloseCurlyQuote;\"], [0, \"&lsquor;\"], [1, \"&ldquo;\"], [0, \"&CloseCurlyDoubleQuote;\"], [0, \"&bdquo;\"], [1, \"&dagger;\"], [0, \"&Dagger;\"], [0, \"&bull;\"], [2, \"&nldr;\"], [0, \"&hellip;\"], [9, \"&permil;\"], [0, \"&pertenk;\"], [0, \"&prime;\"], [0, \"&Prime;\"], [0, \"&tprime;\"], [0, \"&backprime;\"], [3, \"&lsaquo;\"], [0, \"&rsaquo;\"], [3, \"&oline;\"], [2, \"&caret;\"], [1, \"&hybull;\"], [0, \"&frasl;\"], [10, \"&bsemi;\"], [7, \"&qprime;\"], [7, { v: \"&MediumSpace;\", n: 8202, o: \"&ThickSpace;\" }], [0, \"&NoBreak;\"], [0, \"&af;\"], [0, \"&InvisibleTimes;\"], [0, \"&ic;\"], [72, \"&euro;\"], [46, \"&tdot;\"], [0, \"&DotDot;\"], [37, \"&complexes;\"], [2, \"&incare;\"], [4, \"&gscr;\"], [0, \"&hamilt;\"], [0, \"&Hfr;\"], [0, \"&Hopf;\"], [0, \"&planckh;\"], [0, \"&hbar;\"], [0, \"&imagline;\"], [0, \"&Ifr;\"], [0, \"&lagran;\"], [0, \"&ell;\"], [1, \"&naturals;\"], [0, \"&numero;\"], [0, \"&copysr;\"], [0, \"&weierp;\"], [0, \"&Popf;\"], [0, \"&Qopf;\"], [0, \"&realine;\"], [0, \"&real;\"], [0, \"&reals;\"], [0, \"&rx;\"], [3, \"&trade;\"], [1, \"&integers;\"], [2, \"&mho;\"], [0, \"&zeetrf;\"], [0, \"&iiota;\"], [2, \"&bernou;\"], [0, \"&Cayleys;\"], [1, \"&escr;\"], [0, \"&Escr;\"], [0, \"&Fouriertrf;\"], [1, \"&Mellintrf;\"], [0, \"&order;\"], [0, \"&alefsym;\"], [0, \"&beth;\"], [0, \"&gimel;\"], [0, \"&daleth;\"], [12, \"&CapitalDifferentialD;\"], [0, \"&dd;\"], [0, \"&ee;\"], [0, \"&ii;\"], [10, \"&frac13;\"], [0, \"&frac23;\"], [0, \"&frac15;\"], [0, \"&frac25;\"], [0, \"&frac35;\"], [0, \"&frac45;\"], [0, \"&frac16;\"], [0, \"&frac56;\"], [0, \"&frac18;\"], [0, \"&frac38;\"], [0, \"&frac58;\"], [0, \"&frac78;\"], [49, \"&larr;\"], [0, \"&ShortUpArrow;\"], [0, \"&rarr;\"], [0, \"&darr;\"], [0, \"&harr;\"], [0, \"&updownarrow;\"], [0, \"&nwarr;\"], [0, \"&nearr;\"], [0, \"&LowerRightArrow;\"], [0, \"&LowerLeftArrow;\"], [0, \"&nlarr;\"], [0, \"&nrarr;\"], [1, { v: \"&rarrw;\", n: 824, o: \"&nrarrw;\" }], [0, \"&Larr;\"], [0, \"&Uarr;\"], [0, \"&Rarr;\"], [0, \"&Darr;\"], [0, \"&larrtl;\"], [0, \"&rarrtl;\"], [0, \"&LeftTeeArrow;\"], [0, \"&mapstoup;\"], [0, \"&map;\"], [0, \"&DownTeeArrow;\"], [1, \"&hookleftarrow;\"], [0, \"&hookrightarrow;\"], [0, \"&larrlp;\"], [0, \"&looparrowright;\"], [0, \"&harrw;\"], [0, \"&nharr;\"], [1, \"&lsh;\"], [0, \"&rsh;\"], [0, \"&ldsh;\"], [0, \"&rdsh;\"], [1, \"&crarr;\"], [0, \"&cularr;\"], [0, \"&curarr;\"], [2, \"&circlearrowleft;\"], [0, \"&circlearrowright;\"], [0, \"&leftharpoonup;\"], [0, \"&DownLeftVector;\"], [0, \"&RightUpVector;\"], [0, \"&LeftUpVector;\"], [0, \"&rharu;\"], [0, \"&DownRightVector;\"], [0, \"&dharr;\"], [0, \"&dharl;\"], [0, \"&RightArrowLeftArrow;\"], [0, \"&udarr;\"], [0, \"&LeftArrowRightArrow;\"], [0, \"&leftleftarrows;\"], [0, \"&upuparrows;\"], [0, \"&rightrightarrows;\"], [0, \"&ddarr;\"], [0, \"&leftrightharpoons;\"], [0, \"&Equilibrium;\"], [0, \"&nlArr;\"], [0, \"&nhArr;\"], [0, \"&nrArr;\"], [0, \"&DoubleLeftArrow;\"], [0, \"&DoubleUpArrow;\"], [0, \"&DoubleRightArrow;\"], [0, \"&dArr;\"], [0, \"&DoubleLeftRightArrow;\"], [0, \"&DoubleUpDownArrow;\"], [0, \"&nwArr;\"], [0, \"&neArr;\"], [0, \"&seArr;\"], [0, \"&swArr;\"], [0, \"&lAarr;\"], [0, \"&rAarr;\"], [1, \"&zigrarr;\"], [6, \"&larrb;\"], [0, \"&rarrb;\"], [15, \"&DownArrowUpArrow;\"], [7, \"&loarr;\"], [0, \"&roarr;\"], [0, \"&hoarr;\"], [0, \"&forall;\"], [0, \"&comp;\"], [0, { v: \"&part;\", n: 824, o: \"&npart;\" }], [0, \"&exist;\"], [0, \"&nexist;\"], [0, \"&empty;\"], [1, \"&Del;\"], [0, \"&Element;\"], [0, \"&NotElement;\"], [1, \"&ni;\"], [0, \"&notni;\"], [2, \"&prod;\"], [0, \"&coprod;\"], [0, \"&sum;\"], [0, \"&minus;\"], [0, \"&MinusPlus;\"], [0, \"&dotplus;\"], [1, \"&Backslash;\"], [0, \"&lowast;\"], [0, \"&compfn;\"], [1, \"&radic;\"], [2, \"&prop;\"], [0, \"&infin;\"], [0, \"&angrt;\"], [0, { v: \"&ang;\", n: 8402, o: \"&nang;\" }], [0, \"&angmsd;\"], [0, \"&angsph;\"], [0, \"&mid;\"], [0, \"&nmid;\"], [0, \"&DoubleVerticalBar;\"], [0, \"&NotDoubleVerticalBar;\"], [0, \"&and;\"], [0, \"&or;\"], [0, { v: \"&cap;\", n: 65024, o: \"&caps;\" }], [0, { v: \"&cup;\", n: 65024, o: \"&cups;\" }], [0, \"&int;\"], [0, \"&Int;\"], [0, \"&iiint;\"], [0, \"&conint;\"], [0, \"&Conint;\"], [0, \"&Cconint;\"], [0, \"&cwint;\"], [0, \"&ClockwiseContourIntegral;\"], [0, \"&awconint;\"], [0, \"&there4;\"], [0, \"&becaus;\"], [0, \"&ratio;\"], [0, \"&Colon;\"], [0, \"&dotminus;\"], [1, \"&mDDot;\"], [0, \"&homtht;\"], [0, { v: \"&sim;\", n: 8402, o: \"&nvsim;\" }], [0, { v: \"&backsim;\", n: 817, o: \"&race;\" }], [0, { v: \"&ac;\", n: 819, o: \"&acE;\" }], [0, \"&acd;\"], [0, \"&VerticalTilde;\"], [0, \"&NotTilde;\"], [0, { v: \"&eqsim;\", n: 824, o: \"&nesim;\" }], [0, \"&sime;\"], [0, \"&NotTildeEqual;\"], [0, \"&cong;\"], [0, \"&simne;\"], [0, \"&ncong;\"], [0, \"&ap;\"], [0, \"&nap;\"], [0, \"&ape;\"], [0, { v: \"&apid;\", n: 824, o: \"&napid;\" }], [0, \"&backcong;\"], [0, { v: \"&asympeq;\", n: 8402, o: \"&nvap;\" }], [0, { v: \"&bump;\", n: 824, o: \"&nbump;\" }], [0, { v: \"&bumpe;\", n: 824, o: \"&nbumpe;\" }], [0, { v: \"&doteq;\", n: 824, o: \"&nedot;\" }], [0, \"&doteqdot;\"], [0, \"&efDot;\"], [0, \"&erDot;\"], [0, \"&Assign;\"], [0, \"&ecolon;\"], [0, \"&ecir;\"], [0, \"&circeq;\"], [1, \"&wedgeq;\"], [0, \"&veeeq;\"], [1, \"&triangleq;\"], [2, \"&equest;\"], [0, \"&ne;\"], [0, { v: \"&Congruent;\", n: 8421, o: \"&bnequiv;\" }], [0, \"&nequiv;\"], [1, { v: \"&le;\", n: 8402, o: \"&nvle;\" }], [0, { v: \"&ge;\", n: 8402, o: \"&nvge;\" }], [0, { v: \"&lE;\", n: 824, o: \"&nlE;\" }], [0, { v: \"&gE;\", n: 824, o: \"&ngE;\" }], [0, { v: \"&lnE;\", n: 65024, o: \"&lvertneqq;\" }], [0, { v: \"&gnE;\", n: 65024, o: \"&gvertneqq;\" }], [0, { v: \"&ll;\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"&nLtv;\"], [7577, \"&nLt;\"]])) }], [0, { v: \"&gg;\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"&nGtv;\"], [7577, \"&nGt;\"]])) }], [0, \"&between;\"], [0, \"&NotCupCap;\"], [0, \"&nless;\"], [0, \"&ngt;\"], [0, \"&nle;\"], [0, \"&nge;\"], [0, \"&lesssim;\"], [0, \"&GreaterTilde;\"], [0, \"&nlsim;\"], [0, \"&ngsim;\"], [0, \"&LessGreater;\"], [0, \"&gl;\"], [0, \"&NotLessGreater;\"], [0, \"&NotGreaterLess;\"], [0, \"&pr;\"], [0, \"&sc;\"], [0, \"&prcue;\"], [0, \"&sccue;\"], [0, \"&PrecedesTilde;\"], [0, { v: \"&scsim;\", n: 824, o: \"&NotSucceedsTilde;\" }], [0, \"&NotPrecedes;\"], [0, \"&NotSucceeds;\"], [0, { v: \"&sub;\", n: 8402, o: \"&NotSubset;\" }], [0, { v: \"&sup;\", n: 8402, o: \"&NotSuperset;\" }], [0, \"&nsub;\"], [0, \"&nsup;\"], [0, \"&sube;\"], [0, \"&supe;\"], [0, \"&NotSubsetEqual;\"], [0, \"&NotSupersetEqual;\"], [0, { v: \"&subne;\", n: 65024, o: \"&varsubsetneq;\" }], [0, { v: \"&supne;\", n: 65024, o: \"&varsupsetneq;\" }], [1, \"&cupdot;\"], [0, \"&UnionPlus;\"], [0, { v: \"&sqsub;\", n: 824, o: \"&NotSquareSubset;\" }], [0, { v: \"&sqsup;\", n: 824, o: \"&NotSquareSuperset;\" }], [0, \"&sqsube;\"], [0, \"&sqsupe;\"], [0, { v: \"&sqcap;\", n: 65024, o: \"&sqcaps;\" }], [0, { v: \"&sqcup;\", n: 65024, o: \"&sqcups;\" }], [0, \"&CirclePlus;\"], [0, \"&CircleMinus;\"], [0, \"&CircleTimes;\"], [0, \"&osol;\"], [0, \"&CircleDot;\"], [0, \"&circledcirc;\"], [0, \"&circledast;\"], [1, \"&circleddash;\"], [0, \"&boxplus;\"], [0, \"&boxminus;\"], [0, \"&boxtimes;\"], [0, \"&dotsquare;\"], [0, \"&RightTee;\"], [0, \"&dashv;\"], [0, \"&DownTee;\"], [0, \"&bot;\"], [1, \"&models;\"], [0, \"&DoubleRightTee;\"], [0, \"&Vdash;\"], [0, \"&Vvdash;\"], [0, \"&VDash;\"], [0, \"&nvdash;\"], [0, \"&nvDash;\"], [0, \"&nVdash;\"], [0, \"&nVDash;\"], [0, \"&prurel;\"], [1, \"&LeftTriangle;\"], [0, \"&RightTriangle;\"], [0, { v: \"&LeftTriangleEqual;\", n: 8402, o: \"&nvltrie;\" }], [0, { v: \"&RightTriangleEqual;\", n: 8402, o: \"&nvrtrie;\" }], [0, \"&origof;\"], [0, \"&imof;\"], [0, \"&multimap;\"], [0, \"&hercon;\"], [0, \"&intcal;\"], [0, \"&veebar;\"], [1, \"&barvee;\"], [0, \"&angrtvb;\"], [0, \"&lrtri;\"], [0, \"&bigwedge;\"], [0, \"&bigvee;\"], [0, \"&bigcap;\"], [0, \"&bigcup;\"], [0, \"&diam;\"], [0, \"&sdot;\"], [0, \"&sstarf;\"], [0, \"&divideontimes;\"], [0, \"&bowtie;\"], [0, \"&ltimes;\"], [0, \"&rtimes;\"], [0, \"&leftthreetimes;\"], [0, \"&rightthreetimes;\"], [0, \"&backsimeq;\"], [0, \"&curlyvee;\"], [0, \"&curlywedge;\"], [0, \"&Sub;\"], [0, \"&Sup;\"], [0, \"&Cap;\"], [0, \"&Cup;\"], [0, \"&fork;\"], [0, \"&epar;\"], [0, \"&lessdot;\"], [0, \"&gtdot;\"], [0, { v: \"&Ll;\", n: 824, o: \"&nLl;\" }], [0, { v: \"&Gg;\", n: 824, o: \"&nGg;\" }], [0, { v: \"&leg;\", n: 65024, o: \"&lesg;\" }], [0, { v: \"&gel;\", n: 65024, o: \"&gesl;\" }], [2, \"&cuepr;\"], [0, \"&cuesc;\"], [0, \"&NotPrecedesSlantEqual;\"], [0, \"&NotSucceedsSlantEqual;\"], [0, \"&NotSquareSubsetEqual;\"], [0, \"&NotSquareSupersetEqual;\"], [2, \"&lnsim;\"], [0, \"&gnsim;\"], [0, \"&precnsim;\"], [0, \"&scnsim;\"], [0, \"&nltri;\"], [0, \"&NotRightTriangle;\"], [0, \"&nltrie;\"], [0, \"&NotRightTriangleEqual;\"], [0, \"&vellip;\"], [0, \"&ctdot;\"], [0, \"&utdot;\"], [0, \"&dtdot;\"], [0, \"&disin;\"], [0, \"&isinsv;\"], [0, \"&isins;\"], [0, { v: \"&isindot;\", n: 824, o: \"&notindot;\" }], [0, \"&notinvc;\"], [0, \"&notinvb;\"], [1, { v: \"&isinE;\", n: 824, o: \"&notinE;\" }], [0, \"&nisd;\"], [0, \"&xnis;\"], [0, \"&nis;\"], [0, \"&notnivc;\"], [0, \"&notnivb;\"], [6, \"&barwed;\"], [0, \"&Barwed;\"], [1, \"&lceil;\"], [0, \"&rceil;\"], [0, \"&LeftFloor;\"], [0, \"&rfloor;\"], [0, \"&drcrop;\"], [0, \"&dlcrop;\"], [0, \"&urcrop;\"], [0, \"&ulcrop;\"], [0, \"&bnot;\"], [1, \"&profline;\"], [0, \"&profsurf;\"], [1, \"&telrec;\"], [0, \"&target;\"], [5, \"&ulcorn;\"], [0, \"&urcorn;\"], [0, \"&dlcorn;\"], [0, \"&drcorn;\"], [2, \"&frown;\"], [0, \"&smile;\"], [9, \"&cylcty;\"], [0, \"&profalar;\"], [7, \"&topbot;\"], [6, \"&ovbar;\"], [1, \"&solbar;\"], [60, \"&angzarr;\"], [51, \"&lmoustache;\"], [0, \"&rmoustache;\"], [2, \"&OverBracket;\"], [0, \"&bbrk;\"], [0, \"&bbrktbrk;\"], [37, \"&OverParenthesis;\"], [0, \"&UnderParenthesis;\"], [0, \"&OverBrace;\"], [0, \"&UnderBrace;\"], [2, \"&trpezium;\"], [4, \"&elinters;\"], [59, \"&blank;\"], [164, \"&circledS;\"], [55, \"&boxh;\"], [1, \"&boxv;\"], [9, \"&boxdr;\"], [3, \"&boxdl;\"], [3, \"&boxur;\"], [3, \"&boxul;\"], [3, \"&boxvr;\"], [7, \"&boxvl;\"], [7, \"&boxhd;\"], [7, \"&boxhu;\"], [7, \"&boxvh;\"], [19, \"&boxH;\"], [0, \"&boxV;\"], [0, \"&boxdR;\"], [0, \"&boxDr;\"], [0, \"&boxDR;\"], [0, \"&boxdL;\"], [0, \"&boxDl;\"], [0, \"&boxDL;\"], [0, \"&boxuR;\"], [0, \"&boxUr;\"], [0, \"&boxUR;\"], [0, \"&boxuL;\"], [0, \"&boxUl;\"], [0, \"&boxUL;\"], [0, \"&boxvR;\"], [0, \"&boxVr;\"], [0, \"&boxVR;\"], [0, \"&boxvL;\"], [0, \"&boxVl;\"], [0, \"&boxVL;\"], [0, \"&boxHd;\"], [0, \"&boxhD;\"], [0, \"&boxHD;\"], [0, \"&boxHu;\"], [0, \"&boxhU;\"], [0, \"&boxHU;\"], [0, \"&boxvH;\"], [0, \"&boxVh;\"], [0, \"&boxVH;\"], [19, \"&uhblk;\"], [3, \"&lhblk;\"], [3, \"&block;\"], [8, \"&blk14;\"], [0, \"&blk12;\"], [0, \"&blk34;\"], [13, \"&square;\"], [8, \"&blacksquare;\"], [0, \"&EmptyVerySmallSquare;\"], [1, \"&rect;\"], [0, \"&marker;\"], [2, \"&fltns;\"], [1, \"&bigtriangleup;\"], [0, \"&blacktriangle;\"], [0, \"&triangle;\"], [2, \"&blacktriangleright;\"], [0, \"&rtri;\"], [3, \"&bigtriangledown;\"], [0, \"&blacktriangledown;\"], [0, \"&dtri;\"], [2, \"&blacktriangleleft;\"], [0, \"&ltri;\"], [6, \"&loz;\"], [0, \"&cir;\"], [32, \"&tridot;\"], [2, \"&bigcirc;\"], [8, \"&ultri;\"], [0, \"&urtri;\"], [0, \"&lltri;\"], [0, \"&EmptySmallSquare;\"], [0, \"&FilledSmallSquare;\"], [8, \"&bigstar;\"], [0, \"&star;\"], [7, \"&phone;\"], [49, \"&female;\"], [1, \"&male;\"], [29, \"&spades;\"], [2, \"&clubs;\"], [1, \"&hearts;\"], [0, \"&diamondsuit;\"], [3, \"&sung;\"], [2, \"&flat;\"], [0, \"&natural;\"], [0, \"&sharp;\"], [163, \"&check;\"], [3, \"&cross;\"], [8, \"&malt;\"], [21, \"&sext;\"], [33, \"&VerticalSeparator;\"], [25, \"&lbbrk;\"], [0, \"&rbbrk;\"], [84, \"&bsolhsub;\"], [0, \"&suphsol;\"], [28, \"&LeftDoubleBracket;\"], [0, \"&RightDoubleBracket;\"], [0, \"&lang;\"], [0, \"&rang;\"], [0, \"&Lang;\"], [0, \"&Rang;\"], [0, \"&loang;\"], [0, \"&roang;\"], [7, \"&longleftarrow;\"], [0, \"&longrightarrow;\"], [0, \"&longleftrightarrow;\"], [0, \"&DoubleLongLeftArrow;\"], [0, \"&DoubleLongRightArrow;\"], [0, \"&DoubleLongLeftRightArrow;\"], [1, \"&longmapsto;\"], [2, \"&dzigrarr;\"], [258, \"&nvlArr;\"], [0, \"&nvrArr;\"], [0, \"&nvHarr;\"], [0, \"&Map;\"], [6, \"&lbarr;\"], [0, \"&bkarow;\"], [0, \"&lBarr;\"], [0, \"&dbkarow;\"], [0, \"&drbkarow;\"], [0, \"&DDotrahd;\"], [0, \"&UpArrowBar;\"], [0, \"&DownArrowBar;\"], [2, \"&Rarrtl;\"], [2, \"&latail;\"], [0, \"&ratail;\"], [0, \"&lAtail;\"], [0, \"&rAtail;\"], [0, \"&larrfs;\"], [0, \"&rarrfs;\"], [0, \"&larrbfs;\"], [0, \"&rarrbfs;\"], [2, \"&nwarhk;\"], [0, \"&nearhk;\"], [0, \"&hksearow;\"], [0, \"&hkswarow;\"], [0, \"&nwnear;\"], [0, \"&nesear;\"], [0, \"&seswar;\"], [0, \"&swnwar;\"], [8, { v: \"&rarrc;\", n: 824, o: \"&nrarrc;\" }], [1, \"&cudarrr;\"], [0, \"&ldca;\"], [0, \"&rdca;\"], [0, \"&cudarrl;\"], [0, \"&larrpl;\"], [2, \"&curarrm;\"], [0, \"&cularrp;\"], [7, \"&rarrpl;\"], [2, \"&harrcir;\"], [0, \"&Uarrocir;\"], [0, \"&lurdshar;\"], [0, \"&ldrushar;\"], [2, \"&LeftRightVector;\"], [0, \"&RightUpDownVector;\"], [0, \"&DownLeftRightVector;\"], [0, \"&LeftUpDownVector;\"], [0, \"&LeftVectorBar;\"], [0, \"&RightVectorBar;\"], [0, \"&RightUpVectorBar;\"], [0, \"&RightDownVectorBar;\"], [0, \"&DownLeftVectorBar;\"], [0, \"&DownRightVectorBar;\"], [0, \"&LeftUpVectorBar;\"], [0, \"&LeftDownVectorBar;\"], [0, \"&LeftTeeVector;\"], [0, \"&RightTeeVector;\"], [0, \"&RightUpTeeVector;\"], [0, \"&RightDownTeeVector;\"], [0, \"&DownLeftTeeVector;\"], [0, \"&DownRightTeeVector;\"], [0, \"&LeftUpTeeVector;\"], [0, \"&LeftDownTeeVector;\"], [0, \"&lHar;\"], [0, \"&uHar;\"], [0, \"&rHar;\"], [0, \"&dHar;\"], [0, \"&luruhar;\"], [0, \"&ldrdhar;\"], [0, \"&ruluhar;\"], [0, \"&rdldhar;\"], [0, \"&lharul;\"], [0, \"&llhard;\"], [0, \"&rharul;\"], [0, \"&lrhard;\"], [0, \"&udhar;\"], [0, \"&duhar;\"], [0, \"&RoundImplies;\"], [0, \"&erarr;\"], [0, \"&simrarr;\"], [0, \"&larrsim;\"], [0, \"&rarrsim;\"], [0, \"&rarrap;\"], [0, \"&ltlarr;\"], [1, \"&gtrarr;\"], [0, \"&subrarr;\"], [1, \"&suplarr;\"], [0, \"&lfisht;\"], [0, \"&rfisht;\"], [0, \"&ufisht;\"], [0, \"&dfisht;\"], [5, \"&lopar;\"], [0, \"&ropar;\"], [4, \"&lbrke;\"], [0, \"&rbrke;\"], [0, \"&lbrkslu;\"], [0, \"&rbrksld;\"], [0, \"&lbrksld;\"], [0, \"&rbrkslu;\"], [0, \"&langd;\"], [0, \"&rangd;\"], [0, \"&lparlt;\"], [0, \"&rpargt;\"], [0, \"&gtlPar;\"], [0, \"&ltrPar;\"], [3, \"&vzigzag;\"], [1, \"&vangrt;\"], [0, \"&angrtvbd;\"], [6, \"&ange;\"], [0, \"&range;\"], [0, \"&dwangle;\"], [0, \"&uwangle;\"], [0, \"&angmsdaa;\"], [0, \"&angmsdab;\"], [0, \"&angmsdac;\"], [0, \"&angmsdad;\"], [0, \"&angmsdae;\"], [0, \"&angmsdaf;\"], [0, \"&angmsdag;\"], [0, \"&angmsdah;\"], [0, \"&bemptyv;\"], [0, \"&demptyv;\"], [0, \"&cemptyv;\"], [0, \"&raemptyv;\"], [0, \"&laemptyv;\"], [0, \"&ohbar;\"], [0, \"&omid;\"], [0, \"&opar;\"], [1, \"&operp;\"], [1, \"&olcross;\"], [0, \"&odsold;\"], [1, \"&olcir;\"], [0, \"&ofcir;\"], [0, \"&olt;\"], [0, \"&ogt;\"], [0, \"&cirscir;\"], [0, \"&cirE;\"], [0, \"&solb;\"], [0, \"&bsolb;\"], [3, \"&boxbox;\"], [3, \"&trisb;\"], [0, \"&rtriltri;\"], [0, { v: \"&LeftTriangleBar;\", n: 824, o: \"&NotLeftTriangleBar;\" }], [0, { v: \"&RightTriangleBar;\", n: 824, o: \"&NotRightTriangleBar;\" }], [11, \"&iinfin;\"], [0, \"&infintie;\"], [0, \"&nvinfin;\"], [4, \"&eparsl;\"], [0, \"&smeparsl;\"], [0, \"&eqvparsl;\"], [5, \"&blacklozenge;\"], [8, \"&RuleDelayed;\"], [1, \"&dsol;\"], [9, \"&bigodot;\"], [0, \"&bigoplus;\"], [0, \"&bigotimes;\"], [1, \"&biguplus;\"], [1, \"&bigsqcup;\"], [5, \"&iiiint;\"], [0, \"&fpartint;\"], [2, \"&cirfnint;\"], [0, \"&awint;\"], [0, \"&rppolint;\"], [0, \"&scpolint;\"], [0, \"&npolint;\"], [0, \"&pointint;\"], [0, \"&quatint;\"], [0, \"&intlarhk;\"], [10, \"&pluscir;\"], [0, \"&plusacir;\"], [0, \"&simplus;\"], [0, \"&plusdu;\"], [0, \"&plussim;\"], [0, \"&plustwo;\"], [1, \"&mcomma;\"], [0, \"&minusdu;\"], [2, \"&loplus;\"], [0, \"&roplus;\"], [0, \"&Cross;\"], [0, \"&timesd;\"], [0, \"&timesbar;\"], [1, \"&smashp;\"], [0, \"&lotimes;\"], [0, \"&rotimes;\"], [0, \"&otimesas;\"], [0, \"&Otimes;\"], [0, \"&odiv;\"], [0, \"&triplus;\"], [0, \"&triminus;\"], [0, \"&tritime;\"], [0, \"&intprod;\"], [2, \"&amalg;\"], [0, \"&capdot;\"], [1, \"&ncup;\"], [0, \"&ncap;\"], [0, \"&capand;\"], [0, \"&cupor;\"], [0, \"&cupcap;\"], [0, \"&capcup;\"], [0, \"&cupbrcap;\"], [0, \"&capbrcup;\"], [0, \"&cupcup;\"], [0, \"&capcap;\"], [0, \"&ccups;\"], [0, \"&ccaps;\"], [2, \"&ccupssm;\"], [2, \"&And;\"], [0, \"&Or;\"], [0, \"&andand;\"], [0, \"&oror;\"], [0, \"&orslope;\"], [0, \"&andslope;\"], [1, \"&andv;\"], [0, \"&orv;\"], [0, \"&andd;\"], [0, \"&ord;\"], [1, \"&wedbar;\"], [6, \"&sdote;\"], [3, \"&simdot;\"], [2, { v: \"&congdot;\", n: 824, o: \"&ncongdot;\" }], [0, \"&easter;\"], [0, \"&apacir;\"], [0, { v: \"&apE;\", n: 824, o: \"&napE;\" }], [0, \"&eplus;\"], [0, \"&pluse;\"], [0, \"&Esim;\"], [0, \"&Colone;\"], [0, \"&Equal;\"], [1, \"&ddotseq;\"], [0, \"&equivDD;\"], [0, \"&ltcir;\"], [0, \"&gtcir;\"], [0, \"&ltquest;\"], [0, \"&gtquest;\"], [0, { v: \"&leqslant;\", n: 824, o: \"&nleqslant;\" }], [0, { v: \"&geqslant;\", n: 824, o: \"&ngeqslant;\" }], [0, \"&lesdot;\"], [0, \"&gesdot;\"], [0, \"&lesdoto;\"], [0, \"&gesdoto;\"], [0, \"&lesdotor;\"], [0, \"&gesdotol;\"], [0, \"&lap;\"], [0, \"&gap;\"], [0, \"&lne;\"], [0, \"&gne;\"], [0, \"&lnap;\"], [0, \"&gnap;\"], [0, \"&lEg;\"], [0, \"&gEl;\"], [0, \"&lsime;\"], [0, \"&gsime;\"], [0, \"&lsimg;\"], [0, \"&gsiml;\"], [0, \"&lgE;\"], [0, \"&glE;\"], [0, \"&lesges;\"], [0, \"&gesles;\"], [0, \"&els;\"], [0, \"&egs;\"], [0, \"&elsdot;\"], [0, \"&egsdot;\"], [0, \"&el;\"], [0, \"&eg;\"], [2, \"&siml;\"], [0, \"&simg;\"], [0, \"&simlE;\"], [0, \"&simgE;\"], [0, { v: \"&LessLess;\", n: 824, o: \"&NotNestedLessLess;\" }], [0, { v: \"&GreaterGreater;\", n: 824, o: \"&NotNestedGreaterGreater;\" }], [1, \"&glj;\"], [0, \"&gla;\"], [0, \"&ltcc;\"], [0, \"&gtcc;\"], [0, \"&lescc;\"], [0, \"&gescc;\"], [0, \"&smt;\"], [0, \"&lat;\"], [0, { v: \"&smte;\", n: 65024, o: \"&smtes;\" }], [0, { v: \"&late;\", n: 65024, o: \"&lates;\" }], [0, \"&bumpE;\"], [0, { v: \"&PrecedesEqual;\", n: 824, o: \"&NotPrecedesEqual;\" }], [0, { v: \"&sce;\", n: 824, o: \"&NotSucceedsEqual;\" }], [2, \"&prE;\"], [0, \"&scE;\"], [0, \"&precneqq;\"], [0, \"&scnE;\"], [0, \"&prap;\"], [0, \"&scap;\"], [0, \"&precnapprox;\"], [0, \"&scnap;\"], [0, \"&Pr;\"], [0, \"&Sc;\"], [0, \"&subdot;\"], [0, \"&supdot;\"], [0, \"&subplus;\"], [0, \"&supplus;\"], [0, \"&submult;\"], [0, \"&supmult;\"], [0, \"&subedot;\"], [0, \"&supedot;\"], [0, { v: \"&subE;\", n: 824, o: \"&nsubE;\" }], [0, { v: \"&supE;\", n: 824, o: \"&nsupE;\" }], [0, \"&subsim;\"], [0, \"&supsim;\"], [2, { v: \"&subnE;\", n: 65024, o: \"&varsubsetneqq;\" }], [0, { v: \"&supnE;\", n: 65024, o: \"&varsupsetneqq;\" }], [2, \"&csub;\"], [0, \"&csup;\"], [0, \"&csube;\"], [0, \"&csupe;\"], [0, \"&subsup;\"], [0, \"&supsub;\"], [0, \"&subsub;\"], [0, \"&supsup;\"], [0, \"&suphsub;\"], [0, \"&supdsub;\"], [0, \"&forkv;\"], [0, \"&topfork;\"], [0, \"&mlcp;\"], [8, \"&Dashv;\"], [1, \"&Vdashl;\"], [0, \"&Barv;\"], [0, \"&vBar;\"], [0, \"&vBarv;\"], [1, \"&Vbar;\"], [0, \"&Not;\"], [0, \"&bNot;\"], [0, \"&rnmid;\"], [0, \"&cirmid;\"], [0, \"&midcir;\"], [0, \"&topcir;\"], [0, \"&nhpar;\"], [0, \"&parsim;\"], [9, { v: \"&parsl;\", n: 8421, o: \"&nparsl;\" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, \"&Ascr;\"], [1, \"&Cscr;\"], [0, \"&Dscr;\"], [2, \"&Gscr;\"], [2, \"&Jscr;\"], [0, \"&Kscr;\"], [2, \"&Nscr;\"], [0, \"&Oscr;\"], [0, \"&Pscr;\"], [0, \"&Qscr;\"], [1, \"&Sscr;\"], [0, \"&Tscr;\"], [0, \"&Uscr;\"], [0, \"&Vscr;\"], [0, \"&Wscr;\"], [0, \"&Xscr;\"], [0, \"&Yscr;\"], [0, \"&Zscr;\"], [0, \"&ascr;\"], [0, \"&bscr;\"], [0, \"&cscr;\"], [0, \"&dscr;\"], [1, \"&fscr;\"], [1, \"&hscr;\"], [0, \"&iscr;\"], [0, \"&jscr;\"], [0, \"&kscr;\"], [0, \"&lscr;\"], [0, \"&mscr;\"], [0, \"&nscr;\"], [1, \"&pscr;\"], [0, \"&qscr;\"], [0, \"&rscr;\"], [0, \"&sscr;\"], [0, \"&tscr;\"], [0, \"&uscr;\"], [0, \"&vscr;\"], [0, \"&wscr;\"], [0, \"&xscr;\"], [0, \"&yscr;\"], [0, \"&zscr;\"], [52, \"&Afr;\"], [0, \"&Bfr;\"], [1, \"&Dfr;\"], [0, \"&Efr;\"], [0, \"&Ffr;\"], [0, \"&Gfr;\"], [2, \"&Jfr;\"], [0, \"&Kfr;\"], [0, \"&Lfr;\"], [0, \"&Mfr;\"], [0, \"&Nfr;\"], [0, \"&Ofr;\"], [0, \"&Pfr;\"], [0, \"&Qfr;\"], [1, \"&Sfr;\"], [0, \"&Tfr;\"], [0, \"&Ufr;\"], [0, \"&Vfr;\"], [0, \"&Wfr;\"], [0, \"&Xfr;\"], [0, \"&Yfr;\"], [1, \"&afr;\"], [0, \"&bfr;\"], [0, \"&cfr;\"], [0, \"&dfr;\"], [0, \"&efr;\"], [0, \"&ffr;\"], [0, \"&gfr;\"], [0, \"&hfr;\"], [0, \"&ifr;\"], [0, \"&jfr;\"], [0, \"&kfr;\"], [0, \"&lfr;\"], [0, \"&mfr;\"], [0, \"&nfr;\"], [0, \"&ofr;\"], [0, \"&pfr;\"], [0, \"&qfr;\"], [0, \"&rfr;\"], [0, \"&sfr;\"], [0, \"&tfr;\"], [0, \"&ufr;\"], [0, \"&vfr;\"], [0, \"&wfr;\"], [0, \"&xfr;\"], [0, \"&yfr;\"], [0, \"&zfr;\"], [0, \"&Aopf;\"], [0, \"&Bopf;\"], [1, \"&Dopf;\"], [0, \"&Eopf;\"], [0, \"&Fopf;\"], [0, \"&Gopf;\"], [1, \"&Iopf;\"], [0, \"&Jopf;\"], [0, \"&Kopf;\"], [0, \"&Lopf;\"], [0, \"&Mopf;\"], [1, \"&Oopf;\"], [3, \"&Sopf;\"], [0, \"&Topf;\"], [0, \"&Uopf;\"], [0, \"&Vopf;\"], [0, \"&Wopf;\"], [0, \"&Xopf;\"], [0, \"&Yopf;\"], [1, \"&aopf;\"], [0, \"&bopf;\"], [0, \"&copf;\"], [0, \"&dopf;\"], [0, \"&eopf;\"], [0, \"&fopf;\"], [0, \"&gopf;\"], [0, \"&hopf;\"], [0, \"&iopf;\"], [0, \"&jopf;\"], [0, \"&kopf;\"], [0, \"&lopf;\"], [0, \"&mopf;\"], [0, \"&nopf;\"], [0, \"&oopf;\"], [0, \"&popf;\"], [0, \"&qopf;\"], [0, \"&ropf;\"], [0, \"&sopf;\"], [0, \"&topf;\"], [0, \"&uopf;\"], [0, \"&vopf;\"], [0, \"&wopf;\"], [0, \"&xopf;\"], [0, \"&yopf;\"], [0, \"&zopf;\"]])) }], [8906, \"&fflig;\"], [0, \"&filig;\"], [0, \"&fllig;\"], [0, \"&ffilig;\"], [0, \"&ffllig;\"]]));\n//# sourceMappingURL=encode-html.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;\nexports.xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nvar xmlCodeMap = new Map([\n [34, \"&quot;\"],\n [38, \"&amp;\"],\n [39, \"&apos;\"],\n [60, \"&lt;\"],\n [62, \"&gt;\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexports.getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? function (str, index) { return str.codePointAt(index); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c, index) {\n return (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n };\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `&#xfc;`) will be used.\n */\nfunction encodeXML(str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = exports.xmlReplacer.exec(str)) !== null) {\n var i = match.index;\n var char = str.charCodeAt(i);\n var next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += \"\".concat(str.substring(lastIdx, i), \"&#x\").concat((0, exports.getCodePoint)(str, i).toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\nexports.encodeXML = encodeXML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `&#xfc;`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nexports.escape = encodeXML;\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n return function escape(data) {\n var match;\n var lastIdx = 0;\n var result = \"\";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this character will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nexports.escapeUTF8 = getEscaper(/[&<>'\"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \"&quot;\"],\n [38, \"&amp;\"],\n [160, \"&nbsp;\"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&amp;\"],\n [60, \"&lt;\"],\n [62, \"&gt;\"],\n [160, \"&nbsp;\"],\n]));\n//# sourceMappingURL=escape.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodeNonAsciiHTML = exports.encodeHTML = void 0;\nvar encode_html_js_1 = __importDefault(require(\"./generated/encode-html.js\"));\nvar escape_js_1 = require(\"./escape.js\");\nvar htmlReplacer = /[\\t\\n!-,./:-@[-`\\f{-}$\\x80-\\uFFFF]/g;\n/**\n * Encodes all characters in the input using HTML entities. This includes\n * characters that are valid ASCII characters in HTML documents, such as `#`.\n *\n * To get a more compact output, consider using the `encodeNonAsciiHTML`\n * function, which will only encode characters that are not valid in HTML\n * documents, as well as non-ASCII characters.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `&#xfc;`) will be used.\n */\nfunction encodeHTML(data) {\n return encodeHTMLTrieRe(htmlReplacer, data);\n}\nexports.encodeHTML = encodeHTML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities. This function will not encode characters that\n * are valid in HTML documents, such as `#`.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `&#xfc;`) will be used.\n */\nfunction encodeNonAsciiHTML(data) {\n return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);\n}\nexports.encodeNonAsciiHTML = encodeNonAsciiHTML;\nfunction encodeHTMLTrieRe(regExp, str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = regExp.exec(str)) !== null) {\n var i = match.index;\n ret += str.substring(lastIdx, i);\n var char = str.charCodeAt(i);\n var next = encode_html_js_1.default.get(char);\n if (typeof next === \"object\") {\n // We are in a branch. Try to match the next char.\n if (i + 1 < str.length) {\n var nextChar = str.charCodeAt(i + 1);\n var value = typeof next.n === \"number\"\n ? next.n === nextChar\n ? next.o\n : undefined\n : next.n.get(nextChar);\n if (value !== undefined) {\n ret += value;\n lastIdx = regExp.lastIndex += 1;\n continue;\n }\n }\n next = next.v;\n }\n // We might have a tree node without a value; skip and use a numeric entity.\n if (next !== undefined) {\n ret += next;\n lastIdx = i + 1;\n }\n else {\n var cp = (0, escape_js_1.getCodePoint)(str, i);\n ret += \"&#x\".concat(cp.toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = regExp.lastIndex += Number(cp !== char);\n }\n }\n return ret + str.substr(lastIdx);\n}\n//# sourceMappingURL=encode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0;\nvar decode_js_1 = require(\"./decode.js\");\nvar encode_js_1 = require(\"./encode.js\");\nvar escape_js_1 = require(\"./escape.js\");\n/** The level of entities to support. */\nvar EntityLevel;\n(function (EntityLevel) {\n /** Support only XML entities. */\n EntityLevel[EntityLevel[\"XML\"] = 0] = \"XML\";\n /** Support HTML entities, which are a superset of XML entities. */\n EntityLevel[EntityLevel[\"HTML\"] = 1] = \"HTML\";\n})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {}));\nvar EncodingMode;\n(function (EncodingMode) {\n /**\n * The output is UTF-8 encoded. Only characters that need escaping within\n * XML will be escaped.\n */\n EncodingMode[EncodingMode[\"UTF8\"] = 0] = \"UTF8\";\n /**\n * The output consists only of ASCII characters. Characters that need\n * escaping within HTML, and characters that aren't ASCII characters will\n * be escaped.\n */\n EncodingMode[EncodingMode[\"ASCII\"] = 1] = \"ASCII\";\n /**\n * Encode all characters that have an equivalent entity, as well as all\n * characters that are not ASCII characters.\n */\n EncodingMode[EncodingMode[\"Extensive\"] = 2] = \"Extensive\";\n /**\n * Encode all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Attribute\"] = 3] = \"Attribute\";\n /**\n * Encode all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Text\"] = 4] = \"Text\";\n})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {}));\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n */\nfunction decode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var level = typeof options === \"number\" ? options : options.level;\n if (level === EntityLevel.HTML) {\n var mode = typeof options === \"object\" ? options.mode : undefined;\n return (0, decode_js_1.decodeHTML)(data, mode);\n }\n return (0, decode_js_1.decodeXML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n * @deprecated Use `decode` with the `mode` set to `Strict`.\n */\nfunction decodeStrict(data, options) {\n var _a;\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = decode_js_1.DecodingMode.Strict);\n return decode(data, opts);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param options Encoding options.\n */\nfunction encode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n // Mode `UTF8` just escapes XML entities\n if (opts.mode === EncodingMode.UTF8)\n return (0, escape_js_1.escapeUTF8)(data);\n if (opts.mode === EncodingMode.Attribute)\n return (0, escape_js_1.escapeAttribute)(data);\n if (opts.mode === EncodingMode.Text)\n return (0, escape_js_1.escapeText)(data);\n if (opts.level === EntityLevel.HTML) {\n if (opts.mode === EncodingMode.ASCII) {\n return (0, encode_js_1.encodeNonAsciiHTML)(data);\n }\n return (0, encode_js_1.encodeHTML)(data);\n }\n // ASCII and Extensive are equivalent\n return (0, escape_js_1.encodeXML)(data);\n}\nexports.encode = encode;\nvar escape_js_2 = require(\"./escape.js\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return escape_js_2.encodeXML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return escape_js_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return escape_js_2.escapeUTF8; } });\nObject.defineProperty(exports, \"escapeAttribute\", { enumerable: true, get: function () { return escape_js_2.escapeAttribute; } });\nObject.defineProperty(exports, \"escapeText\", { enumerable: true, get: function () { return escape_js_2.escapeText; } });\nvar encode_js_2 = require(\"./encode.js\");\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_js_2.encodeNonAsciiHTML; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nvar decode_js_2 = require(\"./decode.js\");\nObject.defineProperty(exports, \"EntityDecoder\", { enumerable: true, get: function () { return decode_js_2.EntityDecoder; } });\nObject.defineProperty(exports, \"DecodingMode\", { enumerable: true, get: function () { return decode_js_2.DecodingMode; } });\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTMLAttribute\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLAttribute; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \"&quot;\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"</\".concat(elem.name, \">\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"<![CDATA[\".concat(elem.children[0].data, \"]]>\");\n}\nfunction renderComment(elem) {\n return \"<!--\".concat(elem.data, \"-->\");\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOuterHTML = getOuterHTML;\nexports.getInnerHTML = getInnerHTML;\nexports.getText = getText;\nexports.textContent = textContent;\nexports.innerText = innerText;\nvar domhandler_1 = require(\"domhandler\");\nvar dom_serializer_1 = __importDefault(require(\"dom-serializer\"));\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the outer HTML of.\n * @param options Options for serialization.\n * @returns `node`'s outer HTML.\n */\nfunction getOuterHTML(node, options) {\n return (0, dom_serializer_1.default)(node, options);\n}\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the inner HTML of.\n * @param options Options for serialization.\n * @returns `node`'s inner HTML.\n */\nfunction getInnerHTML(node, options) {\n return (0, domhandler_1.hasChildren)(node)\n ? node.children.map(function (node) { return getOuterHTML(node, options); }).join(\"\")\n : \"\";\n}\n/**\n * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments.\n *\n * @category Stringify\n * @deprecated Use `textContent` instead.\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n */\nfunction getText(node) {\n if (Array.isArray(node))\n return node.map(getText).join(\"\");\n if ((0, domhandler_1.isTag)(node))\n return node.name === \"br\" ? \"\\n\" : getText(node.children);\n if ((0, domhandler_1.isCDATA)(node))\n return getText(node.children);\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n/**\n * Get a node's text content. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the text content of.\n * @returns `node`'s text content.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent}\n */\nfunction textContent(node) {\n if (Array.isArray(node))\n return node.map(textContent).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) {\n return textContent(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n/**\n * Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText}\n */\nfunction innerText(node) {\n if (Array.isArray(node))\n return node.map(innerText).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) {\n return innerText(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n//# sourceMappingURL=stringify.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChildren = getChildren;\nexports.getParent = getParent;\nexports.getSiblings = getSiblings;\nexports.getAttributeValue = getAttributeValue;\nexports.hasAttrib = hasAttrib;\nexports.getName = getName;\nexports.nextElementSibling = nextElementSibling;\nexports.prevElementSibling = prevElementSibling;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Get a node's children.\n *\n * @category Traversal\n * @param elem Node to get the children of.\n * @returns `elem`'s children, or an empty array.\n */\nfunction getChildren(elem) {\n return (0, domhandler_1.hasChildren)(elem) ? elem.children : [];\n}\n/**\n * Get a node's parent.\n *\n * @category Traversal\n * @param elem Node to get the parent of.\n * @returns `elem`'s parent node, or `null` if `elem` is a root node.\n */\nfunction getParent(elem) {\n return elem.parent || null;\n}\n/**\n * Gets an elements siblings, including the element itself.\n *\n * Attempts to get the children through the element's parent first. If we don't\n * have a parent (the element is a root node), we walk the element's `prev` &\n * `next` to get all remaining nodes.\n *\n * @category Traversal\n * @param elem Element to get the siblings of.\n * @returns `elem`'s siblings, including `elem`.\n */\nfunction getSiblings(elem) {\n var _a, _b;\n var parent = getParent(elem);\n if (parent != null)\n return getChildren(parent);\n var siblings = [elem];\n var prev = elem.prev, next = elem.next;\n while (prev != null) {\n siblings.unshift(prev);\n (_a = prev, prev = _a.prev);\n }\n while (next != null) {\n siblings.push(next);\n (_b = next, next = _b.next);\n }\n return siblings;\n}\n/**\n * Gets an attribute from an element.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to retrieve.\n * @returns The element's attribute value, or `undefined`.\n */\nfunction getAttributeValue(elem, name) {\n var _a;\n return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];\n}\n/**\n * Checks whether an element has an attribute.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to look for.\n * @returns Returns whether `elem` has the attribute `name`.\n */\nfunction hasAttrib(elem, name) {\n return (elem.attribs != null &&\n Object.prototype.hasOwnProperty.call(elem.attribs, name) &&\n elem.attribs[name] != null);\n}\n/**\n * Get the tag name of an element.\n *\n * @category Traversal\n * @param elem The element to get the name for.\n * @returns The tag name of `elem`.\n */\nfunction getName(elem) {\n return elem.name;\n}\n/**\n * Returns the next element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the next sibling of.\n * @returns `elem`'s next sibling that is a tag, or `null` if there is no next\n * sibling.\n */\nfunction nextElementSibling(elem) {\n var _a;\n var next = elem.next;\n while (next !== null && !(0, domhandler_1.isTag)(next))\n (_a = next, next = _a.next);\n return next;\n}\n/**\n * Returns the previous element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the previous sibling of.\n * @returns `elem`'s previous sibling that is a tag, or `null` if there is no\n * previous sibling.\n */\nfunction prevElementSibling(elem) {\n var _a;\n var prev = elem.prev;\n while (prev !== null && !(0, domhandler_1.isTag)(prev))\n (_a = prev, prev = _a.prev);\n return prev;\n}\n//# sourceMappingURL=traversal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeElement = removeElement;\nexports.replaceElement = replaceElement;\nexports.appendChild = appendChild;\nexports.append = append;\nexports.prependChild = prependChild;\nexports.prepend = prepend;\n/**\n * Remove an element from the dom\n *\n * @category Manipulation\n * @param elem The element to be removed\n */\nfunction removeElement(elem) {\n if (elem.prev)\n elem.prev.next = elem.next;\n if (elem.next)\n elem.next.prev = elem.prev;\n if (elem.parent) {\n var childs = elem.parent.children;\n var childsIndex = childs.lastIndexOf(elem);\n if (childsIndex >= 0) {\n childs.splice(childsIndex, 1);\n }\n }\n elem.next = null;\n elem.prev = null;\n elem.parent = null;\n}\n/**\n * Replace an element in the dom\n *\n * @category Manipulation\n * @param elem The element to be replaced\n * @param replacement The element to be added\n */\nfunction replaceElement(elem, replacement) {\n var prev = (replacement.prev = elem.prev);\n if (prev) {\n prev.next = replacement;\n }\n var next = (replacement.next = elem.next);\n if (next) {\n next.prev = replacement;\n }\n var parent = (replacement.parent = elem.parent);\n if (parent) {\n var childs = parent.children;\n childs[childs.lastIndexOf(elem)] = replacement;\n elem.parent = null;\n }\n}\n/**\n * Append a child to an element.\n *\n * @category Manipulation\n * @param parent The element to append to.\n * @param child The element to be added as a child.\n */\nfunction appendChild(parent, child) {\n removeElement(child);\n child.next = null;\n child.parent = parent;\n if (parent.children.push(child) > 1) {\n var sibling = parent.children[parent.children.length - 2];\n sibling.next = child;\n child.prev = sibling;\n }\n else {\n child.prev = null;\n }\n}\n/**\n * Append an element after another.\n *\n * @category Manipulation\n * @param elem The element to append after.\n * @param next The element be added.\n */\nfunction append(elem, next) {\n removeElement(next);\n var parent = elem.parent;\n var currNext = elem.next;\n next.next = currNext;\n next.prev = elem;\n elem.next = next;\n next.parent = parent;\n if (currNext) {\n currNext.prev = next;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.lastIndexOf(currNext), 0, next);\n }\n }\n else if (parent) {\n parent.children.push(next);\n }\n}\n/**\n * Prepend a child to an element.\n *\n * @category Manipulation\n * @param parent The element to prepend before.\n * @param child The element to be added as a child.\n */\nfunction prependChild(parent, child) {\n removeElement(child);\n child.parent = parent;\n child.prev = null;\n if (parent.children.unshift(child) !== 1) {\n var sibling = parent.children[1];\n sibling.prev = child;\n child.next = sibling;\n }\n else {\n child.next = null;\n }\n}\n/**\n * Prepend an element before another.\n *\n * @category Manipulation\n * @param elem The element to prepend before.\n * @param prev The element be added.\n */\nfunction prepend(elem, prev) {\n removeElement(prev);\n var parent = elem.parent;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.indexOf(elem), 0, prev);\n }\n if (elem.prev) {\n elem.prev.next = prev;\n }\n prev.parent = parent;\n prev.prev = elem.prev;\n prev.next = elem;\n elem.prev = prev;\n}\n//# sourceMappingURL=manipulation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filter = filter;\nexports.find = find;\nexports.findOneChild = findOneChild;\nexports.findOne = findOne;\nexports.existsOne = existsOne;\nexports.findAll = findAll;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param node Node to search. Will be included in the result set if it matches.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction filter(test, node, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return find(test, Array.isArray(node) ? node : [node], recurse, limit);\n}\n/**\n * Search an array of nodes and their children for nodes passing a test function.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction find(test, nodes, recurse, limit) {\n var result = [];\n /** Stack of the arrays we are looking at. */\n var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n /** Stack of the indices within the arrays. */\n var indexStack = [0];\n for (;;) {\n // First, check if the current array has any more elements to look at.\n if (indexStack[0] >= nodeStack[0].length) {\n // If we have no more arrays to look at, we are done.\n if (indexStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if (test(elem)) {\n result.push(elem);\n if (--limit <= 0)\n return result;\n }\n if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {\n /*\n * Add the children to the stack. We are depth-first, so this is\n * the next array we look at.\n */\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\n/**\n * Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns The first node in the array that passes `test`.\n * @deprecated Use `Array.prototype.find` directly.\n */\nfunction findOneChild(test, nodes) {\n return nodes.find(test);\n}\n/**\n * Finds one element in a tree that passes a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Node or array of nodes to search.\n * @param recurse Also consider child nodes.\n * @returns The first node that passes `test`.\n */\nfunction findOne(test, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n var searchedNodes = Array.isArray(nodes) ? nodes : [nodes];\n for (var i = 0; i < searchedNodes.length; i++) {\n var node = searchedNodes[i];\n if ((0, domhandler_1.isTag)(node) && test(node)) {\n return node;\n }\n if (recurse && (0, domhandler_1.hasChildren)(node) && node.children.length > 0) {\n var found = findOne(test, node.children, true);\n if (found)\n return found;\n }\n }\n return null;\n}\n/**\n * Checks if a tree of nodes contains at least one node passing a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns Whether a tree of nodes contains at least one node passing the test.\n */\nfunction existsOne(test, nodes) {\n return (Array.isArray(nodes) ? nodes : [nodes]).some(function (node) {\n return ((0, domhandler_1.isTag)(node) && test(node)) ||\n ((0, domhandler_1.hasChildren)(node) && existsOne(test, node.children));\n });\n}\n/**\n * Search an array of nodes and their children for elements passing a test function.\n *\n * Same as `find`, but limited to elements and with less options, leading to reduced complexity.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns All nodes passing `test`.\n */\nfunction findAll(test, nodes) {\n var result = [];\n var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n var indexStack = [0];\n for (;;) {\n if (indexStack[0] >= nodeStack[0].length) {\n if (nodeStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if ((0, domhandler_1.isTag)(elem) && test(elem))\n result.push(elem);\n if ((0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\n//# sourceMappingURL=querying.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.testElement = testElement;\nexports.getElements = getElements;\nexports.getElementById = getElementById;\nexports.getElementsByTagName = getElementsByTagName;\nexports.getElementsByClassName = getElementsByClassName;\nexports.getElementsByTagType = getElementsByTagType;\nvar domhandler_1 = require(\"domhandler\");\nvar querying_js_1 = require(\"./querying.js\");\n/**\n * A map of functions to check nodes against.\n */\nvar Checks = {\n tag_name: function (name) {\n if (typeof name === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && name(elem.name); };\n }\n else if (name === \"*\") {\n return domhandler_1.isTag;\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.name === name; };\n },\n tag_type: function (type) {\n if (typeof type === \"function\") {\n return function (elem) { return type(elem.type); };\n }\n return function (elem) { return elem.type === type; };\n },\n tag_contains: function (data) {\n if (typeof data === \"function\") {\n return function (elem) { return (0, domhandler_1.isText)(elem) && data(elem.data); };\n }\n return function (elem) { return (0, domhandler_1.isText)(elem) && elem.data === data; };\n },\n};\n/**\n * Returns a function to check whether a node has an attribute with a particular\n * value.\n *\n * @param attrib Attribute to check.\n * @param value Attribute value to look for.\n * @returns A function to check whether the a node has an attribute with a\n * particular value.\n */\nfunction getAttribCheck(attrib, value) {\n if (typeof value === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); };\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; };\n}\n/**\n * Returns a function that returns `true` if either of the input functions\n * returns `true` for a node.\n *\n * @param a First function to combine.\n * @param b Second function to combine.\n * @returns A function taking a node and returning `true` if either of the input\n * functions returns `true` for the node.\n */\nfunction combineFuncs(a, b) {\n return function (elem) { return a(elem) || b(elem); };\n}\n/**\n * Returns a function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n *\n * @param options An object describing nodes to look for.\n * @returns A function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n */\nfunction compileTest(options) {\n var funcs = Object.keys(options).map(function (key) {\n var value = options[key];\n return Object.prototype.hasOwnProperty.call(Checks, key)\n ? Checks[key](value)\n : getAttribCheck(key, value);\n });\n return funcs.length === 0 ? null : funcs.reduce(combineFuncs);\n}\n/**\n * Checks whether a node matches the description in `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param node The element to test.\n * @returns Whether the element matches the description in `options`.\n */\nfunction testElement(options, node) {\n var test = compileTest(options);\n return test ? test(node) : true;\n}\n/**\n * Returns all nodes that match `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes that match `options`.\n */\nfunction getElements(options, nodes, recurse, limit) {\n if (limit === void 0) { limit = Infinity; }\n var test = compileTest(options);\n return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : [];\n}\n/**\n * Returns the node with the supplied ID.\n *\n * @category Legacy Query Functions\n * @param id The unique ID attribute value to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @returns The node with the supplied ID.\n */\nfunction getElementById(id, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n if (!Array.isArray(nodes))\n nodes = [nodes];\n return (0, querying_js_1.findOne)(getAttribCheck(\"id\", id), nodes, recurse);\n}\n/**\n * Returns all nodes with the supplied `tagName`.\n *\n * @category Legacy Query Functions\n * @param tagName Tag name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `tagName`.\n */\nfunction getElementsByTagName(tagName, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_name\"](tagName), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `className`.\n *\n * @category Legacy Query Functions\n * @param className Class name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `className`.\n */\nfunction getElementsByClassName(className, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(getAttribCheck(\"class\", className), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `type`.\n *\n * @category Legacy Query Functions\n * @param type Element type to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `type`.\n */\nfunction getElementsByTagType(type, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_type\"](type), nodes, recurse, limit);\n}\n//# sourceMappingURL=legacy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentPosition = void 0;\nexports.removeSubsets = removeSubsets;\nexports.compareDocumentPosition = compareDocumentPosition;\nexports.uniqueSort = uniqueSort;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Given an array of nodes, remove any member that is contained by another\n * member.\n *\n * @category Helpers\n * @param nodes Nodes to filter.\n * @returns Remaining nodes that aren't contained by other nodes.\n */\nfunction removeSubsets(nodes) {\n var idx = nodes.length;\n /*\n * Check if each node (or one of its ancestors) is already contained in the\n * array.\n */\n while (--idx >= 0) {\n var node = nodes[idx];\n /*\n * Remove the node if it is not unique.\n * We are going through the array from the end, so we only\n * have to check nodes that preceed the node under consideration in the array.\n */\n if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {\n nodes.splice(idx, 1);\n continue;\n }\n for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {\n if (nodes.includes(ancestor)) {\n nodes.splice(idx, 1);\n break;\n }\n }\n }\n return nodes;\n}\n/**\n * @category Helpers\n * @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition}\n */\nvar DocumentPosition;\n(function (DocumentPosition) {\n DocumentPosition[DocumentPosition[\"DISCONNECTED\"] = 1] = \"DISCONNECTED\";\n DocumentPosition[DocumentPosition[\"PRECEDING\"] = 2] = \"PRECEDING\";\n DocumentPosition[DocumentPosition[\"FOLLOWING\"] = 4] = \"FOLLOWING\";\n DocumentPosition[DocumentPosition[\"CONTAINS\"] = 8] = \"CONTAINS\";\n DocumentPosition[DocumentPosition[\"CONTAINED_BY\"] = 16] = \"CONTAINED_BY\";\n})(DocumentPosition || (exports.DocumentPosition = DocumentPosition = {}));\n/**\n * Compare the position of one node against another node in any other document,\n * returning a bitmask with the values from {@link DocumentPosition}.\n *\n * Document order:\n * > There is an ordering, document order, defined on all the nodes in the\n * > document corresponding to the order in which the first character of the\n * > XML representation of each node occurs in the XML representation of the\n * > document after expansion of general entities. Thus, the document element\n * > node will be the first node. Element nodes occur before their children.\n * > Thus, document order orders element nodes in order of the occurrence of\n * > their start-tag in the XML (after expansion of entities). The attribute\n * > nodes of an element occur after the element and before its children. The\n * > relative order of attribute nodes is implementation-dependent.\n *\n * Source:\n * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n *\n * @category Helpers\n * @param nodeA The first node to use in the comparison\n * @param nodeB The second node to use in the comparison\n * @returns A bitmask describing the input nodes' relative position.\n *\n * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n * a description of these values.\n */\nfunction compareDocumentPosition(nodeA, nodeB) {\n var aParents = [];\n var bParents = [];\n if (nodeA === nodeB) {\n return 0;\n }\n var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent;\n while (current) {\n aParents.unshift(current);\n current = current.parent;\n }\n current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent;\n while (current) {\n bParents.unshift(current);\n current = current.parent;\n }\n var maxIdx = Math.min(aParents.length, bParents.length);\n var idx = 0;\n while (idx < maxIdx && aParents[idx] === bParents[idx]) {\n idx++;\n }\n if (idx === 0) {\n return DocumentPosition.DISCONNECTED;\n }\n var sharedParent = aParents[idx - 1];\n var siblings = sharedParent.children;\n var aSibling = aParents[idx];\n var bSibling = bParents[idx];\n if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n if (sharedParent === nodeB) {\n return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY;\n }\n return DocumentPosition.FOLLOWING;\n }\n if (sharedParent === nodeA) {\n return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS;\n }\n return DocumentPosition.PRECEDING;\n}\n/**\n * Sort an array of nodes based on their relative position in the document,\n * removing any duplicate nodes. If the array contains nodes that do not belong\n * to the same document, sort order is unspecified.\n *\n * @category Helpers\n * @param nodes Array of DOM nodes.\n * @returns Collection of unique nodes, sorted in document order.\n */\nfunction uniqueSort(nodes) {\n nodes = nodes.filter(function (node, i, arr) { return !arr.includes(node, i + 1); });\n nodes.sort(function (a, b) {\n var relative = compareDocumentPosition(a, b);\n if (relative & DocumentPosition.PRECEDING) {\n return -1;\n }\n else if (relative & DocumentPosition.FOLLOWING) {\n return 1;\n }\n return 0;\n });\n return nodes;\n}\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFeed = getFeed;\nvar stringify_js_1 = require(\"./stringify.js\");\nvar legacy_js_1 = require(\"./legacy.js\");\n/**\n * Get the feed object from the root of a DOM tree.\n *\n * @category Feeds\n * @param doc - The DOM to to extract the feed from.\n * @returns The feed.\n */\nfunction getFeed(doc) {\n var feedRoot = getOneElement(isValidFeed, doc);\n return !feedRoot\n ? null\n : feedRoot.name === \"feed\"\n ? getAtomFeed(feedRoot)\n : getRssFeed(feedRoot);\n}\n/**\n * Parse an Atom feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getAtomFeed(feedRoot) {\n var _a;\n var childs = feedRoot.children;\n var feed = {\n type: \"atom\",\n items: (0, legacy_js_1.getElementsByTagName)(\"entry\", childs).map(function (item) {\n var _a;\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"id\", children);\n addConditionally(entry, \"title\", \"title\", children);\n var href = (_a = getOneElement(\"link\", children)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n entry.link = href;\n }\n var description = fetch(\"summary\", children) || fetch(\"content\", children);\n if (description) {\n entry.description = description;\n }\n var pubDate = fetch(\"updated\", children);\n if (pubDate) {\n entry.pubDate = new Date(pubDate);\n }\n return entry;\n }),\n };\n addConditionally(feed, \"id\", \"id\", childs);\n addConditionally(feed, \"title\", \"title\", childs);\n var href = (_a = getOneElement(\"link\", childs)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n feed.link = href;\n }\n addConditionally(feed, \"description\", \"subtitle\", childs);\n var updated = fetch(\"updated\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"email\", childs, true);\n return feed;\n}\n/**\n * Parse a RSS feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getRssFeed(feedRoot) {\n var _a, _b;\n var childs = (_b = (_a = getOneElement(\"channel\", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];\n var feed = {\n type: feedRoot.name.substr(0, 3),\n id: \"\",\n items: (0, legacy_js_1.getElementsByTagName)(\"item\", feedRoot.children).map(function (item) {\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"guid\", children);\n addConditionally(entry, \"title\", \"title\", children);\n addConditionally(entry, \"link\", \"link\", children);\n addConditionally(entry, \"description\", \"description\", children);\n var pubDate = fetch(\"pubDate\", children) || fetch(\"dc:date\", children);\n if (pubDate)\n entry.pubDate = new Date(pubDate);\n return entry;\n }),\n };\n addConditionally(feed, \"title\", \"title\", childs);\n addConditionally(feed, \"link\", \"link\", childs);\n addConditionally(feed, \"description\", \"description\", childs);\n var updated = fetch(\"lastBuildDate\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n return feed;\n}\nvar MEDIA_KEYS_STRING = [\"url\", \"type\", \"lang\"];\nvar MEDIA_KEYS_INT = [\n \"fileSize\",\n \"bitrate\",\n \"framerate\",\n \"samplingrate\",\n \"channels\",\n \"duration\",\n \"height\",\n \"width\",\n];\n/**\n * Get all media elements of a feed item.\n *\n * @param where Nodes to search in.\n * @returns Media elements.\n */\nfunction getMediaElements(where) {\n return (0, legacy_js_1.getElementsByTagName)(\"media:content\", where).map(function (elem) {\n var attribs = elem.attribs;\n var media = {\n medium: attribs[\"medium\"],\n isDefault: !!attribs[\"isDefault\"],\n };\n for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) {\n var attrib = MEDIA_KEYS_STRING_1[_i];\n if (attribs[attrib]) {\n media[attrib] = attribs[attrib];\n }\n }\n for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) {\n var attrib = MEDIA_KEYS_INT_1[_a];\n if (attribs[attrib]) {\n media[attrib] = parseInt(attribs[attrib], 10);\n }\n }\n if (attribs[\"expression\"]) {\n media.expression = attribs[\"expression\"];\n }\n return media;\n });\n}\n/**\n * Get one element by tag name.\n *\n * @param tagName Tag name to look for\n * @param node Node to search in\n * @returns The element or null\n */\nfunction getOneElement(tagName, node) {\n return (0, legacy_js_1.getElementsByTagName)(tagName, node, true, 1)[0];\n}\n/**\n * Get the text content of an element with a certain tag name.\n *\n * @param tagName Tag name to look for.\n * @param where Node to search in.\n * @param recurse Whether to recurse into child nodes.\n * @returns The text content of the element.\n */\nfunction fetch(tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n return (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim();\n}\n/**\n * Adds a property to an object if it has a value.\n *\n * @param obj Object to be extended\n * @param prop Property name\n * @param tagName Tag name that contains the conditionally added property\n * @param where Element to search for the property\n * @param recurse Whether to recurse into child nodes.\n */\nfunction addConditionally(obj, prop, tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n var val = fetch(tagName, where, recurse);\n if (val)\n obj[prop] = val;\n}\n/**\n * Checks if an element is a feed root node.\n *\n * @param value The name of the element to check.\n * @returns Whether an element is a feed root node.\n */\nfunction isValidFeed(value) {\n return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n}\n//# sourceMappingURL=feeds.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomUtils = exports.getFeed = exports.ElementType = exports.QuoteType = exports.Tokenizer = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nexports.parseDocument = parseDocument;\nexports.parseDOM = parseDOM;\nexports.createDocumentStream = createDocumentStream;\nexports.createDomStream = createDomStream;\nexports.parseFeed = parseFeed;\nconst Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nconst domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n */\nfunction parseDocument(data, options) {\n const handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM handler.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with the resulting document.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDocumentStream(callback, options, elementCallback) {\n const handler = new domhandler_1.DomHandler((error) => callback(error, handler.root), options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed, with an array of root nodes.\n * @param options Optional options for the parser and DOM handler.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n * @deprecated Use `createDocumentStream` instead.\n */\nfunction createDomStream(callback, options, elementCallback) {\n const handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\nObject.defineProperty(exports, \"QuoteType\", { enumerable: true, get: function () { return Tokenizer_js_1.QuoteType; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nconst domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nconst parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options = parseFeedDefaultOptions) {\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unsetRootParent = unsetRootParent;\n/**\n * Sets root parent to null.\n *\n * @param nodes - Nodes.\n * @returns - Nodes.\n */\nfunction unsetRootParent(nodes) {\n var index = 0;\n var nodesLength = nodes.length;\n for (; index < nodesLength; index++) {\n var node = nodes[index];\n node.parent = null;\n }\n return nodes;\n}\n//# sourceMappingURL=utilities.js.map","// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n accept: 0,\n acceptCharset: 1,\n 'accept-charset': 'acceptCharset',\n accessKey: 1,\n action: 0,\n allowFullScreen: 1,\n alt: 0,\n as: 0,\n async: 0,\n autoCapitalize: 1,\n autoComplete: 1,\n autoCorrect: 1,\n autoFocus: 1,\n autoPlay: 1,\n autoSave: 1,\n capture: 0,\n cellPadding: 1,\n cellSpacing: 1,\n challenge: 0,\n charSet: 1,\n checked: 0,\n children: 0,\n cite: 0,\n class: 'className',\n classID: 1,\n className: 1,\n cols: 0,\n colSpan: 1,\n content: 0,\n contentEditable: 1,\n contextMenu: 1,\n controls: 0,\n controlsList: 1,\n coords: 0,\n crossOrigin: 1,\n dangerouslySetInnerHTML: 1,\n data: 0,\n dateTime: 1,\n default: 0,\n defaultChecked: 1,\n defaultValue: 1,\n defer: 0,\n dir: 0,\n disabled: 0,\n disablePictureInPicture: 1,\n disableRemotePlayback: 1,\n download: 0,\n draggable: 0,\n encType: 1,\n enterKeyHint: 1,\n for: 'htmlFor',\n form: 0,\n formMethod: 1,\n formAction: 1,\n formEncType: 1,\n formNoValidate: 1,\n formTarget: 1,\n frameBorder: 1,\n headers: 0,\n height: 0,\n hidden: 0,\n high: 0,\n href: 0,\n hrefLang: 1,\n htmlFor: 1,\n httpEquiv: 1,\n 'http-equiv': 'httpEquiv',\n icon: 0,\n id: 0,\n innerHTML: 1,\n inputMode: 1,\n integrity: 0,\n is: 0,\n itemID: 1,\n itemProp: 1,\n itemRef: 1,\n itemScope: 1,\n itemType: 1,\n keyParams: 1,\n keyType: 1,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: 0,\n low: 0,\n manifest: 0,\n marginWidth: 1,\n marginHeight: 1,\n max: 0,\n maxLength: 1,\n media: 0,\n mediaGroup: 1,\n method: 0,\n min: 0,\n minLength: 1,\n multiple: 0,\n muted: 0,\n name: 0,\n noModule: 1,\n nonce: 0,\n noValidate: 1,\n open: 0,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: 1,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 1,\n readOnly: 1,\n referrerPolicy: 1,\n rel: 0,\n required: 0,\n reversed: 0,\n role: 0,\n rows: 0,\n rowSpan: 1,\n sandbox: 0,\n scope: 0,\n scoped: 0,\n scrolling: 0,\n seamless: 0,\n selected: 0,\n shape: 0,\n size: 0,\n sizes: 0,\n span: 0,\n spellCheck: 1,\n src: 0,\n srcDoc: 1,\n srcLang: 1,\n srcSet: 1,\n start: 0,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 1,\n target: 0,\n title: 0,\n type: 0,\n useMap: 1,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n about: 0,\n accentHeight: 1,\n 'accent-height': 'accentHeight',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 1,\n 'alignment-baseline': 'alignmentBaseline',\n allowReorder: 1,\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 1,\n 'arabic-form': 'arabicForm',\n ascent: 0,\n attributeName: 1,\n attributeType: 1,\n autoReverse: 1,\n azimuth: 0,\n baseFrequency: 1,\n baselineShift: 1,\n 'baseline-shift': 'baselineShift',\n baseProfile: 1,\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 1,\n capHeight: 1,\n 'cap-height': 'capHeight',\n clip: 0,\n clipPath: 1,\n 'clip-path': 'clipPath',\n clipPathUnits: 1,\n clipRule: 1,\n 'clip-rule': 'clipRule',\n color: 0,\n colorInterpolation: 1,\n 'color-interpolation': 'colorInterpolation',\n colorInterpolationFilters: 1,\n 'color-interpolation-filters': 'colorInterpolationFilters',\n colorProfile: 1,\n 'color-profile': 'colorProfile',\n colorRendering: 1,\n 'color-rendering': 'colorRendering',\n contentScriptType: 1,\n contentStyleType: 1,\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n datatype: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 1,\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 1,\n 'dominant-baseline': 'dominantBaseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 1,\n elevation: 0,\n enableBackground: 1,\n 'enable-background': 'enableBackground',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 1,\n fill: 0,\n fillOpacity: 1,\n 'fill-opacity': 'fillOpacity',\n fillRule: 1,\n 'fill-rule': 'fillRule',\n filter: 0,\n filterRes: 1,\n filterUnits: 1,\n floodOpacity: 1,\n 'flood-opacity': 'floodOpacity',\n floodColor: 1,\n 'flood-color': 'floodColor',\n focusable: 0,\n fontFamily: 1,\n 'font-family': 'fontFamily',\n fontSize: 1,\n 'font-size': 'fontSize',\n fontSizeAdjust: 1,\n 'font-size-adjust': 'fontSizeAdjust',\n fontStretch: 1,\n 'font-stretch': 'fontStretch',\n fontStyle: 1,\n 'font-style': 'fontStyle',\n fontVariant: 1,\n 'font-variant': 'fontVariant',\n fontWeight: 1,\n 'font-weight': 'fontWeight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 1,\n 'glyph-name': 'glyphName',\n glyphOrientationHorizontal: 1,\n 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n glyphOrientationVertical: 1,\n 'glyph-orientation-vertical': 'glyphOrientationVertical',\n glyphRef: 1,\n gradientTransform: 1,\n gradientUnits: 1,\n hanging: 0,\n horizAdvX: 1,\n 'horiz-adv-x': 'horizAdvX',\n horizOriginX: 1,\n 'horiz-origin-x': 'horizOriginX',\n ideographic: 0,\n imageRendering: 1,\n 'image-rendering': 'imageRendering',\n in2: 0,\n in: 0,\n inlist: 0,\n intercept: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n k: 0,\n kernelMatrix: 1,\n kernelUnitLength: 1,\n kerning: 0,\n keyPoints: 1,\n keySplines: 1,\n keyTimes: 1,\n lengthAdjust: 1,\n letterSpacing: 1,\n 'letter-spacing': 'letterSpacing',\n lightingColor: 1,\n 'lighting-color': 'lightingColor',\n limitingConeAngle: 1,\n local: 0,\n markerEnd: 1,\n 'marker-end': 'markerEnd',\n markerHeight: 1,\n markerMid: 1,\n 'marker-mid': 'markerMid',\n markerStart: 1,\n 'marker-start': 'markerStart',\n markerUnits: 1,\n markerWidth: 1,\n mask: 0,\n maskContentUnits: 1,\n maskUnits: 1,\n mathematical: 0,\n mode: 0,\n numOctaves: 1,\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 1,\n 'overline-position': 'overlinePosition',\n overlineThickness: 1,\n 'overline-thickness': 'overlineThickness',\n paintOrder: 1,\n 'paint-order': 'paintOrder',\n panose1: 0,\n 'panose-1': 'panose1',\n pathLength: 1,\n patternContentUnits: 1,\n patternTransform: 1,\n patternUnits: 1,\n pointerEvents: 1,\n 'pointer-events': 'pointerEvents',\n points: 0,\n pointsAtX: 1,\n pointsAtY: 1,\n pointsAtZ: 1,\n prefix: 0,\n preserveAlpha: 1,\n preserveAspectRatio: 1,\n primitiveUnits: 1,\n property: 0,\n r: 0,\n radius: 0,\n refX: 1,\n refY: 1,\n renderingIntent: 1,\n 'rendering-intent': 'renderingIntent',\n repeatCount: 1,\n repeatDur: 1,\n requiredExtensions: 1,\n requiredFeatures: 1,\n resource: 0,\n restart: 0,\n result: 0,\n results: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n security: 0,\n seed: 0,\n shapeRendering: 1,\n 'shape-rendering': 'shapeRendering',\n slope: 0,\n spacing: 0,\n specularConstant: 1,\n specularExponent: 1,\n speed: 0,\n spreadMethod: 1,\n startOffset: 1,\n stdDeviation: 1,\n stemh: 0,\n stemv: 0,\n stitchTiles: 1,\n stopColor: 1,\n 'stop-color': 'stopColor',\n stopOpacity: 1,\n 'stop-opacity': 'stopOpacity',\n strikethroughPosition: 1,\n 'strikethrough-position': 'strikethroughPosition',\n strikethroughThickness: 1,\n 'strikethrough-thickness': 'strikethroughThickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 1,\n 'stroke-dasharray': 'strokeDasharray',\n strokeDashoffset: 1,\n 'stroke-dashoffset': 'strokeDashoffset',\n strokeLinecap: 1,\n 'stroke-linecap': 'strokeLinecap',\n strokeLinejoin: 1,\n 'stroke-linejoin': 'strokeLinejoin',\n strokeMiterlimit: 1,\n 'stroke-miterlimit': 'strokeMiterlimit',\n strokeWidth: 1,\n 'stroke-width': 'strokeWidth',\n strokeOpacity: 1,\n 'stroke-opacity': 'strokeOpacity',\n suppressContentEditableWarning: 1,\n suppressHydrationWarning: 1,\n surfaceScale: 1,\n systemLanguage: 1,\n tableValues: 1,\n targetX: 1,\n targetY: 1,\n textAnchor: 1,\n 'text-anchor': 'textAnchor',\n textDecoration: 1,\n 'text-decoration': 'textDecoration',\n textLength: 1,\n textRendering: 1,\n 'text-rendering': 'textRendering',\n to: 0,\n transform: 0,\n typeof: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 1,\n 'underline-position': 'underlinePosition',\n underlineThickness: 1,\n 'underline-thickness': 'underlineThickness',\n unicode: 0,\n unicodeBidi: 1,\n 'unicode-bidi': 'unicodeBidi',\n unicodeRange: 1,\n 'unicode-range': 'unicodeRange',\n unitsPerEm: 1,\n 'units-per-em': 'unitsPerEm',\n unselectable: 0,\n vAlphabetic: 1,\n 'v-alphabetic': 'vAlphabetic',\n values: 0,\n vectorEffect: 1,\n 'vector-effect': 'vectorEffect',\n version: 0,\n vertAdvY: 1,\n 'vert-adv-y': 'vertAdvY',\n vertOriginX: 1,\n 'vert-origin-x': 'vertOriginX',\n vertOriginY: 1,\n 'vert-origin-y': 'vertOriginY',\n vHanging: 1,\n 'v-hanging': 'vHanging',\n vIdeographic: 1,\n 'v-ideographic': 'vIdeographic',\n viewBox: 1,\n viewTarget: 1,\n visibility: 0,\n vMathematical: 1,\n 'v-mathematical': 'vMathematical',\n vocab: 0,\n widths: 0,\n wordSpacing: 1,\n 'word-spacing': 'wordSpacing',\n writingMode: 1,\n 'writing-mode': 'writingMode',\n x1: 0,\n x2: 0,\n x: 0,\n xChannelSelector: 1,\n xHeight: 1,\n 'x-height': 'xHeight',\n xlinkActuate: 1,\n 'xlink:actuate': 'xlinkActuate',\n xlinkArcrole: 1,\n 'xlink:arcrole': 'xlinkArcrole',\n xlinkHref: 1,\n 'xlink:href': 'xlinkHref',\n xlinkRole: 1,\n 'xlink:role': 'xlinkRole',\n xlinkShow: 1,\n 'xlink:show': 'xlinkShow',\n xlinkTitle: 1,\n 'xlink:title': 'xlinkTitle',\n xlinkType: 1,\n 'xlink:type': 'xlinkType',\n xmlBase: 1,\n 'xml:base': 'xmlBase',\n xmlLang: 1,\n 'xml:lang': 'xmlLang',\n xmlns: 0,\n 'xml:space': 'xmlSpace',\n xmlnsXlink: 1,\n 'xmlns:xlink': 'xmlnsXlink',\n xmlSpace: 1,\n y1: 0,\n y2: 0,\n y: 0,\n yChannelSelector: 1,\n z: 0,\n zoomAndPan: 1\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n/**\n * Checks whether to skip camelCase.\n */\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\n/**\n * Replacer that capitalizes first character.\n */\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nvar trimHyphen = function (match, prefix) { return \"\".concat(prefix, \"-\"); };\n/**\n * CamelCases a CSS property.\n */\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n }\n else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.returnFirstArg = exports.canTextBeChildOfNode = exports.ELEMENTS_WITH_NO_TEXT_CHILDREN = exports.PRESERVE_CUSTOM_ATTRIBUTES = void 0;\nexports.isCustomComponent = isCustomComponent;\nexports.setStyleProp = setStyleProp;\nvar react_1 = require(\"react\");\nvar style_to_js_1 = __importDefault(require(\"style-to-js\"));\nvar RESERVED_SVG_MATHML_ELEMENTS = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n/**\n * Check if a tag is a custom component.\n *\n * @see {@link https://github.com/facebook/react/blob/v16.6.3/packages/react-dom/src/shared/isCustomComponent.js}\n *\n * @param tagName - Tag name.\n * @param props - Props passed to the element.\n * @returns - Whether the tag is custom component.\n */\nfunction isCustomComponent(tagName, props) {\n if (!tagName.includes('-')) {\n return Boolean(props && typeof props.is === 'string');\n }\n // These are reserved SVG and MathML elements.\n // We don't mind this whitelist too much because we expect it to never grow.\n // The alternative is to track the namespace in a few places which is convoluted.\n // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\n if (RESERVED_SVG_MATHML_ELEMENTS.has(tagName)) {\n return false;\n }\n return true;\n}\nvar styleOptions = {\n reactCompat: true,\n};\n/**\n * Sets style prop.\n *\n * @param style - Inline style.\n * @param props - Props object.\n */\nfunction setStyleProp(style, props) {\n if (typeof style !== 'string') {\n return;\n }\n if (!style.trim()) {\n props.style = {};\n return;\n }\n try {\n props.style = (0, style_to_js_1.default)(style, styleOptions);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n }\n catch (error) {\n props.style = {};\n }\n}\n/**\n * @see https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\n */\nexports.PRESERVE_CUSTOM_ATTRIBUTES = Number(react_1.version.split('.')[0]) >= 16;\n/**\n * @see https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-dom/src/client/validateDOMNesting.js#L213\n */\nexports.ELEMENTS_WITH_NO_TEXT_CHILDREN = new Set([\n 'tr',\n 'tbody',\n 'thead',\n 'tfoot',\n 'colgroup',\n 'table',\n 'head',\n 'html',\n 'frameset',\n]);\n/**\n * Checks if the given node can contain text nodes\n *\n * @param node - Element node.\n * @returns - Whether the node can contain text nodes.\n */\nvar canTextBeChildOfNode = function (node) {\n return !exports.ELEMENTS_WITH_NO_TEXT_CHILDREN.has(node.name);\n};\nexports.canTextBeChildOfNode = canTextBeChildOfNode;\n/**\n * Returns the first argument as is.\n *\n * @param arg - The argument to be returned.\n * @returns - The input argument `arg`.\n */\nvar returnFirstArg = function (arg) { return arg; }; // eslint-disable-line @typescript-eslint/no-explicit-any\nexports.returnFirstArg = returnFirstArg;\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n (0, style_to_object_1.default)(style, function (property, value) {\n // skip CSS comment\n if (property && value) {\n output[(0, utilities_1.camelCase)(property, options)] = value;\n }\n });\n return output;\n}\nStyleToJS.default = StyleToJS;\nmodule.exports = StyleToJS;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = attributesToProps;\nvar react_property_1 = require(\"react-property\");\nvar utilities_1 = require(\"./utilities\");\n// https://react.dev/learn/sharing-state-between-components#controlled-and-uncontrolled-components\n// https://developer.mozilla.org/docs/Web/HTML/Attributes\nvar UNCONTROLLED_COMPONENT_ATTRIBUTES = ['checked', 'value'];\nvar UNCONTROLLED_COMPONENT_NAMES = ['input', 'select', 'textarea'];\nvar valueOnlyInputs = {\n reset: true,\n submit: true,\n};\n/**\n * Converts HTML/SVG DOM attributes to React props.\n *\n * @param attributes - HTML/SVG DOM attributes.\n * @param nodeName - DOM node name.\n * @returns - React props.\n */\nfunction attributesToProps(attributes, nodeName) {\n if (attributes === void 0) { attributes = {}; }\n var props = {};\n var isInputValueOnly = Boolean(attributes.type && valueOnlyInputs[attributes.type]);\n for (var attributeName in attributes) {\n var attributeValue = attributes[attributeName];\n // ARIA (aria-*) or custom data (data-*) attribute\n if ((0, react_property_1.isCustomAttribute)(attributeName)) {\n props[attributeName] = attributeValue;\n continue;\n }\n // convert HTML/SVG attribute to React prop\n var attributeNameLowerCased = attributeName.toLowerCase();\n var propName = getPropName(attributeNameLowerCased);\n if (propName) {\n var propertyInfo = (0, react_property_1.getPropertyInfo)(propName);\n // convert attribute to uncontrolled component prop (e.g., `value` to `defaultValue`)\n if (UNCONTROLLED_COMPONENT_ATTRIBUTES.includes(propName) &&\n UNCONTROLLED_COMPONENT_NAMES.includes(nodeName) &&\n !isInputValueOnly) {\n propName = getPropName('default' + attributeNameLowerCased);\n }\n props[propName] = attributeValue;\n switch (propertyInfo && propertyInfo.type) {\n case react_property_1.BOOLEAN:\n props[propName] = true;\n break;\n case react_property_1.OVERLOADED_BOOLEAN:\n if (attributeValue === '') {\n props[propName] = true;\n }\n break;\n }\n continue;\n }\n // preserve custom attribute if React >=16\n if (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES) {\n props[attributeName] = attributeValue;\n }\n }\n // transform inline style to object\n (0, utilities_1.setStyleProp)(attributes.style, props);\n return props;\n}\n/**\n * Gets prop name from lowercased attribute name.\n *\n * @param attributeName - Lowercased attribute name.\n * @returns - Prop name.\n */\nfunction getPropName(attributeName) {\n return react_property_1.possibleStandardNames[attributeName];\n}\n//# sourceMappingURL=attributes-to-props.js.map","'use strict';\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n\n\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nconst RESERVED = 0;\n\n// A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\nconst STRING = 1;\n\n// A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\nconst BOOLEANISH_STRING = 2;\n\n// A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\nconst BOOLEAN = 3;\n\n// An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\nconst OVERLOADED_BOOLEAN = 4;\n\n// An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\nconst NUMERIC = 5;\n\n// An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\nconst POSITIVE_NUMERIC = 6;\n\nfunction getPropertyInfo(name) {\n return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(\n name,\n type,\n mustUseProperty,\n attributeName,\n attributeNamespace,\n sanitizeURL,\n removeEmptyString,\n) {\n this.acceptsBooleans =\n type === BOOLEANISH_STRING ||\n type === BOOLEAN ||\n type === OVERLOADED_BOOLEAN;\n this.attributeName = attributeName;\n this.attributeNamespace = attributeNamespace;\n this.mustUseProperty = mustUseProperty;\n this.propertyName = name;\n this.type = type;\n this.sanitizeURL = sanitizeURL;\n this.removeEmptyString = removeEmptyString;\n}\n\n// When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\nconst properties = {};\n\n// These props are reserved by React. They shouldn't be written to the DOM.\nconst reservedProps = [\n 'children',\n 'dangerouslySetInnerHTML',\n // TODO: This prevents the assignment of defaultValue to regular\n // elements (not just inputs). Now that ReactDOMInput assigns to the\n // defaultValue property -- do we need this?\n 'defaultValue',\n 'defaultChecked',\n 'innerHTML',\n 'suppressContentEditableWarning',\n 'suppressHydrationWarning',\n 'style',\n];\n\nreservedProps.forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n RESERVED,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n[\n ['acceptCharset', 'accept-charset'],\n ['className', 'class'],\n ['htmlFor', 'for'],\n ['httpEquiv', 'http-equiv'],\n].forEach(([name, attributeName]) => {\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n[\n 'autoReverse',\n 'externalResourcesRequired',\n 'focusable',\n 'preserveAlpha',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEANISH_STRING,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML boolean attributes.\n[\n 'allowFullScreen',\n 'async',\n // Note: there is a special case that prevents it from being written to the DOM\n // on the client side because the browsers are inconsistent. Instead we call focus().\n 'autoFocus',\n 'autoPlay',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'disablePictureInPicture',\n 'disableRemotePlayback',\n 'formNoValidate',\n 'hidden',\n 'loop',\n 'noModule',\n 'noValidate',\n 'open',\n 'playsInline',\n 'readOnly',\n 'required',\n 'reversed',\n 'scoped',\n 'seamless',\n // Microdata\n 'itemScope',\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n[\n 'checked',\n // Note: `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`. We have special logic for handling this.\n 'multiple',\n 'muted',\n 'selected',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n BOOLEAN,\n true, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n[\n 'capture',\n 'download',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n OVERLOADED_BOOLEAN,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be positive numbers.\n[\n 'cols',\n 'rows',\n 'size',\n 'span',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n POSITIVE_NUMERIC,\n false, // mustUseProperty\n name, // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These are HTML attributes that must be numbers.\n['rowSpan', 'start'].forEach(name => {\n properties[name] = new PropertyInfoRecord(\n name,\n NUMERIC,\n false, // mustUseProperty\n name.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\nconst CAMELIZE = /[\\-\\:]([a-z])/g;\nconst capitalize = token => token[1].toUpperCase();\n\n// This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n[\n 'accent-height',\n 'alignment-baseline',\n 'arabic-form',\n 'baseline-shift',\n 'cap-height',\n 'clip-path',\n 'clip-rule',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'dominant-baseline',\n 'enable-background',\n 'fill-opacity',\n 'fill-rule',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'glyph-name',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'horiz-adv-x',\n 'horiz-origin-x',\n 'image-rendering',\n 'letter-spacing',\n 'lighting-color',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'overline-position',\n 'overline-thickness',\n 'paint-order',\n 'panose-1',\n 'pointer-events',\n 'rendering-intent',\n 'shape-rendering',\n 'stop-color',\n 'stop-opacity',\n 'strikethrough-position',\n 'strikethrough-thickness',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'underline-position',\n 'underline-thickness',\n 'unicode-bidi',\n 'unicode-range',\n 'units-per-em',\n 'v-alphabetic',\n 'v-hanging',\n 'v-ideographic',\n 'v-mathematical',\n 'vector-effect',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'word-spacing',\n 'writing-mode',\n 'xmlns:xlink',\n 'x-height',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xlink namespace.\n[\n 'xlink:actuate',\n 'xlink:arcrole',\n 'xlink:role',\n 'xlink:show',\n 'xlink:title',\n 'xlink:type',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/1999/xlink',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// String SVG attributes with the xml namespace.\n[\n 'xml:base',\n 'xml:lang',\n 'xml:space',\n\n // NOTE: if you add a camelCased prop to this list,\n // you'll need to set attributeName to name.toLowerCase()\n // instead in the assignment below.\n].forEach(attributeName => {\n const name = attributeName.replace(CAMELIZE, capitalize);\n properties[name] = new PropertyInfoRecord(\n name,\n STRING,\n false, // mustUseProperty\n attributeName,\n 'http://www.w3.org/XML/1998/namespace',\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n['tabIndex', 'crossOrigin'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n false, // sanitizeURL\n false, // removeEmptyString\n );\n});\n\n// These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\nconst xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord(\n 'xlinkHref',\n STRING,\n false, // mustUseProperty\n 'xlink:href',\n 'http://www.w3.org/1999/xlink',\n true, // sanitizeURL\n false, // removeEmptyString\n);\n\n['src', 'href', 'action', 'formAction'].forEach(attributeName => {\n properties[attributeName] = new PropertyInfoRecord(\n attributeName,\n STRING,\n false, // mustUseProperty\n attributeName.toLowerCase(), // attributeName\n null, // attributeNamespace\n true, // sanitizeURL\n true, // removeEmptyString\n );\n});\n\n// \nconst {\n CAMELCASE,\n SAME,\n possibleStandardNames: possibleStandardNamesOptimized\n} = require('../lib/possibleStandardNamesOptimized');\n\nconst ATTRIBUTE_NAME_START_CHAR =\n ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n\nconst ATTRIBUTE_NAME_CHAR =\n ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\n\n/**\n * Checks whether a property name is a custom attribute.\n *\n * @see https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25\n *\n * @type {(attribute: string) => boolean}\n */\nconst isCustomAttribute =\n RegExp.prototype.test.bind(\n // eslint-disable-next-line no-misleading-character-class\n new RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$')\n );\n\n/**\n * @type {Record<string, string>}\n */\nconst possibleStandardNames = Object.keys(\n possibleStandardNamesOptimized\n).reduce((accumulator, standardName) => {\n const propName = possibleStandardNamesOptimized[standardName];\n if (propName === SAME) {\n accumulator[standardName] = standardName;\n } else if (propName === CAMELCASE) {\n accumulator[standardName.toLowerCase()] = standardName;\n } else {\n accumulator[standardName] = propName;\n }\n return accumulator;\n}, {});\n\nexports.BOOLEAN = BOOLEAN;\nexports.BOOLEANISH_STRING = BOOLEANISH_STRING;\nexports.NUMERIC = NUMERIC;\nexports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;\nexports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;\nexports.RESERVED = RESERVED;\nexports.STRING = STRING;\nexports.getPropertyInfo = getPropertyInfo;\nexports.isCustomAttribute = isCustomAttribute;\nexports.possibleStandardNames = possibleStandardNames;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = domToReact;\nvar react_1 = require(\"react\");\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nvar utilities_1 = require(\"./utilities\");\nvar React = {\n cloneElement: react_1.cloneElement,\n createElement: react_1.createElement,\n isValidElement: react_1.isValidElement,\n};\n/**\n * Converts DOM nodes to JSX element(s).\n *\n * @param nodes - DOM nodes.\n * @param options - Options.\n * @returns - String or JSX element(s).\n */\nfunction domToReact(nodes, options) {\n if (options === void 0) { options = {}; }\n var reactElements = [];\n var hasReplace = typeof options.replace === 'function';\n var transform = options.transform || utilities_1.returnFirstArg;\n var _a = options.library || React, cloneElement = _a.cloneElement, createElement = _a.createElement, isValidElement = _a.isValidElement;\n var nodesLength = nodes.length;\n for (var index = 0; index < nodesLength; index++) {\n var node = nodes[index];\n // replace with custom React element (if present)\n if (hasReplace) {\n var replaceElement = options.replace(node, index);\n if (isValidElement(replaceElement)) {\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n replaceElement = cloneElement(replaceElement, {\n key: replaceElement.key || index,\n });\n }\n reactElements.push(transform(replaceElement, node, index));\n continue;\n }\n }\n if (node.type === 'text') {\n var isWhitespace = !node.data.trim().length;\n // We have a whitespace node that can't be nested in its parent\n // so skip it\n if (isWhitespace &&\n node.parent &&\n !(0, utilities_1.canTextBeChildOfNode)(node.parent)) {\n continue;\n }\n // Trim is enabled and we have a whitespace node\n // so skip it\n if (options.trim && isWhitespace) {\n continue;\n }\n // We have a text node that's not whitespace and it can be nested\n // in its parent so add it to the results\n reactElements.push(transform(node.data, node, index));\n continue;\n }\n var element = node;\n var props = {};\n if (skipAttributesToProps(element)) {\n (0, utilities_1.setStyleProp)(element.attribs.style, element.attribs);\n props = element.attribs;\n }\n else if (element.attribs) {\n props = (0, attributes_to_props_1.default)(element.attribs, element.name);\n }\n var children = void 0;\n switch (node.type) {\n case 'script':\n case 'style':\n // prevent text in <script> or <style> from being escaped\n // https://react.dev/reference/react-dom/components/common#dangerously-setting-the-inner-html\n if (node.children[0]) {\n props.dangerouslySetInnerHTML = {\n __html: node.children[0].data,\n };\n }\n break;\n case 'tag':\n // setting textarea value in children is an antipattern in React\n // https://react.dev/reference/react-dom/components/textarea#caveats\n if (node.name === 'textarea' && node.children[0]) {\n props.defaultValue = node.children[0].data;\n }\n else if (node.children && node.children.length) {\n // continue recursion of creating React elements (if applicable)\n children = domToReact(node.children, options);\n }\n break;\n // skip all other cases (e.g., comment)\n default:\n continue;\n }\n // set \"key\" prop for sibling elements\n // https://react.dev/learn/rendering-lists#rules-of-keys\n if (nodesLength > 1) {\n props.key = index;\n }\n reactElements.push(transform(createElement(node.name, props, children), node, index));\n }\n return reactElements.length === 1 ? reactElements[0] : reactElements;\n}\n/**\n * Determines whether DOM element attributes should be transformed to props.\n * Web Components should not have their attributes transformed except for `style`.\n *\n * @param node - Element node.\n * @returns - Whether the node attributes should be converted to props.\n */\nfunction skipAttributesToProps(node) {\n return (utilities_1.PRESERVE_CUSTOM_ATTRIBUTES &&\n node.type === 'tag' &&\n (0, utilities_1.isCustomComponent)(node.name, node.attribs));\n}\n//# sourceMappingURL=dom-to-react.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.htmlToDOM = exports.domToReact = exports.attributesToProps = exports.Text = exports.ProcessingInstruction = exports.Element = exports.Comment = void 0;\nexports.default = HTMLReactParser;\nvar html_dom_parser_1 = __importDefault(require(\"html-dom-parser\"));\nexports.htmlToDOM = html_dom_parser_1.default;\nvar attributes_to_props_1 = __importDefault(require(\"./attributes-to-props\"));\nexports.attributesToProps = attributes_to_props_1.default;\nvar dom_to_react_1 = __importDefault(require(\"./dom-to-react\"));\nexports.domToReact = dom_to_react_1.default;\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"Comment\", { enumerable: true, get: function () { return domhandler_1.Comment; } });\nObject.defineProperty(exports, \"Element\", { enumerable: true, get: function () { return domhandler_1.Element; } });\nObject.defineProperty(exports, \"ProcessingInstruction\", { enumerable: true, get: function () { return domhandler_1.ProcessingInstruction; } });\nObject.defineProperty(exports, \"Text\", { enumerable: true, get: function () { return domhandler_1.Text; } });\nvar domParserOptions = { lowerCaseAttributeNames: false };\n/**\n * Converts HTML string to React elements.\n *\n * @param html - HTML string.\n * @param options - Parser options.\n * @returns - React element(s), empty array, or string.\n */\nfunction HTMLReactParser(html, options) {\n if (typeof html !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n if (!html) {\n return [];\n }\n return (0, dom_to_react_1.default)((0, html_dom_parser_1.default)(html, (options === null || options === void 0 ? void 0 : options.htmlparser2) || domParserOptions), options);\n}\n//# sourceMappingURL=index.js.map","import HTMLReactParser from '../lib/index.js';\n\nexport {\n attributesToProps,\n Comment,\n domToReact,\n Element,\n htmlToDOM,\n ProcessingInstruction,\n Text,\n} from '../lib/index.js';\n\nexport default HTMLReactParser.default || HTMLReactParser;\n","import React, {createContext, ReactElement, SVGProps, use} from \"react\";\nimport parse, { HTMLReactParserOptions, Element } from \"html-react-parser\";\n\nimport * as cn from \"./Icon.styles\"\n// TODO: html-react-parser is not the best choice, but it works for now\n\nexport const IconProvider = createContext({\n iconSet: {}\n})\n\ninterface IconProps {\n name: string;\n size?: number;\n color?: string;\n}\n\nexport function Icon(props: IconProps): ReactElement | null {\n const {name, size = 24, color} = props\n\n const iconProvider = use(IconProvider)\n const iconSet = iconProvider?.iconSet\n\n if (!iconSet) {\n return null\n }\n\n const ico = iconSet[name]\n if (!ico || !ico.svg) {\n return null\n }\n\n const icon = parseIcon(ico.svg) as ReactElement<SVGProps<SVGSVGElement>>\n\n if (React.isValidElement(icon)) {\n return React.cloneElement(icon, {\n width: size,\n height: size,\n color: color || icon.props.color || 'currentColor',\n fill: color || icon.props.fill || 'currentColor',\n style: {\n width: size,\n height: size,\n color: color || icon.props.color || 'currentColor',\n fill: color || icon.props.color || 'currentColor',\n }\n })\n }\n\n return null\n}\n\nIcon.ExternalArrow = function ExternalArrow() {\n return <svg\n className={cn.ExternalArrowHost}\n aria-hidden=\"true\"\n viewBox=\"0 0 6 6\"\n >\n <path\n d=\"M1.25215 5.54731L0.622742 4.9179L3.78169 1.75597H1.3834L1.38936 0.890915H5.27615V4.78069H4.40513L4.41109 2.38538L1.25215 5.54731Z\"\n fill=\"var(--accents-3)\"\n />\n </svg>\n}\n\n\nfunction parseIcon(svg: string) {\n const options: HTMLReactParserOptions = {\n htmlparser2: { xmlMode: true }, // preserves case of *attributes*, still lowercase tags\n replace(domNode) {\n if (domNode.type === \"tag\") {\n const el = domNode as Element;\n \n // ✅ Fix tag name casing\n if (el.name === \"lineargradient\") el.name = \"linearGradient\";\n if (el.name === \"radialgradient\") el.name = \"radialGradient\";\n if (el.name === \"clippath\") el.name = \"clipPath\";\n if (el.name === \"pattern\") el.name = \"pattern\"; // example: stays same\n \n // ✅ Fix attribute casing for React\n const attrs = el.attribs || {};\n if (\"stop-color\" in attrs) {\n attrs.stopColor = attrs[\"stop-color\"];\n delete attrs[\"stop-color\"];\n }\n if (\"fill-rule\" in attrs) {\n attrs.fillRule = attrs[\"fill-rule\"];\n delete attrs[\"fill-rule\"];\n }\n if (\"clip-rule\" in attrs) {\n attrs.clipRule = attrs[\"clip-rule\"];\n delete attrs[\"clip-rule\"];\n }\n }\n return domNode;\n },\n };\n \n return parse(svg, options);\n }","import { css } from \"@linaria/core\";\n\nexport const ExternalArrowHost = css`\n @layer defaults {\n --external-arrow2-size: 7px;\n\n width: var(--external-arrow2-size);\n height: var(--external-arrow2-size);\n margin-top: calc(var(--external-arrow2-size) * -1);\n margin-left: calc(var(--external-arrow2-size) / 2);\n\n fill: currentColor;\n color: currentColor;\n }\n`;"],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","apply","SuppressedError","defineProperty","exports","Doctype","CDATA","Tag","Style","Script","Comment","Directive","Text","Root","isTag","ElementType","elem","type","extendStatics","__extends","this","d","b","setPrototypeOf","__proto__","Array","TypeError","String","__","constructor","create","__assign","assign","n","arguments","node","cloneNode","hasChildren","isDocument","isDirective","isComment","isCDATA","Element","Document","NodeWithChildren","DataNode","Node","domelementtype_1","require$$0","parent","prev","startIndex","endIndex","get","set","enumerable","configurable","recursive","_super","data","_this","ProcessingInstruction","name","children","_a","attribs","keys","map","_b","namespace","prefix","isText","cloneChildren","clone_1","forEach","child","clone_2","clone_3","Error","concat","instruction","sourceCodeLocation","childs","__createBinding","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","__exportStar","DomHandler","node_js_1","require$$1","defaultOpts","withStartIndices","withEndIndices","xmlMode","callback","options","elementCB","dom","root","tagStack","lastNode","parser","_typeof","onparserinit","onreset","onend","handleCallback","onerror","error","onclosetag","pop","onopentag","element","addNode","push","ontext","oncomment","oncommentend","oncdatastart","text","oncdataend","onprocessinginstruction","previousSibling","requireDecodeCodepoint","hasRequiredDecodeCodepoint","replaceCodePoint","decodeCodePoint","decodeMap","Map","codePoint","fromCodePoint","decodeCodepoint","decode_data_html_js_1","CharCodes","decode_data_xml_js_1","decode_codepoint_js_1","require$$2","BinTrieFlags","EntityDecoderState","DecodingMode","code","LOWER_A","LOWER_F","isEntityInAttributeInvalidEnd","EQUALS","LOWER_Z","isNumber","isAsciiAlphaNumeric","EntityDecoder","decodeTree","emitCodePoint","errors","state","EntityStart","consumed","treeIndex","excess","input","offset","charCodeAt","NUM","NumericStart","stateNumericStart","NamedEntity","stateNamedEntity","LOWER_X","NumericHex","stateNumericHex","NumericDecimal","Number","parseInt","substr","start","digitCount","base","char","addToNumericResult","lastCp","expectedLength","absenceOfDigitsInNumericCharacterReference","SEMI","decodeMode","Strict","validateNumericCharacterReference","current","valueLength","VALUE_LENGTH","determineBranch","Math","max","Attribute","emitNotTerminatedNamedEntity","emitNamedEntityData","key","missingSemicolonAfterCharacterReference","emitNumericEntity","getDecoder","decoder","returnValue","lastIndex","slice","startEntity","write","end","hasRequiredTokenizer","Tokenizer_1","QuoteType","decode_1","State","isWhitespace","c","Space","NewLine","Tab","FormFeed","CarriageReturn","isEndOfTagSection","Slash","Gt","Sequences","Cdata","Uint8Array","CdataEnd","CommentEnd","ScriptEnd","StyleEnd","TitleEnd","XmpEnd","Tokenizer","cbs","_ref$xmlMode","_ref","_ref$decodeEntities","decodeEntities","_classCallCheck","buffer","sectionStart","index","entityStart","baseState","isSpecial","running","currentSequence","sequenceIndex","entityDecoder","xmlDecodeTree","htmlDecodeTree","cp","chunk","parse","finish","stateText","Lt","fastForwardTo","BeforeTagName","Amp","stateSpecialStartSequence","isEnd","InTagName","stateInTagName","stateInSpecialTag","endOfText","actualIndex","stateInClosingTagName","InCommentLike","InDeclaration","stateInDeclaration","stateInCommentLike","oncdata","isASCIIAlpha","LowerA","LowerZ","UpperA","UpperZ","sequence","SpecialStartSequence","stateBeforeTagName","ExclamationMark","BeforeDeclaration","Questionmark","InProcessingInstruction","isTagStartChar","lower","BeforeSpecialS","BeforeSpecialT","BeforeClosingTagName","onopentagname","BeforeAttributeName","stateBeforeAttributeName","stateBeforeClosingTagName","InClosingTagName","InSpecialComment","AfterClosingTagName","stateAfterClosingTagName","onopentagend","InSpecialTag","InSelfClosingTag","InAttributeName","stateInSelfClosingTag","onselfclosingtag","Eq","onattribname","AfterAttributeName","stateAfterAttributeName","BeforeAttributeValue","onattribend","NoValue","DoubleQuote","InAttributeValueDq","SingleQuote","InAttributeValueSq","InAttributeValueNq","stateInAttributeValueNoQuotes","quote","onattribdata","Double","Single","stateInAttributeValueDoubleQuotes","handleInAttributeValue","stateInAttributeValueSingleQuotes","Unquoted","stateBeforeDeclaration","OpeningSquareBracket","CDATASequence","Dash","BeforeComment","ondeclaration","stateBeforeComment","stateInSpecialComment","stateBeforeSpecialS","startSpecial","stateBeforeSpecialT","TextareaEnd","InEntity","Legacy","shouldContinue","stateCDATASequence","stateInAttributeName","stateBeforeAttributeValue","stateInProcessingInstruction","stateInEntity","Parser_1","Parser","Tokenizer_js_1","__importStar","formTags","Set","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","_c","_d","openTagStart","tagname","attribname","attribvalue","stack","bufferOffset","writeIndex","ended","htmlMode","lowerCaseTagNames","lowerCaseTags","lowerCaseAttributeNames","recognizeSelfClosing","tokenizer","foreignContext","_f","_e","getSlice","isVoidElement","has","toLowerCase","emitOpenTag","impliesClose","shift","unshift","endOpenTag","isImplied","_g","_h","pos","closeCurrentTag","isOpenImplied","onattribentity","onattribute","search","reNameEnd","getInstructionName","_j","_k","recognizeCDATA","output","decodeXML","decodeHTMLStrict","decodeHTMLAttribute","decodeHTML","__importDefault","decode_codepoint_js_2","str","startIdx","stateNumericDecimal","ret","len","nodeIdx","branchCount","BRANCH_LENGTH","midVal","requireEncodeHtml","hasRequiredEncodeHtml","encodeHtml","escapeUTF8","escape","encodeXML","getCodePoint","xmlReplacer","xmlCodeMap","match","exec","substring","lastIdx","regex","codePointAt","getEscaper","regExp","encode_html_js_1","nextChar","v","encodeHTML","encodeHTMLTrieRe","htmlReplacer","encodeNonAsciiHTML","escape_js_1","hasRequiredLib","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","encodeHTML5","encodeHTML4","escapeText","escapeAttribute","encode","decodeStrict","decode","EncodingMode","EntityLevel","encode_js_1","mode","decode_js_1","XML","opts","level","foreignNames","attributeNames","elementNames","val","__setModuleDefault","mod","lib","render","entities_1","foreignNames_js_1","unencodedElements","replaceQuotes","replace","singleTag","nodes","renderNode","renderComment","renderCdata","foreignModeIntegrationPoints","foreignElements","tag","attributes","encodeEntities","emptyAttrs","join","formatAttributes","selfClosingTags","renderTag","renderText","requireStringify","hasRequiredStringify","stringify","domhandler_1","getOuterHTML","textContent","innerText","dom_serializer_1","hasRequiredTraversal","requireTraversal","traversal","getSiblings","getParent","getChildren","siblings","nextElementSibling","prevElementSibling","hasRequiredManipulation","requireManipulation","manipulation","removeElement","childsIndex","lastIndexOf","replacement","currNext","prependChild","prepend","splice","hasRequiredQuerying","requireQuerying","findOne","test","recurse","isArray","searchedNodes","find","limit","indexStack","nodeStack","hasRequiredLegacy","testElement","getElements","querying_js_1","filter","getElementById","getElementsByTagName","legacy","getElementsByClassName","getElementsByTagType","Checks","attrib","combineFuncs","a","funcs","reduce","hasRequiredHelpers","idx","ancestor","uniqueSort","arr","includes","sort","relative","compareDocumentPosition","DocumentPosition","PRECEDING","nodeA","nodeB","aParents","bParents","maxIdx","min","DISCONNECTED","sharedParent","aSibling","bSibling","FOLLOWING","CONTAINED_BY","hasRequiredFeeds","feeds","feedRoot","getAtomFeed","legacy_js_1","item","entry","media","getMediaElements","addConditionally","href","getOneElement","link","description","fetch","pubDate","Date","feed","updated","getRssFeed","stringify_js_1","getFeed","DefaultHandler","parseDocument","createDocumentStream","elementCallback","handler","Parser_js_1","Parser_js_2","domhandler_2","parseDOM","utilities","unsetRootParent","possibleStandardNamesOptimized","SAME","CAMELCASE","possibleStandardNames","accept","acceptCharset","accessKey","action","allowFullScreen","alt","as","async","autoCapitalize","autoComplete","autoCorrect","autoFocus","autoPlay","autoSave","capture","cellPadding","cellSpacing","challenge","charSet","checked","cite","class","classID","className","cols","colSpan","content","contentEditable","contextMenu","controls","controlsList","coords","crossOrigin","dangerouslySetInnerHTML","dateTime","default","defaultChecked","defaultValue","defer","dir","disabled","disablePictureInPicture","disableRemotePlayback","download","draggable","encType","enterKeyHint","for","form","formMethod","formAction","formEncType","formNoValidate","formTarget","frameBorder","headers","height","hidden","high","hrefLang","htmlFor","httpEquiv","icon","id","innerHTML","inputMode","integrity","is","itemID","itemProp","itemRef","itemScope","itemType","keyParams","keyType","kind","label","lang","list","loop","low","manifest","marginWidth","marginHeight","maxLength","mediaGroup","method","minLength","multiple","muted","noModule","nonce","noValidate","open","optimum","pattern","placeholder","playsInline","poster","preload","profile","radioGroup","readOnly","referrerPolicy","rel","required","reversed","role","rows","rowSpan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","spellCheck","src","srcDoc","srcLang","srcSet","style","summary","tabIndex","target","title","useMap","width","wmode","wrap","about","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","color","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","datatype","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filterRes","filterUnits","floodOpacity","floodColor","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in2","in","inlist","intercept","k1","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","numOctaves","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","property","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","resource","restart","results","rotate","rx","ry","scale","security","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeWidth","strokeOpacity","suppressContentEditableWarning","suppressHydrationWarning","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","typeof","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","unselectable","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewBox","viewTarget","visibility","vMathematical","vocab","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","hasRequiredCjs","cjs","iterator","styleObject","declarations","inline_style_parser_1","hasIterator","declaration","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","inlineStyleParser","lineno","column","updatePosition","lines","position","line","Position","whitespace","source","msg","err","reason","filename","silent","re","comments","rules","comment","charAt","prop","decl","decls","camelCase","CUSTOM_PROPERTY_REGEX","HYPHEN_REGEX","NO_HYPHEN_REGEX","MS_VENDOR_PREFIX_REGEX","character","toUpperCase","trimHyphen","skipCamelCase","reactCompat","requireUtilities","returnFirstArg","canTextBeChildOfNode","ELEMENTS_WITH_NO_TEXT_CHILDREN","PRESERVE_CUSTOM_ATTRIBUTES","isCustomComponent","tagName","props","Boolean","setStyleProp","style_to_js_1","styleOptions","react_1","style_to_object_1","utilities_1","StyleToJS","split","requireAttributesToProps","hasRequiredAttributesToProps","attributesToProps_1","nodeName","isInputValueOnly","valueOnlyInputs","attributeValue","attributeNameLowerCased","PropertyInfoRecord","mustUseProperty","attributeNamespace","sanitizeURL","removeEmptyString","acceptsBooleans","propertyName","properties","_ref2","_slicedToArray","CAMELIZE","capitalize","token","_require$$","isCustomAttribute","RegExp","bind","accumulator","standardName","propName","BOOLEAN","BOOLEANISH_STRING","NUMERIC","OVERLOADED_BOOLEAN","POSITIVE_NUMERIC","RESERVED","STRING","getPropertyInfo","submit","hasRequiredDomToReact","domToReact_1","reactElements","library","React","cloneElement","createElement","isValidElement","nodesLength","replaceElement","skipAttributesToProps","attributes_to_props_1","__html","domToReact","dom_to_react_1","require$$3","HTMLReactParser","IconProvider","createContext","iconSet","Icon","_props$size","iconProvider","use","ico","svg","htmlparser2","domNode","el","attrs","ExternalArrow"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]}