forstok-ui-lib 3.0.1 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +92 -1
- package/dist/index.js +406 -65
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +406 -65
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -2
- package/src/assets/stylesheets/shares.styles.ts +1 -1
- package/src/components/dropdown/dropdown.styles.ts +325 -0
- package/src/components/dropdown/dropdown.tsx +254 -0
- package/src/components/dropdown/dropdown.typed.ts +24 -0
- package/src/components/index.ts +9 -0
- package/src/components/message/message.styles.ts +211 -0
- package/src/components/message/message.tsx +62 -0
- package/src/components/message/message.typed.ts +18 -0
- package/src/components/message/message_question.tsx +72 -0
- package/src/components/popup/popup.styles.ts +315 -0
- package/src/components/popup/popup.tsx +92 -0
- package/src/components/popup/popup.typed.ts +33 -0
- package/src/components/portal/react_portal.tsx +37 -0
- package/src/typeds/shares.typed.ts +18 -0
- package/tsconfig.json +6 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/react/cjs/react-jsx-runtime.production.js","../src/components/text/text.styles.ts","../src/components/text/text.tsx","../src/assets/stylesheets/bases.styles.ts","../src/components/link/link.styles.ts","../src/components/link/link.tsx","../src/components/input/input.styles.ts","../src/components/input/input.tsx","../src/components/checkbox/checkbox.styles.ts","../src/components/checkbox/checkbox.tsx","../src/components/button/button.styles.ts","../src/components/button/button.tsx","../src/components/label/label.styles.ts","../src/components/label/label.tsx","../src/components/loading/loading.styles.ts","../src/components/loading/loading.tsx","../src/components/icon/icon.styles.ts","../src/components/icon/icon.tsx","../src/assets/stylesheets/shares.styles.ts"],"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","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"<anonymous>\") &&\n (_frame = _frame.replace(\"<anonymous>\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n if (\n \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n children +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (isStaticChildren = \"null\")\n : isArrayImpl(type)\n ? (isStaticChildren = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((isStaticChildren =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (children =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (isStaticChildren = typeof type);\n console.error(\n \"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n isStaticChildren,\n children\n );\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n (null === node || \"object\" !== typeof node\n ? (i = null)\n : ((i =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (i = \"function\" === typeof i ? i : null)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !1, source, self);\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !0, source, self);\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","SuppressedError","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE$2","displayName","name","REACT_FRAGMENT_TYPE","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","tag","console","error","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","disabledLog","describeBuiltInComponentFrame","undefined","prefix","Error","match","stack","trim","suffix","describeNativeComponentFrame","fn","construct","reentry","frame","componentFrameCache","get","prepareStackTrace","previousDispatcher","ReactSharedInternals","H","disabledDepth","prevLog","log","prevInfo","info","prevWarn","warn","prevError","prevGroup","group","prevGroupCollapsed","groupCollapsed","prevGroupEnd","groupEnd","props","configurable","enumerable","writable","defineProperties","disableLogs","RunInRootFrame","DetermineComponentFrameRoot","Fake","defineProperty","set","Reflect","control","x$0","x$1","catch","sample","namePropDescriptor","getOwnPropertyDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","split","controlLines","includes","_frame","replace","assign","reenableLogs","describeUnknownElementTypeFrameInDEV","isReactComponent","getOwner","dispatcher","A","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","source","self","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE$1","getModuleId","children","isArrayImpl","validateChildKeys","freeze","keys","REACT_ELEMENT_TYPE","filter","k","join","didWarnAboutKeySpread","getter","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineKeyPropWarningGetter","owner","_owner","_store","ReactElement","node","parentType","REACT_CLIENT_REFERENCE","child","isValidElement","validateExplicitKey","validated","MAYBE_ITERATOR_SYMBOL","entries","next","done","object","element","getCurrentComponentErrorInfo","ownerHasKeyUseWarning","childOwner","prevGetCurrentStack","getCurrentStack","React","require$$0","for","iterator","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","Array","isArray","__reactDisabledLog","WeakMap","Map","reactJsxRuntime_development","Fragment","jsx","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","elipsisStyle","css","TextContainer","styled","span","$color","$elipsis","style","TextComponent","_a","_jsx","clearList","responseWidth","elipsis","multiElipsis","thirdElipsis","boxBase","dropBase","headTable","formLabel","ClearStyles","ClearRStyles","ButtonStyles","getLinkModifiedStyled","mode","$activated","$shadow","disabled","AnchorLinkContainer","a","ElLinkContainer","LinkComponent","href","onClick","className","SubmitStyles","InputContainer","input","width","height","$iconLeft","$iconRight","$isError","InputComponent","reset","setReset","isForceUpdate","setForceUpdate","evChange","evBlur","isField","evChangeCustom","evEnter","evKeyUp","defaultValue","defaultChecked","_value","_b","toString","inputValue","evInputValue","useState","inputChecked","evInputChecked","useEffect","handleChange","target","parseProps","inputEl","checked","onChange","onBlur","parseInt","_evBlur","onKeyUp","preventDefault","_evKeyUp","onKeyPress","isNaN","Number","onPaste","clipboardData","window","getData","document","execCommand","onFocus","addEventListener","passive","min","getInputContainerStyled","arrowIconStyles","CheckmarkContainer","CheckboxContainer","label","$flow","CheckboxComponent","id","extendKey","extendClass","checkboxRef","useRef","_jsxs","htmlFor","IconStyles","ButtonContainer","button","$mode","$isIndicatorArrow","$isShown","$isLoading","$size","IndicatorsArrowIconSvg","svg","color","ButtonComponent","isIndicatorArrowColor","refContainer","IndicatorArrowIconEl","viewBox","focusable","d","blockStyles","EmptyStyles","ElContainer","$position","LabelComponent","LoadingContainer","div","LoadingParentContainer","LoadingComponent","$shape","$extendClass","_className","IconContainer","$name","$width","IconComponent","PanelContainer","section","ListContainer","PanelWrapper","Title","h1","HeaderContainer","aside","TabsContainer","TabsContent","FoContainer","InfoGroup"],"mappings":"0GA0CO,SAASA,EAAOC,EAAGC,GACtB,IAAIC,EAAI,CAAA,EACR,IAAK,IAAIC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBACtB,KAAIC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,CAoRkD,mBAApBW,iBAAiCA;;;;;;;;;+BC7T/D,eAAiBC,QAAQC,IAAIC,UAC3B,WACE,SAASC,EAAyBC,GAChC,GAAI,MAAQA,EAAM,OAAO,KACzB,GAAI,mBAAsBA,EACxB,OAAOA,EAAKC,WAAaC,EACrB,KACAF,EAAKG,aAAeH,EAAKI,MAAQ,KACvC,GAAI,iBAAoBJ,EAAM,OAAOA,EACrC,OAAQA,GACN,KAAKK,EACH,MAAO,WACT,KAAKC,EACH,MAAO,SACT,KAAKC,EACH,MAAO,WACT,KAAKC,EACH,MAAO,aACT,KAAKC,EACH,MAAO,WACT,KAAKC,EACH,MAAO,eAEX,GAAI,iBAAoBV,EACtB,OACG,iBAAoBA,EAAKW,KACxBC,QAAQC,MACN,qHAEJb,EAAKC,UAEL,KAAKa,EACH,OAAQd,EAAKG,aAAe,WAAa,YAC3C,KAAKY,EACH,OAAQf,EAAKgB,SAASb,aAAe,WAAa,YACpD,KAAKc,EACH,IAAIC,EAAYlB,EAAKmB,OAKrB,OAJAnB,EAAOA,EAAKG,eAGTH,EAAO,MADNA,EAAOkB,EAAUf,aAAee,EAAUd,MAAQ,IAC9B,cAAgBJ,EAAO,IAAM,cAC9CA,EACT,KAAKoB,EACH,OAEE,QADCF,EAAYlB,EAAKG,aAAe,MAE7Be,EACAnB,EAAyBC,EAAKA,OAAS,OAE/C,KAAKqB,EACHH,EAAYlB,EAAKsB,SACjBtB,EAAOA,EAAKuB,MACZ,IACE,OAAOxB,EAAyBC,EAAKkB,GACtC,CAAC,MAAOM,GAAG,EAElB,OAAO,IACb,CACI,SAASC,EAAmBC,GAC1B,MAAO,GAAKA,CAClB,CACI,SAASC,EAAuBD,GAC9B,IACED,EAAmBC,GACnB,IAAIE,GAA2B,CAChC,CAAC,MAAO7C,GACP6C,GAA2B,CACnC,CACM,GAAIA,EAA0B,CAE5B,IAAIC,GADJD,EAA2BhB,SAC0BC,MACjDiB,EACD,mBAAsBC,QACrBA,OAAOC,aACPN,EAAMK,OAAOC,cACfN,EAAMO,YAAY7B,MAClB,SAMF,OALAyB,EAAsBxC,KACpBuC,EACA,2GACAE,GAEKL,EAAmBC,EAClC,CACA,CACI,SAASQ,IAAc,CA+CvB,SAASC,EAA8B/B,GACrC,QAAIgC,IAAWC,EACb,IACE,MAAMC,OACP,CAAC,MAAOd,GACP,IAAIe,EAAQf,EAAEgB,MAAMC,OAAOF,MAAM,gBACjCF,EAAUE,GAASA,EAAM,IAAO,GAChCG,GACE,EAAKlB,EAAEgB,MAAMlD,QAAQ,YACjB,kBACA,EAAKkC,EAAEgB,MAAMlD,QAAQ,KACnB,eACA,EAClB,CACM,MAAO,KAAO+C,EAASjC,EAAOsC,CACpC,CACI,SAASC,EAA6BC,EAAIC,GACxC,IAAKD,GAAME,EAAS,MAAO,GAC3B,IAAIC,EAAQC,EAAoBC,IAAIL,GACpC,QAAIR,IAAWW,EAAO,OAAOA,EAC7BD,GAAU,EACVC,EAAQT,MAAMY,kBACdZ,MAAMY,uBAAoBd,EAC1B,IAAIe,EACJA,EAAqBC,EAAqBC,EAC1CD,EAAqBC,EAAI,KAvE3B,WACE,GAAI,IAAMC,EAAe,CACvBC,EAAU3C,QAAQ4C,IAClBC,EAAW7C,QAAQ8C,KACnBC,EAAW/C,QAAQgD,KACnBC,EAAYjD,QAAQC,MACpBiD,EAAYlD,QAAQmD,MACpBC,EAAqBpD,QAAQqD,eAC7BC,EAAetD,QAAQuD,SACvB,IAAIC,EAAQ,CACVC,cAAc,EACdC,YAAY,EACZ5C,MAAOQ,EACPqC,UAAU,GAEZrF,OAAOsF,iBAAiB5D,QAAS,CAC/B8C,KAAMU,EACNZ,IAAKY,EACLR,KAAMQ,EACNvD,MAAOuD,EACPL,MAAOK,EACPH,eAAgBG,EAChBD,SAAUC,GAEpB,CACMd,GACN,CA8CMmB,GACA,IACE,IAAIC,EAAiB,CACnBC,4BAA6B,WAC3B,IACE,GAAI9B,EAAW,CACb,IAAI+B,EAAO,WACT,MAAMtC,OACP,EAMD,GALApD,OAAO2F,eAAeD,EAAKzF,UAAW,QAAS,CAC7C2F,IAAK,WACH,MAAMxC,OAC1B,IAEoB,iBAAoByC,SAAWA,QAAQlC,UAAW,CACpD,IACEkC,QAAQlC,UAAU+B,EAAM,GACzB,CAAC,MAAOpD,GACP,IAAIwD,EAAUxD,CAClC,CACkBuD,QAAQlC,UAAUD,EAAI,GAAIgC,EAC5C,KAAuB,CACL,IACEA,EAAKvF,MACN,CAAC,MAAO4F,GACPD,EAAUC,CAC9B,CACkBrC,EAAGvD,KAAKuF,EAAKzF,UAC/B,CACA,KAAqB,CACL,IACE,MAAMmD,OACP,CAAC,MAAO4C,GACPF,EAAUE,CAC5B,EACiBN,EAAOhC,MACN,mBAAsBgC,EAAKO,OAC3BP,EAAKO,OAAM,cAC7B,CACa,CAAC,MAAOC,GACP,GAAIA,GAAUJ,GAAW,iBAAoBI,EAAO5C,MAClD,MAAO,CAAC4C,EAAO5C,MAAOwC,EAAQxC,MAC9C,CACY,MAAO,CAAC,KAAM,KAC1B,GAEQkC,EAAeC,4BAA4BxE,YACzC,8BACF,IAAIkF,EAAqBnG,OAAOoG,yBAC9BZ,EAAeC,4BACf,QAEFU,GACEA,EAAmBhB,cACnBnF,OAAO2F,eACLH,EAAeC,4BACf,OACA,CAAEjD,MAAO,gCAEb,IAAI6D,EACAb,EAAeC,8BACjBa,EAAcD,EAAsB,GACpCE,EAAeF,EAAsB,GACvC,GAAIC,GAAeC,EAAc,CAC/B,IAAIC,EAAcF,EAAYG,MAAM,MAClCC,EAAeH,EAAaE,MAAM,MACpC,IACEJ,EAAwBF,EAAqB,EAC7CA,EAAqBK,EAAYjG,SAChCiG,EAAYL,GAAoBQ,SAC/B,gCAIFR,IACF,KAEEE,EAAwBK,EAAanG,SACpCmG,EAAaL,GAAuBM,SACnC,gCAIFN,IACF,GACEF,IAAuBK,EAAYjG,QACnC8F,IAA0BK,EAAanG,OAEvC,IACE4F,EAAqBK,EAAYjG,OAAS,EACxC8F,EAAwBK,EAAanG,OAAS,EAChD,GAAK4F,GACL,GAAKE,GACLG,EAAYL,KACVO,EAAaL,IAGfA,IACJ,KAEE,GAAKF,GAAsB,GAAKE,EAChCF,IAAsBE,IAEtB,GACEG,EAAYL,KACZO,EAAaL,GACb,CACA,GAAI,IAAMF,GAAsB,IAAME,EACpC,MAEKF,IAED,IADAE,GAEEG,EAAYL,KACVO,EAAaL,GACjB,CACA,IAAIO,EACF,KACAJ,EAAYL,GAAoBU,QAC9B,WACA,QAOJ,OALAnD,EAAGzC,aACD2F,EAAOD,SAAS,iBACfC,EAASA,EAAOC,QAAQ,cAAenD,EAAGzC,cAC7C,mBAAsByC,GACpBI,EAAoB8B,IAAIlC,EAAIkD,GACvBA,CAC3B,QACuB,GAAKT,GAAsB,GAAKE,GAEzC,KACd,CACA,CACA,CAAgB,QACPzC,GAAU,EACRM,EAAqBC,EAAIF,EArLhC,WAEE,GAAI,KADJG,EACyB,CACvB,IAAIc,EAAQ,CAAEC,cAAc,EAAIC,YAAY,EAAIC,UAAU,GAC1DrF,OAAOsF,iBAAiB5D,QAAS,CAC/B4C,IAAKwC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAO6B,IAChCG,KAAMsC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAO+B,IACjCG,KAAMoC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOiC,IACjC9C,MAAOmF,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOmC,IAClCE,MAAOiC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOoC,IAClCG,eAAgB+B,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOsC,IAC3CG,SAAU6B,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOwC,KAE/C,CACM,EAAIZ,GACF1C,QAAQC,MACN,+EAEV,CAoKUoF,GACC3D,MAAMY,kBAAoBH,CACrC,CAKM,OAJA2C,GAAeA,EAAc9C,EAAKA,EAAGzC,aAAeyC,EAAGxC,KAAO,IAC1D+B,EAA8BuD,GAC9B,GACJ,mBAAsB9C,GAAMI,EAAoB8B,IAAIlC,EAAI8C,GACjDA,CACb,CACI,SAASQ,EAAqClG,GAC5C,GAAI,MAAQA,EAAM,MAAO,GACzB,GAAI,mBAAsBA,EAAM,CAC9B,IAAIb,EAAYa,EAAKb,UACrB,OAAOwD,EACL3C,KACGb,IAAcA,EAAUgH,kBAErC,CACM,GAAI,iBAAoBnG,EAAM,OAAOmC,EAA8BnC,GACnE,OAAQA,GACN,KAAKS,EACH,OAAO0B,EAA8B,YACvC,KAAKzB,EACH,OAAOyB,EAA8B,gBAEzC,GAAI,iBAAoBnC,EACtB,OAAQA,EAAKC,UACX,KAAKgB,EACH,OAAQjB,EAAO2C,EAA6B3C,EAAKmB,QAAQ,GAC3D,KAAKC,EACH,OAAO8E,EAAqClG,EAAKA,MACnD,KAAKqB,EACHlC,EAAYa,EAAKsB,SACjBtB,EAAOA,EAAKuB,MACZ,IACE,OAAO2E,EAAqClG,EAAKb,GAClD,CAAC,MAAOqC,GAAG,EAElB,MAAO,EACb,CACI,SAAS4E,IACP,IAAIC,EAAajD,EAAqBkD,EACtC,OAAO,OAASD,EAAa,KAAOA,EAAWD,UACrD,CAuBI,SAASG,IACP,IAAIC,EAAgBzG,EAAyB0G,KAAKzG,MAOlD,OANA0G,EAAuBF,KACnBE,EAAuBF,IAAiB,EAC1C5F,QAAQC,MACN,qJAGGuB,KADPoE,EAAgBC,KAAKrC,MAAMuC,KACOH,EAAgB,IACxD,CAgCI,SAASI,EACP5G,EACA6G,EACAC,EACAC,EACAC,EACAC,GAEA,GACE,iBAAoBjH,GACpB,mBAAsBA,GACtBA,IAASK,GACTL,IAASO,GACTP,IAASQ,GACTR,IAASS,GACTT,IAASU,GACTV,IAASkH,GACR,iBAAoBlH,GACnB,OAASA,IACRA,EAAKC,WAAaoB,GACjBrB,EAAKC,WAAamB,GAClBpB,EAAKC,WAAaa,GAClBd,EAAKC,WAAac,GAClBf,EAAKC,WAAagB,GAClBjB,EAAKC,WAAakH,QAClB/E,IAAWpC,EAAKoH,aACpB,CACA,IAAIC,EAAWR,EAAOQ,SACtB,QAAIjF,IAAWiF,EACb,GAAIN,EACF,GAAIO,EAAYD,GAAW,CACzB,IACEN,EAAmB,EACnBA,EAAmBM,EAAS5H,OAC5BsH,IAEAQ,EAAkBF,EAASN,GAAmB/G,GAChDd,OAAOsI,QAAUtI,OAAOsI,OAAOH,EAChC,MACCzG,QAAQC,MACN,6JAED0G,EAAkBF,EAAUrH,EAC3C,MACQqH,EAAW,SAETjF,IAAWpC,GACV,iBAAoBA,GACnB,OAASA,GACT,IAAMd,OAAOuI,KAAKzH,GAAMP,UAE1B4H,GACE,oIACJ,OAASrH,EACJ+G,EAAmB,OACpBO,EAAYtH,GACT+G,EAAmB,aACpB3E,IAAWpC,GAAQA,EAAKC,WAAayH,GACjCX,EACA,KACChH,EAAyBC,EAAKA,OAAS,WACxC,MACDqH,EACC,sEACDN,SAA0B/G,EACnCY,QAAQC,MACN,0IACAkG,EACAM,GAGJ,GAAIjI,EAAeC,KAAKwH,EAAQ,OAAQ,CACtCQ,EAAWtH,EAAyBC,GACpC,IAAIyH,EAAOvI,OAAOuI,KAAKZ,GAAQc,QAAO,SAAUC,GAC9C,MAAO,QAAUA,CAC3B,IACQb,EACE,EAAIU,EAAKhI,OACL,kBAAoBgI,EAAKI,KAAK,WAAa,SAC3C,iBACNC,EAAsBT,EAAWN,KAC7BU,EACA,EAAIA,EAAKhI,OAAS,IAAMgI,EAAKI,KAAK,WAAa,SAAW,KAC5DjH,QAAQC,MACN,kOACAkG,EACAM,EACAI,EACAJ,GAEDS,EAAsBT,EAAWN,IAAoB,EAChE,CAMM,GALAM,EAAW,UACXjF,IAAW0E,IACRnF,EAAuBmF,GAAYO,EAAW,GAAKP,GA7JxD,SAAqBD,GACnB,GAAIzH,EAAeC,KAAKwH,EAAQ,OAAQ,CACtC,IAAIkB,EAAS7I,OAAOoG,yBAAyBuB,EAAQ,OAAO5D,IAC5D,GAAI8E,GAAUA,EAAOC,eAAgB,OAAO,CACpD,CACM,YAAO5F,IAAWyE,EAAOoB,GAC/B,CAwJMC,CAAYrB,KACTlF,EAAuBkF,EAAOoB,KAAOZ,EAAW,GAAKR,EAAOoB,KAC3D,QAASpB,EAEX,IAAK,IAAIsB,KADTrB,EAAW,CAAE,EACQD,EACnB,QAAUsB,IAAarB,EAASqB,GAAYtB,EAAOsB,SAChDrB,EAAWD,EAQlB,OAPAQ,GA9JF,SAAoCjD,EAAOjE,GACzC,SAASiI,IACPC,IACIA,GAA6B,EAC/BzH,QAAQC,MACN,0OACAV,GAEZ,CACMiI,EAAsBJ,gBAAiB,EACvC9I,OAAO2F,eAAeT,EAAO,MAAO,CAClCnB,IAAKmF,EACL/D,cAAc,GAEtB,CAiJQiE,CACExB,EACA,mBAAsB9G,EAClBA,EAAKG,aAAeH,EAAKI,MAAQ,UACjCJ,GA1IV,SAAsBA,EAAMiI,EAAKhB,EAAMD,EAAQuB,EAAOnE,GA6BpD,OA5BA6C,EAAO7C,EAAMuC,IACb3G,EAAO,CACLC,SAAUyH,EACV1H,KAAMA,EACNiI,IAAKA,EACL7D,MAAOA,EACPoE,OAAQD,GAEV,aAAUnG,IAAW6E,EAAOA,EAAO,MAC/B/H,OAAO2F,eAAe7E,EAAM,MAAO,CACjCsE,YAAY,EACZrB,IAAKsD,IAEPrH,OAAO2F,eAAe7E,EAAM,MAAO,CAAEsE,YAAY,EAAI5C,MAAO,OAChE1B,EAAKyI,OAAS,CAAE,EAChBvJ,OAAO2F,eAAe7E,EAAKyI,OAAQ,YAAa,CAC9CpE,cAAc,EACdC,YAAY,EACZC,UAAU,EACV7C,MAAO,IAETxC,OAAO2F,eAAe7E,EAAM,aAAc,CACxCqE,cAAc,EACdC,YAAY,EACZC,UAAU,EACV7C,MAAO,OAETxC,OAAOsI,SAAWtI,OAAOsI,OAAOxH,EAAKoE,OAAQlF,OAAOsI,OAAOxH,IACpDA,CACb,CA8Ga0I,CAAa1I,EAAMqH,EAAUJ,EAAMD,EAAQZ,IAAYU,EACpE,CACI,SAASS,EAAkBoB,EAAMC,GAC/B,GACE,iBAAoBD,GACpBA,GACAA,EAAK1I,WAAa4I,EAElB,GAAIvB,EAAYqB,GACd,IAAK,IAAInJ,EAAI,EAAGA,EAAImJ,EAAKlJ,OAAQD,IAAK,CACpC,IAAIsJ,EAAQH,EAAKnJ,GACjBuJ,EAAeD,IAAUE,EAAoBF,EAAOF,EAChE,MACa,GAAIG,EAAeJ,GACtBA,EAAKF,SAAWE,EAAKF,OAAOQ,UAAY,QACrC,GACF,OAASN,GAAQ,iBAAoBA,EACjCnJ,EAAI,KAIJA,EAAI,mBAHHA,EACC0J,GAAyBP,EAAKO,IAC/BP,EAAK,eACwBnJ,EAAI,KACvC,mBAAsBA,GACpBA,IAAMmJ,EAAKQ,UACT3J,EAAIA,EAAEH,KAAKsJ,MAAcA,EAE7B,OAASA,EAAOnJ,EAAE4J,QAAQC,MACxBN,EAAeJ,EAAKjH,QAClBsH,EAAoBL,EAAKjH,MAAOkH,EAC9C,CACI,SAASG,EAAeO,GACtB,MACE,iBAAoBA,GACpB,OAASA,GACTA,EAAOrJ,WAAayH,CAE5B,CACI,SAASsB,EAAoBO,EAASX,GACpC,GACEW,EAAQd,SACPc,EAAQd,OAAOQ,WAChB,MAAQM,EAAQtB,MACdsB,EAAQd,OAAOQ,UAAY,EAC5BL,EA4BL,SAAsCA,GACpC,IAAIlF,EAAO,GACT6E,EAAQnC,IAQV,OAPAmC,IACGA,EAAQxI,EAAyBwI,EAAMvI,SACvC0D,EAAO,mCAAqC6E,EAAQ,MACvD7E,IACIkF,EAAa7I,EAAyB6I,MACrClF,EACC,8CAAgDkF,EAAa,MAC5DlF,CACb,CAvCsB8F,CAA6BZ,IAC1Ca,EAAsBb,IACvB,CACAa,EAAsBb,IAAc,EACpC,IAAIc,EAAa,GACjBH,GACE,MAAQA,EAAQf,QAChBe,EAAQf,SAAWpC,MACjBsD,EAAa,KACf,iBAAoBH,EAAQf,OAAO7H,IAC9B+I,EAAa3J,EAAyBwJ,EAAQf,OAAOxI,MACtD,iBAAoBuJ,EAAQf,OAAOpI,OAClCsJ,EAAaH,EAAQf,OAAOpI,MAChCsJ,EAAa,+BAAiCA,EAAa,KAC9D,IAAIC,EAAsBvG,EAAqBwG,gBAC/CxG,EAAqBwG,gBAAkB,WACrC,IAAIpH,EAAQ0D,EAAqCqD,EAAQvJ,MAEzD,OADA2J,IAAwBnH,GAASmH,KAAyB,IACnDnH,CACR,EACD5B,QAAQC,MACN,0HACA+H,EACAc,GAEFtG,EAAqBwG,gBAAkBD,CAC/C,CACA,CAaI,IAwBEpG,EACAE,EACAE,EACAE,EACAC,EACAE,EACAE,EA9BE2F,EAAQC,EACVpC,EAAqB3F,OAAOgI,IAAI,8BAChCzJ,EAAoByB,OAAOgI,IAAI,gBAC/B1J,EAAsB0B,OAAOgI,IAAI,kBACjCvJ,EAAyBuB,OAAOgI,IAAI,qBACpCxJ,EAAsBwB,OAAOgI,IAAI,kBAE/BhJ,EAAsBgB,OAAOgI,IAAI,kBACnCjJ,EAAqBiB,OAAOgI,IAAI,iBAChC9I,EAAyBc,OAAOgI,IAAI,qBACpCtJ,EAAsBsB,OAAOgI,IAAI,kBACjCrJ,EAA2BqB,OAAOgI,IAAI,uBACtC3I,EAAkBW,OAAOgI,IAAI,cAC7B1I,EAAkBU,OAAOgI,IAAI,cAC7B7C,EAAuBnF,OAAOgI,IAAI,mBAClCb,EAAwBnH,OAAOiI,SAC/B9J,EAA2B6B,OAAOgI,IAAI,0BACtC3G,EACEyG,EAAMI,gEACR7K,EAAiBF,OAAOC,UAAUC,eAClC4G,EAAS9G,OAAO8G,OAChBmB,EAA2BpF,OAAOgI,IAAI,0BACtCzC,EAAc4C,MAAMC,QACpB7G,EAAgB,EAQlBpB,EAAYkI,oBAAqB,EACjC,IAAI/H,EACFK,EAMA2F,EALAvF,GAAU,EACRE,EAAsB,IACxB,mBAAsBqH,QAAUA,QAAUC,KAExCzB,EAAyB9G,OAAOgI,IAAI,0BAEpCrD,EAAyB,CAAE,EAC3BoB,EAAwB,CAAE,EAC5B2B,EAAwB,CAAE,EAC5Bc,EAAAC,SAAmBnK,EACnBkK,EAAWE,IAAG,SAAUzK,EAAM6G,EAAQC,EAAUE,EAAQC,GACtD,OAAOL,EAAW5G,EAAM6G,EAAQC,GAAU,EAAIE,EAAQC,EACvD,EACDsD,EAAYG,KAAG,SAAU1K,EAAM6G,EAAQC,EAAUE,EAAQC,GACvD,OAAOL,EAAW5G,EAAM6G,EAAQC,GAAU,EAAIE,EAAQC,EACvD,CACF,CAnoBD,qBCV2B,eAAzBrH,QAAQC,IAAIC,SACd6K,EAAAC,qCCQF,IAAIlD,EAAqB3F,OAAOgI,IAAI,8BAClC1J,EAAsB0B,OAAOgI,IAAI,kBACnC,SAASc,EAAQ7K,EAAM6G,EAAQC,GAC7B,IAAImB,EAAM,KAGV,QAFA7F,IAAW0E,IAAamB,EAAM,GAAKnB,QACnC1E,IAAWyE,EAAOoB,MAAQA,EAAM,GAAKpB,EAAOoB,KACxC,QAASpB,EAEX,IAAK,IAAIsB,KADTrB,EAAW,CAAE,EACQD,EACnB,QAAUsB,IAAarB,EAASqB,GAAYtB,EAAOsB,SAChDrB,EAAWD,EAElB,OADAA,EAASC,EAASH,IACX,CACL1G,SAAUyH,EACV1H,KAAMA,EACNiI,IAAKA,EACLtB,SAAKvE,IAAWyE,EAASA,EAAS,KAClCzC,MAAO0C,EAEX,QACAgE,EAAAN,SAAmBnK,EACnByK,EAAAL,IAAcI,EACdC,EAAAJ,KAAeG,ID9BIf,GAEjBa,EAAAC,QAAiBG,gBEHnB,MAAMC,EAAeC,CAAI;;;;;;;EAkEZC,EAAgBC,EAAOC,IAA4C;;;;;;IAzDlD,EAAGC,SAAQC,eACvC,IAAIC,EAAQ,GAqDZ,MApDe,SAAXF,EACFE,GAAS,sCAGW,SAAXF,EACTE,GAAS,gDAGW,UAAXF,EACTE,GAAS,8BAGW,QAAXF,EACTE,GAAS,uCAGW,SAAXF,GAIW,aAAXA,EAHTE,GAAS,sCAOW,cAAXF,EACTE,GAAS,gCAGW,WAAXF,EACTE,GAAS,+BAGW,UAAXF,EACTE,GAAS,gCAGW,eAAXF,EACTE,GAAS,gCAGW,SAAXF,EACTE,GAAS,gCAGW,YAAXF,IACTE,GAAS,wCAIPD,IACFC,GAASP,GAEJO,CAAK;ECxDRC,EAAiBC,IAAA,IAAApE,SAAEA,EAAQgE,OAAEA,EAAMC,SAAEA,GAAS,GAAIG,EAAKrH,EAAtCvF,EAAA4M,EAAA,CAAA,WAAA,SAAA,aACrB,OACEC,EAAAA,IAACR,EAAahM,OAAA8G,OAAA,CAAAsF,WAAWA,SAAiCD,GAAYjH,EACnE,CAAAiD,SAAAA,IACa,ECXPsE,EAAYV,CAAG;;;;EAKfW,EAAgBX,CAAI;;EAGpBY,EAAUZ,CAAI;;;;;;;EAQda,EAAeb,CAAG;;;;;;;;;EAUlBc,EAAed,CAAG;;;;;;;;;EAUlBe,EAAUf,CAAG;;;;;EAMbgB,EAAWhB,CAAG;;;;;EAMdiB,EAAYjB,CAAG;;;;;EAMfkB,EAAYlB,CAAG;;;;;ECrDtBmB,EAAcnB,CAAG;;;;;;;;;EAUjBoB,EAAepB,CAAG;;;;;;;;;EAUlBqB,EAAerB,CAAG;;;;;;;;;;;;;;EAelBsB,EAAwB,EAAGC,OAAMlB,WAAUmB,aAAYC,UAASC,eACpE,IAAIpB,EAAQ,GAwGZ,MAvGa,UAATiB,EACFjB,GAASa,EACS,WAATI,EACTjB,GAASc,EACS,SAATG,EACTjB,GAAS,+GAMS,UAATiB,EACTjB,GAASe,EAAe,sOAaN,UAATE,EACTjB,GAASe,EAAe,gXAeN,WAATE,EACTjB,GAASe,EAAe,wNASN,SAATE,EACTjB,GAASe,EAAe,iKAON,UAATE,IACTjB,GAASe,EAAe,oKAQtBG,IACFlB,GAAS,gEAII,UAATiB,GAA6B,WAATA,IACtBjB,GAAS,iFAMTD,IACFC,GAAS,mKAOLO,WAGFY,IACFnB,GAAS,gDAIRoB,IACDpB,GAAS,mFAMJA,CAAK,EAGDqB,EAAsBzB,EAAO0B,CAAiG;IACvIN;EAESO,EAAkB3B,EAAOC,IAAoG;;IAEtImB;EClIEQ,EAAiBtB,QAAApE,SAAEA,EAAQmF,KAAEA,EAAIC,WAAEA,GAAW,EAAKO,KAAEA,EAAI1B,SAAEA,GAAS,EAAKoB,QAAEA,GAAQ,EAAKC,SAAEA,GAAS,GAAKlB,EAAKrH,EAA5FvF,EAAA4M,EAAA,CAAA,WAAA,OAAA,aAAA,OAAA,WAAA,UAAA,aACrB,MAAMwB,QAAEA,GAAY7I,EACpB,OACE4I,EACEtB,EAAAA,IAACkB,EAAmB1N,OAAA8G,OAAA,CAClBkH,UAAU,WACVV,KAAMA,EACMC,WAAAA,EACFnB,SAAAA,EACDoB,QAAAA,EACTC,SAAUA,EACVK,KAAMA,GACF5I,YAEHiD,KAGHqE,EAAAA,IAACoB,EACC5N,OAAA8G,OAAA,CAAAkH,UAAU,WACVV,KAAMA,EAAIC,WACEA,EACFnB,SAAAA,EACDoB,QAAAA,EACTC,SAAUA,EACVM,QAASA,GACL7I,EAEH,CAAAiD,SAAAA,IAEJ,EChDC8F,EAAelC,CAAG;;;;;;EA6DXmC,EAAiBjC,EAAOkC,KAAyJ;;;;;IAtD/J,EAAGC,QAAOC,SAAQC,YAAWC,aAAYC,WAAUlB,OAAMxM,WACtF,IAAIuL,EAAQ,GAkDZ,OAjDIiC,IACFjC,GAAS,uCAIPkC,IACFlC,GAAS,wCAIPmC,IACFnC,GAAS,kEAIPgC,IACFhC,GAAS,oBACGgC,0BACIA,aAGL,WAATf,IACFjB,GAAS,0PAQLiC,IACFjC,GAAS,4CAKA,gBAATiB,IACFjB,GAAS,qCAIP+B,IACF/B,GAAS,mBACE+B,cAGA,WAATtN,IACFuL,GAAS4B,GAEJ5B,CAAK;ECvCRoC,EAAkBlC,WAAAe,KAAEA,EAAIkB,SAAEA,EAAQF,UAAEA,EAASC,WAAEA,EAAUG,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,eAAEA,EAAcC,SAAEA,EAAQC,OAAEA,EAAMC,QAAEA,EAAOC,eAAEA,EAAcC,QAAEA,EAAOC,QAAEA,GAA2B5C,EAAfrH,EAAKvF,EAAA4M,EAA9J,qKACtB,MAAMzL,KAAEA,EAAII,KAAEA,EAAIkO,aAAEA,EAAYC,eAAEA,GAAmBnK,EAC/CoK,EAAiC,QAAxBC,EAAAH,aAAAlM,EAAAkM,EAAcI,kBAAUtM,IAAAqM,EAAAA,EAAI,IACpCE,EAAYC,GAAgBC,EAAiBL,IAC7CM,EAAcC,GAAkBF,EAAkBN,IAAgB,GAEzES,GAAU,WACR,GAAIlB,EAAe,CACjB,MAAMU,EAAiC,QAAxB/C,EAAA6C,aAAAlM,EAAAkM,EAAcI,kBAAUtM,IAAAqJ,EAAAA,EAAI,GAC3CmD,EAAaJ,GACbO,EAAeR,IAAgB,GAC/BR,GAAkBA,GAAe,GAE/BH,IACFgB,EAAa,IACbG,GAAe,GACflB,GAAYA,GAAS,MAEtB,CAACC,EAAeC,EAAgBH,EAAOC,EAAUS,EAAcC,EAAgBQ,EAAgBvC,IAElG,MAAMyC,EAAgBlQ,IACpB,MAAMyP,EAASzP,EAAEmQ,OAAOxN,MACxBkN,EAAaJ,EAAO,EA4BtB,IAAIW,EAAUjQ,OAAA8G,OAAA,CAAA,EAAO5B,UACd+K,EAAWb,oBACXa,EAAWZ,eAElB,MAAMa,EAAU1D,MAAC0B,EACClO,OAAA8G,OAAA,CAAAwG,KAAMA,EACIkB,SAAAA,EACCF,UAAAA,EACCC,WAAAA,EACZ4B,QAASP,EACTpN,MAAOiN,EACPW,SAAWvQ,IACTkQ,EAAalQ,GACbiP,GAAYA,EAASjP,EAAE,EAEzBwQ,OAASxQ,IACPkQ,EAAalQ,GAzBjB,CAACA,IAGf,GAFAkP,GAAUA,EAAOlP,GAChBmP,GAAWE,GAAYA,EAAQrP,GAC5BmP,GAAW9N,EAAM,CACnB,MAAMsB,EAAiB,WAAT1B,EAAoBwP,SAASzQ,EAAEmQ,OAAOxN,OAAS3C,EAAEmQ,OAAOxN,MAAMe,OAC5E0L,GAAkBA,EAAe/N,EAAMsB,KAqBvB+N,CAAQ1Q,EAAE,EAEZ2Q,QAAU3Q,IACRsP,GAAWA,EAAQtP,GA7CtB,CAACA,IACF,UAAVA,EAAEkJ,MACJlJ,EAAE4Q,iBACDzB,GAAWE,GAAYA,EAAQrP,KA2ChB6Q,CAAS7Q,EAAE,GAEA,WAARiB,GAAoB,CAAE6P,WAzCxB9Q,IACN,WAATiB,IACK8P,MAAMC,OAAOhR,EAAEkJ,YAA2B,IAAXlJ,EAAEkJ,KAAkC,KAAVlJ,EAAEkJ,MAChElJ,EAAE4Q,kBAGC,IAoCsB,WAAR3P,GAAoB,CAAEgQ,QAAUjR,IACnC,MACMyP,GADYzP,EAAEkR,eAAkBC,OAAeD,eAAeE,QAAQ,QACpDpK,QAAQ,UAAW,IAC3ChH,EAAE4Q,iBACFS,SAASC,YAAY,cAAc,EAAO7B,EAAO,GAEtC,WAARxO,GAAoB,CAAEsQ,QAAUvR,GAAoCA,EAAEmQ,OAAOqB,iBAAiB,SAAS,SAAUxR,GAAKA,EAAE4Q,gBAAgB,GAAI,CAAEa,SAAS,KAC/I,WAARxQ,GAAoB,CAAEyQ,IAAK,KAC5BtB,IAEtB,OAAOC,CAAO,ECvGVsB,EAA0BzF,CAAG;;;;;;EAO7B0F,EAAkB1F,CAAG;;;;;;;;EA6Cd2F,EAAqBzF,EAAOC,IAA4B;;;;;;;;;;;;;;;;;;;IAV7B,EAAGsC,eACzC,IAAInC,EAAQ,GAMZ,OALImC,IACFnC,GAAS,6CAIJA,CAAK;EAwBDsF,EAAoB1F,EAAO2F,KAAkE;;;;;;;;MAQpGJ;;;;;;;;;;;;;;IAjE4B,EAAGK,QAAOtD,aAAYd,eACtD,IAAIpB,EAAQ,GAMZ,GALIoB,IACFpB,GAAS,mCAKJ,WADCwF,EAEJxF,GAAU,iFAMVA,GAAS,kEASb,OAHIkC,IACFlC,GAASoF,GAEJpF,CAAK;EAyDgBJ,EAAOkC,KAAK;;;;;;;;IAQtCqD;ECxFJ,MAAMM,EAAqBvF,IAAA,IAAAwF,GAAEA,EAAE7Q,KAAEA,EAAIiH,SAAEA,EAAQ0J,MAAEA,EAAKG,UAAEA,EAASC,YAAEA,EAAWvD,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,eAAEA,EAAcC,SAAEA,EAAQN,SAAEA,EAAQD,WAAEA,GAAgDhC,EAAjCrH,EAAKvF,EAAA4M,EAA7I,mJACzB,MAAMkB,SAAEA,EAAQ4B,eAAEA,GAAmBnK,GAC9B0K,EAAcC,GAAkBF,EAAkBN,IAAgB,GACnE6C,EAAcC,EAAgC,MAEpDrC,GAAU,KACJlB,IACFiB,EAAeR,IAAgB,GAC/BR,GAAkBA,GAAe,IAE/BH,IACFmB,GAAe,GACflB,GAAYA,GAAS,MAEtB,CAACD,EAAOC,EAAUC,EAAeC,EAAgBQ,IAUpD,cAHcrP,OAAA8G,OAAA,CAAA,EAAO5B,GACHmK,eAGhB+C,EAAC5G,KAAAmG,SACQE,EAAKtD,WACAA,EACZ9G,IAAKyK,EACLG,QAASN,EACTtE,SAAUA,IAAY,EACrBtF,SAAA,CAAAA,EACDqE,EAACjB,IAAAkD,iBACCsD,GAAIA,EACJjR,KAAK,WACLqP,QAASP,EACT1O,KAAMA,EACN4N,SArBgBjP,IACpBgQ,EAAehQ,EAAEmQ,OAAOG,SACxBrB,GAAYA,EAASjP,EAAE,GAoBfoS,GAAe,CAAEjE,UAAWiE,GACd,KAAdD,GAAoB,CAAE,WAAYA,GAClC9M,IACNsH,EAAAA,IAACkF,0BACWlD,GACNtJ,EAAM,eAAiB,CAAE,aAAcA,EAAM,mBACjC,EC1DxB,MAAMoN,EAAavG,CAAG;;;EAqMTwG,EAAkBtG,EAAOuG,MAA4L;;;;;;;;;;;;;;;;;;;IAhMlM,EAAGC,QAAOC,oBAAmBC,WAAUC,aAAYrF,aAAYsF,QAAOpF,WAAUa,YAAWd,cACzH,IAAInB,EAAQ,GACZ,OAAKsG,GAGDnF,IACFnB,GAAS,gDAIPwG,IACY,WAAVA,EACFxG,GAAS,qFAKU,UAAVwG,EACTxG,GAAS,sFAKU,WAAVwG,IACTxG,GAAS,oCAKC,QAAVoG,EACFpG,GAAS,oKAMHyG,uEAKa,UAAVL,EACTpG,GAAS,4MAQU,SAAVoG,EACTpG,GAAS,4HAKHyG,uEAKa,SAAVL,EACTpG,GAAS,wFAKU,WAAVoG,EACTpG,GAAQ,mRAcW,WAAVoG,EACTpG,GAAS,uMAOHyG,gKASa,UAAVL,GACTpG,GAAQ,oHAMJkB,IACFlB,GAAS,mFAKQ,SAAVoG,EACTpG,GAAS,inBAOHiG,mBAGa,gBAAVG,EACTpG,GAAS,moCAKHiG,qBAGa,4BAAVG,EACTpG,GAAS,snCAKHiG,qBAGa,gBAAVG,IACTpG,GAAS,mOAQHyG,8FAOJrF,IACFpB,GAAS,4JAQPiC,IACFjC,GAAS,yBAEPqG,IACFrG,GAAS,wCAIPuG,IACFvG,GAAS,mDAIJA,GAhLE,eAgLG;;EAmCDyG,EAAyB7G,EAAO8G,GAAG;;;;;;;;;;;;IAjCA,EAAGC,YACjD,IAAI3G,EAAQ,GAOZ,OANI2G,GAAmB,YAAVA,IACX3G,GAAS,iBACC2G,qBACEA,YAGP3G,CAAK;ECtLR4G,EAAmB1G,IAAA,IAAApE,SAAEA,EAAQsK,MAAEA,EAAKC,kBAAEA,GAAkB,EAAKQ,sBAAEA,EAAsB,UAASP,SAAEA,GAAS,EAAInF,QAAEA,GAAQ,EAAKoF,WAAEA,GAAW,EAAKO,aAAEA,EAAY5F,WAAEA,GAAW,EAAKsF,MAAEA,EAAKvE,UAAEA,GAAS/B,EAAKrH,EAAKvF,EAAA4M,EAAvL,oJACvB,MAAMkB,SAAEA,GAAavI,EACfkO,EAAuBV,EACrBlG,EAACjB,IAAAuH,GAAuBE,MAAOE,EAAuB7E,OAAO,KAAKD,MAAM,KAAKiF,QAAQ,YAAwB,cAAA,OAAOC,UAAU,QAC5HnL,SAAAqE,EAAAA,IAAA,OAAA,CAAM+G,EAAE,4RAER,KACV,OACEnB,EAAC5G,KAAA+G,EACQvS,OAAA8G,OAAA,CAAA2L,MAAAA,sBACYC,aACTC,YACDnF,EACTC,SAAUA,GAAYmF,IAAc,EAAKA,aAC5BA,EACbnL,IAAK0L,eACO5F,QACLsF,EAAKvE,UACDA,GACPpJ,EACD,CAAAiD,SAAA,CAAAA,EACAiL,KACa,ECrChBI,EAAczH,CAAG;;;EAIjB0H,EAAc1H,CAAG;;;;;;;EA4CV2H,EAAczH,EAAOC,IAA4C;IAnC/C,EAAGuG,QAAOkB,gBACvC,IAAItH,EAAQ,GA+BZ,MA9Bc,UAAVoG,EACFpG,GAASmH,EACU,UAAVf,EACTpG,GAASoH,EACU,SAAVhB,IACTpG,GAAS,uLAUPsH,IACgB,SAAdA,EACFtH,GAAS,8FAKc,UAAdsH,IACTtH,GAAS,mGAONA,CAAK;ECtCRuH,EAAkBrH,QAAApE,SAAEA,EAAQsK,MAAEA,EAAKkB,UAAEA,KAAczO,EAAjCvF,EAAA4M,EAAA,CAAA,WAAA,QAAA,cAAqD,OAAAC,EAAAjB,IAACmI,EAAW1T,OAAA8G,OAAA,CAAA2L,MAAQA,EAAKkB,UAAaA,GAAezO,EAAK,CAAAiD,SAAGA,IAAuB,EC+EpJ0L,EAAmB5H,EAAO6H,GAA4D;;;;;;;;;;;;;;;;;;;;;;;;IAlFjE,EAAGrB,QAAOkB,YAAWxH,aACrD,IAAIE,EAAQ,GACZ,OAAQoG,GACN,IAAK,QACHpG,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAQ9C,MACF,IAAK,aACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,4LAS9C,MACF,IAAK,SACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAQ9C,MACF,IAAK,cACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,+LAS9C,MACF,IAAK,QACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAkBlD,MANkB,SAAdwH,IACFtH,GAAS,yDAKJA,CAAK;EA6BD0H,EAAyB9H,EAAO6H,GAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCjE,EAAG3H,aACH,GAAIA,EACF,OAAOJ,CAAG;;8BAEcI;;;EC3IxB6H,EAAoBzH,IAAA,IAAAkG,MAAEA,EAAKkB,UAAEA,EAASM,OAAEA,EAAM9H,OAAEA,EAAM+H,aAAEA,GAAkC3H,EAAjBrH,EAAKvF,EAAA4M,EAA1D,wDACxB,MAAM4H,EAAa,GAAGjP,EAAM8I,WAAa,MAAMkG,GAAgB,KAE/D,MAAkB,QAAXD,EACL7B,OAAC2B,iBAAuB/F,UAAWmG,EAAoBhI,OAAAA,GAAajH,EAAK,CAAAiD,SAAA,CACvEqE,EAAAA,cACAA,EAAAjB,IAAA,MAAA,CAAA,GACAiB,MAAW,MAAA,CAAA,OAEXA,EAACjB,IAAAsI,iBAAiB7F,UAAWmG,EAAmB1B,MAAAA,SAAetG,EAAMwH,UAAaA,GAAgBzO,GAAS,ECEjH,MAuKakP,EAAgBnI,EAAO3L,CAA8D;;;;;IAvKnE,EAAGmS,QAAO4B,QAAOC,SAAQvG,cACtD,IAAI1B,EAAQ,GACZ,OAAQgI,GACN,IAAK,SACHhI,GAAS,4/BAKT,MACF,IAAK,QACHA,GAAS,0lCAKT,MACF,IAAK,aACHA,GAAS,0lCAKT,MACF,IAAK,kBACHA,GAAS,inCAKT,MACF,IAAK,OACHA,GAAS,w9CAKT,MACF,IAAK,QACHA,GAAS,sdAKT,MACF,IAAK,WACHA,GAAS,2FAKT,MACF,IAAK,OACHA,GAAS,0tUAKT,MACF,IAAK,SACHA,GAAS,0zSAKT,MACF,IAAK,QACHA,GAAS,6oRAKT,MACF,IAAK,OACHA,GAAS,mkYAKT,MACF,IAAK,OACHA,GAAS,8vQAKT,MACF,IAAK,SACHA,GAAS,wuSAKT,MACF,IAAK,WACHA,GAAS,yzGAKT,MACF,IAAK,UACHA,GAAS,8rCAKT,MACF,IAAK,QACHA,GAAS,isTAKT,MACF,IAAK,QACHA,GAAS,0gSAKT,MACF,IAAK,UACHA,GAAS,0mCAKT,MACF,IAAK,UACHA,GAAS,47JAkCb,OAzBIiI,IACFjI,GAAS,uCAEIiI,wBACCA,qBAIZvG,IACF1B,GAAS,kCAIG,WAAVoG,EACFpG,GAAS,oCAGU,aAAVoG,IACTpG,GAAS,sEAOJA,CAAK;EC/KRkI,GAAiBhI,IAAA,IAAA+H,OAAEA,EAAMD,MAAEA,EAAK5B,MAAEA,EAAK1E,QAAEA,EAAO6E,WAAEA,GAAW,GAAwBrG,EAAdrH,EAAKvF,EAAA4M,EAA3D,mDACrB,OAAOqG,EAAapG,MAACwH,EAAgB,CAAAvB,MAAO,QAAOkB,UAAW,SAAQM,OAAQ,MAAK9H,OAAQ,YAAeK,EAAAA,IAAC4H,EAAqBpU,OAAA8G,OAAA,CAAA2L,MAAAA,QAAc4B,EAAKC,OAAUA,EAAQvG,QAASA,GAAa7I,GAAS,ECWzLsP,GAAiBvI,EAAOwI,OAAO;;;;;;;;;;;;;;;EAgB/BC,GAAgBzI,EAAOwI,OAAO;;;;;EAM9BE,GAAe1I,EAAOwI,OAA2B;IAC1D/H;;;;;;;;;IASA,EAAG+F,YACH,GAAc,SAAVA,EACF,OAAO1G,CAAG;;;EAMH6I,GAAQ3I,EAAO4I,EAAE;;;;;;;;;;;;;;;;;EAkBjBC,GAAkB7I,EAAO8I,KAAK;;;;;;;;;;;;;;;;;EAkB9BC,GAAgB/I,EAAOwI,OAA2B;;IAE3D,EAAGhC,WACW,mBAAVA,EACK1G,CAAG;;QAGS,kBAAV0G,EACF1G,CAAG;;QAGS,cAAV0G,EACF1G,CAAG;;;;;aADL;EAUEkJ,GAAchJ,EAAO6H,GAAuB;;;;;;;;;;;IArH3B,EAAGrB,YAC/B,IAAIpG,EAAQ,GAgBZ,MAfc,SAAVoG,EACFpG,GAAQ,6HAMW,UAAVoG,IACTpG,GAAQ,2HAOHA,CAAK;EAiHD6I,GAAcjJ,EAAOwI,OAAO;;;;;;;QAOjC/H;;;;;;;EAQKyI,GAAYlJ,EAAO6H,GAAG;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/react/cjs/react-jsx-runtime.production.js","../src/components/text/text.styles.ts","../src/components/text/text.tsx","../src/assets/stylesheets/bases.styles.ts","../src/components/link/link.styles.ts","../src/components/link/link.tsx","../src/components/input/input.styles.ts","../src/components/input/input.tsx","../src/components/checkbox/checkbox.styles.ts","../src/components/checkbox/checkbox.tsx","../src/components/button/button.styles.ts","../src/components/button/button.tsx","../src/components/label/label.styles.ts","../src/components/label/label.tsx","../src/components/loading/loading.styles.ts","../src/components/loading/loading.tsx","../src/assets/images/icons/arrow-left-blue.svg","../src/assets/images/icons/warning.svg","../src/components/icon/icon.styles.ts","../src/components/icon/icon.tsx","../node_modules/react-is/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/uuid/dist/esm-node/rng.js","../node_modules/uuid/dist/esm-node/bytesToUuid.js","../node_modules/uuid/dist/esm-node/v4.js","../node_modules/react-tooltip/dist/index.es.js","../src/components/portal/react_portal.tsx","../src/components/dropdown/dropdown.styles.ts","../src/components/dropdown/dropdown.tsx","../node_modules/use-state-with-callback/lib/index.js","../src/assets/images/icons/warning-white.svg","../src/components/message/message.styles.ts","../src/components/message/message.tsx","../node_modules/domelementtype/lib/esm/index.js","../node_modules/domhandler/lib/esm/node.js","../node_modules/domhandler/lib/esm/index.js","../node_modules/leac/lib/leac.mjs","../node_modules/peberminta/lib/core.mjs","../node_modules/parseley/lib/parseley.mjs","../node_modules/selderee/lib/selderee.mjs","../node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.mjs","../node_modules/entities/lib/esm/generated/decode-data-html.js","../node_modules/entities/lib/esm/decode_codepoint.js","../node_modules/entities/lib/esm/generated/decode-data-xml.js","../node_modules/entities/lib/esm/decode.js","../node_modules/htmlparser2/lib/esm/Tokenizer.js","../node_modules/htmlparser2/lib/esm/Parser.js","../node_modules/entities/lib/esm/escape.js","../node_modules/dom-serializer/lib/esm/foreignNames.js","../node_modules/dom-serializer/lib/esm/index.js","../node_modules/deepmerge/dist/cjs.js","../node_modules/html-to-text/lib/html-to-text.mjs","../node_modules/htmlparser2/lib/esm/index.js","../src/components/message/message_question.tsx","../src/components/popup/popup.styles.ts","../src/components/popup/popup.tsx","../src/assets/stylesheets/shares.styles.ts"],"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","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"<anonymous>\") &&\n (_frame = _frame.replace(\"<anonymous>\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n if (\n \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n children +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (isStaticChildren = \"null\")\n : isArrayImpl(type)\n ? (isStaticChildren = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((isStaticChildren =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (children =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (isStaticChildren = typeof type);\n console.error(\n \"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n isStaticChildren,\n children\n );\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n (null === node || \"object\" !== typeof node\n ? (i = null)\n : ((i =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (i = \"function\" === typeof i ? i : null)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !1, source, self);\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n return jsxDEVImpl(type, config, maybeKey, !0, source, self);\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export default \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Capa_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20viewBox%3D%220%200%20309.143%20309.143%22%20style%3D%22enable-background%3Anew%200%200%20309.143%20309.143%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%230076FF%3B%22%20d%3D%22M112.855%2C154.571L240.481%2C26.946c2.929-2.929%2C2.929-7.678%2C0-10.606L226.339%2C2.197%20C224.933%2C0.79%2C223.025%2C0%2C221.036%2C0c-1.989%2C0-3.897%2C0.79-5.303%2C2.197L68.661%2C149.268c-2.929%2C2.929-2.929%2C7.678%2C0%2C10.606%20l147.071%2C147.071c1.406%2C1.407%2C3.314%2C2.197%2C5.303%2C2.197c1.989%2C0%2C3.897-0.79%2C5.303-2.197l14.142-14.143%20c2.929-2.929%2C2.929-7.678%2C0-10.606L112.855%2C154.571z%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Capa_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2065%2065%22%20style%3D%22enable-background%3Anew%200%200%2065%2065%3B%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cg%3E%20%20%3Cpath%20d%3D%22M32.5%2C65C50.42%2C65%2C65%2C50.421%2C65%2C32.5S50.42%2C0%2C32.5%2C0S0%2C14.579%2C0%2C32.5S14.58%2C65%2C32.5%2C65z%20M32.5%2C4%20%20%20%20C48.215%2C4%2C61%2C16.785%2C61%2C32.5S48.215%2C61%2C32.5%2C61S4%2C48.215%2C4%2C32.5S16.785%2C4%2C32.5%2C4z%22%20fill%3D%22%23ff9203%22%2F%3E%20%20%3Ccircle%20cx%3D%2233.018%22%20cy%3D%2243.655%22%20r%3D%223.345%22%20fill%3D%22%23ff9203%22%2F%3E%20%20%3Cpath%20d%3D%22M32.332%2C35.342c1.104%2C0%2C2-0.896%2C2-2v-17c0-1.104-0.896-2-2-2s-2%2C0.896-2%2C2v17C30.332%2C34.446%2C31.228%2C35.342%2C32.332%2C35.342z%20%20%20%20%22%20fill%3D%22%23ff9203%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E\"",null,null,"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\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'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\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'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import crypto from 'crypto';\nexport default function rng() {\n return crypto.randomBytes(16);\n}","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nexport default bytesToUuid;","import rng from './rng.js';\nimport bytesToUuid from './bytesToUuid.js';\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nexport default v4;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 } from 'uuid';\n\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function () {};\n return {\n s: F,\n n: function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function () {\n it = it.call(o);\n },\n n: function () {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function (e) {\n didErr = true;\n err = e;\n },\n f: function () {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global$a =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\nvar objectGetOwnPropertyDescriptor = {};\n\nvar fails$9 = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\nvar fails$8 = fails$9;\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails$8(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar fails$7 = fails$9;\n\nvar functionBindNative = !fails$7(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n\nvar NATIVE_BIND$2 = functionBindNative;\n\nvar call$4 = Function.prototype.call;\n\nvar functionCall = NATIVE_BIND$2 ? call$4.bind(call$4) : function () {\n return call$4.apply(call$4, arguments);\n};\n\nvar objectPropertyIsEnumerable = {};\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nobjectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor$1(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar createPropertyDescriptor$2 = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\nvar NATIVE_BIND$1 = functionBindNative;\n\nvar FunctionPrototype$1 = Function.prototype;\nvar call$3 = FunctionPrototype$1.call;\nvar uncurryThisWithBind = NATIVE_BIND$1 && FunctionPrototype$1.bind.bind(call$3, call$3);\n\nvar functionUncurryThisRaw = function (fn) {\n return NATIVE_BIND$1 ? uncurryThisWithBind(fn) : function () {\n return call$3.apply(fn, arguments);\n };\n};\n\nvar uncurryThisRaw$1 = functionUncurryThisRaw;\n\nvar toString$1 = uncurryThisRaw$1({}.toString);\nvar stringSlice = uncurryThisRaw$1(''.slice);\n\nvar classofRaw$2 = function (it) {\n return stringSlice(toString$1(it), 8, -1);\n};\n\nvar classofRaw$1 = classofRaw$2;\nvar uncurryThisRaw = functionUncurryThisRaw;\n\nvar functionUncurryThis = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw$1(fn) === 'Function') return uncurryThisRaw(fn);\n};\n\nvar uncurryThis$9 = functionUncurryThis;\nvar fails$6 = fails$9;\nvar classof$3 = classofRaw$2;\n\nvar $Object$3 = Object;\nvar split = uncurryThis$9(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails$6(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object$3('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof$3(it) == 'String' ? split(it, '') : $Object$3(it);\n} : $Object$3;\n\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nvar isNullOrUndefined$2 = function (it) {\n return it === null || it === undefined;\n};\n\nvar isNullOrUndefined$1 = isNullOrUndefined$2;\n\nvar $TypeError$5 = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible$2 = function (it) {\n if (isNullOrUndefined$1(it)) throw $TypeError$5(\"Can't call method on \" + it);\n return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject$1 = indexedObject;\nvar requireObjectCoercible$1 = requireObjectCoercible$2;\n\nvar toIndexedObject$4 = function (it) {\n return IndexedObject$1(requireObjectCoercible$1(it));\n};\n\nvar documentAll$2 = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll$2 == 'undefined' && documentAll$2 !== undefined;\n\nvar documentAll_1 = {\n all: documentAll$2,\n IS_HTMLDDA: IS_HTMLDDA\n};\n\nvar $documentAll$1 = documentAll_1;\n\nvar documentAll$1 = $documentAll$1.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nvar isCallable$c = $documentAll$1.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll$1;\n} : function (argument) {\n return typeof argument == 'function';\n};\n\nvar isCallable$b = isCallable$c;\nvar $documentAll = documentAll_1;\n\nvar documentAll = $documentAll.all;\n\nvar isObject$6 = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable$b(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable$b(it);\n};\n\nvar global$9 = global$a;\nvar isCallable$a = isCallable$c;\n\nvar aFunction = function (argument) {\n return isCallable$a(argument) ? argument : undefined;\n};\n\nvar getBuiltIn$5 = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method];\n};\n\nvar uncurryThis$8 = functionUncurryThis;\n\nvar objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf);\n\nvar getBuiltIn$4 = getBuiltIn$5;\n\nvar engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';\n\nvar global$8 = global$a;\nvar userAgent = engineUserAgent;\n\nvar process = global$8.process;\nvar Deno = global$8.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nvar engineV8Version = version;\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar V8_VERSION = engineV8Version;\nvar fails$5 = fails$9;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$5(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar NATIVE_SYMBOL$1 = symbolConstructorDetection;\n\nvar useSymbolAsUid = NATIVE_SYMBOL$1\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\nvar getBuiltIn$3 = getBuiltIn$5;\nvar isCallable$9 = isCallable$c;\nvar isPrototypeOf = objectIsPrototypeOf;\nvar USE_SYMBOL_AS_UID$1 = useSymbolAsUid;\n\nvar $Object$2 = Object;\n\nvar isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn$3('Symbol');\n return isCallable$9($Symbol) && isPrototypeOf($Symbol.prototype, $Object$2(it));\n};\n\nvar $String$1 = String;\n\nvar tryToString$1 = function (argument) {\n try {\n return $String$1(argument);\n } catch (error) {\n return 'Object';\n }\n};\n\nvar isCallable$8 = isCallable$c;\nvar tryToString = tryToString$1;\n\nvar $TypeError$4 = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nvar aCallable$2 = function (argument) {\n if (isCallable$8(argument)) return argument;\n throw $TypeError$4(tryToString(argument) + ' is not a function');\n};\n\nvar aCallable$1 = aCallable$2;\nvar isNullOrUndefined = isNullOrUndefined$2;\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nvar getMethod$1 = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable$1(func);\n};\n\nvar call$2 = functionCall;\nvar isCallable$7 = isCallable$c;\nvar isObject$5 = isObject$6;\n\nvar $TypeError$3 = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nvar ordinaryToPrimitive$1 = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$5(val = call$2(fn, input))) return val;\n if (isCallable$7(fn = input.valueOf) && !isObject$5(val = call$2(fn, input))) return val;\n if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$5(val = call$2(fn, input))) return val;\n throw $TypeError$3(\"Can't convert object to primitive value\");\n};\n\nvar shared$3 = {exports: {}};\n\nvar global$7 = global$a;\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty$2 = Object.defineProperty;\n\nvar defineGlobalProperty$3 = function (key, value) {\n try {\n defineProperty$2(global$7, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global$7[key] = value;\n } return value;\n};\n\nvar global$6 = global$a;\nvar defineGlobalProperty$2 = defineGlobalProperty$3;\n\nvar SHARED = '__core-js_shared__';\nvar store$3 = global$6[SHARED] || defineGlobalProperty$2(SHARED, {});\n\nvar sharedStore = store$3;\n\nvar store$2 = sharedStore;\n\n(shared$3.exports = function (key, value) {\n return store$2[key] || (store$2[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n\nvar requireObjectCoercible = requireObjectCoercible$2;\n\nvar $Object$1 = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject$2 = function (argument) {\n return $Object$1(requireObjectCoercible(argument));\n};\n\nvar uncurryThis$7 = functionUncurryThis;\nvar toObject$1 = toObject$2;\n\nvar hasOwnProperty = uncurryThis$7({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nvar hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject$1(it), key);\n};\n\nvar uncurryThis$6 = functionUncurryThis;\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis$6(1.0.toString);\n\nvar uid$2 = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n\nvar global$5 = global$a;\nvar shared$2 = shared$3.exports;\nvar hasOwn$6 = hasOwnProperty_1;\nvar uid$1 = uid$2;\nvar NATIVE_SYMBOL = symbolConstructorDetection;\nvar USE_SYMBOL_AS_UID = useSymbolAsUid;\n\nvar WellKnownSymbolsStore = shared$2('wks');\nvar Symbol$1 = global$5.Symbol;\nvar symbolFor = Symbol$1 && Symbol$1['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;\n\nvar wellKnownSymbol$5 = function (name) {\n if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {\n WellKnownSymbolsStore[name] = Symbol$1[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n\nvar call$1 = functionCall;\nvar isObject$4 = isObject$6;\nvar isSymbol$1 = isSymbol$2;\nvar getMethod = getMethod$1;\nvar ordinaryToPrimitive = ordinaryToPrimitive$1;\nvar wellKnownSymbol$4 = wellKnownSymbol$5;\n\nvar $TypeError$2 = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol$4('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nvar toPrimitive$1 = function (input, pref) {\n if (!isObject$4(input) || isSymbol$1(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call$1(exoticToPrim, input, pref);\n if (!isObject$4(result) || isSymbol$1(result)) return result;\n throw $TypeError$2(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n\nvar toPrimitive = toPrimitive$1;\nvar isSymbol = isSymbol$2;\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nvar toPropertyKey$2 = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n\nvar global$4 = global$a;\nvar isObject$3 = isObject$6;\n\nvar document$1 = global$4.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS$1 = isObject$3(document$1) && isObject$3(document$1.createElement);\n\nvar documentCreateElement$1 = function (it) {\n return EXISTS$1 ? document$1.createElement(it) : {};\n};\n\nvar DESCRIPTORS$7 = descriptors;\nvar fails$4 = fails$9;\nvar createElement = documentCreateElement$1;\n\n// Thanks to IE8 for its funny defineProperty\nvar ie8DomDefine = !DESCRIPTORS$7 && !fails$4(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\nvar DESCRIPTORS$6 = descriptors;\nvar call = functionCall;\nvar propertyIsEnumerableModule = objectPropertyIsEnumerable;\nvar createPropertyDescriptor$1 = createPropertyDescriptor$2;\nvar toIndexedObject$3 = toIndexedObject$4;\nvar toPropertyKey$1 = toPropertyKey$2;\nvar hasOwn$5 = hasOwnProperty_1;\nvar IE8_DOM_DEFINE$1 = ie8DomDefine;\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nobjectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject$3(O);\n P = toPropertyKey$1(P);\n if (IE8_DOM_DEFINE$1) try {\n return $getOwnPropertyDescriptor$1(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n\nvar objectDefineProperty = {};\n\nvar DESCRIPTORS$5 = descriptors;\nvar fails$3 = fails$9;\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nvar v8PrototypeDefineBug = DESCRIPTORS$5 && fails$3(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n\nvar isObject$2 = isObject$6;\n\nvar $String = String;\nvar $TypeError$1 = TypeError;\n\n// `Assert: Type(argument) is Object`\nvar anObject$4 = function (argument) {\n if (isObject$2(argument)) return argument;\n throw $TypeError$1($String(argument) + ' is not an object');\n};\n\nvar DESCRIPTORS$4 = descriptors;\nvar IE8_DOM_DEFINE = ie8DomDefine;\nvar V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;\nvar anObject$3 = anObject$4;\nvar toPropertyKey = toPropertyKey$2;\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE$1 = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nobjectDefineProperty.f = DESCRIPTORS$4 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {\n anObject$3(O);\n P = toPropertyKey(P);\n anObject$3(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject$3(O);\n P = toPropertyKey(P);\n anObject$3(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\nvar DESCRIPTORS$3 = descriptors;\nvar definePropertyModule$3 = objectDefineProperty;\nvar createPropertyDescriptor = createPropertyDescriptor$2;\n\nvar createNonEnumerableProperty$2 = DESCRIPTORS$3 ? function (object, key, value) {\n return definePropertyModule$3.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\nvar makeBuiltIn$2 = {exports: {}};\n\nvar DESCRIPTORS$2 = descriptors;\nvar hasOwn$4 = hasOwnProperty_1;\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS$2 && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn$4(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS$2 || (DESCRIPTORS$2 && getDescriptor(FunctionPrototype, 'name').configurable));\n\nvar functionName = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n\nvar uncurryThis$5 = functionUncurryThis;\nvar isCallable$6 = isCallable$c;\nvar store$1 = sharedStore;\n\nvar functionToString = uncurryThis$5(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable$6(store$1.inspectSource)) {\n store$1.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nvar inspectSource$2 = store$1.inspectSource;\n\nvar global$3 = global$a;\nvar isCallable$5 = isCallable$c;\n\nvar WeakMap$1 = global$3.WeakMap;\n\nvar weakMapBasicDetection = isCallable$5(WeakMap$1) && /native code/.test(String(WeakMap$1));\n\nvar shared$1 = shared$3.exports;\nvar uid = uid$2;\n\nvar keys = shared$1('keys');\n\nvar sharedKey$2 = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\nvar hiddenKeys$4 = {};\n\nvar NATIVE_WEAK_MAP = weakMapBasicDetection;\nvar global$2 = global$a;\nvar isObject$1 = isObject$6;\nvar createNonEnumerableProperty$1 = createNonEnumerableProperty$2;\nvar hasOwn$3 = hasOwnProperty_1;\nvar shared = sharedStore;\nvar sharedKey$1 = sharedKey$2;\nvar hiddenKeys$3 = hiddenKeys$4;\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError$1 = global$2.TypeError;\nvar WeakMap = global$2.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject$1(it) || (state = get(it)).type !== TYPE) {\n throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey$1('state');\n hiddenKeys$3[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn$3(it, STATE)) throw TypeError$1(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty$1(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn$3(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn$3(it, STATE);\n };\n}\n\nvar internalState = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\nvar fails$2 = fails$9;\nvar isCallable$4 = isCallable$c;\nvar hasOwn$2 = hasOwnProperty_1;\nvar DESCRIPTORS$1 = descriptors;\nvar CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;\nvar inspectSource$1 = inspectSource$2;\nvar InternalStateModule = internalState;\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty$1 = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$2(function () {\n return defineProperty$1(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS$1) defineProperty$1(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn$2(options, 'arity') && value.length !== options.arity) {\n defineProperty$1(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn$2(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS$1) defineProperty$1(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn$2(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn$1(function toString() {\n return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this);\n}, 'toString');\n\nvar isCallable$3 = isCallable$c;\nvar definePropertyModule$2 = objectDefineProperty;\nvar makeBuiltIn = makeBuiltIn$2.exports;\nvar defineGlobalProperty$1 = defineGlobalProperty$3;\n\nvar defineBuiltIn$1 = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable$3(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty$1(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule$2.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n\nvar objectGetOwnPropertyNames = {};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nvar mathTrunc = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n\nvar trunc = mathTrunc;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nvar toIntegerOrInfinity$2 = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n\nvar toIntegerOrInfinity$1 = toIntegerOrInfinity$2;\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex$1 = function (index, length) {\n var integer = toIntegerOrInfinity$1(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\nvar toIntegerOrInfinity = toIntegerOrInfinity$2;\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength$1 = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar toLength = toLength$1;\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nvar lengthOfArrayLike$2 = function (obj) {\n return toLength(obj.length);\n};\n\nvar toIndexedObject$2 = toIndexedObject$4;\nvar toAbsoluteIndex = toAbsoluteIndex$1;\nvar lengthOfArrayLike$1 = lengthOfArrayLike$2;\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod$1 = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject$2($this);\n var length = lengthOfArrayLike$1(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nvar arrayIncludes = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod$1(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod$1(false)\n};\n\nvar uncurryThis$4 = functionUncurryThis;\nvar hasOwn$1 = hasOwnProperty_1;\nvar toIndexedObject$1 = toIndexedObject$4;\nvar indexOf = arrayIncludes.indexOf;\nvar hiddenKeys$2 = hiddenKeys$4;\n\nvar push$1 = uncurryThis$4([].push);\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject$1(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push$1(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn$1(O, key = names[i++])) {\n ~indexOf(result, key) || push$1(result, key);\n }\n return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys$3 = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\nvar internalObjectKeys$1 = objectKeysInternal;\nvar enumBugKeys$2 = enumBugKeys$3;\n\nvar hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nobjectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys$1(O, hiddenKeys$1);\n};\n\nvar objectGetOwnPropertySymbols = {};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nobjectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;\n\nvar getBuiltIn$2 = getBuiltIn$5;\nvar uncurryThis$3 = functionUncurryThis;\nvar getOwnPropertyNamesModule = objectGetOwnPropertyNames;\nvar getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;\nvar anObject$2 = anObject$4;\n\nvar concat = uncurryThis$3([].concat);\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject$2(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n\nvar hasOwn = hasOwnProperty_1;\nvar ownKeys = ownKeys$1;\nvar getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;\nvar definePropertyModule$1 = objectDefineProperty;\n\nvar copyConstructorProperties$1 = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule$1.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nvar fails$1 = fails$9;\nvar isCallable$2 = isCallable$c;\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced$1 = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable$2(detection) ? fails$1(detection)\n : !!detection;\n};\n\nvar normalize = isForced$1.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced$1.data = {};\nvar NATIVE = isForced$1.NATIVE = 'N';\nvar POLYFILL = isForced$1.POLYFILL = 'P';\n\nvar isForced_1 = isForced$1;\n\nvar global$1 = global$a;\nvar getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\nvar createNonEnumerableProperty = createNonEnumerableProperty$2;\nvar defineBuiltIn = defineBuiltIn$1;\nvar defineGlobalProperty = defineGlobalProperty$3;\nvar copyConstructorProperties = copyConstructorProperties$1;\nvar isForced = isForced_1;\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nvar _export = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global$1;\n } else if (STATIC) {\n target = global$1[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global$1[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n\nvar uncurryThis$2 = functionUncurryThis;\nvar aCallable = aCallable$2;\nvar NATIVE_BIND = functionBindNative;\n\nvar bind$1 = uncurryThis$2(uncurryThis$2.bind);\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind$1(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\nvar classof$2 = classofRaw$2;\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray$1 = Array.isArray || function isArray(argument) {\n return classof$2(argument) == 'Array';\n};\n\nvar wellKnownSymbol$3 = wellKnownSymbol$5;\n\nvar TO_STRING_TAG$1 = wellKnownSymbol$3('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG$1] = 'z';\n\nvar toStringTagSupport = String(test) === '[object z]';\n\nvar TO_STRING_TAG_SUPPORT = toStringTagSupport;\nvar isCallable$1 = isCallable$c;\nvar classofRaw = classofRaw$2;\nvar wellKnownSymbol$2 = wellKnownSymbol$5;\n\nvar TO_STRING_TAG = wellKnownSymbol$2('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nvar classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result;\n};\n\nvar uncurryThis$1 = functionUncurryThis;\nvar fails = fails$9;\nvar isCallable = isCallable$c;\nvar classof = classof$1;\nvar getBuiltIn$1 = getBuiltIn$5;\nvar inspectSource = inspectSource$2;\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn$1('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis$1(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nvar isConstructor$1 = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n\nvar isArray = isArray$1;\nvar isConstructor = isConstructor$1;\nvar isObject = isObject$6;\nvar wellKnownSymbol$1 = wellKnownSymbol$5;\n\nvar SPECIES = wellKnownSymbol$1('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesConstructor$1 = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n\nvar arraySpeciesConstructor = arraySpeciesConstructor$1;\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate$1 = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n\nvar bind = functionBindContext;\nvar uncurryThis = functionUncurryThis;\nvar IndexedObject = indexedObject;\nvar toObject = toObject$2;\nvar lengthOfArrayLike = lengthOfArrayLike$2;\nvar arraySpeciesCreate = arraySpeciesCreate$1;\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nvar arrayIteration = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n\nvar objectDefineProperties = {};\n\nvar internalObjectKeys = objectKeysInternal;\nvar enumBugKeys$1 = enumBugKeys$3;\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys$1 = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys$1);\n};\n\nvar DESCRIPTORS = descriptors;\nvar V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;\nvar definePropertyModule = objectDefineProperty;\nvar anObject$1 = anObject$4;\nvar toIndexedObject = toIndexedObject$4;\nvar objectKeys = objectKeys$1;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nobjectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject$1(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n\nvar getBuiltIn = getBuiltIn$5;\n\nvar html$1 = getBuiltIn('document', 'documentElement');\n\n/* global ActiveXObject -- old IE, WSH */\n\nvar anObject = anObject$4;\nvar definePropertiesModule = objectDefineProperties;\nvar enumBugKeys = enumBugKeys$3;\nvar hiddenKeys = hiddenKeys$4;\nvar html = html$1;\nvar documentCreateElement = documentCreateElement$1;\nvar sharedKey = sharedKey$2;\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n\nvar wellKnownSymbol = wellKnownSymbol$5;\nvar create = objectCreate;\nvar defineProperty = objectDefineProperty.f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables$1 = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\nvar $ = _export;\nvar $find = arrayIteration.find;\nvar addToUnscopables = addToUnscopables$1;\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\nvar CONSTANT = {\n GLOBAL: {\n HIDE: '__react_tooltip_hide_event',\n REBUILD: '__react_tooltip_rebuild_event',\n SHOW: '__react_tooltip_show_event'\n }\n};\n\n/**\n * Static methods for react-tooltip\n */\nvar dispatchGlobalEvent = function dispatchGlobalEvent(eventName, opts) {\n // Compatible with IE\n // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work\n // @see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\n var event;\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, {\n detail: opts\n });\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, true, opts);\n }\n window.dispatchEvent(event);\n};\nfunction staticMethods (target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = function (target) {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, {\n target: target\n });\n };\n\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n target.rebuild = function () {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n target.show = function (target) {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, {\n target: target\n });\n };\n target.prototype.globalRebuild = function () {\n if (this.mount) {\n this.unbindListener();\n this.bindListener();\n }\n };\n target.prototype.globalShow = function (event) {\n if (this.mount) {\n var hasTarget = event && event.detail && event.detail.target && true || false;\n // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n this.showTooltip({\n currentTarget: hasTarget && event.detail.target\n }, true);\n }\n };\n target.prototype.globalHide = function (event) {\n if (this.mount) {\n var hasTarget = event && event.detail && event.detail.target && true || false;\n this.hideTooltip({\n currentTarget: hasTarget && event.detail.target\n }, hasTarget);\n }\n };\n}\n\n/**\n * Events that should be bound to the window\n */\nfunction windowListener (target) {\n target.prototype.bindWindowEvents = function (resizeHide) {\n // ReactTooltip.hide\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.addEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide, false);\n\n // ReactTooltip.rebuild\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false);\n\n // ReactTooltip.show\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false);\n\n // Resize\n if (resizeHide) {\n window.removeEventListener('resize', this.onWindowResize);\n window.addEventListener('resize', this.onWindowResize, false);\n }\n };\n target.prototype.unbindWindowEvents = function () {\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.removeEventListener('resize', this.onWindowResize);\n };\n\n /**\n * invoked by resize event of window\n */\n target.prototype.onWindowResize = function () {\n if (!this.mount) return;\n this.hideTooltip();\n };\n}\n\n/**\n * Custom events to control showing and hiding of tooltip\n *\n * @attributes\n * - `event` {String}\n * - `eventOff` {String}\n */\n\nvar checkStatus = function checkStatus(dataEventOff, e) {\n var show = this.state.show;\n var id = this.props.id;\n var isCapture = this.isCapture(e.currentTarget);\n var currentItem = e.currentTarget.getAttribute('currentItem');\n if (!isCapture) e.stopPropagation();\n if (show && currentItem === 'true') {\n if (!dataEventOff) this.hideTooltip(e);\n } else {\n e.currentTarget.setAttribute('currentItem', 'true');\n setUntargetItems(e.currentTarget, this.getTargetArray(id));\n this.showTooltip(e);\n }\n};\nvar setUntargetItems = function setUntargetItems(currentTarget, targetArray) {\n for (var i = 0; i < targetArray.length; i++) {\n if (currentTarget !== targetArray[i]) {\n targetArray[i].setAttribute('currentItem', 'false');\n } else {\n targetArray[i].setAttribute('currentItem', 'true');\n }\n }\n};\nvar customListeners = {\n id: '9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf',\n set: function set(target, event, listener) {\n if (this.id in target) {\n var map = target[this.id];\n map[event] = listener;\n } else {\n // this is workaround for WeakMap, which is not supported in older browsers, such as IE\n Object.defineProperty(target, this.id, {\n configurable: true,\n value: _defineProperty({}, event, listener)\n });\n }\n },\n get: function get(target, event) {\n var map = target[this.id];\n if (map !== undefined) {\n return map[event];\n }\n }\n};\nfunction customEvent (target) {\n target.prototype.isCustomEvent = function (ele) {\n var event = this.state.event;\n return event || !!ele.getAttribute('data-event');\n };\n\n /* Bind listener for custom event */\n target.prototype.customBindListener = function (ele) {\n var _this = this;\n var _this$state = this.state,\n event = _this$state.event,\n eventOff = _this$state.eventOff;\n var dataEvent = ele.getAttribute('data-event') || event;\n var dataEventOff = ele.getAttribute('data-event-off') || eventOff;\n dataEvent.split(' ').forEach(function (event) {\n ele.removeEventListener(event, customListeners.get(ele, event));\n var customListener = checkStatus.bind(_this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n if (dataEventOff) {\n dataEventOff.split(' ').forEach(function (event) {\n ele.removeEventListener(event, _this.hideTooltip);\n ele.addEventListener(event, _this.hideTooltip, false);\n });\n }\n };\n\n /* Unbind listener for custom event */\n target.prototype.customUnbindListener = function (ele) {\n var _this$state2 = this.state,\n event = _this$state2.event,\n eventOff = _this$state2.eventOff;\n var dataEvent = event || ele.getAttribute('data-event');\n var dataEventOff = eventOff || ele.getAttribute('data-event-off');\n ele.removeEventListener(dataEvent, customListeners.get(ele, event));\n if (dataEventOff) ele.removeEventListener(dataEventOff, this.hideTooltip);\n };\n}\n\n/**\n * Util method to judge if it should follow capture model\n */\n\nfunction isCapture (target) {\n target.prototype.isCapture = function (currentTarget) {\n return currentTarget && currentTarget.getAttribute('data-iscapture') === 'true' || this.props.isCapture || false;\n };\n}\n\n/**\n * Util method to get effect\n */\n\nfunction getEffect (target) {\n target.prototype.getEffect = function (currentTarget) {\n var dataEffect = currentTarget.getAttribute('data-effect');\n return dataEffect || this.props.effect || 'float';\n };\n}\n\n/**\n * Util method to get effect\n */\nvar makeProxy = function makeProxy(e) {\n var proxy = {};\n for (var key in e) {\n if (typeof e[key] === 'function') {\n proxy[key] = e[key].bind(e);\n } else {\n proxy[key] = e[key];\n }\n }\n return proxy;\n};\nvar bodyListener = function bodyListener(callback, options, e) {\n var _options$respectEffec = options.respectEffect,\n respectEffect = _options$respectEffec === void 0 ? false : _options$respectEffec,\n _options$customEvent = options.customEvent,\n customEvent = _options$customEvent === void 0 ? false : _options$customEvent;\n var id = this.props.id;\n var tip = null;\n var forId;\n var target = e.target;\n var lastTarget;\n // walk up parent chain until tip is found\n // there is no match if parent visible area is matched by mouse position, so some corner cases might not work as expected\n while (tip === null && target !== null) {\n lastTarget = target;\n tip = target.getAttribute('data-tip') || null;\n forId = target.getAttribute('data-for') || null;\n target = target.parentElement;\n }\n target = lastTarget || e.target;\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n var isTargetBelongsToTooltip = id == null && forId == null || forId === id;\n if (tip != null && (!respectEffect || this.getEffect(target) === 'float') && isTargetBelongsToTooltip) {\n var proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\nvar findCustomEvents = function findCustomEvents(targetArray, dataAttribute) {\n var events = {};\n targetArray.forEach(function (target) {\n var event = target.getAttribute(dataAttribute);\n if (event) event.split(' ').forEach(function (event) {\n return events[event] = true;\n });\n });\n return events;\n};\nvar getBody = function getBody() {\n return document.getElementsByTagName('body')[0];\n};\nfunction bodyMode (target) {\n target.prototype.isBodyMode = function () {\n return !!this.props.bodyMode;\n };\n target.prototype.bindBodyListener = function (targetArray) {\n var _this = this;\n var _this$state = this.state,\n event = _this$state.event,\n eventOff = _this$state.eventOff,\n possibleCustomEvents = _this$state.possibleCustomEvents,\n possibleCustomEventsOff = _this$state.possibleCustomEventsOff;\n var body = getBody();\n var customEvents = findCustomEvents(targetArray, 'data-event');\n var customEventsOff = findCustomEvents(targetArray, 'data-event-off');\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents.split(' ').forEach(function (event) {\n return customEvents[event] = true;\n });\n possibleCustomEventsOff.split(' ').forEach(function (event) {\n return customEventsOff[event] = true;\n });\n this.unbindBodyListener(body);\n var listeners = this.bodyModeListeners = {};\n if (event == null) {\n listeners.mouseover = bodyListener.bind(this, this.showTooltip, {});\n listeners.mousemove = bodyListener.bind(this, this.updateTooltip, {\n respectEffect: true\n });\n listeners.mouseout = bodyListener.bind(this, this.hideTooltip, {});\n }\n for (var _event in customEvents) {\n listeners[_event] = bodyListener.bind(this, function (e) {\n var targetEventOff = e.currentTarget.getAttribute('data-event-off') || eventOff;\n checkStatus.call(_this, targetEventOff, e);\n }, {\n customEvent: true\n });\n }\n for (var _event2 in customEventsOff) {\n listeners[_event2] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true\n });\n }\n for (var _event3 in listeners) {\n body.addEventListener(_event3, listeners[_event3]);\n }\n };\n target.prototype.unbindBodyListener = function (body) {\n body = body || getBody();\n var listeners = this.bodyModeListeners;\n for (var event in listeners) {\n body.removeEventListener(event, listeners[event]);\n }\n };\n}\n\n/**\n * Tracking target removing from DOM.\n * It's necessary to hide tooltip when it's target disappears.\n * Otherwise, the tooltip would be shown forever until another target\n * is triggered.\n *\n * If MutationObserver is not available, this feature just doesn't work.\n */\n\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nvar getMutationObserverClass = function getMutationObserverClass() {\n return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n};\nfunction trackRemoval (target) {\n target.prototype.bindRemovalTracker = function () {\n var _this = this;\n var MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n var observer = new MutationObserver(function (mutations) {\n for (var m1 = 0; m1 < mutations.length; m1++) {\n var mutation = mutations[m1];\n for (var m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n var element = mutation.removedNodes[m2];\n if (element === _this.state.currentTarget) {\n _this.hideTooltip();\n return;\n }\n }\n }\n });\n observer.observe(window.document, {\n childList: true,\n subtree: true\n });\n this.removalTracker = observer;\n };\n target.prototype.unbindRemovalTracker = function () {\n if (this.removalTracker) {\n this.removalTracker.disconnect();\n this.removalTracker = null;\n }\n };\n}\n\n/**\n * Calculate the position of tooltip\n *\n * @params\n * - `e` {Event} the event of current mouse\n * - `target` {Element} the currentTarget of the event\n * - `node` {DOM} the react-tooltip object\n * - `place` {String} top / right / bottom / left\n * - `effect` {String} float / solid\n * - `offset` {Object} the offset to default position\n *\n * @return {Object}\n * - `isNewState` {Bool} required\n * - `newState` {Object}\n * - `position` {Object} {left: {Number}, top: {Number}}\n */\nfunction getPosition (e, target, node, place, desiredPlace, effect, offset) {\n var _getDimensions = getDimensions(node),\n tipWidth = _getDimensions.width,\n tipHeight = _getDimensions.height;\n var _getDimensions2 = getDimensions(target),\n targetWidth = _getDimensions2.width,\n targetHeight = _getDimensions2.height;\n var _getCurrentOffset = getCurrentOffset(e, target, effect),\n mouseX = _getCurrentOffset.mouseX,\n mouseY = _getCurrentOffset.mouseY;\n var defaultOffset = getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight);\n var _calculateOffset = calculateOffset(offset),\n extraOffsetX = _calculateOffset.extraOffsetX,\n extraOffsetY = _calculateOffset.extraOffsetY;\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var _getParent = getParent(node),\n parentTop = _getParent.parentTop,\n parentLeft = _getParent.parentLeft;\n\n // Get the edge offset of the tooltip\n var getTipOffsetLeft = function getTipOffsetLeft(place) {\n var offsetX = defaultOffset[place].l;\n return mouseX + offsetX + extraOffsetX;\n };\n var getTipOffsetRight = function getTipOffsetRight(place) {\n var offsetX = defaultOffset[place].r;\n return mouseX + offsetX + extraOffsetX;\n };\n var getTipOffsetTop = function getTipOffsetTop(place) {\n var offsetY = defaultOffset[place].t;\n return mouseY + offsetY + extraOffsetY;\n };\n var getTipOffsetBottom = function getTipOffsetBottom(place) {\n var offsetY = defaultOffset[place].b;\n return mouseY + offsetY + extraOffsetY;\n };\n\n //\n // Functions to test whether the tooltip's sides are inside\n // the client window for a given orientation p\n //\n // _____________\n // | | <-- Right side\n // | p = 'left' |\\\n // | |/ |\\\n // |_____________| |_\\ <-- Mouse\n // / \\ |\n // |\n // |\n // Bottom side\n //\n var outsideLeft = function outsideLeft(p) {\n return getTipOffsetLeft(p) < 0;\n };\n var outsideRight = function outsideRight(p) {\n return getTipOffsetRight(p) > windowWidth;\n };\n var outsideTop = function outsideTop(p) {\n return getTipOffsetTop(p) < 0;\n };\n var outsideBottom = function outsideBottom(p) {\n return getTipOffsetBottom(p) > windowHeight;\n };\n\n // Check whether the tooltip with orientation p is completely inside the client window\n var outside = function outside(p) {\n return outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n };\n var inside = function inside(p) {\n return !outside(p);\n };\n var placeIsInside = {\n top: inside('top'),\n bottom: inside('bottom'),\n left: inside('left'),\n right: inside('right')\n };\n function choose() {\n var allPlaces = desiredPlace.split(',').concat(place, ['top', 'bottom', 'left', 'right']);\n var _iterator = _createForOfIteratorHelper(allPlaces),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var d = _step.value;\n if (placeIsInside[d]) return d;\n }\n // if nothing is inside, just use the old place.\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return place;\n }\n var chosen = choose();\n var isNewState = false;\n var newPlace;\n if (chosen && chosen !== place) {\n isNewState = true;\n newPlace = chosen;\n }\n if (isNewState) {\n return {\n isNewState: true,\n newState: {\n place: newPlace\n }\n };\n }\n return {\n isNewState: false,\n position: {\n left: parseInt(getTipOffsetLeft(place) - parentLeft, 10),\n top: parseInt(getTipOffsetTop(place) - parentTop, 10)\n }\n };\n}\nvar getDimensions = function getDimensions(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n height = _node$getBoundingClie.height,\n width = _node$getBoundingClie.width;\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10)\n };\n};\n\n// Get current mouse offset\nvar getCurrentOffset = function getCurrentOffset(e, currentTarget, effect) {\n var boundingClientRect = currentTarget.getBoundingClientRect();\n var targetTop = boundingClientRect.top;\n var targetLeft = boundingClientRect.left;\n var _getDimensions3 = getDimensions(currentTarget),\n targetWidth = _getDimensions3.width,\n targetHeight = _getDimensions3.height;\n if (effect === 'float') {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY\n };\n }\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2\n };\n};\n\n// List all possibility of tooltip final offset\n// This is useful in judging if it is necessary for tooltip to switch position when out of window\nvar getDefaultPosition = function getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight) {\n var top;\n var right;\n var bottom;\n var left;\n var disToMouse = 3;\n var triangleHeight = 2;\n var cursorHeight = 12; // Optimize for float bottom only, cause the cursor will hide the tooltip\n\n if (effect === 'float') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(tipHeight + disToMouse + triangleHeight),\n b: -disToMouse\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: disToMouse + cursorHeight,\n b: tipHeight + disToMouse + triangleHeight + cursorHeight\n };\n left = {\n l: -(tipWidth + disToMouse + triangleHeight),\n r: -disToMouse,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: disToMouse,\n r: tipWidth + disToMouse + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n } else if (effect === 'solid') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(targetHeight / 2 + tipHeight + triangleHeight),\n b: -(targetHeight / 2)\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: targetHeight / 2,\n b: targetHeight / 2 + tipHeight + triangleHeight\n };\n left = {\n l: -(tipWidth + targetWidth / 2 + triangleHeight),\n r: -(targetWidth / 2),\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: targetWidth / 2,\n r: tipWidth + targetWidth / 2 + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n }\n return {\n top: top,\n bottom: bottom,\n left: left,\n right: right\n };\n};\n\n// Consider additional offset into position calculation\nvar calculateOffset = function calculateOffset(offset) {\n var extraOffsetX = 0;\n var extraOffsetY = 0;\n if (Object.prototype.toString.apply(offset) === '[object String]') {\n offset = JSON.parse(offset.toString().replace(/'/g, '\"'));\n }\n for (var key in offset) {\n if (key === 'top') {\n extraOffsetY -= parseInt(offset[key], 10);\n } else if (key === 'bottom') {\n extraOffsetY += parseInt(offset[key], 10);\n } else if (key === 'left') {\n extraOffsetX -= parseInt(offset[key], 10);\n } else if (key === 'right') {\n extraOffsetX += parseInt(offset[key], 10);\n }\n }\n return {\n extraOffsetX: extraOffsetX,\n extraOffsetY: extraOffsetY\n };\n};\n\n// Get the offset of the parent elements\nvar getParent = function getParent(currentTarget) {\n var currentParent = currentTarget;\n while (currentParent) {\n var computedStyle = window.getComputedStyle(currentParent);\n // transform and will-change: transform change the containing block\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_Block\n if (computedStyle.getPropertyValue('transform') !== 'none' || computedStyle.getPropertyValue('will-change') === 'transform') break;\n currentParent = currentParent.parentElement;\n }\n var parentTop = currentParent && currentParent.getBoundingClientRect().top || 0;\n var parentLeft = currentParent && currentParent.getBoundingClientRect().left || 0;\n return {\n parentTop: parentTop,\n parentLeft: parentLeft\n };\n};\n\n/**\n * To get the tooltip content\n * it may comes from data-tip or this.props.children\n * it should support multiline\n *\n * @params\n * - `tip` {String} value of data-tip\n * - `children` {ReactElement} this.props.children\n * - `multiline` {Any} could be Bool(true/false) or String('true'/'false')\n *\n * @return\n * - String or react component\n */\nfunction TipContent(tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n var regexp = /<br\\s*\\/?>/;\n if (!multiline || multiline === 'false' || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n }\n\n // Multiline tooltip content\n return tip.split(regexp).map(function (d, i) {\n return /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: \"multi-line\"\n }, d);\n });\n}\n\n/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nfunction parseAria(props) {\n var ariaObj = {};\n Object.keys(props).filter(function (prop) {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n }).forEach(function (prop) {\n ariaObj[prop] = props[prop];\n });\n return ariaObj;\n}\n\n/**\n * Convert nodelist to array\n * @see https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/core/createArrayFromMixed.js#L24\n * NodeLists are functions in Safari\n */\n\nfunction nodeListToArray (nodeList) {\n var length = nodeList.length;\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n return new Array(length).fill().map(function (index) {\n return nodeList[index];\n });\n}\n\nfunction generateUUID() {\n return 't' + v4();\n}\n\nvar baseCss = \".__react_component_tooltip {\\n border-radius: 3px;\\n display: inline-block;\\n font-size: 13px;\\n left: -999em;\\n opacity: 0;\\n position: fixed;\\n pointer-events: none;\\n transition: opacity 0.3s ease-out;\\n top: -999em;\\n visibility: hidden;\\n z-index: 999;\\n}\\n.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {\\n pointer-events: auto;\\n}\\n.__react_component_tooltip::before, .__react_component_tooltip::after {\\n content: \\\"\\\";\\n width: 0;\\n height: 0;\\n position: absolute;\\n}\\n.__react_component_tooltip.show {\\n opacity: 0.9;\\n margin-top: 0;\\n margin-left: 0;\\n visibility: visible;\\n}\\n.__react_component_tooltip.place-top::before {\\n bottom: 0;\\n left: 50%;\\n margin-left: -11px;\\n}\\n.__react_component_tooltip.place-bottom::before {\\n top: 0;\\n left: 50%;\\n margin-left: -11px;\\n}\\n.__react_component_tooltip.place-left::before {\\n right: 0;\\n top: 50%;\\n margin-top: -9px;\\n}\\n.__react_component_tooltip.place-right::before {\\n left: 0;\\n top: 50%;\\n margin-top: -9px;\\n}\\n.__react_component_tooltip .multi-line {\\n display: block;\\n padding: 2px 0;\\n text-align: center;\\n}\";\n\n/**\n * Default pop-up style values (text color, background color).\n */\nvar defaultColors = {\n dark: {\n text: '#fff',\n background: '#222',\n border: 'transparent',\n arrow: '#222'\n },\n success: {\n text: '#fff',\n background: '#8DC572',\n border: 'transparent',\n arrow: '#8DC572'\n },\n warning: {\n text: '#fff',\n background: '#F0AD4E',\n border: 'transparent',\n arrow: '#F0AD4E'\n },\n error: {\n text: '#fff',\n background: '#BE6464',\n border: 'transparent',\n arrow: '#BE6464'\n },\n info: {\n text: '#fff',\n background: '#337AB7',\n border: 'transparent',\n arrow: '#337AB7'\n },\n light: {\n text: '#222',\n background: '#fff',\n border: 'transparent',\n arrow: '#fff'\n }\n};\nfunction getDefaultPopupColors(type) {\n return defaultColors[type] ? _objectSpread2({}, defaultColors[type]) : undefined;\n}\nvar DEFAULT_PADDING = '8px 21px';\nvar DEFAULT_RADIUS = {\n tooltip: 3,\n arrow: 0\n};\n\n/**\n * Generates the specific tooltip style for use on render.\n */\nfunction generateTooltipStyle(uuid, customColors, type, hasBorder, padding, radius) {\n return generateStyle(uuid, getPopupColors(customColors, type, hasBorder), padding, radius);\n}\n\n/**\n * Generates the tooltip style rules based on the element-specified \"data-type\" property.\n */\nfunction generateStyle(uuid, colors) {\n var padding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_PADDING;\n var radius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_RADIUS;\n var textColor = colors.text;\n var backgroundColor = colors.background;\n var borderColor = colors.border;\n var arrowColor = colors.arrow;\n var arrowRadius = radius.arrow;\n var tooltipRadius = radius.tooltip;\n return \"\\n \\t.\".concat(uuid, \" {\\n\\t color: \").concat(textColor, \";\\n\\t background: \").concat(backgroundColor, \";\\n\\t border: 1px solid \").concat(borderColor, \";\\n\\t border-radius: \").concat(tooltipRadius, \"px;\\n\\t padding: \").concat(padding, \";\\n \\t}\\n\\n \\t.\").concat(uuid, \".place-top {\\n margin-top: -10px;\\n }\\n .\").concat(uuid, \".place-top::before {\\n content: \\\"\\\";\\n background-color: inherit;\\n position: absolute;\\n z-index: 2;\\n width: 20px;\\n height: 12px;\\n }\\n .\").concat(uuid, \".place-top::after {\\n content: \\\"\\\";\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n border-top-right-radius: \").concat(arrowRadius, \"px;\\n border: 1px solid \").concat(borderColor, \";\\n background-color: \").concat(arrowColor, \";\\n z-index: -2;\\n bottom: -6px;\\n left: 50%;\\n margin-left: -6px;\\n transform: rotate(135deg);\\n }\\n\\n .\").concat(uuid, \".place-bottom {\\n margin-top: 10px;\\n }\\n .\").concat(uuid, \".place-bottom::before {\\n content: \\\"\\\";\\n background-color: inherit;\\n position: absolute;\\n z-index: -1;\\n width: 18px;\\n height: 10px;\\n }\\n .\").concat(uuid, \".place-bottom::after {\\n content: \\\"\\\";\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n border-top-right-radius: \").concat(arrowRadius, \"px;\\n border: 1px solid \").concat(borderColor, \";\\n background-color: \").concat(arrowColor, \";\\n z-index: -2;\\n top: -6px;\\n left: 50%;\\n margin-left: -6px;\\n transform: rotate(45deg);\\n }\\n\\n .\").concat(uuid, \".place-left {\\n margin-left: -10px;\\n }\\n .\").concat(uuid, \".place-left::before {\\n content: \\\"\\\";\\n background-color: inherit;\\n position: absolute;\\n z-index: -1;\\n width: 10px;\\n height: 18px;\\n }\\n .\").concat(uuid, \".place-left::after {\\n content: \\\"\\\";\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n border-top-right-radius: \").concat(arrowRadius, \"px;\\n border: 1px solid \").concat(borderColor, \";\\n background-color: \").concat(arrowColor, \";\\n z-index: -2;\\n right: -6px;\\n top: 50%;\\n margin-top: -6px;\\n transform: rotate(45deg);\\n }\\n\\n .\").concat(uuid, \".place-right {\\n margin-left: 10px;\\n }\\n .\").concat(uuid, \".place-right::before {\\n content: \\\"\\\";\\n background-color: inherit;\\n position: absolute;\\n z-index: -1;\\n width: 10px;\\n height: 18px;\\n }\\n .\").concat(uuid, \".place-right::after {\\n content: \\\"\\\";\\n position: absolute;\\n width: 10px;\\n height: 10px;\\n border-top-right-radius: \").concat(arrowRadius, \"px;\\n border: 1px solid \").concat(borderColor, \";\\n background-color: \").concat(arrowColor, \";\\n z-index: -2;\\n left: -6px;\\n top: 50%;\\n margin-top: -6px;\\n transform: rotate(-135deg);\\n }\\n \");\n}\nfunction getPopupColors(customColors, type, hasBorder) {\n var textColor = customColors.text;\n var backgroundColor = customColors.background;\n var borderColor = customColors.border;\n var arrowColor = customColors.arrow ? customColors.arrow : customColors.background;\n var colors = getDefaultPopupColors(type);\n if (textColor) {\n colors.text = textColor;\n }\n if (backgroundColor) {\n colors.background = backgroundColor;\n }\n if (hasBorder) {\n if (borderColor) {\n colors.border = borderColor;\n } else {\n colors.border = type === 'light' ? 'black' : 'white';\n }\n }\n if (arrowColor) {\n colors.arrow = arrowColor;\n }\n return colors;\n}\n\nvar _class, _class2;\n\n/* Polyfill */\nvar ReactTooltip = staticMethods(_class = windowListener(_class = customEvent(_class = isCapture(_class = getEffect(_class = bodyMode(_class = trackRemoval(_class = (_class2 = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactTooltip, _React$Component);\n var _super = _createSuper(ReactTooltip);\n function ReactTooltip(props) {\n var _this;\n _classCallCheck(this, ReactTooltip);\n _this = _super.call(this, props);\n _this.state = {\n uuid: props.uuid || generateUUID(),\n place: props.place || 'top',\n // Direction of tooltip\n desiredPlace: props.place || 'top',\n type: props.type || 'dark',\n // Color theme of tooltip\n effect: props.effect || 'float',\n // float or fixed\n show: false,\n border: false,\n borderClass: 'border',\n customColors: {},\n customRadius: {},\n offset: {},\n padding: props.padding,\n extraClass: '',\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null,\n // Current mouse event\n currentTarget: null,\n // Current target of mouse event\n ariaProps: parseAria(props),\n // aria- and role attributes\n isEmptyTip: false,\n disable: false,\n possibleCustomEvents: props.possibleCustomEvents || '',\n possibleCustomEventsOff: props.possibleCustomEventsOff || '',\n originTooltip: null,\n isMultiline: false\n };\n _this.bind(['showTooltip', 'updateTooltip', 'hideTooltip', 'hideTooltipOnScroll', 'getTooltipContent', 'globalRebuild', 'globalShow', 'globalHide', 'onWindowResize', 'mouseOnToolTip']);\n _this.mount = true;\n _this.delayShowLoop = null;\n _this.delayHideLoop = null;\n _this.delayReshow = null;\n _this.intervalUpdateContent = null;\n return _this;\n }\n\n /**\n * For unify the bind and unbind listener\n */\n _createClass(ReactTooltip, [{\n key: \"bind\",\n value: function bind(methodArray) {\n var _this2 = this;\n methodArray.forEach(function (method) {\n _this2[method] = _this2[method].bind(_this2);\n });\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props = this.props;\n _this$props.insecure;\n var resizeHide = _this$props.resizeHide,\n disableInternalStyle = _this$props.disableInternalStyle;\n this.mount = true;\n this.bindListener(); // Bind listener for tooltip\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n\n if (!disableInternalStyle) {\n this.injectStyles(); // Inject styles for each DOM root having tooltip.\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mount = false;\n this.clearTimer();\n this.unbindListener();\n this.removeScrollListener(this.state.currentTarget);\n this.unbindWindowEvents();\n }\n\n /* Look for the closest DOM root having tooltip and inject styles. */\n }, {\n key: \"injectStyles\",\n value: function injectStyles() {\n var tooltipRef = this.tooltipRef;\n if (!tooltipRef) {\n return;\n }\n var parentNode = tooltipRef.parentNode;\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n var domRoot;\n switch (parentNode.constructor.name) {\n case 'Document':\n case 'HTMLDocument':\n case undefined:\n domRoot = parentNode.head;\n break;\n case 'ShadowRoot':\n default:\n domRoot = parentNode;\n break;\n }\n\n // Prevent styles duplication.\n if (!domRoot.querySelector('style[data-react-tooltip]')) {\n var style = document.createElement('style');\n style.textContent = baseCss;\n style.setAttribute('data-react-tooltip', 'true');\n domRoot.appendChild(style);\n }\n }\n\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n }, {\n key: \"mouseOnToolTip\",\n value: function mouseOnToolTip() {\n var show = this.state.show;\n if (show && this.tooltipRef) {\n /* old IE or Firefox work around */\n if (!this.tooltipRef.matches) {\n /* old IE work around */\n if (this.tooltipRef.msMatchesSelector) {\n this.tooltipRef.matches = this.tooltipRef.msMatchesSelector;\n } else {\n /* old Firefox work around */\n this.tooltipRef.matches = this.tooltipRef.mozMatchesSelector;\n }\n }\n return this.tooltipRef.matches(':hover');\n }\n return false;\n }\n\n /**\n * Pick out corresponded target elements\n */\n }, {\n key: \"getTargetArray\",\n value: function getTargetArray(id) {\n var targetArray = [];\n var selector;\n if (!id) {\n selector = '[data-tip]:not([data-for])';\n } else {\n var escaped = id.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n selector = \"[data-tip][data-for=\\\"\".concat(escaped, \"\\\"]\");\n }\n\n // Scan document for shadow DOM elements\n nodeListToArray(document.getElementsByTagName('*')).filter(function (element) {\n return element.shadowRoot;\n }).forEach(function (element) {\n targetArray = targetArray.concat(nodeListToArray(element.shadowRoot.querySelectorAll(selector)));\n });\n return targetArray.concat(nodeListToArray(document.querySelectorAll(selector)));\n }\n\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n }, {\n key: \"bindListener\",\n value: function bindListener() {\n var _this3 = this;\n var _this$props2 = this.props,\n id = _this$props2.id,\n globalEventOff = _this$props2.globalEventOff,\n isCapture = _this$props2.isCapture;\n var targetArray = this.getTargetArray(id);\n targetArray.forEach(function (target) {\n if (target.getAttribute('currentItem') === null) {\n target.setAttribute('currentItem', 'false');\n }\n _this3.unbindBasicListener(target);\n if (_this3.isCustomEvent(target)) {\n _this3.customUnbindListener(target);\n }\n });\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach(function (target) {\n var isCaptureMode = _this3.isCapture(target);\n var effect = _this3.getEffect(target);\n if (_this3.isCustomEvent(target)) {\n _this3.customBindListener(target);\n return;\n }\n target.addEventListener('mouseenter', _this3.showTooltip, isCaptureMode);\n target.addEventListener('focus', _this3.showTooltip, isCaptureMode);\n if (effect === 'float') {\n target.addEventListener('mousemove', _this3.updateTooltip, isCaptureMode);\n }\n target.addEventListener('mouseleave', _this3.hideTooltip, isCaptureMode);\n target.addEventListener('blur', _this3.hideTooltip, isCaptureMode);\n });\n }\n\n // Global event to hide tooltip\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n }\n\n // Track removal of targetArray elements from DOM\n this.bindRemovalTracker();\n }\n\n /**\n * Unbind listeners on target elements\n */\n }, {\n key: \"unbindListener\",\n value: function unbindListener() {\n var _this4 = this;\n var _this$props3 = this.props,\n id = _this$props3.id,\n globalEventOff = _this$props3.globalEventOff;\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n var targetArray = this.getTargetArray(id);\n targetArray.forEach(function (target) {\n _this4.unbindBasicListener(target);\n if (_this4.isCustomEvent(target)) _this4.customUnbindListener(target);\n });\n }\n if (globalEventOff) window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\n\n /**\n * Invoke this before bind listener and unmount the component\n * it is necessary to invoke this even when binding custom event\n * so that the tooltip can switch between custom and default listener\n */\n }, {\n key: \"unbindBasicListener\",\n value: function unbindBasicListener(target) {\n var isCaptureMode = this.isCapture(target);\n target.removeEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.removeEventListener('mousemove', this.updateTooltip, isCaptureMode);\n target.removeEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n }\n }, {\n key: \"getTooltipContent\",\n value: function getTooltipContent() {\n var _this$props4 = this.props,\n getContent = _this$props4.getContent,\n children = _this$props4.children;\n\n // Generate tooltip content\n var content;\n if (getContent) {\n if (Array.isArray(getContent)) {\n content = getContent[0] && getContent[0](this.state.originTooltip);\n } else {\n content = getContent(this.state.originTooltip);\n }\n }\n return TipContent(this.state.originTooltip, children, content, this.state.isMultiline);\n }\n }, {\n key: \"isEmptyTip\",\n value: function isEmptyTip(placeholder) {\n return typeof placeholder === 'string' && placeholder === '' || placeholder === null;\n }\n\n /**\n * When mouse enter, show the tooltip\n */\n }, {\n key: \"showTooltip\",\n value: function showTooltip(e, isGlobalCall) {\n if (!this.tooltipRef) {\n return;\n }\n if (isGlobalCall) {\n // Don't trigger other elements belongs to other ReactTooltip\n var targetArray = this.getTargetArray(this.props.id);\n var isMyElement = targetArray.some(function (ele) {\n return ele === e.currentTarget;\n });\n if (!isMyElement) return;\n }\n // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n var _this$props5 = this.props,\n multiline = _this$props5.multiline,\n getContent = _this$props5.getContent;\n var originTooltip = e.currentTarget.getAttribute('data-tip');\n var isMultiline = e.currentTarget.getAttribute('data-multiline') || multiline || false;\n\n // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n var switchToSolid = e instanceof window.FocusEvent || isGlobalCall;\n\n // if it needs to skip adding hide listener to scroll\n var scrollHide = true;\n if (e.currentTarget.getAttribute('data-scroll-hide')) {\n scrollHide = e.currentTarget.getAttribute('data-scroll-hide') === 'true';\n } else if (this.props.scrollHide != null) {\n scrollHide = this.props.scrollHide;\n }\n\n // adding aria-describedby to target to make tooltips read by screen readers\n if (e && e.currentTarget && e.currentTarget.setAttribute) {\n e.currentTarget.setAttribute('aria-describedby', this.props.id || this.state.uuid);\n }\n\n // Make sure the correct place is set\n var desiredPlace = e.currentTarget.getAttribute('data-place') || this.props.place || 'top';\n var effect = switchToSolid && 'solid' || this.getEffect(e.currentTarget);\n var offset = e.currentTarget.getAttribute('data-offset') || this.props.offset || {};\n var result = getPosition(e, e.currentTarget, this.tooltipRef, desiredPlace.split(',')[0], desiredPlace, effect, offset);\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(result.position, e, e.currentTarget, this.tooltipRef, desiredPlace, desiredPlace, effect, offset);\n }\n var place = result.isNewState ? result.newState.place : desiredPlace.split(',')[0];\n\n // To prevent previously created timers from triggering\n this.clearTimer();\n var target = e.currentTarget;\n var reshowDelay = this.state.show ? target.getAttribute('data-delay-update') || this.props.delayUpdate : 0;\n var self = this;\n var updateState = function updateState() {\n self.setState({\n originTooltip: originTooltip,\n isMultiline: isMultiline,\n desiredPlace: desiredPlace,\n place: place,\n type: target.getAttribute('data-type') || self.props.type || 'dark',\n customColors: {\n text: target.getAttribute('data-text-color') || self.props.textColor || null,\n background: target.getAttribute('data-background-color') || self.props.backgroundColor || null,\n border: target.getAttribute('data-border-color') || self.props.borderColor || null,\n arrow: target.getAttribute('data-arrow-color') || self.props.arrowColor || null\n },\n customRadius: {\n tooltip: target.getAttribute('data-tooltip-radius') || self.props.tooltipRadius || '3',\n arrow: target.getAttribute('data-arrow-radius') || self.props.arrowRadius || '0'\n },\n effect: effect,\n offset: offset,\n padding: target.getAttribute('data-padding') || self.props.padding,\n html: (target.getAttribute('data-html') ? target.getAttribute('data-html') === 'true' : self.props.html) || false,\n delayShow: target.getAttribute('data-delay-show') || self.props.delayShow || 0,\n delayHide: target.getAttribute('data-delay-hide') || self.props.delayHide || 0,\n delayUpdate: target.getAttribute('data-delay-update') || self.props.delayUpdate || 0,\n border: (target.getAttribute('data-border') ? target.getAttribute('data-border') === 'true' : self.props.border) || false,\n borderClass: target.getAttribute('data-border-class') || self.props.borderClass || 'border',\n extraClass: target.getAttribute('data-class') || self.props[\"class\"] || self.props.className || '',\n disable: (target.getAttribute('data-tip-disable') ? target.getAttribute('data-tip-disable') === 'true' : self.props.disable) || false,\n currentTarget: target\n }, function () {\n if (scrollHide) {\n self.addScrollListener(self.state.currentTarget);\n }\n self.updateTooltip(e);\n if (getContent && Array.isArray(getContent)) {\n self.intervalUpdateContent = setInterval(function () {\n if (self.mount) {\n var _getContent = self.props.getContent;\n var placeholder = TipContent(originTooltip, '', _getContent[0](), isMultiline);\n var isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({\n isEmptyTip: isEmptyTip\n });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n });\n };\n\n // If there is no delay call immediately, don't allow events to get in first.\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n\n /**\n * When mouse hover, update tool tip\n */\n }, {\n key: \"updateTooltip\",\n value: function updateTooltip(e) {\n var _this5 = this;\n var _this$state = this.state,\n delayShow = _this$state.delayShow,\n disable = _this$state.disable;\n var _this$props6 = this.props,\n afterShow = _this$props6.afterShow,\n disableProp = _this$props6.disable;\n var placeholder = this.getTooltipContent();\n var eventTarget = e.currentTarget || e.target;\n\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n return;\n }\n\n // if the tooltip is empty, disable the tooltip\n if (this.isEmptyTip(placeholder) || disable || disableProp) {\n return;\n }\n var delayTime = !this.state.show ? parseInt(delayShow, 10) : 0;\n var updateState = function updateState() {\n if (Array.isArray(placeholder) && placeholder.length > 0 || placeholder) {\n var isInvisible = !_this5.state.show;\n _this5.setState({\n currentEvent: e,\n currentTarget: eventTarget,\n show: true\n }, function () {\n _this5.updatePosition(function () {\n if (isInvisible && afterShow) {\n afterShow(e);\n }\n });\n });\n }\n };\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n }\n if (delayTime) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n this.delayShowLoop = null;\n updateState();\n }\n }\n\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n }, {\n key: \"listenForTooltipExit\",\n value: function listenForTooltipExit() {\n var show = this.state.show;\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener('mouseleave', this.hideTooltip);\n }\n }\n }, {\n key: \"removeListenerForTooltipExit\",\n value: function removeListenerForTooltipExit() {\n var show = this.state.show;\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n /**\n * When mouse leave, hide tooltip\n */\n }, {\n key: \"hideTooltip\",\n value: function hideTooltip(e, hasTarget) {\n var _this6 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isScroll: false\n };\n var disable = this.state.disable;\n var isScroll = options.isScroll;\n var delayHide = isScroll ? 0 : this.state.delayHide;\n var _this$props7 = this.props,\n afterHide = _this$props7.afterHide,\n disableProp = _this$props7.disable;\n var placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable || disableProp) return; // if the tooltip is empty, disable the tooltip\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n var targetArray = this.getTargetArray(this.props.id);\n var isMyElement = targetArray.some(function (ele) {\n return ele === e.currentTarget;\n });\n if (!isMyElement || !this.state.show) return;\n }\n\n // clean up aria-describedby when hiding tooltip\n if (e && e.currentTarget && e.currentTarget.removeAttribute) {\n e.currentTarget.removeAttribute('aria-describedby');\n }\n var resetState = function resetState() {\n var isVisible = _this6.state.show;\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (_this6.mouseOnToolTip()) {\n _this6.listenForTooltipExit();\n return;\n }\n _this6.removeListenerForTooltipExit();\n _this6.setState({\n show: false\n }, function () {\n _this6.removeScrollListener(_this6.state.currentTarget);\n if (isVisible && afterHide) {\n afterHide(e);\n }\n });\n };\n this.clearTimer();\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n\n /**\n * When scroll, hide tooltip\n */\n }, {\n key: \"hideTooltipOnScroll\",\n value: function hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, {\n isScroll: true\n });\n }\n\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n }, {\n key: \"addScrollListener\",\n value: function addScrollListener(currentTarget) {\n var isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n }, {\n key: \"removeScrollListener\",\n value: function removeScrollListener(currentTarget) {\n var isCaptureMode = this.isCapture(currentTarget);\n window.removeEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n\n // Calculation the position\n }, {\n key: \"updatePosition\",\n value: function updatePosition(callbackAfter) {\n var _this7 = this;\n var _this$state2 = this.state,\n currentEvent = _this$state2.currentEvent,\n currentTarget = _this$state2.currentTarget,\n place = _this$state2.place,\n desiredPlace = _this$state2.desiredPlace,\n effect = _this$state2.effect,\n offset = _this$state2.offset;\n var node = this.tooltipRef;\n var result = getPosition(currentEvent, currentTarget, node, place, desiredPlace, effect, offset);\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(result.position, currentEvent, currentTarget, node, place, desiredPlace, effect, offset);\n }\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, function () {\n _this7.updatePosition(callbackAfter);\n });\n }\n if (callbackAfter && typeof callbackAfter === 'function') {\n callbackAfter();\n }\n\n // Set tooltip position\n node.style.left = result.position.left + 'px';\n node.style.top = result.position.top + 'px';\n }\n\n /**\n * CLear all kinds of timeout of interval\n */\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n this.delayShowLoop = null;\n }\n if (this.delayHideLoop) {\n clearTimeout(this.delayHideLoop);\n this.delayHideLoop = null;\n }\n if (this.delayReshow) {\n clearTimeout(this.delayReshow);\n this.delayReshow = null;\n }\n if (this.intervalUpdateContent) {\n clearInterval(this.intervalUpdateContent);\n this.intervalUpdateContent = null;\n }\n }\n }, {\n key: \"hasCustomColors\",\n value: function hasCustomColors() {\n var _this8 = this;\n return Boolean(Object.keys(this.state.customColors).find(function (color) {\n return color !== 'border' && _this8.state.customColors[color];\n }) || this.state.border && this.state.customColors['border']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this9 = this;\n var _this$state3 = this.state,\n extraClass = _this$state3.extraClass,\n html = _this$state3.html,\n ariaProps = _this$state3.ariaProps,\n disable = _this$state3.disable,\n uuid = _this$state3.uuid;\n var content = this.getTooltipContent();\n var isEmptyTip = this.isEmptyTip(content);\n var style = this.props.disableInternalStyle ? '' : generateTooltipStyle(this.state.uuid, this.state.customColors, this.state.type, this.state.border, this.state.padding, this.state.customRadius);\n var tooltipClass = '__react_component_tooltip' + \" \".concat(this.state.uuid) + (this.state.show && !disable && !isEmptyTip ? ' show' : '') + (this.state.border ? ' ' + this.state.borderClass : '') + \" place-\".concat(this.state.place) + // top, bottom, left, right\n \" type-\".concat(this.hasCustomColors() ? 'custom' : this.state.type) + (\n // dark, success, warning, error, info, light, custom\n this.props.delayUpdate ? ' allow_hover' : '') + (this.props.clickable ? ' allow_click' : '');\n var Wrapper = this.props.wrapper;\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n var wrapperClassName = [tooltipClass, extraClass].filter(Boolean).join(' ');\n if (html) {\n var htmlContent = \"\".concat(content).concat(style ? \"\\n<style aria-hidden=\\\"true\\\">\".concat(style, \"</style>\") : '');\n return /*#__PURE__*/React.createElement(Wrapper, _extends({\n className: \"\".concat(wrapperClassName),\n id: this.props.id || uuid,\n ref: function ref(_ref) {\n return _this9.tooltipRef = _ref;\n }\n }, ariaProps, {\n \"data-id\": \"tooltip\",\n dangerouslySetInnerHTML: {\n __html: htmlContent\n }\n }));\n } else {\n return /*#__PURE__*/React.createElement(Wrapper, _extends({\n className: \"\".concat(wrapperClassName),\n id: this.props.id || uuid\n }, ariaProps, {\n ref: function ref(_ref2) {\n return _this9.tooltipRef = _ref2;\n },\n \"data-id\": \"tooltip\"\n }), style && /*#__PURE__*/React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: style\n },\n \"aria-hidden\": \"true\"\n }), content);\n }\n }\n }], [{\n key: \"propTypes\",\n get: function get() {\n return {\n uuid: PropTypes.string,\n children: PropTypes.any,\n place: PropTypes.string,\n type: PropTypes.string,\n effect: PropTypes.string,\n offset: PropTypes.object,\n padding: PropTypes.string,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n borderClass: PropTypes.string,\n textColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderColor: PropTypes.string,\n arrowColor: PropTypes.string,\n arrowRadius: PropTypes.string,\n tooltipRadius: PropTypes.string,\n insecure: PropTypes.bool,\n \"class\": PropTypes.string,\n className: PropTypes.string,\n id: PropTypes.string,\n html: PropTypes.bool,\n delayHide: PropTypes.number,\n delayUpdate: PropTypes.number,\n delayShow: PropTypes.number,\n event: PropTypes.string,\n eventOff: PropTypes.string,\n isCapture: PropTypes.bool,\n globalEventOff: PropTypes.string,\n getContent: PropTypes.any,\n afterShow: PropTypes.func,\n afterHide: PropTypes.func,\n overridePosition: PropTypes.func,\n disable: PropTypes.bool,\n scrollHide: PropTypes.bool,\n resizeHide: PropTypes.bool,\n wrapper: PropTypes.string,\n bodyMode: PropTypes.bool,\n possibleCustomEvents: PropTypes.string,\n possibleCustomEventsOff: PropTypes.string,\n clickable: PropTypes.bool,\n disableInternalStyle: PropTypes.bool\n };\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var ariaProps = prevState.ariaProps;\n var newAriaProps = parseAria(nextProps);\n var isChanged = Object.keys(newAriaProps).some(function (props) {\n return newAriaProps[props] !== ariaProps[props];\n });\n if (!isChanged) {\n return null;\n }\n return _objectSpread2(_objectSpread2({}, prevState), {}, {\n ariaProps: newAriaProps\n });\n }\n }]);\n return ReactTooltip;\n}(React.Component), _defineProperty(_class2, \"defaultProps\", {\n insecure: true,\n resizeHide: true,\n wrapper: 'div',\n clickable: false\n}), _defineProperty(_class2, \"supportedWrappers\", ['div', 'span']), _defineProperty(_class2, \"displayName\", 'ReactTooltip'), _class2)) || _class) || _class) || _class) || _class) || _class) || _class) || _class;\n\nexport { ReactTooltip as default };\n//# sourceMappingURL=index.es.js.map\n",null,null,null,"!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports[\"use-state-with-callback\"]=t(require(\"react\")):e[\"use-state-with-callback\"]=t(e.react)}(window,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var u=t[n]={i:n,l:!1,exports:{}};return e[n].call(u.exports,u,u.exports,r),u.l=!0,u.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var u in e)r.d(n,u,function(t){return e[t]}.bind(null,u));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){\"use strict\";r.r(t),r.d(t,\"useStateWithCallbackInstant\",function(){return o}),r.d(t,\"useStateWithCallbackLazy\",function(){return c});var n=r(0);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=[],n=!0,u=!1,o=void 0;try{for(var c,f=e[Symbol.iterator]();!(n=(c=f.next()).done)&&(r.push(c.value),!t||r.length!==t);n=!0);}catch(e){u=!0,o=e}finally{try{n||null==f.return||f.return()}finally{if(u)throw o}}return r}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}var o=function(e,t){var r=u(n.useState(e),2),o=r[0],c=r[1],f=n.useRef(!1);return n.useLayoutEffect(function(){f.current?t(o):f.current=!0},[o,t]),[o,c]},c=function(e){var t=n.useRef(null),r=u(n.useState(e),2),o=r[0],c=r[1];n.useEffect(function(){t.current&&(t.current(o),t.current=null)},[o]);var f=n.useCallback(function(e,r){return t.current=r,c(e)},[]);return[o,f]};t.default=function(e,t){var r=u(n.useState(e),2),o=r[0],c=r[1],f=n.useRef(!1);return n.useEffect(function(){f.current?t(o):f.current=!0},[o,t]),[o,c]}}])});","export default \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20286.054%20286.054%22%20style%3D%22enable-background%3Anew%200%200%20286.054%20286.054%3B%22%20xml%3Aspace%3D%22preserve%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20class%3D%22%22%3E%3Cg%3E%3Cg%3E%20%3Cpath%20d%3D%22M143.027%2C0C64.04%2C0%2C0%2C64.04%2C0%2C143.027c0%2C78.996%2C64.04%2C143.027%2C143.027%2C143.027%20%20%20c78.996%2C0%2C143.027-64.022%2C143.027-143.027C286.054%2C64.04%2C222.022%2C0%2C143.027%2C0z%20M143.027%2C259.236%20%20%20c-64.183%2C0-116.209-52.026-116.209-116.209S78.844%2C26.818%2C143.027%2C26.818s116.209%2C52.026%2C116.209%2C116.209%20%20%20S207.21%2C259.236%2C143.027%2C259.236z%20M143.036%2C62.726c-10.244%2C0-17.995%2C5.346-17.995%2C13.981v79.201c0%2C8.644%2C7.75%2C13.972%2C17.995%2C13.972%20%20%20c9.994%2C0%2C17.995-5.551%2C17.995-13.972V76.707C161.03%2C68.277%2C153.03%2C62.726%2C143.036%2C62.726z%20M143.036%2C187.723%20%20%20c-9.842%2C0-17.852%2C8.01-17.852%2C17.86c0%2C9.833%2C8.01%2C17.843%2C17.852%2C17.843s17.843-8.01%2C17.843-17.843%20%20%20C160.878%2C195.732%2C152.878%2C187.723%2C143.036%2C187.723z%22%20data-original%3D%22%23E2574C%22%20class%3D%22active-path%22%20data-old_color%3D%22%23ffffff%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%20%3C%2Fsvg%3E\"",null,null,"/** Types of elements found in htmlparser2's DOM */\nexport var 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 || (ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nexport function isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexport const Root = ElementType.Root;\n/** Type for Text */\nexport const Text = ElementType.Text;\n/** Type for <? ... ?> */\nexport const Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexport const Comment = ElementType.Comment;\n/** Type for <script> tags */\nexport const Script = ElementType.Script;\n/** Type for <style> tags */\nexport const Style = ElementType.Style;\n/** Type for Any tag */\nexport const Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexport const CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexport const Doctype = ElementType.Doctype;\n","import { ElementType, isTag as isTagRaw } from \"domelementtype\";\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nexport class Node {\n constructor() {\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 // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get parentNode() {\n return this.parent;\n }\n set parentNode(parent) {\n this.parent = parent;\n }\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get previousSibling() {\n return this.prev;\n }\n set previousSibling(prev) {\n this.prev = prev;\n }\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get nextSibling() {\n return this.next;\n }\n set nextSibling(next) {\n this.next = next;\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 cloneNode(recursive = false) {\n return cloneNode(this, recursive);\n }\n}\n/**\n * A node that contains some data.\n */\nexport class DataNode extends Node {\n /**\n * @param data The content of the data node\n */\n constructor(data) {\n super();\n this.data = data;\n }\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get nodeValue() {\n return this.data;\n }\n set nodeValue(data) {\n this.data = data;\n }\n}\n/**\n * Text within the document.\n */\nexport class Text extends DataNode {\n constructor() {\n super(...arguments);\n this.type = ElementType.Text;\n }\n get nodeType() {\n return 3;\n }\n}\n/**\n * Comments within the document.\n */\nexport class Comment extends DataNode {\n constructor() {\n super(...arguments);\n this.type = ElementType.Comment;\n }\n get nodeType() {\n return 8;\n }\n}\n/**\n * Processing instructions, including doc types.\n */\nexport class ProcessingInstruction extends DataNode {\n constructor(name, data) {\n super(data);\n this.name = name;\n this.type = ElementType.Directive;\n }\n get nodeType() {\n return 1;\n }\n}\n/**\n * A `Node` that can have children.\n */\nexport class NodeWithChildren extends Node {\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n constructor(children) {\n super();\n this.children = children;\n }\n // Aliases\n /** First child of the node. */\n get firstChild() {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n }\n /** Last child of the node. */\n get lastChild() {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n }\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get childNodes() {\n return this.children;\n }\n set childNodes(children) {\n this.children = children;\n }\n}\nexport class CDATA extends NodeWithChildren {\n constructor() {\n super(...arguments);\n this.type = ElementType.CDATA;\n }\n get nodeType() {\n return 4;\n }\n}\n/**\n * The root node of the document.\n */\nexport class Document extends NodeWithChildren {\n constructor() {\n super(...arguments);\n this.type = ElementType.Root;\n }\n get nodeType() {\n return 9;\n }\n}\n/**\n * An element within the DOM.\n */\nexport class Element extends NodeWithChildren {\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 constructor(name, attribs, children = [], type = name === \"script\"\n ? ElementType.Script\n : name === \"style\"\n ? ElementType.Style\n : ElementType.Tag) {\n super(children);\n this.name = name;\n this.attribs = attribs;\n this.type = type;\n }\n get nodeType() {\n return 1;\n }\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get tagName() {\n return this.name;\n }\n set tagName(name) {\n this.name = name;\n }\n get attributes() {\n return Object.keys(this.attribs).map((name) => {\n var _a, _b;\n return ({\n 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}\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nexport function isTag(node) {\n return isTagRaw(node);\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nexport function isCDATA(node) {\n return node.type === ElementType.CDATA;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nexport function isText(node) {\n return node.type === ElementType.Text;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nexport function isComment(node) {\n return node.type === ElementType.Comment;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nexport function isDirective(node) {\n return node.type === ElementType.Directive;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nexport function isDocument(node) {\n return node.type === ElementType.Root;\n}\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nexport function hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\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 */\nexport function cloneNode(node, recursive = false) {\n let 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 const children = recursive ? cloneChildren(node.children) : [];\n const clone = new Element(node.name, { ...node.attribs }, children);\n children.forEach((child) => (child.parent = clone));\n if (node.namespace != null) {\n clone.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone[\"x-attribsNamespace\"] = { ...node[\"x-attribsNamespace\"] };\n }\n if (node[\"x-attribsPrefix\"]) {\n clone[\"x-attribsPrefix\"] = { ...node[\"x-attribsPrefix\"] };\n }\n result = clone;\n }\n else if (isCDATA(node)) {\n const children = recursive ? cloneChildren(node.children) : [];\n const clone = new CDATA(children);\n children.forEach((child) => (child.parent = clone));\n result = clone;\n }\n else if (isDocument(node)) {\n const children = recursive ? cloneChildren(node.children) : [];\n const clone = new Document(children);\n children.forEach((child) => (child.parent = clone));\n if (node[\"x-mode\"]) {\n clone[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone;\n }\n else if (isDirective(node)) {\n const 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: ${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}\nfunction cloneChildren(childs) {\n const children = childs.map((child) => cloneNode(child, true));\n for (let 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","import { ElementType } from \"domelementtype\";\nimport { Element, Text, Comment, CDATA, Document, ProcessingInstruction, } from \"./node.js\";\nexport * from \"./node.js\";\n// Default options\nconst defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nexport class DomHandler {\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 constructor(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new 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 onparserinit(parser) {\n this.parser = parser;\n }\n // Resets the handler back to starting state\n onreset() {\n this.dom = [];\n this.root = new 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 onend() {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n }\n onerror(error) {\n this.handleCallback(error);\n }\n onclosetag() {\n this.lastNode = null;\n const 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 onopentag(name, attribs) {\n const type = this.options.xmlMode ? ElementType.Tag : undefined;\n const element = new Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n }\n ontext(data) {\n const { lastNode } = this;\n if (lastNode && lastNode.type === ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n const node = new Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n }\n oncomment(data) {\n if (this.lastNode && this.lastNode.type === ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n const node = new Comment(data);\n this.addNode(node);\n this.lastNode = node;\n }\n oncommentend() {\n this.lastNode = null;\n }\n oncdatastart() {\n const text = new Text(\"\");\n const node = new CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n }\n oncdataend() {\n this.lastNode = null;\n }\n onprocessinginstruction(name, data) {\n const node = new ProcessingInstruction(name, data);\n this.addNode(node);\n }\n handleCallback(error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n }\n addNode(node) {\n const parent = this.tagStack[this.tagStack.length - 1];\n const 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}\nexport default DomHandler;\n","const e=/\\n/g;function n(n){const o=[...n.matchAll(e)].map((e=>e.index||0));o.unshift(-1);const s=t(o,0,o.length);return e=>r(s,e)}function t(e,n,r){if(r-n==1)return{offset:e[n],index:n+1};const o=Math.ceil((n+r)/2),s=t(e,n,o),l=t(e,o,r);return{offset:s.offset,low:s,high:l}}function r(e,n){return function(e){return Object.prototype.hasOwnProperty.call(e,\"index\")}(e)?{line:e.index,column:n-e.offset}:r(e.high.offset<n?e.high:e.low,n)}function o(e,t=\"\",r={}){const o=\"string\"!=typeof t?t:r,l=\"string\"==typeof t?t:\"\",c=e.map(s),f=!!o.lineNumbers;return function(e,t=0){const r=f?n(e):()=>({line:0,column:0});let o=t;const s=[];e:for(;o<e.length;){let n=!1;for(const t of c){t.regex.lastIndex=o;const c=t.regex.exec(e);if(c&&c[0].length>0){if(!t.discard){const e=r(o),n=\"string\"==typeof t.replace?c[0].replace(new RegExp(t.regex.source,t.regex.flags),t.replace):c[0];s.push({state:l,name:t.name,text:n,offset:o,len:c[0].length,line:e.line,column:e.column})}if(o=t.regex.lastIndex,n=!0,t.push){const n=t.push(e,o);s.push(...n.tokens),o=n.offset}if(t.pop)break e;break}}if(!n)break}return{tokens:s,offset:o,complete:e.length<=o}}}function s(e,n){return{...e,regex:l(e,n)}}function l(e,n){if(0===e.name.length)throw new Error(`Rule #${n} has empty name, which is not allowed.`);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"regex\")}(e))return function(e){if(e.global)throw new Error(`Regular expression /${e.source}/${e.flags} contains the global flag, which is not allowed.`);return e.sticky?e:new RegExp(e.source,e.flags+\"y\")}(e.regex);if(function(e){return Object.prototype.hasOwnProperty.call(e,\"str\")}(e)){if(0===e.str.length)throw new Error(`Rule #${n} (\"${e.name}\") has empty \"str\" property, which is not allowed.`);return new RegExp(c(e.str),\"y\")}return new RegExp(c(e.name),\"y\")}function c(e){return e.replace(/[-[\\]{}()*+!<=:?./\\\\^$|#\\s,]/g,\"\\\\$&\")}export{o as createLexer};\n","import { clamp, escapeWhitespace } from './util.mjs';\n\nfunction emit(value) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: value\n });\n}\nfunction make(\nf) {\n return (data, i) => ({\n matched: true,\n position: i,\n value: f(data, i)\n });\n}\nfunction action(\nf) {\n return (data, i) => {\n f(data, i);\n return {\n matched: true,\n position: i,\n value: null\n };\n };\n}\nfunction fail(\ndata, i) {\n return { matched: false };\n}\nfunction error(message) {\n return (data, i) => {\n throw new Error((message instanceof Function) ? message(data, i) : message);\n };\n}\nfunction token(\nonToken,\nonEnd) {\n return (data, i) => {\n let position = i;\n let value = undefined;\n if (i < data.tokens.length) {\n value = onToken(data.tokens[i], data, i);\n if (value !== undefined) {\n position++;\n }\n }\n else {\n onEnd?.(data, i);\n }\n return (value === undefined)\n ? { matched: false }\n : {\n matched: true,\n position: position,\n value: value\n };\n };\n}\nfunction any(data, i) {\n return (i < data.tokens.length)\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction satisfy(\ntest) {\n return (data, i) => (i < data.tokens.length && test(data.tokens[i], data, i))\n ? {\n matched: true,\n position: i + 1,\n value: data.tokens[i]\n }\n : { matched: false };\n}\nfunction mapInner(r, f) {\n return (r.matched) ? ({\n matched: true,\n position: r.position,\n value: f(r.value, r.position)\n }) : r;\n}\nfunction mapOuter(r, f) {\n return (r.matched) ? f(r) : r;\n}\nfunction map(p, mapper) {\n return (data, i) => mapInner(p(data, i), (v, j) => mapper(v, data, i, j));\n}\nfunction map1(p,\nmapper) {\n return (data, i) => mapOuter(p(data, i), (m) => mapper(m, data, i));\n}\nfunction peek(p, f) {\n return (data, i) => {\n const r = p(data, i);\n f(r, data, i);\n return r;\n };\n}\nfunction option(p, def) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? r\n : {\n matched: true,\n position: i,\n value: def\n };\n };\n}\nfunction not(p) {\n return (data, i) => {\n const r = p(data, i);\n return (r.matched)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n };\n}\nfunction choice(...ps) {\n return (data, i) => {\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched) {\n return result;\n }\n }\n return { matched: false };\n };\n}\nfunction otherwise(pa, pb) {\n return (data, i) => {\n const r1 = pa(data, i);\n return (r1.matched)\n ? r1\n : pb(data, i);\n };\n}\nfunction longest(...ps) {\n return (data, i) => {\n let match = undefined;\n for (const p of ps) {\n const result = p(data, i);\n if (result.matched && (!match || match.position < result.position)) {\n match = result;\n }\n }\n return match || { matched: false };\n };\n}\nfunction takeWhile(p,\ntest) {\n return (data, i) => {\n const values = [];\n let success = true;\n do {\n const r = p(data, i);\n if (r.matched && test(r.value, values.length + 1, data, i, r.position)) {\n values.push(r.value);\n i = r.position;\n }\n else {\n success = false;\n }\n } while (success);\n return {\n matched: true,\n position: i,\n value: values\n };\n };\n}\nfunction takeUntil(p,\ntest) {\n return takeWhile(p, (value, n, data, i, j) => !test(value, n, data, i, j));\n}\nfunction takeWhileP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => pTest(data, i).matched);\n}\nfunction takeUntilP(pValue, pTest) {\n return takeWhile(pValue, (value, n, data, i) => !pTest(data, i).matched);\n}\nfunction many(p) {\n return takeWhile(p, () => true);\n}\nfunction many1(p) {\n return ab(p, many(p), (head, tail) => [head, ...tail]);\n}\nfunction ab(pa, pb, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapInner(pb(data, ma.position), (vb, j) => join(ma.value, vb, data, i, j)));\n}\nfunction left(pa, pb) {\n return ab(pa, pb, (va) => va);\n}\nfunction right(pa, pb) {\n return ab(pa, pb, (va, vb) => vb);\n}\nfunction abc(pa, pb, pc, join) {\n return (data, i) => mapOuter(pa(data, i), (ma) => mapOuter(pb(data, ma.position), (mb) => mapInner(pc(data, mb.position), (vc, j) => join(ma.value, mb.value, vc, data, i, j))));\n}\nfunction middle(pa, pb, pc) {\n return abc(pa, pb, pc, (ra, rb) => rb);\n}\nfunction all(...ps) {\n return (data, i) => {\n const result = [];\n let position = i;\n for (const p of ps) {\n const r1 = p(data, position);\n if (r1.matched) {\n result.push(r1.value);\n position = r1.position;\n }\n else {\n return { matched: false };\n }\n }\n return {\n matched: true,\n position: position,\n value: result\n };\n };\n}\nfunction skip(...ps) {\n return map(all(...ps), () => null);\n}\nfunction flatten(...ps) {\n return flatten1(all(...ps));\n}\nfunction flatten1(p) {\n return map(p, (vs) => vs.flatMap((v) => v));\n}\nfunction sepBy1(pValue, pSep) {\n return ab(pValue, many(right(pSep, pValue)), (head, tail) => [head, ...tail]);\n}\nfunction sepBy(pValue, pSep) {\n return otherwise(sepBy1(pValue, pSep), emit([]));\n}\nfunction chainReduce(acc,\nf) {\n return (data, i) => {\n let loop = true;\n let acc1 = acc;\n let pos = i;\n do {\n const r = f(acc1, data, pos)(data, pos);\n if (r.matched) {\n acc1 = r.value;\n pos = r.position;\n }\n else {\n loop = false;\n }\n } while (loop);\n return {\n matched: true,\n position: pos,\n value: acc1\n };\n };\n}\nfunction reduceLeft(acc, p,\nreducer) {\n return chainReduce(acc, (acc) => map(p, (v, data, i, j) => reducer(acc, v, data, i, j)));\n}\nfunction reduceRight(p, acc,\nreducer) {\n return map(many(p), (vs, data, i, j) => vs.reduceRight((acc, v) => reducer(v, acc, data, i, j), acc));\n}\nfunction leftAssoc1(pLeft, pOper) {\n return chain(pLeft, (v0) => reduceLeft(v0, pOper, (acc, f) => f(acc)));\n}\nfunction rightAssoc1(pOper, pRight) {\n return ab(reduceRight(pOper, (y) => y, (f, acc) => (y) => f(acc(y))), pRight, (f, v) => f(v));\n}\nfunction leftAssoc2(pLeft, pOper, pRight) {\n return chain(pLeft, (v0) => reduceLeft(v0, ab(pOper, pRight, (f, y) => [f, y]), (acc, [f, y]) => f(acc, y)));\n}\nfunction rightAssoc2(pLeft, pOper, pRight) {\n return ab(reduceRight(ab(pLeft, pOper, (x, f) => [x, f]), (y) => y, ([x, f], acc) => (y) => f(x, acc(y))), pRight, (f, v) => f(v));\n}\nfunction condition(cond, pTrue, pFalse) {\n return (data, i) => (cond(data, i))\n ? pTrue(data, i)\n : pFalse(data, i);\n}\nfunction decide(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => m1.value(data, m1.position));\n}\nfunction chain(p,\nf) {\n return (data, i) => mapOuter(p(data, i), (m1) => f(m1.value, data, i, m1.position)(data, m1.position));\n}\nfunction ahead(p) {\n return (data, i) => mapOuter(p(data, i), (m1) => ({\n matched: true,\n position: i,\n value: m1.value\n }));\n}\nfunction recursive(f) {\n return function (data, i) {\n return f()(data, i);\n };\n}\nfunction start(data, i) {\n return (i !== 0)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction end(data, i) {\n return (i < data.tokens.length)\n ? { matched: false }\n : {\n matched: true,\n position: i,\n value: true\n };\n}\nfunction remainingTokensNumber(data, i) {\n return data.tokens.length - i;\n}\nfunction parserPosition(data, i, formatToken, contextTokens = 3) {\n const len = data.tokens.length;\n const lowIndex = clamp(0, i - contextTokens, len - contextTokens);\n const highIndex = clamp(contextTokens, i + 1 + contextTokens, len);\n const tokensSlice = data.tokens.slice(lowIndex, highIndex);\n const lines = [];\n const indexWidth = String(highIndex - 1).length + 1;\n if (i < 0) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n if (0 < lowIndex) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n for (let j = 0; j < tokensSlice.length; j++) {\n const index = lowIndex + j;\n lines.push(`${String(index).padStart(indexWidth)} ${(index === i ? '>' : ' ')} ${escapeWhitespace(formatToken(tokensSlice[j]))}`);\n }\n if (highIndex < len) {\n lines.push('...'.padStart(indexWidth + 6));\n }\n if (len <= i) {\n lines.push(`${String(i).padStart(indexWidth)} >>`);\n }\n return lines.join('\\n');\n}\nfunction parse(parser, tokens, options, formatToken = JSON.stringify) {\n const data = { tokens: tokens, options: options };\n const result = parser(data, 0);\n if (!result.matched) {\n throw new Error('No match');\n }\n if (result.position < data.tokens.length) {\n throw new Error(`Partial match. Parsing stopped at:\\n${parserPosition(data, result.position, formatToken)}`);\n }\n return result.value;\n}\nfunction tryParse(parser, tokens, options) {\n const result = parser({ tokens: tokens, options: options }, 0);\n return (result.matched)\n ? result.value\n : undefined;\n}\nfunction match(matcher, tokens, options) {\n const result = matcher({ tokens: tokens, options: options }, 0);\n return result.value;\n}\n\nexport { ab, abc, action, ahead, all, all as and, any, chain, chainReduce, choice, condition, decide, skip as discard, otherwise as eitherOr, emit, end, end as eof, error, fail, flatten, flatten1, left, leftAssoc1, leftAssoc2, longest, ahead as lookAhead, make, many, many1, map, map1, match, middle, not, emit as of, option, choice as or, otherwise, parse, parserPosition, peek, recursive, reduceLeft, reduceRight, remainingTokensNumber, right, rightAssoc1, rightAssoc2, satisfy, sepBy, sepBy1, skip, many1 as some, start, takeUntil, takeUntilP, takeWhile, takeWhileP, token, tryParse };\n","import { createLexer } from 'leac';\nimport * as p from 'peberminta';\n\nvar ast = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst ws = `(?:[ \\\\t\\\\r\\\\n\\\\f]*)`;\nconst nl = `(?:\\\\n|\\\\r\\\\n|\\\\r|\\\\f)`;\nconst nonascii = `[^\\\\x00-\\\\x7F]`;\nconst unicode = `(?:\\\\\\\\[0-9a-f]{1,6}(?:\\\\r\\\\n|[ \\\\n\\\\r\\\\t\\\\f])?)`;\nconst escape = `(?:\\\\\\\\[^\\\\n\\\\r\\\\f0-9a-f])`;\nconst nmstart = `(?:[_a-z]|${nonascii}|${unicode}|${escape})`;\nconst nmchar = `(?:[_a-z0-9-]|${nonascii}|${unicode}|${escape})`;\nconst name = `(?:${nmchar}+)`;\nconst ident = `(?:[-]?${nmstart}${nmchar}*)`;\nconst string1 = `'([^\\\\n\\\\r\\\\f\\\\\\\\']|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*'`;\nconst string2 = `\"([^\\\\n\\\\r\\\\f\\\\\\\\\"]|\\\\\\\\${nl}|${nonascii}|${unicode}|${escape})*\"`;\nconst lexSelector = createLexer([\n { name: 'ws', regex: new RegExp(ws) },\n { name: 'hash', regex: new RegExp(`#${name}`, 'i') },\n { name: 'ident', regex: new RegExp(ident, 'i') },\n { name: 'str1', regex: new RegExp(string1, 'i') },\n { name: 'str2', regex: new RegExp(string2, 'i') },\n { name: '*' },\n { name: '.' },\n { name: ',' },\n { name: '[' },\n { name: ']' },\n { name: '=' },\n { name: '>' },\n { name: '|' },\n { name: '+' },\n { name: '~' },\n { name: '^' },\n { name: '$' },\n]);\nconst lexEscapedString = createLexer([\n { name: 'unicode', regex: new RegExp(unicode, 'i') },\n { name: 'escape', regex: new RegExp(escape, 'i') },\n { name: 'any', regex: new RegExp('[\\\\s\\\\S]', 'i') }\n]);\nfunction sumSpec([a0, a1, a2], [b0, b1, b2]) {\n return [a0 + b0, a1 + b1, a2 + b2];\n}\nfunction sumAllSpec(ss) {\n return ss.reduce(sumSpec, [0, 0, 0]);\n}\nconst unicodeEscapedSequence_ = p.token((t) => t.name === 'unicode' ? String.fromCodePoint(parseInt(t.text.slice(1), 16)) : undefined);\nconst escapedSequence_ = p.token((t) => t.name === 'escape' ? t.text.slice(1) : undefined);\nconst anyChar_ = p.token((t) => t.name === 'any' ? t.text : undefined);\nconst escapedString_ = p.map(p.many(p.or(unicodeEscapedSequence_, escapedSequence_, anyChar_)), (cs) => cs.join(''));\nfunction unescape(escapedString) {\n const lexerResult = lexEscapedString(escapedString);\n const result = escapedString_({ tokens: lexerResult.tokens, options: undefined }, 0);\n return result.value;\n}\nfunction literal(name) {\n return p.token((t) => t.name === name ? true : undefined);\n}\nconst whitespace_ = p.token((t) => t.name === 'ws' ? null : undefined);\nconst optionalWhitespace_ = p.option(whitespace_, null);\nfunction optionallySpaced(parser) {\n return p.middle(optionalWhitespace_, parser, optionalWhitespace_);\n}\nconst identifier_ = p.token((t) => t.name === 'ident' ? unescape(t.text) : undefined);\nconst hashId_ = p.token((t) => t.name === 'hash' ? unescape(t.text.slice(1)) : undefined);\nconst string_ = p.token((t) => t.name.startsWith('str') ? unescape(t.text.slice(1, -1)) : undefined);\nconst namespace_ = p.left(p.option(identifier_, ''), literal('|'));\nconst qualifiedName_ = p.eitherOr(p.ab(namespace_, identifier_, (ns, name) => ({ name: name, namespace: ns })), p.map(identifier_, (name) => ({ name: name, namespace: null })));\nconst uniSelector_ = p.eitherOr(p.ab(namespace_, literal('*'), (ns) => ({ type: 'universal', namespace: ns, specificity: [0, 0, 0] })), p.map(literal('*'), () => ({ type: 'universal', namespace: null, specificity: [0, 0, 0] })));\nconst tagSelector_ = p.map(qualifiedName_, ({ name, namespace }) => ({\n type: 'tag',\n name: name,\n namespace: namespace,\n specificity: [0, 0, 1]\n}));\nconst classSelector_ = p.ab(literal('.'), identifier_, (fullstop, name) => ({\n type: 'class',\n name: name,\n specificity: [0, 1, 0]\n}));\nconst idSelector_ = p.map(hashId_, (name) => ({\n type: 'id',\n name: name,\n specificity: [1, 0, 0]\n}));\nconst attrModifier_ = p.token((t) => {\n if (t.name === 'ident') {\n if (t.text === 'i' || t.text === 'I') {\n return 'i';\n }\n if (t.text === 's' || t.text === 'S') {\n return 's';\n }\n }\n return undefined;\n});\nconst attrValue_ = p.eitherOr(p.ab(string_, p.option(p.right(optionalWhitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })), p.ab(identifier_, p.option(p.right(whitespace_, attrModifier_), null), (v, mod) => ({ value: v, modifier: mod })));\nconst attrMatcher_ = p.choice(p.map(literal('='), () => '='), p.ab(literal('~'), literal('='), () => '~='), p.ab(literal('|'), literal('='), () => '|='), p.ab(literal('^'), literal('='), () => '^='), p.ab(literal('$'), literal('='), () => '$='), p.ab(literal('*'), literal('='), () => '*='));\nconst attrPresenceSelector_ = p.abc(literal('['), optionallySpaced(qualifiedName_), literal(']'), (lbr, { name, namespace }) => ({\n type: 'attrPresence',\n name: name,\n namespace: namespace,\n specificity: [0, 1, 0]\n}));\nconst attrValueSelector_ = p.middle(literal('['), p.abc(optionallySpaced(qualifiedName_), attrMatcher_, optionallySpaced(attrValue_), ({ name, namespace }, matcher, { value, modifier }) => ({\n type: 'attrValue',\n name: name,\n namespace: namespace,\n matcher: matcher,\n value: value,\n modifier: modifier,\n specificity: [0, 1, 0]\n})), literal(']'));\nconst attrSelector_ = p.eitherOr(attrPresenceSelector_, attrValueSelector_);\nconst typeSelector_ = p.eitherOr(uniSelector_, tagSelector_);\nconst subclassSelector_ = p.choice(idSelector_, classSelector_, attrSelector_);\nconst compoundSelector_ = p.map(p.eitherOr(p.flatten(typeSelector_, p.many(subclassSelector_)), p.many1(subclassSelector_)), (ss) => {\n return {\n type: 'compound',\n list: ss,\n specificity: sumAllSpec(ss.map(s => s.specificity))\n };\n});\nconst combinator_ = p.choice(p.map(literal('>'), () => '>'), p.map(literal('+'), () => '+'), p.map(literal('~'), () => '~'), p.ab(literal('|'), literal('|'), () => '||'));\nconst combinatorSeparator_ = p.eitherOr(optionallySpaced(combinator_), p.map(whitespace_, () => ' '));\nconst complexSelector_ = p.leftAssoc2(compoundSelector_, p.map(combinatorSeparator_, (c) => (left, right) => ({\n type: 'compound',\n list: [...right.list, { type: 'combinator', combinator: c, left: left, specificity: left.specificity }],\n specificity: sumSpec(left.specificity, right.specificity)\n})), compoundSelector_);\nconst listSelector_ = p.leftAssoc2(p.map(complexSelector_, (s) => ({ type: 'list', list: [s] })), p.map(optionallySpaced(literal(',')), () => (acc, next) => ({ type: 'list', list: [...acc.list, next] })), complexSelector_);\nfunction parse_(parser, str) {\n if (!(typeof str === 'string' || str instanceof String)) {\n throw new Error('Expected a selector string. Actual input is not a string!');\n }\n const lexerResult = lexSelector(str);\n if (!lexerResult.complete) {\n throw new Error(`The input \"${str}\" was only partially tokenized, stopped at offset ${lexerResult.offset}!\\n` +\n prettyPrintPosition(str, lexerResult.offset));\n }\n const result = optionallySpaced(parser)({ tokens: lexerResult.tokens, options: undefined }, 0);\n if (!result.matched) {\n throw new Error(`No match for \"${str}\" input!`);\n }\n if (result.position < lexerResult.tokens.length) {\n const token = lexerResult.tokens[result.position];\n throw new Error(`The input \"${str}\" was only partially parsed, stopped at offset ${token.offset}!\\n` +\n prettyPrintPosition(str, token.offset, token.len));\n }\n return result.value;\n}\nfunction prettyPrintPosition(str, offset, len = 1) {\n return `${str.replace(/(\\t)|(\\r)|(\\n)/g, (m, t, r) => t ? '\\u2409' : r ? '\\u240d' : '\\u240a')}\\n${''.padEnd(offset)}${'^'.repeat(len)}`;\n}\nfunction parse(str) {\n return parse_(listSelector_, str);\n}\nfunction parse1(str) {\n return parse_(complexSelector_, str);\n}\n\nfunction serialize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'universal':\n return _serNs(selector.namespace) + '*';\n case 'tag':\n return _serNs(selector.namespace) + _serIdent(selector.name);\n case 'class':\n return '.' + _serIdent(selector.name);\n case 'id':\n return '#' + _serIdent(selector.name);\n case 'attrPresence':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}]`;\n case 'attrValue':\n return `[${_serNs(selector.namespace)}${_serIdent(selector.name)}${selector.matcher}\"${_serStr(selector.value)}\"${(selector.modifier ? selector.modifier : '')}]`;\n case 'combinator':\n return serialize(selector.left) + selector.combinator;\n case 'compound':\n return selector.list.reduce((acc, node) => {\n if (node.type === 'combinator') {\n return serialize(node) + acc;\n }\n else {\n return acc + serialize(node);\n }\n }, '');\n case 'list':\n return selector.list.map(serialize).join(',');\n }\n}\nfunction _serNs(ns) {\n return (ns || ns === '')\n ? _serIdent(ns) + '|'\n : '';\n}\nfunction _codePoint(char) {\n return `\\\\${char.codePointAt(0).toString(16)} `;\n}\nfunction _serIdent(str) {\n return str.replace(\n /(^[0-9])|(^-[0-9])|(^-$)|([-0-9a-zA-Z_]|[^\\x00-\\x7F])|(\\x00)|([\\x01-\\x1f]|\\x7f)|([\\s\\S])/g, (m, d1, d2, hy, safe, nl, ctrl, other) => d1 ? _codePoint(d1) :\n d2 ? '-' + _codePoint(d2.slice(1)) :\n hy ? '\\\\-' :\n safe ? safe :\n nl ? '\\ufffd' :\n ctrl ? _codePoint(ctrl) :\n '\\\\' + other);\n}\nfunction _serStr(str) {\n return str.replace(\n /(\")|(\\\\)|(\\x00)|([\\x01-\\x1f]|\\x7f)/g, (m, dq, bs, nl, ctrl) => dq ? '\\\\\"' :\n bs ? '\\\\\\\\' :\n nl ? '\\ufffd' :\n _codePoint(ctrl));\n}\nfunction normalize(selector) {\n if (!selector.type) {\n throw new Error('This is not an AST node.');\n }\n switch (selector.type) {\n case 'compound': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => _compareArrays(_getSelectorPriority(a), _getSelectorPriority(b)));\n break;\n }\n case 'combinator': {\n normalize(selector.left);\n break;\n }\n case 'list': {\n selector.list.forEach(normalize);\n selector.list.sort((a, b) => (serialize(a) < serialize(b)) ? -1 : 1);\n break;\n }\n }\n return selector;\n}\nfunction _getSelectorPriority(selector) {\n switch (selector.type) {\n case 'universal':\n return [1];\n case 'tag':\n return [1];\n case 'id':\n return [2];\n case 'class':\n return [3, selector.name];\n case 'attrPresence':\n return [4, serialize(selector)];\n case 'attrValue':\n return [5, serialize(selector)];\n case 'combinator':\n return [15, serialize(selector)];\n }\n}\nfunction compareSelectors(a, b) {\n return _compareArrays(a.specificity, b.specificity);\n}\nfunction compareSpecificity(a, b) {\n return _compareArrays(a, b);\n}\nfunction _compareArrays(a, b) {\n if (!Array.isArray(a) || !Array.isArray(b)) {\n throw new Error('Arguments must be arrays.');\n }\n const shorter = (a.length < b.length) ? a.length : b.length;\n for (let i = 0; i < shorter; i++) {\n if (a[i] === b[i]) {\n continue;\n }\n return (a[i] < b[i]) ? -1 : 1;\n }\n return a.length - b.length;\n}\n\nexport { ast as Ast, compareSelectors, compareSpecificity, normalize, parse, parse1, serialize };\n","import * as parseley from 'parseley';\nimport { compareSpecificity } from 'parseley';\n\nvar Ast = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar Types = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nconst treeify = (nodes) => '▽\\n' + treeifyArray(nodes, thinLines);\nconst thinLines = [['├─', '│ '], ['└─', ' ']];\nconst heavyLines = [['┠─', '┃ '], ['┖─', ' ']];\nconst doubleLines = [['╟─', '║ '], ['╙─', ' ']];\nfunction treeifyArray(nodes, tpl = heavyLines) {\n return prefixItems(tpl, nodes.map(n => treeifyNode(n)));\n}\nfunction treeifyNode(node) {\n switch (node.type) {\n case 'terminal': {\n const vctr = node.valueContainer;\n return `◁ #${vctr.index} ${JSON.stringify(vctr.specificity)} ${vctr.value}`;\n }\n case 'tagName':\n return `◻ Tag name\\n${treeifyArray(node.variants, doubleLines)}`;\n case 'attrValue':\n return `▣ Attr value: ${node.name}\\n${treeifyArray(node.matchers, doubleLines)}`;\n case 'attrPresence':\n return `◨ Attr presence: ${node.name}\\n${treeifyArray(node.cont)}`;\n case 'pushElement':\n return `◉ Push element: ${node.combinator}\\n${treeifyArray(node.cont, thinLines)}`;\n case 'popElement':\n return `◌ Pop element\\n${treeifyArray(node.cont, thinLines)}`;\n case 'variant':\n return `◇ = ${node.value}\\n${treeifyArray(node.cont)}`;\n case 'matcher':\n return `◈ ${node.matcher} \"${node.value}\"${node.modifier || ''}\\n${treeifyArray(node.cont)}`;\n }\n}\nfunction prefixItems(tpl, items) {\n return items\n .map((item, i, { length }) => prefixItem(tpl, item, i === length - 1))\n .join('\\n');\n}\nfunction prefixItem(tpl, item, tail = true) {\n const tpl1 = tpl[tail ? 1 : 0];\n return tpl1[0] + item.split('\\n').join('\\n' + tpl1[1]);\n}\n\nvar TreeifyBuilder = /*#__PURE__*/Object.freeze({\n __proto__: null,\n treeify: treeify\n});\n\nclass DecisionTree {\n constructor(input) {\n this.branches = weave(toAstTerminalPairs(input));\n }\n build(builder) {\n return builder(this.branches);\n }\n}\nfunction toAstTerminalPairs(array) {\n const len = array.length;\n const results = new Array(len);\n for (let i = 0; i < len; i++) {\n const [selectorString, val] = array[i];\n const ast = preprocess(parseley.parse1(selectorString));\n results[i] = {\n ast: ast,\n terminal: {\n type: 'terminal',\n valueContainer: { index: i, value: val, specificity: ast.specificity }\n }\n };\n }\n return results;\n}\nfunction preprocess(ast) {\n reduceSelectorVariants(ast);\n parseley.normalize(ast);\n return ast;\n}\nfunction reduceSelectorVariants(ast) {\n const newList = [];\n ast.list.forEach(sel => {\n switch (sel.type) {\n case 'class':\n newList.push({\n matcher: '~=',\n modifier: null,\n name: 'class',\n namespace: null,\n specificity: sel.specificity,\n type: 'attrValue',\n value: sel.name,\n });\n break;\n case 'id':\n newList.push({\n matcher: '=',\n modifier: null,\n name: 'id',\n namespace: null,\n specificity: sel.specificity,\n type: 'attrValue',\n value: sel.name,\n });\n break;\n case 'combinator':\n reduceSelectorVariants(sel.left);\n newList.push(sel);\n break;\n case 'universal':\n break;\n default:\n newList.push(sel);\n break;\n }\n });\n ast.list = newList;\n}\nfunction weave(items) {\n const branches = [];\n while (items.length) {\n const topKind = findTopKey(items, (sel) => true, getSelectorKind);\n const { matches, nonmatches, empty } = breakByKind(items, topKind);\n items = nonmatches;\n if (matches.length) {\n branches.push(branchOfKind(topKind, matches));\n }\n if (empty.length) {\n branches.push(...terminate(empty));\n }\n }\n return branches;\n}\nfunction terminate(items) {\n const results = [];\n for (const item of items) {\n const terminal = item.terminal;\n if (terminal.type === 'terminal') {\n results.push(terminal);\n }\n else {\n const { matches, rest } = partition(terminal.cont, (node) => node.type === 'terminal');\n matches.forEach((node) => results.push(node));\n if (rest.length) {\n terminal.cont = rest;\n results.push(terminal);\n }\n }\n }\n return results;\n}\nfunction breakByKind(items, selectedKind) {\n const matches = [];\n const nonmatches = [];\n const empty = [];\n for (const item of items) {\n const simpsels = item.ast.list;\n if (simpsels.length) {\n const isMatch = simpsels.some(node => getSelectorKind(node) === selectedKind);\n (isMatch ? matches : nonmatches).push(item);\n }\n else {\n empty.push(item);\n }\n }\n return { matches, nonmatches, empty };\n}\nfunction getSelectorKind(sel) {\n switch (sel.type) {\n case 'attrPresence':\n return `attrPresence ${sel.name}`;\n case 'attrValue':\n return `attrValue ${sel.name}`;\n case 'combinator':\n return `combinator ${sel.combinator}`;\n default:\n return sel.type;\n }\n}\nfunction branchOfKind(kind, items) {\n if (kind === 'tag') {\n return tagNameBranch(items);\n }\n if (kind.startsWith('attrValue ')) {\n return attrValueBranch(kind.substring(10), items);\n }\n if (kind.startsWith('attrPresence ')) {\n return attrPresenceBranch(kind.substring(13), items);\n }\n if (kind === 'combinator >') {\n return combinatorBranch('>', items);\n }\n if (kind === 'combinator +') {\n return combinatorBranch('+', items);\n }\n throw new Error(`Unsupported selector kind: ${kind}`);\n}\nfunction tagNameBranch(items) {\n const groups = spliceAndGroup(items, (x) => x.type === 'tag', (x) => x.name);\n const variants = Object.entries(groups).map(([name, group]) => ({\n type: 'variant',\n value: name,\n cont: weave(group.items)\n }));\n return {\n type: 'tagName',\n variants: variants\n };\n}\nfunction attrPresenceBranch(name, items) {\n for (const item of items) {\n spliceSimpleSelector(item, (x) => (x.type === 'attrPresence') && (x.name === name));\n }\n return {\n type: 'attrPresence',\n name: name,\n cont: weave(items)\n };\n}\nfunction attrValueBranch(name, items) {\n const groups = spliceAndGroup(items, (x) => (x.type === 'attrValue') && (x.name === name), (x) => `${x.matcher} ${x.modifier || ''} ${x.value}`);\n const matchers = [];\n for (const group of Object.values(groups)) {\n const sel = group.oneSimpleSelector;\n const predicate = getAttrPredicate(sel);\n const continuation = weave(group.items);\n matchers.push({\n type: 'matcher',\n matcher: sel.matcher,\n modifier: sel.modifier,\n value: sel.value,\n predicate: predicate,\n cont: continuation\n });\n }\n return {\n type: 'attrValue',\n name: name,\n matchers: matchers\n };\n}\nfunction getAttrPredicate(sel) {\n if (sel.modifier === 'i') {\n const expected = sel.value.toLowerCase();\n switch (sel.matcher) {\n case '=':\n return (actual) => expected === actual.toLowerCase();\n case '~=':\n return (actual) => actual.toLowerCase().split(/[ \\t]+/).includes(expected);\n case '^=':\n return (actual) => actual.toLowerCase().startsWith(expected);\n case '$=':\n return (actual) => actual.toLowerCase().endsWith(expected);\n case '*=':\n return (actual) => actual.toLowerCase().includes(expected);\n case '|=':\n return (actual) => {\n const lower = actual.toLowerCase();\n return (expected === lower) || (lower.startsWith(expected) && lower[expected.length] === '-');\n };\n }\n }\n else {\n const expected = sel.value;\n switch (sel.matcher) {\n case '=':\n return (actual) => expected === actual;\n case '~=':\n return (actual) => actual.split(/[ \\t]+/).includes(expected);\n case '^=':\n return (actual) => actual.startsWith(expected);\n case '$=':\n return (actual) => actual.endsWith(expected);\n case '*=':\n return (actual) => actual.includes(expected);\n case '|=':\n return (actual) => (expected === actual) || (actual.startsWith(expected) && actual[expected.length] === '-');\n }\n }\n}\nfunction combinatorBranch(combinator, items) {\n const groups = spliceAndGroup(items, (x) => (x.type === 'combinator') && (x.combinator === combinator), (x) => parseley.serialize(x.left));\n const leftItems = [];\n for (const group of Object.values(groups)) {\n const rightCont = weave(group.items);\n const leftAst = group.oneSimpleSelector.left;\n leftItems.push({\n ast: leftAst,\n terminal: { type: 'popElement', cont: rightCont }\n });\n }\n return {\n type: 'pushElement',\n combinator: combinator,\n cont: weave(leftItems)\n };\n}\nfunction spliceAndGroup(items, predicate, keyCallback) {\n const groups = {};\n while (items.length) {\n const bestKey = findTopKey(items, predicate, keyCallback);\n const bestKeyPredicate = (sel) => predicate(sel) && keyCallback(sel) === bestKey;\n const hasBestKeyPredicate = (item) => item.ast.list.some(bestKeyPredicate);\n const { matches, rest } = partition1(items, hasBestKeyPredicate);\n let oneSimpleSelector = null;\n for (const item of matches) {\n const splicedNode = spliceSimpleSelector(item, bestKeyPredicate);\n if (!oneSimpleSelector) {\n oneSimpleSelector = splicedNode;\n }\n }\n if (oneSimpleSelector == null) {\n throw new Error('No simple selector is found.');\n }\n groups[bestKey] = { oneSimpleSelector: oneSimpleSelector, items: matches };\n items = rest;\n }\n return groups;\n}\nfunction spliceSimpleSelector(item, predicate) {\n const simpsels = item.ast.list;\n const matches = new Array(simpsels.length);\n let firstIndex = -1;\n for (let i = simpsels.length; i-- > 0;) {\n if (predicate(simpsels[i])) {\n matches[i] = true;\n firstIndex = i;\n }\n }\n if (firstIndex == -1) {\n throw new Error(`Couldn't find the required simple selector.`);\n }\n const result = simpsels[firstIndex];\n item.ast.list = simpsels.filter((sel, i) => !matches[i]);\n return result;\n}\nfunction findTopKey(items, predicate, keyCallback) {\n const candidates = {};\n for (const item of items) {\n const candidates1 = {};\n for (const node of item.ast.list.filter(predicate)) {\n candidates1[keyCallback(node)] = true;\n }\n for (const key of Object.keys(candidates1)) {\n if (candidates[key]) {\n candidates[key]++;\n }\n else {\n candidates[key] = 1;\n }\n }\n }\n let topKind = '';\n let topCounter = 0;\n for (const entry of Object.entries(candidates)) {\n if (entry[1] > topCounter) {\n topKind = entry[0];\n topCounter = entry[1];\n }\n }\n return topKind;\n}\nfunction partition(src, predicate) {\n const matches = [];\n const rest = [];\n for (const x of src) {\n if (predicate(x)) {\n matches.push(x);\n }\n else {\n rest.push(x);\n }\n }\n return { matches, rest };\n}\nfunction partition1(src, predicate) {\n const matches = [];\n const rest = [];\n for (const x of src) {\n if (predicate(x)) {\n matches.push(x);\n }\n else {\n rest.push(x);\n }\n }\n return { matches, rest };\n}\n\nclass Picker {\n constructor(f) {\n this.f = f;\n }\n pickAll(el) {\n return this.f(el);\n }\n pick1(el, preferFirst = false) {\n const results = this.f(el);\n const len = results.length;\n if (len === 0) {\n return null;\n }\n if (len === 1) {\n return results[0].value;\n }\n const comparator = (preferFirst)\n ? comparatorPreferFirst\n : comparatorPreferLast;\n let result = results[0];\n for (let i = 1; i < len; i++) {\n const next = results[i];\n if (comparator(result, next)) {\n result = next;\n }\n }\n return result.value;\n }\n}\nfunction comparatorPreferFirst(acc, next) {\n const diff = compareSpecificity(next.specificity, acc.specificity);\n return diff > 0 || (diff === 0 && next.index < acc.index);\n}\nfunction comparatorPreferLast(acc, next) {\n const diff = compareSpecificity(next.specificity, acc.specificity);\n return diff > 0 || (diff === 0 && next.index > acc.index);\n}\n\nexport { Ast, DecisionTree, Picker, TreeifyBuilder as Treeify, Types };\n","import { isTag } from 'domhandler';\nimport { Picker } from 'selderee';\n\nfunction hp2Builder(nodes) {\n return new Picker(handleArray(nodes));\n}\nfunction handleArray(nodes) {\n const matchers = nodes.map(handleNode);\n return (el, ...tail) => matchers.flatMap(m => m(el, ...tail));\n}\nfunction handleNode(node) {\n switch (node.type) {\n case 'terminal': {\n const result = [node.valueContainer];\n return (el, ...tail) => result;\n }\n case 'tagName':\n return handleTagName(node);\n case 'attrValue':\n return handleAttrValueName(node);\n case 'attrPresence':\n return handleAttrPresenceName(node);\n case 'pushElement':\n return handlePushElementNode(node);\n case 'popElement':\n return handlePopElementNode(node);\n }\n}\nfunction handleTagName(node) {\n const variants = {};\n for (const variant of node.variants) {\n variants[variant.value] = handleArray(variant.cont);\n }\n return (el, ...tail) => {\n const continuation = variants[el.name];\n return (continuation) ? continuation(el, ...tail) : [];\n };\n}\nfunction handleAttrPresenceName(node) {\n const attrName = node.name;\n const continuation = handleArray(node.cont);\n return (el, ...tail) => (Object.prototype.hasOwnProperty.call(el.attribs, attrName))\n ? continuation(el, ...tail)\n : [];\n}\nfunction handleAttrValueName(node) {\n const callbacks = [];\n for (const matcher of node.matchers) {\n const predicate = matcher.predicate;\n const continuation = handleArray(matcher.cont);\n callbacks.push((attr, el, ...tail) => (predicate(attr) ? continuation(el, ...tail) : []));\n }\n const attrName = node.name;\n return (el, ...tail) => {\n const attr = el.attribs[attrName];\n return (attr || attr === '')\n ? callbacks.flatMap(cb => cb(attr, el, ...tail))\n : [];\n };\n}\nfunction handlePushElementNode(node) {\n const continuation = handleArray(node.cont);\n const leftElementGetter = (node.combinator === '+')\n ? getPrecedingElement\n : getParentElement;\n return (el, ...tail) => {\n const next = leftElementGetter(el);\n if (next === null) {\n return [];\n }\n return continuation(next, el, ...tail);\n };\n}\nconst getPrecedingElement = (el) => {\n const prev = el.prev;\n if (prev === null) {\n return null;\n }\n return (isTag(prev)) ? prev : getPrecedingElement(prev);\n};\nconst getParentElement = (el) => {\n const parent = el.parent;\n return (parent && isTag(parent)) ? parent : null;\n};\nfunction handlePopElementNode(node) {\n const continuation = handleArray(node.cont);\n return (el, next, ...tail) => continuation(next, ...tail);\n}\n\nexport { hp2Builder };\n","// Generated using scripts/write-decode-map.ts\nexport default new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map((c) => c.charCodeAt(0)));\n//# sourceMappingURL=decode-data-html.js.map","// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\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 */\nexport const 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 let 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 */\nexport function 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}\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 */\nexport default function decodeCodePoint(codePoint) {\n return fromCodePoint(replaceCodePoint(codePoint));\n}\n//# sourceMappingURL=decode_codepoint.js.map","// Generated using scripts/write-decode-map.ts\nexport default new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map((c) => c.charCodeAt(0)));\n//# sourceMappingURL=decode-data-xml.js.map","import htmlDecodeTree from \"./generated/decode-data-html.js\";\nimport xmlDecodeTree from \"./generated/decode-data-xml.js\";\nimport decodeCodePoint, { replaceCodePoint, fromCodePoint, } from \"./decode_codepoint.js\";\n// Re-export for use by eg. htmlparser2\nexport { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };\nexport { replaceCodePoint, fromCodePoint } from \"./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 = 0b100000;\nexport var 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 || (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 = {}));\nexport var 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 || (DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nexport class 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 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 write(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 stateNumericStart(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 addToNumericResult(str, start, end, base) {\n if (start !== end) {\n const 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 stateNumericHex(str, offset) {\n const startIdx = offset;\n while (offset < str.length) {\n const 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 stateNumericDecimal(str, offset) {\n const startIdx = offset;\n while (offset < str.length) {\n const 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 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(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 stateNamedEntity(str, 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 < str.length; offset++, this.excess++) {\n const 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 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}\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 ret = \"\";\n const decoder = new EntityDecoder(decodeTree, (str) => (ret += fromCodePoint(str)));\n return function decodeWithTrie(str, decodeMode) {\n let lastIndex = 0;\n let offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n const 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 const 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 */\nexport function determineBranch(decodeTree, current, nodeIdx, 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 ? nodeIdx : -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[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n let lo = nodeIdx;\n let hi = lo + branchCount - 1;\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const 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}\nconst htmlDecoder = getDecoder(htmlDecodeTree);\nconst xmlDecoder = getDecoder(xmlDecodeTree);\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 */\nexport function decodeHTML(str, mode = DecodingMode.Legacy) {\n return htmlDecoder(str, mode);\n}\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nexport function decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\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 */\nexport function decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\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 */\nexport function decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\n//# sourceMappingURL=decode.js.map","import { htmlDecodeTree, xmlDecodeTree, BinTrieFlags, determineBranch, replaceCodePoint, } from \"entities/lib/decode.js\";\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[\"SpecialStartSequence\"] = 23] = \"SpecialStartSequence\";\n State[State[\"InSpecialTag\"] = 24] = \"InSpecialTag\";\n State[State[\"BeforeEntity\"] = 25] = \"BeforeEntity\";\n State[State[\"BeforeNumericEntity\"] = 26] = \"BeforeNumericEntity\";\n State[State[\"InNamedEntity\"] = 27] = \"InNamedEntity\";\n State[State[\"InNumericEntity\"] = 28] = \"InNumericEntity\";\n State[State[\"InHexEntity\"] = 29] = \"InHexEntity\";\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 isNumber(c) {\n return c >= CharCodes.Zero && c <= CharCodes.Nine;\n}\nfunction isASCIIAlpha(c) {\n return ((c >= CharCodes.LowerA && c <= CharCodes.LowerZ) ||\n (c >= CharCodes.UpperA && c <= CharCodes.UpperZ));\n}\nfunction isHexDigit(c) {\n return ((c >= CharCodes.UpperA && c <= CharCodes.UpperF) ||\n (c >= CharCodes.LowerA && c <= CharCodes.LowerF));\n}\nexport var 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 || (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]),\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]),\n StyleEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]),\n TitleEnd: new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]), // `</title`\n};\nexport default class 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 /** 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.trieIndex = 0;\n this.trieCurrent = 0;\n /** For named entities, the index of the value. For numeric entities, the code point. */\n this.entityResult = 0;\n this.entityExcess = 0;\n this.xmlMode = xmlMode;\n this.decodeEntities = decodeEntities;\n this.entityTrie = xmlMode ? xmlDecodeTree : htmlDecodeTree;\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 /**\n * The current index within all of the written data.\n */\n getIndex() {\n return this.index;\n }\n /**\n * The start of the current section.\n */\n getSectionStart() {\n return this.sectionStart;\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.state = State.BeforeEntity;\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.state = State.BeforeEntity;\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 && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : 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.baseState = 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.baseState = this.state;\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.baseState = 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 = -1;\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.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\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);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\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.baseState = this.state;\n this.state = State.BeforeEntity;\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 stateBeforeEntity(c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Number) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n }\n stateInNamedEntity(c) {\n this.entityExcess += 1;\n this.trieIndex = determineBranch(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n const masked = this.trieCurrent & BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n const valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n const entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n }\n emitNamedEntity() {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n const valueLength = (this.entityTrie[this.entityResult] & BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1: {\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~BinTrieFlags.VALUE_LENGTH);\n break;\n }\n case 2: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n }\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n }\n stateBeforeNumericEntity(c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n }\n emitNumericEntity(strict) {\n const entityStart = this.index - this.entityExcess - 1;\n const numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint(replaceCodePoint(this.entityResult));\n }\n this.state = this.baseState;\n }\n stateInNumericEntity(c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n }\n stateInHexEntity(c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n }\n allowLegacyEntity() {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\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.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.InNamedEntity: {\n this.stateInNamedEntity(c);\n break;\n }\n case State.BeforeEntity: {\n this.stateBeforeEntity(c);\n break;\n }\n case State.InHexEntity: {\n this.stateInHexEntity(c);\n break;\n }\n case State.InNumericEntity: {\n this.stateInNumericEntity(c);\n break;\n }\n default: {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n }\n this.index++;\n }\n this.cleanup();\n }\n finish() {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length + this.offset;\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.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\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 emitPartial(start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n }\n emitCodePoint(cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n }\n}\n//# sourceMappingURL=Tokenizer.js.map","import Tokenizer, { QuoteType } from \"./Tokenizer.js\";\nimport { fromCodePoint } from \"entities/lib/decode.js\";\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|\\//;\nexport class Parser {\n constructor(cbs, options = {}) {\n var _a, _b, _c, _d, _e;\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.foreignContext = [];\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.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode;\n this.lowerCaseAttributeNames =\n (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode;\n this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer)(this.options, this);\n (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 ? void 0 : _e.call(_d, 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) {\n var _a, _b;\n /*\n * Entities can be emitted on the character, or directly after.\n * We use the section start here to get accurate indices.\n */\n const index = this.tokenizer.getSectionStart();\n this.endIndex = index - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, fromCodePoint(cp));\n this.startIndex = index;\n }\n isVoidElement(name) {\n return !this.options.xmlMode && 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.options.xmlMode && openImpliesClose.get(name);\n if (impliesClose) {\n while (this.stack.length > 0 &&\n impliesClose.has(this.stack[this.stack.length - 1])) {\n const element = this.stack.pop();\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.push(name);\n if (foreignContextElements.has(name)) {\n this.foreignContext.push(true);\n }\n else if (htmlIntegrationElements.has(name)) {\n this.foreignContext.push(false);\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;\n this.endIndex = endIndex;\n let name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n if (foreignContextElements.has(name) ||\n htmlIntegrationElements.has(name)) {\n this.foreignContext.pop();\n }\n if (!this.isVoidElement(name)) {\n const pos = this.stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this.cbs.onclosetag) {\n let count = this.stack.length - pos;\n while (count--) {\n // We know the stack has sufficient elements.\n this.cbs.onclosetag(this.stack.pop(), count !== 0);\n }\n }\n else\n this.stack.length = pos;\n }\n else if (!this.options.xmlMode && name === \"p\") {\n // Implicit open before close\n this.emitOpenTag(\"p\");\n this.closeCurrentTag(true);\n }\n }\n else if (!this.options.xmlMode && name === \"br\") {\n // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 ? void 0 : _b.call(_a, \"br\");\n (_d = (_c = this.cbs).onopentag) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\", {}, true);\n (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 ? void 0 : _f.call(_e, \"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.options.xmlMode ||\n this.options.recognizeSelfClosing ||\n this.foreignContext[this.foreignContext.length - 1]) {\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[this.stack.length - 1] === 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.pop();\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 += 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 === QuoteType.Double\n ? '\"'\n : quote === QuoteType.Single\n ? \"'\"\n : quote === 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.options.xmlMode || 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 = this.stack.length; index > 0; 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.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}\n//# sourceMappingURL=Parser.js.map","export const xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nconst xmlCodeMap = new Map([\n [34, \""\"],\n [38, \"&\"],\n [39, \"'\"],\n [60, \"<\"],\n [62, \">\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexport const getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? (str, index) => str.codePointAt(index)\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n (c, index) => (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 * 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. `ü`) will be used.\n */\nexport function encodeXML(str) {\n let ret = \"\";\n let lastIdx = 0;\n let match;\n while ((match = xmlReplacer.exec(str)) !== null) {\n const i = match.index;\n const char = str.charCodeAt(i);\n const next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;\n // Increase by 1 if we have a surrogate pair\n lastIdx = xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\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 */\nexport const 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 let match;\n let lastIdx = 0;\n let 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 */\nexport const 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 */\nexport const escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \""\"],\n [38, \"&\"],\n [160, \" \"],\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 */\nexport const escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&\"],\n [60, \"<\"],\n [62, \">\"],\n [160, \" \"],\n]));\n//# sourceMappingURL=escape.js.map","export const 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((val) => [val.toLowerCase(), val]));\nexport const 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((val) => [val.toLowerCase(), val]));\n","/*\n * Module dependencies\n */\nimport * as ElementType from \"domelementtype\";\nimport { encodeXML, escapeAttribute, escapeText } from \"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 */\nimport { elementNames, attributeNames } from \"./foreignNames.js\";\nconst 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, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n const encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? encodeXML\n : escapeAttribute;\n return Object.keys(attributes)\n .map((key) => {\n var _a, _b;\n const value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return `${key}=\"${encode(value)}\"`;\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nconst 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 */\nexport function render(node, options = {}) {\n const nodes = \"length\" in node ? node : [node];\n let output = \"\";\n for (let i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexport 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}\nconst foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nconst 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 = 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 = { ...opts, xmlMode: false };\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = { ...opts, xmlMode: \"foreign\" };\n }\n let tag = `<${elem.name}`;\n const attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += ` ${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 += `</${elem.name}>`;\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return `<${elem.data}>`;\n}\nfunction renderText(elem, opts) {\n var _a;\n let 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 ? encodeXML(data)\n : escapeText(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return `<![CDATA[${elem.children[0].data}]]>`;\n}\nfunction renderComment(elem) {\n return `<!--${elem.data}-->`;\n}\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { hp2Builder } from '@selderee/plugin-htmlparser2';\nimport { parseDocument } from 'htmlparser2';\nimport { DecisionTree } from 'selderee';\nimport merge from 'deepmerge';\nimport { render } from 'dom-serializer';\n\n/**\n * Make a recursive function that will only run to a given depth\n * and switches to an alternative function at that depth. \\\n * No limitation if `n` is `undefined` (Just wraps `f` in that case).\n *\n * @param { number | undefined } n Allowed depth of recursion. `undefined` for no limitation.\n * @param { Function } f Function that accepts recursive callback as the first argument.\n * @param { Function } [g] Function to run instead, when maximum depth was reached. Do nothing by default.\n * @returns { Function }\n */\nfunction limitedDepthRecursive (n, f, g = () => undefined) {\n if (n === undefined) {\n const f1 = function (...args) { return f(f1, ...args); };\n return f1;\n }\n if (n >= 0) {\n return function (...args) { return f(limitedDepthRecursive(n - 1, f, g), ...args); };\n }\n return g;\n}\n\n/**\n * Return the same string or a substring with\n * the given character occurrences removed from each side.\n *\n * @param { string } str A string to trim.\n * @param { string } char A character to be trimmed.\n * @returns { string }\n */\nfunction trimCharacter (str, char) {\n let start = 0;\n let end = str.length;\n while (start < end && str[start] === char) { ++start; }\n while (end > start && str[end - 1] === char) { --end; }\n return (start > 0 || end < str.length)\n ? str.substring(start, end)\n : str;\n}\n\n/**\n * Return the same string or a substring with\n * the given character occurrences removed from the end only.\n *\n * @param { string } str A string to trim.\n * @param { string } char A character to be trimmed.\n * @returns { string }\n */\nfunction trimCharacterEnd (str, char) {\n let end = str.length;\n while (end > 0 && str[end - 1] === char) { --end; }\n return (end < str.length)\n ? str.substring(0, end)\n : str;\n}\n\n/**\n * Return a new string will all characters replaced with unicode escape sequences.\n * This extreme kind of escaping can used to be safely compose regular expressions.\n *\n * @param { string } str A string to escape.\n * @returns { string } A string of unicode escape sequences.\n */\nfunction unicodeEscape (str) {\n return str.replace(/[\\s\\S]/g, c => '\\\\u' + c.charCodeAt().toString(16).padStart(4, '0'));\n}\n\n/**\n * Deduplicate an array by a given key callback.\n * Item properties are merged recursively and with the preference for last defined values.\n * Of items with the same key, merged item takes the place of the last item,\n * others are omitted.\n *\n * @param { any[] } items An array to deduplicate.\n * @param { (x: any) => string } getKey Callback to get a value that distinguishes unique items.\n * @returns { any[] }\n */\nfunction mergeDuplicatesPreferLast (items, getKey) {\n const map = new Map();\n for (let i = items.length; i-- > 0;) {\n const item = items[i];\n const key = getKey(item);\n map.set(\n key,\n (map.has(key))\n ? merge(item, map.get(key), { arrayMerge: overwriteMerge$1 })\n : item\n );\n }\n return [...map.values()].reverse();\n}\n\nconst overwriteMerge$1 = (acc, src, options) => [...src];\n\n/**\n * Get a nested property from an object.\n *\n * @param { object } obj The object to query for the value.\n * @param { string[] } path The path to the property.\n * @returns { any }\n */\nfunction get (obj, path) {\n for (const key of path) {\n if (!obj) { return undefined; }\n obj = obj[key];\n }\n return obj;\n}\n\n/**\n * Convert a number into alphabetic sequence representation (Sequence without zeroes).\n *\n * For example: `a, ..., z, aa, ..., zz, aaa, ...`.\n *\n * @param { number } num Number to convert. Must be >= 1.\n * @param { string } [baseChar = 'a'] Character for 1 in the sequence.\n * @param { number } [base = 26] Number of characters in the sequence.\n * @returns { string }\n */\nfunction numberToLetterSequence (num, baseChar = 'a', base = 26) {\n const digits = [];\n do {\n num -= 1;\n digits.push(num % base);\n num = (num / base) >> 0; // quick `floor`\n } while (num > 0);\n const baseCode = baseChar.charCodeAt(0);\n return digits\n .reverse()\n .map(n => String.fromCharCode(baseCode + n))\n .join('');\n}\n\nconst I = ['I', 'X', 'C', 'M'];\nconst V = ['V', 'L', 'D'];\n\n/**\n * Convert a number to it's Roman representation. No large numbers extension.\n *\n * @param { number } num Number to convert. `0 < num <= 3999`.\n * @returns { string }\n */\nfunction numberToRoman (num) {\n return [...(num) + '']\n .map(n => +n)\n .reverse()\n .map((v, i) => ((v % 5 < 4)\n ? (v < 5 ? '' : V[i]) + I[i].repeat(v % 5)\n : I[i] + (v < 5 ? V[i] : I[i + 1])))\n .reverse()\n .join('');\n}\n\n/**\n * Helps to build text from words.\n */\nclass InlineTextBuilder {\n /**\n * Creates an instance of InlineTextBuilder.\n *\n * If `maxLineLength` is not provided then it is either `options.wordwrap` or unlimited.\n *\n * @param { Options } options HtmlToText options.\n * @param { number } [ maxLineLength ] This builder will try to wrap text to fit this line length.\n */\n constructor (options, maxLineLength = undefined) {\n /** @type { string[][] } */\n this.lines = [];\n /** @type { string[] } */\n this.nextLineWords = [];\n this.maxLineLength = maxLineLength || options.wordwrap || Number.MAX_VALUE;\n this.nextLineAvailableChars = this.maxLineLength;\n this.wrapCharacters = get(options, ['longWordSplit', 'wrapCharacters']) || [];\n this.forceWrapOnLimit = get(options, ['longWordSplit', 'forceWrapOnLimit']) || false;\n\n this.stashedSpace = false;\n this.wordBreakOpportunity = false;\n }\n\n /**\n * Add a new word.\n *\n * @param { string } word A word to add.\n * @param { boolean } [noWrap] Don't wrap text even if the line is too long.\n */\n pushWord (word, noWrap = false) {\n if (this.nextLineAvailableChars <= 0 && !noWrap) {\n this.startNewLine();\n }\n const isLineStart = this.nextLineWords.length === 0;\n const cost = word.length + (isLineStart ? 0 : 1);\n if ((cost <= this.nextLineAvailableChars) || noWrap) { // Fits into available budget\n\n this.nextLineWords.push(word);\n this.nextLineAvailableChars -= cost;\n\n } else { // Does not fit - try to split the word\n\n // The word is moved to a new line - prefer to wrap between words.\n const [first, ...rest] = this.splitLongWord(word);\n if (!isLineStart) { this.startNewLine(); }\n this.nextLineWords.push(first);\n this.nextLineAvailableChars -= first.length;\n for (const part of rest) {\n this.startNewLine();\n this.nextLineWords.push(part);\n this.nextLineAvailableChars -= part.length;\n }\n\n }\n }\n\n /**\n * Pop a word from the currently built line.\n * This doesn't affect completed lines.\n *\n * @returns { string }\n */\n popWord () {\n const lastWord = this.nextLineWords.pop();\n if (lastWord !== undefined) {\n const isLineStart = this.nextLineWords.length === 0;\n const cost = lastWord.length + (isLineStart ? 0 : 1);\n this.nextLineAvailableChars += cost;\n }\n return lastWord;\n }\n\n /**\n * Concat a word to the last word already in the builder.\n * Adds a new word in case there are no words yet in the last line.\n *\n * @param { string } word A word to be concatenated.\n * @param { boolean } [noWrap] Don't wrap text even if the line is too long.\n */\n concatWord (word, noWrap = false) {\n if (this.wordBreakOpportunity && word.length > this.nextLineAvailableChars) {\n this.pushWord(word, noWrap);\n this.wordBreakOpportunity = false;\n } else {\n const lastWord = this.popWord();\n this.pushWord((lastWord) ? lastWord.concat(word) : word, noWrap);\n }\n }\n\n /**\n * Add current line (and more empty lines if provided argument > 1) to the list of complete lines and start a new one.\n *\n * @param { number } n Number of line breaks that will be added to the resulting string.\n */\n startNewLine (n = 1) {\n this.lines.push(this.nextLineWords);\n if (n > 1) {\n this.lines.push(...Array.from({ length: n - 1 }, () => []));\n }\n this.nextLineWords = [];\n this.nextLineAvailableChars = this.maxLineLength;\n }\n\n /**\n * No words in this builder.\n *\n * @returns { boolean }\n */\n isEmpty () {\n return this.lines.length === 0\n && this.nextLineWords.length === 0;\n }\n\n clear () {\n this.lines.length = 0;\n this.nextLineWords.length = 0;\n this.nextLineAvailableChars = this.maxLineLength;\n }\n\n /**\n * Join all lines of words inside the InlineTextBuilder into a complete string.\n *\n * @returns { string }\n */\n toString () {\n return [...this.lines, this.nextLineWords]\n .map(words => words.join(' '))\n .join('\\n');\n }\n\n /**\n * Split a long word up to fit within the word wrap limit.\n * Use either a character to split looking back from the word wrap limit,\n * or truncate to the word wrap limit.\n *\n * @param { string } word Input word.\n * @returns { string[] } Parts of the word.\n */\n splitLongWord (word) {\n const parts = [];\n let idx = 0;\n while (word.length > this.maxLineLength) {\n\n const firstLine = word.substring(0, this.maxLineLength);\n const remainingChars = word.substring(this.maxLineLength);\n\n const splitIndex = firstLine.lastIndexOf(this.wrapCharacters[idx]);\n\n if (splitIndex > -1) { // Found a character to split on\n\n word = firstLine.substring(splitIndex + 1) + remainingChars;\n parts.push(firstLine.substring(0, splitIndex + 1));\n\n } else { // Not found a character to split on\n\n idx++;\n if (idx < this.wrapCharacters.length) { // There is next character to try\n\n word = firstLine + remainingChars;\n\n } else { // No more characters to try\n\n if (this.forceWrapOnLimit) {\n parts.push(firstLine);\n word = remainingChars;\n if (word.length > this.maxLineLength) {\n continue;\n }\n } else {\n word = firstLine + remainingChars;\n }\n break;\n\n }\n\n }\n\n }\n parts.push(word); // Add remaining part to array\n return parts;\n }\n}\n\n/* eslint-disable max-classes-per-file */\n\n\nclass StackItem {\n constructor (next = null) { this.next = next; }\n\n getRoot () { return (this.next) ? this.next : this; }\n}\n\nclass BlockStackItem extends StackItem {\n constructor (options, next = null, leadingLineBreaks = 1, maxLineLength = undefined) {\n super(next);\n this.leadingLineBreaks = leadingLineBreaks;\n this.inlineTextBuilder = new InlineTextBuilder(options, maxLineLength);\n this.rawText = '';\n this.stashedLineBreaks = 0;\n this.isPre = next && next.isPre;\n this.isNoWrap = next && next.isNoWrap;\n }\n}\n\nclass ListStackItem extends BlockStackItem {\n constructor (\n options,\n next = null,\n {\n interRowLineBreaks = 1,\n leadingLineBreaks = 2,\n maxLineLength = undefined,\n maxPrefixLength = 0,\n prefixAlign = 'left',\n } = {}\n ) {\n super(options, next, leadingLineBreaks, maxLineLength);\n this.maxPrefixLength = maxPrefixLength;\n this.prefixAlign = prefixAlign;\n this.interRowLineBreaks = interRowLineBreaks;\n }\n}\n\nclass ListItemStackItem extends BlockStackItem {\n constructor (\n options,\n next = null,\n {\n leadingLineBreaks = 1,\n maxLineLength = undefined,\n prefix = '',\n } = {}\n ) {\n super(options, next, leadingLineBreaks, maxLineLength);\n this.prefix = prefix;\n }\n}\n\nclass TableStackItem extends StackItem {\n constructor (next = null) {\n super(next);\n this.rows = [];\n this.isPre = next && next.isPre;\n this.isNoWrap = next && next.isNoWrap;\n }\n}\n\nclass TableRowStackItem extends StackItem {\n constructor (next = null) {\n super(next);\n this.cells = [];\n this.isPre = next && next.isPre;\n this.isNoWrap = next && next.isNoWrap;\n }\n}\n\nclass TableCellStackItem extends StackItem {\n constructor (options, next = null, maxColumnWidth = undefined) {\n super(next);\n this.inlineTextBuilder = new InlineTextBuilder(options, maxColumnWidth);\n this.rawText = '';\n this.stashedLineBreaks = 0;\n this.isPre = next && next.isPre;\n this.isNoWrap = next && next.isNoWrap;\n }\n}\n\nclass TransformerStackItem extends StackItem {\n constructor (next = null, transform) {\n super(next);\n this.transform = transform;\n }\n}\n\nfunction charactersToCodes (str) {\n return [...str]\n .map(c => '\\\\u' + c.charCodeAt(0).toString(16).padStart(4, '0'))\n .join('');\n}\n\n/**\n * Helps to handle HTML whitespaces.\n *\n * @class WhitespaceProcessor\n */\nclass WhitespaceProcessor {\n\n /**\n * Creates an instance of WhitespaceProcessor.\n *\n * @param { Options } options HtmlToText options.\n * @memberof WhitespaceProcessor\n */\n constructor (options) {\n this.whitespaceChars = (options.preserveNewlines)\n ? options.whitespaceCharacters.replace(/\\n/g, '')\n : options.whitespaceCharacters;\n const whitespaceCodes = charactersToCodes(this.whitespaceChars);\n this.leadingWhitespaceRe = new RegExp(`^[${whitespaceCodes}]`);\n this.trailingWhitespaceRe = new RegExp(`[${whitespaceCodes}]$`);\n this.allWhitespaceOrEmptyRe = new RegExp(`^[${whitespaceCodes}]*$`);\n this.newlineOrNonWhitespaceRe = new RegExp(`(\\\\n|[^\\\\n${whitespaceCodes}])`, 'g');\n this.newlineOrNonNewlineStringRe = new RegExp(`(\\\\n|[^\\\\n]+)`, 'g');\n\n if (options.preserveNewlines) {\n\n const wordOrNewlineRe = new RegExp(`\\\\n|[^\\\\n${whitespaceCodes}]+`, 'gm');\n\n /**\n * Shrink whitespaces and wrap text, add to the builder.\n *\n * @param { string } text Input text.\n * @param { InlineTextBuilder } inlineTextBuilder A builder to receive processed text.\n * @param { (str: string) => string } [ transform ] A transform to be applied to words.\n * @param { boolean } [noWrap] Don't wrap text even if the line is too long.\n */\n this.shrinkWrapAdd = function (text, inlineTextBuilder, transform = (str => str), noWrap = false) {\n if (!text) { return; }\n const previouslyStashedSpace = inlineTextBuilder.stashedSpace;\n let anyMatch = false;\n let m = wordOrNewlineRe.exec(text);\n if (m) {\n anyMatch = true;\n if (m[0] === '\\n') {\n inlineTextBuilder.startNewLine();\n } else if (previouslyStashedSpace || this.testLeadingWhitespace(text)) {\n inlineTextBuilder.pushWord(transform(m[0]), noWrap);\n } else {\n inlineTextBuilder.concatWord(transform(m[0]), noWrap);\n }\n while ((m = wordOrNewlineRe.exec(text)) !== null) {\n if (m[0] === '\\n') {\n inlineTextBuilder.startNewLine();\n } else {\n inlineTextBuilder.pushWord(transform(m[0]), noWrap);\n }\n }\n }\n inlineTextBuilder.stashedSpace = (previouslyStashedSpace && !anyMatch) || (this.testTrailingWhitespace(text));\n // No need to stash a space in case last added item was a new line,\n // but that won't affect anything later anyway.\n };\n\n } else {\n\n const wordRe = new RegExp(`[^${whitespaceCodes}]+`, 'g');\n\n this.shrinkWrapAdd = function (text, inlineTextBuilder, transform = (str => str), noWrap = false) {\n if (!text) { return; }\n const previouslyStashedSpace = inlineTextBuilder.stashedSpace;\n let anyMatch = false;\n let m = wordRe.exec(text);\n if (m) {\n anyMatch = true;\n if (previouslyStashedSpace || this.testLeadingWhitespace(text)) {\n inlineTextBuilder.pushWord(transform(m[0]), noWrap);\n } else {\n inlineTextBuilder.concatWord(transform(m[0]), noWrap);\n }\n while ((m = wordRe.exec(text)) !== null) {\n inlineTextBuilder.pushWord(transform(m[0]), noWrap);\n }\n }\n inlineTextBuilder.stashedSpace = (previouslyStashedSpace && !anyMatch) || this.testTrailingWhitespace(text);\n };\n\n }\n }\n\n /**\n * Add text with only minimal processing.\n * Everything between newlines considered a single word.\n * No whitespace is trimmed.\n * Not affected by preserveNewlines option - `\\n` always starts a new line.\n *\n * `noWrap` argument is `true` by default - this won't start a new line\n * even if there is not enough space left in the current line.\n *\n * @param { string } text Input text.\n * @param { InlineTextBuilder } inlineTextBuilder A builder to receive processed text.\n * @param { boolean } [noWrap] Don't wrap text even if the line is too long.\n */\n addLiteral (text, inlineTextBuilder, noWrap = true) {\n if (!text) { return; }\n const previouslyStashedSpace = inlineTextBuilder.stashedSpace;\n let anyMatch = false;\n let m = this.newlineOrNonNewlineStringRe.exec(text);\n if (m) {\n anyMatch = true;\n if (m[0] === '\\n') {\n inlineTextBuilder.startNewLine();\n } else if (previouslyStashedSpace) {\n inlineTextBuilder.pushWord(m[0], noWrap);\n } else {\n inlineTextBuilder.concatWord(m[0], noWrap);\n }\n while ((m = this.newlineOrNonNewlineStringRe.exec(text)) !== null) {\n if (m[0] === '\\n') {\n inlineTextBuilder.startNewLine();\n } else {\n inlineTextBuilder.pushWord(m[0], noWrap);\n }\n }\n }\n inlineTextBuilder.stashedSpace = (previouslyStashedSpace && !anyMatch);\n }\n\n /**\n * Test whether the given text starts with HTML whitespace character.\n *\n * @param { string } text The string to test.\n * @returns { boolean }\n */\n testLeadingWhitespace (text) {\n return this.leadingWhitespaceRe.test(text);\n }\n\n /**\n * Test whether the given text ends with HTML whitespace character.\n *\n * @param { string } text The string to test.\n * @returns { boolean }\n */\n testTrailingWhitespace (text) {\n return this.trailingWhitespaceRe.test(text);\n }\n\n /**\n * Test whether the given text contains any non-whitespace characters.\n *\n * @param { string } text The string to test.\n * @returns { boolean }\n */\n testContainsWords (text) {\n return !this.allWhitespaceOrEmptyRe.test(text);\n }\n\n /**\n * Return the number of newlines if there are no words.\n *\n * If any word is found then return zero regardless of the actual number of newlines.\n *\n * @param { string } text Input string.\n * @returns { number }\n */\n countNewlinesNoWords (text) {\n this.newlineOrNonWhitespaceRe.lastIndex = 0;\n let counter = 0;\n let match;\n while ((match = this.newlineOrNonWhitespaceRe.exec(text)) !== null) {\n if (match[0] === '\\n') {\n counter++;\n } else {\n return 0;\n }\n }\n return counter;\n }\n\n}\n\n/**\n * Helps to build text from inline and block elements.\n *\n * @class BlockTextBuilder\n */\nclass BlockTextBuilder {\n\n /**\n * Creates an instance of BlockTextBuilder.\n *\n * @param { Options } options HtmlToText options.\n * @param { import('selderee').Picker<DomNode, TagDefinition> } picker Selectors decision tree picker.\n * @param { any} [metadata] Optional metadata for HTML document, for use in formatters.\n */\n constructor (options, picker, metadata = undefined) {\n this.options = options;\n this.picker = picker;\n this.metadata = metadata;\n this.whitespaceProcessor = new WhitespaceProcessor(options);\n /** @type { StackItem } */\n this._stackItem = new BlockStackItem(options);\n /** @type { TransformerStackItem } */\n this._wordTransformer = undefined;\n }\n\n /**\n * Put a word-by-word transform function onto the transformations stack.\n *\n * Mainly used for uppercasing. Can be bypassed to add unformatted text such as URLs.\n *\n * Word transformations applied before wrapping.\n *\n * @param { (str: string) => string } wordTransform Word transformation function.\n */\n pushWordTransform (wordTransform) {\n this._wordTransformer = new TransformerStackItem(this._wordTransformer, wordTransform);\n }\n\n /**\n * Remove a function from the word transformations stack.\n *\n * @returns { (str: string) => string } A function that was removed.\n */\n popWordTransform () {\n if (!this._wordTransformer) { return undefined; }\n const transform = this._wordTransformer.transform;\n this._wordTransformer = this._wordTransformer.next;\n return transform;\n }\n\n /**\n * Ignore wordwrap option in followup inline additions and disable automatic wrapping.\n */\n startNoWrap () {\n this._stackItem.isNoWrap = true;\n }\n\n /**\n * Return automatic wrapping to behavior defined by options.\n */\n stopNoWrap () {\n this._stackItem.isNoWrap = false;\n }\n\n /** @returns { (str: string) => string } */\n _getCombinedWordTransformer () {\n const wt = (this._wordTransformer)\n ? ((str) => applyTransformer(str, this._wordTransformer))\n : undefined;\n const ce = this.options.encodeCharacters;\n return (wt)\n ? ((ce) ? (str) => ce(wt(str)) : wt)\n : ce;\n }\n\n _popStackItem () {\n const item = this._stackItem;\n this._stackItem = item.next;\n return item;\n }\n\n /**\n * Add a line break into currently built block.\n */\n addLineBreak () {\n if (!(\n this._stackItem instanceof BlockStackItem\n || this._stackItem instanceof ListItemStackItem\n || this._stackItem instanceof TableCellStackItem\n )) { return; }\n if (this._stackItem.isPre) {\n this._stackItem.rawText += '\\n';\n } else {\n this._stackItem.inlineTextBuilder.startNewLine();\n }\n }\n\n /**\n * Allow to break line in case directly following text will not fit.\n */\n addWordBreakOpportunity () {\n if (\n this._stackItem instanceof BlockStackItem\n || this._stackItem instanceof ListItemStackItem\n || this._stackItem instanceof TableCellStackItem\n ) {\n this._stackItem.inlineTextBuilder.wordBreakOpportunity = true;\n }\n }\n\n /**\n * Add a node inline into the currently built block.\n *\n * @param { string } str\n * Text content of a node to add.\n *\n * @param { object } [param1]\n * Object holding the parameters of the operation.\n *\n * @param { boolean } [param1.noWordTransform]\n * Ignore word transformers if there are any.\n * Don't encode characters as well.\n * (Use this for things like URL addresses).\n */\n addInline (str, { noWordTransform = false } = {}) {\n if (!(\n this._stackItem instanceof BlockStackItem\n || this._stackItem instanceof ListItemStackItem\n || this._stackItem instanceof TableCellStackItem\n )) { return; }\n\n if (this._stackItem.isPre) {\n this._stackItem.rawText += str;\n return;\n }\n\n if (\n str.length === 0 || // empty string\n (\n this._stackItem.stashedLineBreaks && // stashed linebreaks make whitespace irrelevant\n !this.whitespaceProcessor.testContainsWords(str) // no words to add\n )\n ) { return; }\n\n if (this.options.preserveNewlines) {\n const newlinesNumber = this.whitespaceProcessor.countNewlinesNoWords(str);\n if (newlinesNumber > 0) {\n this._stackItem.inlineTextBuilder.startNewLine(newlinesNumber);\n // keep stashedLineBreaks unchanged\n return;\n }\n }\n\n if (this._stackItem.stashedLineBreaks) {\n this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks);\n }\n this.whitespaceProcessor.shrinkWrapAdd(\n str,\n this._stackItem.inlineTextBuilder,\n (noWordTransform) ? undefined : this._getCombinedWordTransformer(),\n this._stackItem.isNoWrap\n );\n this._stackItem.stashedLineBreaks = 0; // inline text doesn't introduce line breaks\n }\n\n /**\n * Add a string inline into the currently built block.\n *\n * Use this for markup elements that don't have to adhere\n * to text layout rules.\n *\n * @param { string } str Text to add.\n */\n addLiteral (str) {\n if (!(\n this._stackItem instanceof BlockStackItem\n || this._stackItem instanceof ListItemStackItem\n || this._stackItem instanceof TableCellStackItem\n )) { return; }\n\n if (str.length === 0) { return; }\n\n if (this._stackItem.isPre) {\n this._stackItem.rawText += str;\n return;\n }\n\n if (this._stackItem.stashedLineBreaks) {\n this._stackItem.inlineTextBuilder.startNewLine(this._stackItem.stashedLineBreaks);\n }\n this.whitespaceProcessor.addLiteral(\n str,\n this._stackItem.inlineTextBuilder,\n this._stackItem.isNoWrap\n );\n this._stackItem.stashedLineBreaks = 0;\n }\n\n /**\n * Start building a new block.\n *\n * @param { object } [param0]\n * Object holding the parameters of the block.\n *\n * @param { number } [param0.leadingLineBreaks]\n * This block should have at least this number of line breaks to separate it from any preceding block.\n *\n * @param { number } [param0.reservedLineLength]\n * Reserve this number of characters on each line for block markup.\n *\n * @param { boolean } [param0.isPre]\n * Should HTML whitespace be preserved inside this block.\n */\n openBlock ({ leadingLineBreaks = 1, reservedLineLength = 0, isPre = false } = {}) {\n const maxLineLength = Math.max(20, this._stackItem.inlineTextBuilder.maxLineLength - reservedLineLength);\n this._stackItem = new BlockStackItem(\n this.options,\n this._stackItem,\n leadingLineBreaks,\n maxLineLength\n );\n if (isPre) { this._stackItem.isPre = true; }\n }\n\n /**\n * Finalize currently built block, add it's content to the parent block.\n *\n * @param { object } [param0]\n * Object holding the parameters of the block.\n *\n * @param { number } [param0.trailingLineBreaks]\n * This block should have at least this number of line breaks to separate it from any following block.\n *\n * @param { (str: string) => string } [param0.blockTransform]\n * A function to transform the block text before adding to the parent block.\n * This happens after word wrap and should be used in combination with reserved line length\n * in order to keep line lengths correct.\n * Used for whole block markup.\n */\n closeBlock ({ trailingLineBreaks = 1, blockTransform = undefined } = {}) {\n const block = this._popStackItem();\n const blockText = (blockTransform) ? blockTransform(getText(block)) : getText(block);\n addText(this._stackItem, blockText, block.leadingLineBreaks, Math.max(block.stashedLineBreaks, trailingLineBreaks));\n }\n\n /**\n * Start building a new list.\n *\n * @param { object } [param0]\n * Object holding the parameters of the list.\n *\n * @param { number } [param0.maxPrefixLength]\n * Length of the longest list item prefix.\n * If not supplied or too small then list items won't be aligned properly.\n *\n * @param { 'left' | 'right' } [param0.prefixAlign]\n * Specify how prefixes of different lengths have to be aligned\n * within a column.\n *\n * @param { number } [param0.interRowLineBreaks]\n * Minimum number of line breaks between list items.\n *\n * @param { number } [param0.leadingLineBreaks]\n * This list should have at least this number of line breaks to separate it from any preceding block.\n */\n openList ({ maxPrefixLength = 0, prefixAlign = 'left', interRowLineBreaks = 1, leadingLineBreaks = 2 } = {}) {\n this._stackItem = new ListStackItem(this.options, this._stackItem, {\n interRowLineBreaks: interRowLineBreaks,\n leadingLineBreaks: leadingLineBreaks,\n maxLineLength: this._stackItem.inlineTextBuilder.maxLineLength,\n maxPrefixLength: maxPrefixLength,\n prefixAlign: prefixAlign\n });\n }\n\n /**\n * Start building a new list item.\n *\n * @param {object} param0\n * Object holding the parameters of the list item.\n *\n * @param { string } [param0.prefix]\n * Prefix for this list item (item number, bullet point, etc).\n */\n openListItem ({ prefix = '' } = {}) {\n if (!(this._stackItem instanceof ListStackItem)) {\n throw new Error('Can\\'t add a list item to something that is not a list! Check the formatter.');\n }\n const list = this._stackItem;\n const prefixLength = Math.max(prefix.length, list.maxPrefixLength);\n const maxLineLength = Math.max(20, list.inlineTextBuilder.maxLineLength - prefixLength);\n this._stackItem = new ListItemStackItem(this.options, list, {\n prefix: prefix,\n maxLineLength: maxLineLength,\n leadingLineBreaks: list.interRowLineBreaks\n });\n }\n\n /**\n * Finalize currently built list item, add it's content to the parent list.\n */\n closeListItem () {\n const listItem = this._popStackItem();\n const list = listItem.next;\n\n const prefixLength = Math.max(listItem.prefix.length, list.maxPrefixLength);\n const spacing = '\\n' + ' '.repeat(prefixLength);\n const prefix = (list.prefixAlign === 'right')\n ? listItem.prefix.padStart(prefixLength)\n : listItem.prefix.padEnd(prefixLength);\n const text = prefix + getText(listItem).replace(/\\n/g, spacing);\n\n addText(\n list,\n text,\n listItem.leadingLineBreaks,\n Math.max(listItem.stashedLineBreaks, list.interRowLineBreaks)\n );\n }\n\n /**\n * Finalize currently built list, add it's content to the parent block.\n *\n * @param { object } param0\n * Object holding the parameters of the list.\n *\n * @param { number } [param0.trailingLineBreaks]\n * This list should have at least this number of line breaks to separate it from any following block.\n */\n closeList ({ trailingLineBreaks = 2 } = {}) {\n const list = this._popStackItem();\n const text = getText(list);\n if (text) {\n addText(this._stackItem, text, list.leadingLineBreaks, trailingLineBreaks);\n }\n }\n\n /**\n * Start building a table.\n */\n openTable () {\n this._stackItem = new TableStackItem(this._stackItem);\n }\n\n /**\n * Start building a table row.\n */\n openTableRow () {\n if (!(this._stackItem instanceof TableStackItem)) {\n throw new Error('Can\\'t add a table row to something that is not a table! Check the formatter.');\n }\n this._stackItem = new TableRowStackItem(this._stackItem);\n }\n\n /**\n * Start building a table cell.\n *\n * @param { object } [param0]\n * Object holding the parameters of the cell.\n *\n * @param { number } [param0.maxColumnWidth]\n * Wrap cell content to this width. Fall back to global wordwrap value if undefined.\n */\n openTableCell ({ maxColumnWidth = undefined } = {}) {\n if (!(this._stackItem instanceof TableRowStackItem)) {\n throw new Error('Can\\'t add a table cell to something that is not a table row! Check the formatter.');\n }\n this._stackItem = new TableCellStackItem(this.options, this._stackItem, maxColumnWidth);\n }\n\n /**\n * Finalize currently built table cell and add it to parent table row's cells.\n *\n * @param { object } [param0]\n * Object holding the parameters of the cell.\n *\n * @param { number } [param0.colspan] How many columns this cell should occupy.\n * @param { number } [param0.rowspan] How many rows this cell should occupy.\n */\n closeTableCell ({ colspan = 1, rowspan = 1 } = {}) {\n const cell = this._popStackItem();\n const text = trimCharacter(getText(cell), '\\n');\n cell.next.cells.push({ colspan: colspan, rowspan: rowspan, text: text });\n }\n\n /**\n * Finalize currently built table row and add it to parent table's rows.\n */\n closeTableRow () {\n const row = this._popStackItem();\n row.next.rows.push(row.cells);\n }\n\n /**\n * Finalize currently built table and add the rendered text to the parent block.\n *\n * @param { object } param0\n * Object holding the parameters of the table.\n *\n * @param { TablePrinter } param0.tableToString\n * A function to convert a table of stringified cells into a complete table.\n *\n * @param { number } [param0.leadingLineBreaks]\n * This table should have at least this number of line breaks to separate if from any preceding block.\n *\n * @param { number } [param0.trailingLineBreaks]\n * This table should have at least this number of line breaks to separate it from any following block.\n */\n closeTable ({ tableToString, leadingLineBreaks = 2, trailingLineBreaks = 2 }) {\n const table = this._popStackItem();\n const output = tableToString(table.rows);\n if (output) {\n addText(this._stackItem, output, leadingLineBreaks, trailingLineBreaks);\n }\n }\n\n /**\n * Return the rendered text content of this builder.\n *\n * @returns { string }\n */\n toString () {\n return getText(this._stackItem.getRoot());\n // There should only be the root item if everything is closed properly.\n }\n\n}\n\nfunction getText (stackItem) {\n if (!(\n stackItem instanceof BlockStackItem\n || stackItem instanceof ListItemStackItem\n || stackItem instanceof TableCellStackItem\n )) {\n throw new Error('Only blocks, list items and table cells can be requested for text contents.');\n }\n return (stackItem.inlineTextBuilder.isEmpty())\n ? stackItem.rawText\n : stackItem.rawText + stackItem.inlineTextBuilder.toString();\n}\n\nfunction addText (stackItem, text, leadingLineBreaks, trailingLineBreaks) {\n if (!(\n stackItem instanceof BlockStackItem\n || stackItem instanceof ListItemStackItem\n || stackItem instanceof TableCellStackItem\n )) {\n throw new Error('Only blocks, list items and table cells can contain text.');\n }\n const parentText = getText(stackItem);\n const lineBreaks = Math.max(stackItem.stashedLineBreaks, leadingLineBreaks);\n stackItem.inlineTextBuilder.clear();\n if (parentText) {\n stackItem.rawText = parentText + '\\n'.repeat(lineBreaks) + text;\n } else {\n stackItem.rawText = text;\n stackItem.leadingLineBreaks = lineBreaks;\n }\n stackItem.stashedLineBreaks = trailingLineBreaks;\n}\n\n/**\n * @param { string } str A string to transform.\n * @param { TransformerStackItem } transformer A transformer item (with possible continuation).\n * @returns { string }\n */\nfunction applyTransformer (str, transformer) {\n return ((transformer) ? applyTransformer(transformer.transform(str), transformer.next) : str);\n}\n\n/**\n * Compile selectors into a decision tree,\n * return a function intended for batch processing.\n *\n * @param { Options } [options = {}] HtmlToText options (defaults, formatters, user options merged, deduplicated).\n * @returns { (html: string, metadata?: any) => string } Pre-configured converter function.\n * @static\n */\nfunction compile$1 (options = {}) {\n const selectorsWithoutFormat = options.selectors.filter(s => !s.format);\n if (selectorsWithoutFormat.length) {\n throw new Error(\n 'Following selectors have no specified format: ' +\n selectorsWithoutFormat.map(s => `\\`${s.selector}\\``).join(', ')\n );\n }\n const picker = new DecisionTree(\n options.selectors.map(s => [s.selector, s])\n ).build(hp2Builder);\n\n if (typeof options.encodeCharacters !== 'function') {\n options.encodeCharacters = makeReplacerFromDict(options.encodeCharacters);\n }\n\n const baseSelectorsPicker = new DecisionTree(\n options.baseElements.selectors.map((s, i) => [s, i + 1])\n ).build(hp2Builder);\n function findBaseElements (dom) {\n return findBases(dom, options, baseSelectorsPicker);\n }\n\n const limitedWalk = limitedDepthRecursive(\n options.limits.maxDepth,\n recursiveWalk,\n function (dom, builder) {\n builder.addInline(options.limits.ellipsis || '');\n }\n );\n\n return function (html, metadata = undefined) {\n return process(html, metadata, options, picker, findBaseElements, limitedWalk);\n };\n}\n\n\n/**\n * Convert given HTML according to preprocessed options.\n *\n * @param { string } html HTML content to convert.\n * @param { any } metadata Optional metadata for HTML document, for use in formatters.\n * @param { Options } options HtmlToText options (preprocessed).\n * @param { import('selderee').Picker<DomNode, TagDefinition> } picker\n * Tag definition picker for DOM nodes processing.\n * @param { (dom: DomNode[]) => DomNode[] } findBaseElements\n * Function to extract elements from HTML DOM\n * that will only be present in the output text.\n * @param { RecursiveCallback } walk Recursive callback.\n * @returns { string }\n */\nfunction process (html, metadata, options, picker, findBaseElements, walk) {\n const maxInputLength = options.limits.maxInputLength;\n if (maxInputLength && html && html.length > maxInputLength) {\n console.warn(\n `Input length ${html.length} is above allowed limit of ${maxInputLength}. Truncating without ellipsis.`\n );\n html = html.substring(0, maxInputLength);\n }\n\n const document = parseDocument(html, { decodeEntities: options.decodeEntities });\n const bases = findBaseElements(document.children);\n const builder = new BlockTextBuilder(options, picker, metadata);\n walk(bases, builder);\n return builder.toString();\n}\n\n\nfunction findBases (dom, options, baseSelectorsPicker) {\n const results = [];\n\n function recursiveWalk (walk, /** @type { DomNode[] } */ dom) {\n dom = dom.slice(0, options.limits.maxChildNodes);\n for (const elem of dom) {\n if (elem.type !== 'tag') {\n continue;\n }\n const pickedSelectorIndex = baseSelectorsPicker.pick1(elem);\n if (pickedSelectorIndex > 0) {\n results.push({ selectorIndex: pickedSelectorIndex, element: elem });\n } else if (elem.children) {\n walk(elem.children);\n }\n if (results.length >= options.limits.maxBaseElements) {\n return;\n }\n }\n }\n\n const limitedWalk = limitedDepthRecursive(\n options.limits.maxDepth,\n recursiveWalk\n );\n limitedWalk(dom);\n\n if (options.baseElements.orderBy !== 'occurrence') { // 'selectors'\n results.sort((a, b) => a.selectorIndex - b.selectorIndex);\n }\n return (options.baseElements.returnDomByDefault && results.length === 0)\n ? dom\n : results.map(x => x.element);\n}\n\n/**\n * Function to walk through DOM nodes and accumulate their string representations.\n *\n * @param { RecursiveCallback } walk Recursive callback.\n * @param { DomNode[] } [dom] Nodes array to process.\n * @param { BlockTextBuilder } builder Passed around to accumulate output text.\n * @private\n */\nfunction recursiveWalk (walk, dom, builder) {\n if (!dom) { return; }\n\n const options = builder.options;\n\n const tooManyChildNodes = dom.length > options.limits.maxChildNodes;\n if (tooManyChildNodes) {\n dom = dom.slice(0, options.limits.maxChildNodes);\n dom.push({\n data: options.limits.ellipsis,\n type: 'text'\n });\n }\n\n for (const elem of dom) {\n switch (elem.type) {\n case 'text': {\n builder.addInline(elem.data);\n break;\n }\n case 'tag': {\n const tagDefinition = builder.picker.pick1(elem);\n const format = options.formatters[tagDefinition.format];\n format(elem, walk, builder, tagDefinition.options || {});\n break;\n }\n }\n }\n\n return;\n}\n\n/**\n * @param { Object<string,string | false> } dict\n * A dictionary where keys are characters to replace\n * and values are replacement strings.\n *\n * First code point from dict keys is used.\n * Compound emojis with ZWJ are not supported (not until Node 16).\n *\n * @returns { ((str: string) => string) | undefined }\n */\nfunction makeReplacerFromDict (dict) {\n if (!dict || Object.keys(dict).length === 0) {\n return undefined;\n }\n /** @type { [string, string][] } */\n const entries = Object.entries(dict).filter(([, v]) => v !== false);\n const regex = new RegExp(\n entries\n .map(([c]) => `(${unicodeEscape([...c][0])})`)\n .join('|'),\n 'g'\n );\n const values = entries.map(([, v]) => v);\n const replacer = (m, ...cgs) => values[cgs.findIndex(cg => cg)];\n return (str) => str.replace(regex, replacer);\n}\n\n/**\n * Dummy formatter that discards the input and does nothing.\n *\n * @type { FormatCallback }\n */\nfunction formatSkip (elem, walk, builder, formatOptions) {\n /* do nothing */\n}\n\n/**\n * Insert the given string literal inline instead of a tag.\n *\n * @type { FormatCallback }\n */\nfunction formatInlineString (elem, walk, builder, formatOptions) {\n builder.addLiteral(formatOptions.string || '');\n}\n\n/**\n * Insert a block with the given string literal instead of a tag.\n *\n * @type { FormatCallback }\n */\nfunction formatBlockString (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n builder.addLiteral(formatOptions.string || '');\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Process an inline-level element.\n *\n * @type { FormatCallback }\n */\nfunction formatInline (elem, walk, builder, formatOptions) {\n walk(elem.children, builder);\n}\n\n/**\n * Process a block-level container.\n *\n * @type { FormatCallback }\n */\nfunction formatBlock$1 (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n walk(elem.children, builder);\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\nfunction renderOpenTag (elem) {\n const attrs = (elem.attribs && elem.attribs.length)\n ? ' ' + Object.entries(elem.attribs)\n .map(([k, v]) => ((v === '') ? k : `${k}=${v.replace(/\"/g, '"')}`))\n .join(' ')\n : '';\n return `<${elem.name}${attrs}>`;\n}\n\nfunction renderCloseTag (elem) {\n return `</${elem.name}>`;\n}\n\n/**\n * Render an element as inline HTML tag, walk through it's children.\n *\n * @type { FormatCallback }\n */\nfunction formatInlineTag (elem, walk, builder, formatOptions) {\n builder.startNoWrap();\n builder.addLiteral(renderOpenTag(elem));\n builder.stopNoWrap();\n walk(elem.children, builder);\n builder.startNoWrap();\n builder.addLiteral(renderCloseTag(elem));\n builder.stopNoWrap();\n}\n\n/**\n * Render an element as HTML block bag, walk through it's children.\n *\n * @type { FormatCallback }\n */\nfunction formatBlockTag (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n builder.startNoWrap();\n builder.addLiteral(renderOpenTag(elem));\n builder.stopNoWrap();\n walk(elem.children, builder);\n builder.startNoWrap();\n builder.addLiteral(renderCloseTag(elem));\n builder.stopNoWrap();\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Render an element with all it's children as inline HTML.\n *\n * @type { FormatCallback }\n */\nfunction formatInlineHtml (elem, walk, builder, formatOptions) {\n builder.startNoWrap();\n builder.addLiteral(\n render(elem, { decodeEntities: builder.options.decodeEntities })\n );\n builder.stopNoWrap();\n}\n\n/**\n * Render an element with all it's children as HTML block.\n *\n * @type { FormatCallback }\n */\nfunction formatBlockHtml (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n builder.startNoWrap();\n builder.addLiteral(\n render(elem, { decodeEntities: builder.options.decodeEntities })\n );\n builder.stopNoWrap();\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Render inline element wrapped with given strings.\n *\n * @type { FormatCallback }\n */\nfunction formatInlineSurround (elem, walk, builder, formatOptions) {\n builder.addLiteral(formatOptions.prefix || '');\n walk(elem.children, builder);\n builder.addLiteral(formatOptions.suffix || '');\n}\n\nvar genericFormatters = /*#__PURE__*/Object.freeze({\n __proto__: null,\n block: formatBlock$1,\n blockHtml: formatBlockHtml,\n blockString: formatBlockString,\n blockTag: formatBlockTag,\n inline: formatInline,\n inlineHtml: formatInlineHtml,\n inlineString: formatInlineString,\n inlineSurround: formatInlineSurround,\n inlineTag: formatInlineTag,\n skip: formatSkip\n});\n\nfunction getRow (matrix, j) {\n if (!matrix[j]) { matrix[j] = []; }\n return matrix[j];\n}\n\nfunction findFirstVacantIndex (row, x = 0) {\n while (row[x]) { x++; }\n return x;\n}\n\nfunction transposeInPlace (matrix, maxSize) {\n for (let i = 0; i < maxSize; i++) {\n const rowI = getRow(matrix, i);\n for (let j = 0; j < i; j++) {\n const rowJ = getRow(matrix, j);\n if (rowI[j] || rowJ[i]) {\n const temp = rowI[j];\n rowI[j] = rowJ[i];\n rowJ[i] = temp;\n }\n }\n }\n}\n\nfunction putCellIntoLayout (cell, layout, baseRow, baseCol) {\n for (let r = 0; r < cell.rowspan; r++) {\n const layoutRow = getRow(layout, baseRow + r);\n for (let c = 0; c < cell.colspan; c++) {\n layoutRow[baseCol + c] = cell;\n }\n }\n}\n\nfunction getOrInitOffset (offsets, index) {\n if (offsets[index] === undefined) {\n offsets[index] = (index === 0) ? 0 : 1 + getOrInitOffset(offsets, index - 1);\n }\n return offsets[index];\n}\n\nfunction updateOffset (offsets, base, span, value) {\n offsets[base + span] = Math.max(\n getOrInitOffset(offsets, base + span),\n getOrInitOffset(offsets, base) + value\n );\n}\n\n/**\n * Render a table into a string.\n * Cells can contain multiline text and span across multiple rows and columns.\n *\n * Modifies cells to add lines array.\n *\n * @param { TablePrinterCell[][] } tableRows Table to render.\n * @param { number } rowSpacing Number of spaces between columns.\n * @param { number } colSpacing Number of empty lines between rows.\n * @returns { string }\n */\nfunction tableToString (tableRows, rowSpacing, colSpacing) {\n const layout = [];\n let colNumber = 0;\n const rowNumber = tableRows.length;\n const rowOffsets = [0];\n // Fill the layout table and row offsets row-by-row.\n for (let j = 0; j < rowNumber; j++) {\n const layoutRow = getRow(layout, j);\n const cells = tableRows[j];\n let x = 0;\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i];\n x = findFirstVacantIndex(layoutRow, x);\n putCellIntoLayout(cell, layout, j, x);\n x += cell.colspan;\n cell.lines = cell.text.split('\\n');\n const cellHeight = cell.lines.length;\n updateOffset(rowOffsets, j, cell.rowspan, cellHeight + rowSpacing);\n }\n colNumber = (layoutRow.length > colNumber) ? layoutRow.length : colNumber;\n }\n\n transposeInPlace(layout, (rowNumber > colNumber) ? rowNumber : colNumber);\n\n const outputLines = [];\n const colOffsets = [0];\n // Fill column offsets and output lines column-by-column.\n for (let x = 0; x < colNumber; x++) {\n let y = 0;\n let cell;\n const rowsInThisColumn = Math.min(rowNumber, layout[x].length);\n while (y < rowsInThisColumn) {\n cell = layout[x][y];\n if (cell) {\n if (!cell.rendered) {\n let cellWidth = 0;\n for (let j = 0; j < cell.lines.length; j++) {\n const line = cell.lines[j];\n const lineOffset = rowOffsets[y] + j;\n outputLines[lineOffset] = (outputLines[lineOffset] || '').padEnd(colOffsets[x]) + line;\n cellWidth = (line.length > cellWidth) ? line.length : cellWidth;\n }\n updateOffset(colOffsets, x, cell.colspan, cellWidth + colSpacing);\n cell.rendered = true;\n }\n y += cell.rowspan;\n } else {\n const lineOffset = rowOffsets[y];\n outputLines[lineOffset] = (outputLines[lineOffset] || '');\n y++;\n }\n }\n }\n\n return outputLines.join('\\n');\n}\n\n/**\n * Process a line-break.\n *\n * @type { FormatCallback }\n */\nfunction formatLineBreak (elem, walk, builder, formatOptions) {\n builder.addLineBreak();\n}\n\n/**\n * Process a `wbr` tag (word break opportunity).\n *\n * @type { FormatCallback }\n */\nfunction formatWbr (elem, walk, builder, formatOptions) {\n builder.addWordBreakOpportunity();\n}\n\n/**\n * Process a horizontal line.\n *\n * @type { FormatCallback }\n */\nfunction formatHorizontalLine (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n builder.addInline('-'.repeat(formatOptions.length || builder.options.wordwrap || 40));\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Process a paragraph.\n *\n * @type { FormatCallback }\n */\nfunction formatParagraph (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n walk(elem.children, builder);\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Process a preformatted content.\n *\n * @type { FormatCallback }\n */\nfunction formatPre (elem, walk, builder, formatOptions) {\n builder.openBlock({\n isPre: true,\n leadingLineBreaks: formatOptions.leadingLineBreaks || 2\n });\n walk(elem.children, builder);\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Process a heading.\n *\n * @type { FormatCallback }\n */\nfunction formatHeading (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks || 2 });\n if (formatOptions.uppercase !== false) {\n builder.pushWordTransform(str => str.toUpperCase());\n walk(elem.children, builder);\n builder.popWordTransform();\n } else {\n walk(elem.children, builder);\n }\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks || 2 });\n}\n\n/**\n * Process a blockquote.\n *\n * @type { FormatCallback }\n */\nfunction formatBlockquote (elem, walk, builder, formatOptions) {\n builder.openBlock({\n leadingLineBreaks: formatOptions.leadingLineBreaks || 2,\n reservedLineLength: 2\n });\n walk(elem.children, builder);\n builder.closeBlock({\n trailingLineBreaks: formatOptions.trailingLineBreaks || 2,\n blockTransform: str => ((formatOptions.trimEmptyLines !== false) ? trimCharacter(str, '\\n') : str)\n .split('\\n')\n .map(line => '> ' + line)\n .join('\\n')\n });\n}\n\nfunction withBrackets (str, brackets) {\n if (!brackets) { return str; }\n\n const lbr = (typeof brackets[0] === 'string')\n ? brackets[0]\n : '[';\n const rbr = (typeof brackets[1] === 'string')\n ? brackets[1]\n : ']';\n return lbr + str + rbr;\n}\n\nfunction pathRewrite (path, rewriter, baseUrl, metadata, elem) {\n const modifiedPath = (typeof rewriter === 'function')\n ? rewriter(path, metadata, elem)\n : path;\n return (modifiedPath[0] === '/' && baseUrl)\n ? trimCharacterEnd(baseUrl, '/') + modifiedPath\n : modifiedPath;\n}\n\n/**\n * Process an image.\n *\n * @type { FormatCallback }\n */\nfunction formatImage (elem, walk, builder, formatOptions) {\n const attribs = elem.attribs || {};\n const alt = (attribs.alt)\n ? attribs.alt\n : '';\n const src = (!attribs.src)\n ? ''\n : pathRewrite(attribs.src, formatOptions.pathRewrite, formatOptions.baseUrl, builder.metadata, elem);\n const text = (!src)\n ? alt\n : (!alt)\n ? withBrackets(src, formatOptions.linkBrackets)\n : alt + ' ' + withBrackets(src, formatOptions.linkBrackets);\n\n builder.addInline(text, { noWordTransform: true });\n}\n\n// a img baseUrl\n// a img pathRewrite\n// a img linkBrackets\n\n// a ignoreHref: false\n// ignoreText ?\n// a noAnchorUrl: true\n// can be replaced with selector\n// a hideLinkHrefIfSameAsText: false\n// how to compare, what to show (text, href, normalized) ?\n// a mailto protocol removed without options\n\n// a protocols: mailto, tel, ...\n// can be matched with selector?\n\n// anchors, protocols - only if no pathRewrite fn is provided\n\n// normalize-url ?\n\n// a\n// a[href^=\"#\"] - format:skip by default\n// a[href^=\"mailto:\"] - ?\n\n/**\n * Process an anchor.\n *\n * @type { FormatCallback }\n */\nfunction formatAnchor (elem, walk, builder, formatOptions) {\n function getHref () {\n if (formatOptions.ignoreHref) { return ''; }\n if (!elem.attribs || !elem.attribs.href) { return ''; }\n let href = elem.attribs.href.replace(/^mailto:/, '');\n if (formatOptions.noAnchorUrl && href[0] === '#') { return ''; }\n href = pathRewrite(href, formatOptions.pathRewrite, formatOptions.baseUrl, builder.metadata, elem);\n return href;\n }\n const href = getHref();\n if (!href) {\n walk(elem.children, builder);\n } else {\n let text = '';\n builder.pushWordTransform(\n str => {\n if (str) { text += str; }\n return str;\n }\n );\n walk(elem.children, builder);\n builder.popWordTransform();\n\n const hideSameLink = formatOptions.hideLinkHrefIfSameAsText && href === text;\n if (!hideSameLink) {\n builder.addInline(\n (!text)\n ? href\n : ' ' + withBrackets(href, formatOptions.linkBrackets),\n { noWordTransform: true }\n );\n }\n }\n}\n\n/**\n * @param { DomNode } elem List items with their prefixes.\n * @param { RecursiveCallback } walk Recursive callback to process child nodes.\n * @param { BlockTextBuilder } builder Passed around to accumulate output text.\n * @param { FormatOptions } formatOptions Options specific to a formatter.\n * @param { () => string } nextPrefixCallback Function that returns increasing index each time it is called.\n */\nfunction formatList (elem, walk, builder, formatOptions, nextPrefixCallback) {\n const isNestedList = get(elem, ['parent', 'name']) === 'li';\n\n // With Roman numbers, index length is not as straightforward as with Arabic numbers or letters,\n // so the dumb length comparison is the most robust way to get the correct value.\n let maxPrefixLength = 0;\n const listItems = (elem.children || [])\n // it might be more accurate to check only for html spaces here, but no significant benefit\n .filter(child => child.type !== 'text' || !/^\\s*$/.test(child.data))\n .map(function (child) {\n if (child.name !== 'li') {\n return { node: child, prefix: '' };\n }\n const prefix = (isNestedList)\n ? nextPrefixCallback().trimStart()\n : nextPrefixCallback();\n if (prefix.length > maxPrefixLength) { maxPrefixLength = prefix.length; }\n return { node: child, prefix: prefix };\n });\n if (!listItems.length) { return; }\n\n builder.openList({\n interRowLineBreaks: 1,\n leadingLineBreaks: isNestedList ? 1 : (formatOptions.leadingLineBreaks || 2),\n maxPrefixLength: maxPrefixLength,\n prefixAlign: 'left'\n });\n\n for (const { node, prefix } of listItems) {\n builder.openListItem({ prefix: prefix });\n walk([node], builder);\n builder.closeListItem();\n }\n\n builder.closeList({ trailingLineBreaks: isNestedList ? 1 : (formatOptions.trailingLineBreaks || 2) });\n}\n\n/**\n * Process an unordered list.\n *\n * @type { FormatCallback }\n */\nfunction formatUnorderedList (elem, walk, builder, formatOptions) {\n const prefix = formatOptions.itemPrefix || ' * ';\n return formatList(elem, walk, builder, formatOptions, () => prefix);\n}\n\n/**\n * Process an ordered list.\n *\n * @type { FormatCallback }\n */\nfunction formatOrderedList (elem, walk, builder, formatOptions) {\n let nextIndex = Number(elem.attribs.start || '1');\n const indexFunction = getOrderedListIndexFunction(elem.attribs.type);\n const nextPrefixCallback = () => ' ' + indexFunction(nextIndex++) + '. ';\n return formatList(elem, walk, builder, formatOptions, nextPrefixCallback);\n}\n\n/**\n * Return a function that can be used to generate index markers of a specified format.\n *\n * @param { string } [olType='1'] Marker type.\n * @returns { (i: number) => string }\n */\nfunction getOrderedListIndexFunction (olType = '1') {\n switch (olType) {\n case 'a': return (i) => numberToLetterSequence(i, 'a');\n case 'A': return (i) => numberToLetterSequence(i, 'A');\n case 'i': return (i) => numberToRoman(i).toLowerCase();\n case 'I': return (i) => numberToRoman(i);\n case '1':\n default: return (i) => (i).toString();\n }\n}\n\n/**\n * Given a list of class and ID selectors (prefixed with '.' and '#'),\n * return them as separate lists of names without prefixes.\n *\n * @param { string[] } selectors Class and ID selectors (`[\".class\", \"#id\"]` etc).\n * @returns { { classes: string[], ids: string[] } }\n */\nfunction splitClassesAndIds (selectors) {\n const classes = [];\n const ids = [];\n for (const selector of selectors) {\n if (selector.startsWith('.')) {\n classes.push(selector.substring(1));\n } else if (selector.startsWith('#')) {\n ids.push(selector.substring(1));\n }\n }\n return { classes: classes, ids: ids };\n}\n\nfunction isDataTable (attr, tables) {\n if (tables === true) { return true; }\n if (!attr) { return false; }\n\n const { classes, ids } = splitClassesAndIds(tables);\n const attrClasses = (attr['class'] || '').split(' ');\n const attrIds = (attr['id'] || '').split(' ');\n\n return attrClasses.some(x => classes.includes(x)) || attrIds.some(x => ids.includes(x));\n}\n\n/**\n * Process a table (either as a container or as a data table, depending on options).\n *\n * @type { FormatCallback }\n */\nfunction formatTable (elem, walk, builder, formatOptions) {\n return isDataTable(elem.attribs, builder.options.tables)\n ? formatDataTable(elem, walk, builder, formatOptions)\n : formatBlock(elem, walk, builder, formatOptions);\n}\n\nfunction formatBlock (elem, walk, builder, formatOptions) {\n builder.openBlock({ leadingLineBreaks: formatOptions.leadingLineBreaks });\n walk(elem.children, builder);\n builder.closeBlock({ trailingLineBreaks: formatOptions.trailingLineBreaks });\n}\n\n/**\n * Process a data table.\n *\n * @type { FormatCallback }\n */\nfunction formatDataTable (elem, walk, builder, formatOptions) {\n builder.openTable();\n elem.children.forEach(walkTable);\n builder.closeTable({\n tableToString: (rows) => tableToString(rows, formatOptions.rowSpacing ?? 0, formatOptions.colSpacing ?? 3),\n leadingLineBreaks: formatOptions.leadingLineBreaks,\n trailingLineBreaks: formatOptions.trailingLineBreaks\n });\n\n function formatCell (cellNode) {\n const colspan = +get(cellNode, ['attribs', 'colspan']) || 1;\n const rowspan = +get(cellNode, ['attribs', 'rowspan']) || 1;\n builder.openTableCell({ maxColumnWidth: formatOptions.maxColumnWidth });\n walk(cellNode.children, builder);\n builder.closeTableCell({ colspan: colspan, rowspan: rowspan });\n }\n\n function walkTable (elem) {\n if (elem.type !== 'tag') { return; }\n\n const formatHeaderCell = (formatOptions.uppercaseHeaderCells !== false)\n ? (cellNode) => {\n builder.pushWordTransform(str => str.toUpperCase());\n formatCell(cellNode);\n builder.popWordTransform();\n }\n : formatCell;\n\n switch (elem.name) {\n case 'thead':\n case 'tbody':\n case 'tfoot':\n case 'center':\n elem.children.forEach(walkTable);\n return;\n\n case 'tr': {\n builder.openTableRow();\n for (const childOfTr of elem.children) {\n if (childOfTr.type !== 'tag') { continue; }\n switch (childOfTr.name) {\n case 'th': {\n formatHeaderCell(childOfTr);\n break;\n }\n case 'td': {\n formatCell(childOfTr);\n break;\n }\n // do nothing\n }\n }\n builder.closeTableRow();\n break;\n }\n // do nothing\n }\n }\n}\n\nvar textFormatters = /*#__PURE__*/Object.freeze({\n __proto__: null,\n anchor: formatAnchor,\n blockquote: formatBlockquote,\n dataTable: formatDataTable,\n heading: formatHeading,\n horizontalLine: formatHorizontalLine,\n image: formatImage,\n lineBreak: formatLineBreak,\n orderedList: formatOrderedList,\n paragraph: formatParagraph,\n pre: formatPre,\n table: formatTable,\n unorderedList: formatUnorderedList,\n wbr: formatWbr\n});\n\n/**\n * Default options.\n *\n * @constant\n * @type { Options }\n * @default\n * @private\n */\nconst DEFAULT_OPTIONS = {\n baseElements: {\n selectors: [ 'body' ],\n orderBy: 'selectors', // 'selectors' | 'occurrence'\n returnDomByDefault: true\n },\n decodeEntities: true,\n encodeCharacters: {},\n formatters: {},\n limits: {\n ellipsis: '...',\n maxBaseElements: undefined,\n maxChildNodes: undefined,\n maxDepth: undefined,\n maxInputLength: (1 << 24) // 16_777_216\n },\n longWordSplit: {\n forceWrapOnLimit: false,\n wrapCharacters: []\n },\n preserveNewlines: false,\n selectors: [\n { selector: '*', format: 'inline' },\n {\n selector: 'a',\n format: 'anchor',\n options: {\n baseUrl: null,\n hideLinkHrefIfSameAsText: false,\n ignoreHref: false,\n linkBrackets: ['[', ']'],\n noAnchorUrl: true\n }\n },\n { selector: 'article', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n { selector: 'aside', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n {\n selector: 'blockquote',\n format: 'blockquote',\n options: { leadingLineBreaks: 2, trailingLineBreaks: 2, trimEmptyLines: true }\n },\n { selector: 'br', format: 'lineBreak' },\n { selector: 'div', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n { selector: 'footer', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n { selector: 'form', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n { selector: 'h1', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'h2', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'h3', format: 'heading', options: { leadingLineBreaks: 3, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'h4', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'h5', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'h6', format: 'heading', options: { leadingLineBreaks: 2, trailingLineBreaks: 2, uppercase: true } },\n { selector: 'header', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n {\n selector: 'hr',\n format: 'horizontalLine',\n options: { leadingLineBreaks: 2, length: undefined, trailingLineBreaks: 2 }\n },\n {\n selector: 'img',\n format: 'image',\n options: { baseUrl: null, linkBrackets: ['[', ']'] }\n },\n { selector: 'main', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n { selector: 'nav', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n {\n selector: 'ol',\n format: 'orderedList',\n options: { leadingLineBreaks: 2, trailingLineBreaks: 2 }\n },\n { selector: 'p', format: 'paragraph', options: { leadingLineBreaks: 2, trailingLineBreaks: 2 } },\n { selector: 'pre', format: 'pre', options: { leadingLineBreaks: 2, trailingLineBreaks: 2 } },\n { selector: 'section', format: 'block', options: { leadingLineBreaks: 1, trailingLineBreaks: 1 } },\n {\n selector: 'table',\n format: 'table',\n options: {\n colSpacing: 3,\n leadingLineBreaks: 2,\n maxColumnWidth: 60,\n rowSpacing: 0,\n trailingLineBreaks: 2,\n uppercaseHeaderCells: true\n }\n },\n {\n selector: 'ul',\n format: 'unorderedList',\n options: { itemPrefix: ' * ', leadingLineBreaks: 2, trailingLineBreaks: 2 }\n },\n { selector: 'wbr', format: 'wbr' },\n ],\n tables: [], // deprecated\n whitespaceCharacters: ' \\t\\r\\n\\f\\u200b',\n wordwrap: 80\n};\n\nconst concatMerge = (acc, src, options) => [...acc, ...src];\nconst overwriteMerge = (acc, src, options) => [...src];\nconst selectorsMerge = (acc, src, options) => (\n (acc.some(s => typeof s === 'object'))\n ? concatMerge(acc, src) // selectors\n : overwriteMerge(acc, src) // baseElements.selectors\n);\n\n/**\n * Preprocess options, compile selectors into a decision tree,\n * return a function intended for batch processing.\n *\n * @param { Options } [options = {}] HtmlToText options.\n * @returns { (html: string, metadata?: any) => string } Pre-configured converter function.\n * @static\n */\nfunction compile (options = {}) {\n options = merge(\n DEFAULT_OPTIONS,\n options,\n {\n arrayMerge: overwriteMerge,\n customMerge: (key) => ((key === 'selectors') ? selectorsMerge : undefined)\n }\n );\n options.formatters = Object.assign({}, genericFormatters, textFormatters, options.formatters);\n options.selectors = mergeDuplicatesPreferLast(options.selectors, (s => s.selector));\n\n handleDeprecatedOptions(options);\n\n return compile$1(options);\n}\n\n/**\n * Convert given HTML content to plain text string.\n *\n * @param { string } html HTML content to convert.\n * @param { Options } [options = {}] HtmlToText options.\n * @param { any } [metadata] Optional metadata for HTML document, for use in formatters.\n * @returns { string } Plain text string.\n * @static\n *\n * @example\n * const { convert } = require('html-to-text');\n * const text = convert('<h1>Hello World</h1>', {\n * wordwrap: 130\n * });\n * console.log(text); // HELLO WORLD\n */\nfunction convert (html, options = {}, metadata = undefined) {\n return compile(options)(html, metadata);\n}\n\n/**\n * Map previously existing and now deprecated options to the new options layout.\n * This is a subject for cleanup in major releases.\n *\n * @param { Options } options HtmlToText options.\n */\nfunction handleDeprecatedOptions (options) {\n if (options.tags) {\n const tagDefinitions = Object.entries(options.tags).map(\n ([selector, definition]) => ({ ...definition, selector: selector || '*' })\n );\n options.selectors.push(...tagDefinitions);\n options.selectors = mergeDuplicatesPreferLast(options.selectors, (s => s.selector));\n }\n\n function set (obj, path, value) {\n const valueKey = path.pop();\n for (const key of path) {\n let nested = obj[key];\n if (!nested) {\n nested = {};\n obj[key] = nested;\n }\n obj = nested;\n }\n obj[valueKey] = value;\n }\n\n if (options['baseElement']) {\n const baseElement = options['baseElement'];\n set(\n options,\n ['baseElements', 'selectors'],\n (Array.isArray(baseElement) ? baseElement : [baseElement])\n );\n }\n if (options['returnDomByDefault'] !== undefined) {\n set(options, ['baseElements', 'returnDomByDefault'], options['returnDomByDefault']);\n }\n\n for (const definition of options.selectors) {\n if (definition.format === 'anchor' && get(definition, ['options', 'noLinkBrackets'])) {\n set(definition, ['options', 'linkBrackets'], false);\n }\n }\n}\n\nexport { compile, convert, convert as htmlToText };\n","import { Parser } from \"./Parser.js\";\nexport { Parser } from \"./Parser.js\";\nimport { DomHandler, } from \"domhandler\";\nexport { DomHandler, \n// Old name for DomHandler\nDomHandler as DefaultHandler, } from \"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 builder.\n */\nexport function parseDocument(data, options) {\n const handler = new DomHandler(undefined, options);\n new 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 builder.\n * @deprecated Use `parseDocument` instead.\n */\nexport function 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.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nexport function createDomStream(callback, options, elementCallback) {\n const handler = new DomHandler(callback, options, elementCallback);\n return new Parser(handler, options);\n}\nexport { default as Tokenizer, } from \"./Tokenizer.js\";\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexport * as ElementType from \"domelementtype\";\nimport { getFeed } from \"domutils\";\nexport { getFeed } from \"domutils\";\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 */\nexport function parseFeed(feed, options = parseFeedDefaultOptions) {\n return getFeed(parseDOM(feed, options));\n}\nexport * as DomUtils from \"domutils\";\n//# sourceMappingURL=index.js.map",null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","SuppressedError","process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE$2","displayName","name","REACT_FRAGMENT_TYPE","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","tag","console","error","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","disabledLog","describeBuiltInComponentFrame","undefined","prefix","Error","match","stack","trim","suffix","describeNativeComponentFrame","fn","construct","reentry","frame","componentFrameCache","get","prepareStackTrace","previousDispatcher","ReactSharedInternals","H","disabledDepth","prevLog","log","prevInfo","info","prevWarn","warn","prevError","prevGroup","group","prevGroupCollapsed","groupCollapsed","prevGroupEnd","groupEnd","props","configurable","enumerable","writable","defineProperties","disableLogs","RunInRootFrame","DetermineComponentFrameRoot","Fake","defineProperty","set","Reflect","control","x$0","x$1","catch","sample","namePropDescriptor","getOwnPropertyDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","split","controlLines","includes","_frame","replace","assign","reenableLogs","describeUnknownElementTypeFrameInDEV","isReactComponent","getOwner","dispatcher","A","elementRefGetterWithDeprecationWarning","componentName","this","didWarnAboutElementRef","ref","jsxDEVImpl","config","maybeKey","isStaticChildren","source","self","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE$1","getModuleId","children","isArrayImpl","validateChildKeys","freeze","keys","REACT_ELEMENT_TYPE","filter","k","join","didWarnAboutKeySpread","getter","isReactWarning","key","hasValidKey","propName","warnAboutAccessingKey","specialPropKeyWarningShown","defineKeyPropWarningGetter","owner","_owner","_store","ReactElement","node","parentType","REACT_CLIENT_REFERENCE","child","isValidElement","validateExplicitKey","validated","MAYBE_ITERATOR_SYMBOL","entries","next","done","object","element","getCurrentComponentErrorInfo","ownerHasKeyUseWarning","childOwner","prevGetCurrentStack","getCurrentStack","React","require$$0","for","iterator","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","Array","isArray","__reactDisabledLog","WeakMap","Map","reactJsxRuntime_development","Fragment","jsx","jsxs","jsxRuntimeModule","exports","jsxProd","reactJsxRuntime_production","require$$1","elipsisStyle","css","TextContainer","styled","span","$color","$elipsis","style","TextComponent","_a","_jsx","clearList","responseWidth","elipsis","multiElipsis","thirdElipsis","boxBase","dropBase","headTable","formLabel","ClearStyles","ClearRStyles","ButtonStyles","getLinkModifiedStyled","mode","$activated","$shadow","disabled","AnchorLinkContainer","a","ElLinkContainer","LinkComponent","href","onClick","className","SubmitStyles","InputContainer","input","width","height","$iconLeft","$iconRight","$isError","InputComponent","reset","setReset","isForceUpdate","setForceUpdate","evChange","evBlur","isField","evChangeCustom","evEnter","evKeyUp","defaultValue","defaultChecked","_value","_b","toString","inputValue","evInputValue","useState","inputChecked","evInputChecked","useEffect","handleChange","target","parseProps","inputEl","checked","onChange","onBlur","parseInt","_evBlur","onKeyUp","preventDefault","_evKeyUp","onKeyPress","isNaN","Number","onPaste","clipboardData","window","getData","document","execCommand","onFocus","addEventListener","passive","min","getInputContainerStyled","arrowIconStyles","CheckmarkContainer","CheckboxContainer","label","$flow","CheckboxComponent","id","extendKey","extendClass","checkboxRef","useRef","_jsxs","htmlFor","IconStyles","ButtonContainer","button","$mode","$isIndicatorArrow","$isShown","$isLoading","$size","IndicatorsArrowIconSvg","svg","color","ButtonComponent","isIndicatorArrowColor","refContainer","IndicatorArrowIconEl","viewBox","focusable","d","blockStyles","EmptyStyles","ElContainer","$position","LabelComponent","LoadingContainer","div","LoadingParentContainer","LoadingComponent","$shape","$extendClass","_className","IconWarning","IconContainer","$name","$width","IconComponent","reactIsModule","b","c","f","g","h","l","m","n","q","r","v","w","y","z","u","reactIs_production_min","AsyncMode","ConcurrentMode","ContextConsumer","Element","ForwardRef","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","hasSymbol","REACT_PROVIDER_TYPE","REACT_ASYNC_MODE_TYPE","REACT_CONCURRENT_MODE_TYPE","REACT_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_RESPONDER_TYPE","REACT_SCOPE_TYPE","$$typeofType","ContextProvider","Memo","hasWarnedAboutDeprecatedIsAsyncMode","reactIs_development","isPortal","propIsEnumerable","objectAssign","test1","String","getOwnPropertyNames","test2","fromCharCode","order2","map","test3","forEach","letter","err","shouldUseNative","from","symbols","to","val","TypeError","toObject","arguments","ReactPropTypesSecret_1","has","Function","bind","printWarning","ReactPropTypesSecret","loggedTypeFailures","text","message","checkPropTypes","typeSpecs","values","location","getStack","typeSpecName","ex","resetWarningCache","checkPropTypes_1","ReactIs","require$$2","require$$3","require$$4","emptyFunctionThatReturnsNull","factoryWithTypeCheckers","throwOnDirectAccess","ITERATOR_SYMBOL","ANONYMOUS","ReactPropTypes","array","createPrimitiveTypeChecker","bigint","bool","func","number","string","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","propFullName","PropTypeError","propValue","getPropType","elementType","instanceOf","expectedClass","expectedClassName","isNode","objectOf","propType","oneOf","expectedValues","is","valuesString","JSON","stringify","getPreciseType","oneOfType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","data","push","expectedType","shape","shapeTypes","invalidValidatorError","exact","allKeys","validate","manualPropTypeCallCache","manualPropTypeWarningCount","checkType","isRequired","secret","cacheKey","chainedCheckType","every","iteratorFn","maybeIterable","getIteratorFn","step","entry","RegExp","isSymbol","Date","PropTypes","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","getShim","propTypesModule","rng","crypto","randomBytes","byteToHex","substr","v4","options","buf","offset","rnds","random","ii","bth","bytesToUuid","ownKeys$2","enumerableOnly","sym","apply","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","_defineProperties","descriptor","obj","_extends","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","_createSuper","Derived","hasNativeReflectConstruct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","NewTarget","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelper","allowArrayLike","it","minLen","slice","test","_unsupportedIterableToArray","F","normalCompletion","didErr","return","commonjsGlobal","globalThis","global","check","Math","global$a","objectGetOwnPropertyDescriptor","fails$9","exec","descriptors","functionBindNative","NATIVE_BIND$2","call$4","functionCall","objectPropertyIsEnumerable","$propertyIsEnumerable","getOwnPropertyDescriptor$1","NASHORN_BUG","V","version","createPropertyDescriptor$2","bitmap","NATIVE_BIND$1","FunctionPrototype$1","call$3","uncurryThisWithBind","functionUncurryThisRaw","uncurryThisRaw$1","toString$1","stringSlice","classofRaw$2","classofRaw$1","uncurryThisRaw","functionUncurryThis","fails$6","classof$3","$Object$3","indexedObject","isNullOrUndefined$2","isNullOrUndefined$1","$TypeError$5","requireObjectCoercible$2","IndexedObject$1","requireObjectCoercible$1","toIndexedObject$4","documentAll$2","all","documentAll_1","IS_HTMLDDA","documentAll$1","isCallable$c","argument","isCallable$b","documentAll","isObject$6","global$9","isCallable$a","getBuiltIn$5","namespace","method","objectIsPrototypeOf","isPrototypeOf","global$8","userAgent","Deno","versions","v8","V8_VERSION","fails$5","symbolConstructorDetection","useSymbolAsUid","getBuiltIn$3","isCallable$9","$Object$2","isSymbol$2","$Symbol","$String$1","isCallable$8","tryToString","$TypeError$4","aCallable$2","aCallable$1","isNullOrUndefined","call$2","isCallable$7","isObject$5","$TypeError$3","shared$3","global$7","defineProperty$2","defineGlobalProperty$3","defineGlobalProperty$2","SHARED","sharedStore","store$2","copyright","license","requireObjectCoercible","$Object$1","toObject$2","toObject$1","hasOwnProperty_1","hasOwn","uncurryThis$6","postfix","uid$2","global$5","shared$2","hasOwn$6","uid$1","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol$1","symbolFor","createWellKnownSymbol","withoutSetter","wellKnownSymbol$5","description","call$1","isObject$4","isSymbol$1","getMethod","P","ordinaryToPrimitive","pref","$TypeError$2","TO_PRIMITIVE","toPrimitive","exoticToPrim","toPropertyKey$2","isObject$3","document$1","EXISTS$1","createElement","documentCreateElement$1","ie8DomDefine","DESCRIPTORS$6","propertyIsEnumerableModule","createPropertyDescriptor$1","toIndexedObject$3","toPropertyKey$1","hasOwn$5","IE8_DOM_DEFINE$1","$getOwnPropertyDescriptor$1","O","objectDefineProperty","v8PrototypeDefineBug","isObject$2","$String","$TypeError$1","anObject$4","DESCRIPTORS$4","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG$1","anObject$3","toPropertyKey","$TypeError","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE$1","WRITABLE","Attributes","current","definePropertyModule$3","createPropertyDescriptor","createNonEnumerableProperty$2","makeBuiltIn$2","DESCRIPTORS$2","hasOwn$4","FunctionPrototype","getDescriptor","functionName","CONFIGURABLE","isCallable$6","store$1","functionToString","inspectSource","inspectSource$2","isCallable$5","WeakMap$1","weakMapBasicDetection","shared$1","uid","sharedKey$2","hiddenKeys$4","NATIVE_WEAK_MAP","global$2","createNonEnumerableProperty$1","hasOwn$3","shared","sharedKey$1","hiddenKeys$3","OBJECT_ALREADY_INITIALIZED","TypeError$1","state","store","metadata","facade","STATE","internalState","enforce","fails$2","isCallable$4","hasOwn$2","DESCRIPTORS$1","CONFIGURABLE_FUNCTION_NAME","inspectSource$1","enforceInternalState","getInternalState","defineProperty$1","CONFIGURABLE_LENGTH","TEMPLATE","makeBuiltIn$1","setter","arity","IS_INCLUDES","isCallable$3","definePropertyModule$2","makeBuiltIn","defineGlobalProperty$1","objectGetOwnPropertyNames","ceil","floor","mathTrunc","trunc","toIntegerOrInfinity$2","toIntegerOrInfinity$1","max","min$1","toIntegerOrInfinity","toLength","lengthOfArrayLike$2","toIndexedObject$2","toAbsoluteIndex","index","integer","lengthOfArrayLike$1","arrayIncludes","$this","el","fromIndex","hasOwn$1","toIndexedObject$1","hiddenKeys$2","push$1","objectKeysInternal","names","enumBugKeys$3","internalObjectKeys$1","hiddenKeys$1","concat","objectGetOwnPropertySymbols","getBuiltIn$2","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject$2","ownKeys$1","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule$1","fails$1","isCallable$2","replacement","isForced$1","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isForced_1","global$1","createNonEnumerableProperty","defineBuiltIn","simple","unsafe","nonConfigurable","nonWritable","defineGlobalProperty","copyConstructorProperties","exceptions","isForced","aCallable","NATIVE_BIND","bind$1","classof$2","isArray$1","TO_STRING_TAG_SUPPORT","isCallable$1","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","uncurryThis$1","fails","isCallable","classof","tryGet","callee","noop","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","isConstructor$1","called","isConstructor","isObject","SPECIES","$Array","arraySpeciesConstructor","originalArray","C","that","IndexedObject","lengthOfArrayLike","arraySpeciesCreate","arrayIteration","find","callbackfn","specificCreate","boundFunction","create","objectDefineProperties","internalObjectKeys","enumBugKeys$1","objectKeys$1","DESCRIPTORS","V8_PROTOTYPE_DEFINE_BUG","definePropertyModule","anObject$1","toIndexedObject","objectKeys","Properties","activeXDocument","html$1","anObject","definePropertiesModule","enumBugKeys","hiddenKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","display","appendChild","src","contentWindow","open","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","$","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","forced","$find","addToUnscopables","FIND","SKIPS_HOLES","proto","CONSTANT","HIDE","REBUILD","SHOW","dispatchGlobalEvent","eventName","opts","event","CustomEvent","detail","createEvent","initEvent","dispatchEvent","checkStatus","dataEventOff","show","isCapture","currentTarget","currentItem","getAttribute","stopPropagation","hideTooltip","setAttribute","setUntargetItems","getTargetArray","showTooltip","targetArray","customListeners","listener","bodyListener","callback","forId","lastTarget","_options$respectEffec","respectEffect","_options$customEvent","customEvent","tip","parentElement","isCustomEvent","isTargetBelongsToTooltip","getEffect","proxy","makeProxy","findCustomEvents","dataAttribute","events","getBody","getElementsByTagName","getPosition","place","desiredPlace","effect","_getDimensions","getDimensions","tipWidth","tipHeight","_getDimensions2","targetWidth","targetHeight","_getCurrentOffset","getCurrentOffset","mouseX","mouseY","defaultOffset","getDefaultPosition","_calculateOffset","calculateOffset","extraOffsetX","extraOffsetY","windowWidth","innerWidth","windowHeight","innerHeight","_getParent","getParent","parentTop","parentLeft","getTipOffsetLeft","offsetX","getTipOffsetTop","offsetY","outsideRight","getTipOffsetRight","outsideBottom","getTipOffsetBottom","outside","outsideLeft","outsideTop","inside","placeIsInside","top","bottom","left","right","newPlace","chosen","_step","_iterator","choose","isNewState","newState","position","_node$getBoundingClie","getBoundingClientRect","boundingClientRect","targetTop","targetLeft","_getDimensions3","clientX","clientY","disToMouse","parse","currentParent","computedStyle","getComputedStyle","getPropertyValue","TipContent","getContent","multiline","regexp","parseAria","ariaObj","prop","nodeListToArray","nodeList","fill","defaultColors","dark","background","border","arrow","success","warning","light","_class","_class2","DEFAULT_PADDING","DEFAULT_RADIUS","tooltip","generateTooltipStyle","uuid","customColors","hasBorder","padding","radius","colors","textColor","backgroundColor","borderColor","arrowColor","arrowRadius","tooltipRadius","generateStyle","getDefaultPopupColors","getPopupColors","ReactTooltip","hide","rebuild","globalRebuild","mount","unbindListener","bindListener","globalShow","hasTarget","globalHide","staticMethods","bindWindowEvents","resizeHide","removeEventListener","onWindowResize","unbindWindowEvents","windowListener","ele","customBindListener","_this","_this$state","eventOff","dataEvent","customListener","customUnbindListener","_this$state2","isBodyMode","bodyMode","bindBodyListener","possibleCustomEvents","possibleCustomEventsOff","body","customEvents","customEventsOff","unbindBodyListener","listeners","bodyModeListeners","_event","mouseover","mousemove","updateTooltip","mouseout","targetEventOff","_event2","_event3","subClass","superClass","_inherits","Component","Constructor","protoProps","staticProps","_super","instance","_classCallCheck","borderClass","customRadius","extraClass","delayHide","delayShow","currentEvent","ariaProps","isEmptyTip","disable","originTooltip","isMultiline","delayShowLoop","delayHideLoop","delayReshow","intervalUpdateContent","methodArray","_this2","_this$props","insecure","disableInternalStyle","injectStyles","clearTimer","removeScrollListener","tooltipRef","domRoot","parentNode","head","querySelector","textContent","matches","msMatchesSelector","mozMatchesSelector","selector","escaped","shadowRoot","querySelectorAll","_this3","_this$props2","globalEventOff","unbindBasicListener","isCaptureMode","bindRemovalTracker","_this4","_this$props3","unbindRemovalTracker","_this$props4","placeholder","isGlobalCall","some","_this$props5","switchToSolid","FocusEvent","scrollHide","overridePosition","reshowDelay","delayUpdate","updateState","setState","addScrollListener","setInterval","_getContent","updatePosition","setTimeout","_this5","_this$props6","afterShow","disableProp","getTooltipContent","eventTarget","mouseOnToolTip","delayTime","isInvisible","clearTimeout","_this6","isScroll","_this$props7","afterHide","removeAttribute","resetState","isVisible","listenForTooltipExit","removeListenerForTooltipExit","hideTooltipOnScroll","callbackAfter","_this7","clearInterval","_this8","_this9","_this$state3","tooltipClass","hasCustomColors","clickable","Wrapper","wrapper","supportedWrappers","defaultProps","wrapperClassName","htmlContent","_ref","dangerouslySetInnerHTML","__html","_ref2","class","nextProps","prevState","newAriaProps","MutationObserver","WebKitMutationObserver","MozMutationObserver","observer","mutations","m1","mutation","m2","removedNodes","observe","childList","subtree","removalTracker","disconnect","ReactPortalComponent","wrapperId","wrapperElement","setWrapperElement","useLayoutEffect","getElementById","systemCreated","createWrapperAndAppendToBody","removeChild","createPortal","DropDownWrapper","section","$internalWidth","$openPosition","$placement","$bottom","$top","DropDownBody","DropDownOverlayWrapper","DropDownControl","DropdownControlWrapper","DropDownContainer","$alias","$externalWidth","$externalMinWidth","$area","axTop","DropDownTitle","DropDownSubTitle","DropDownAction","DropdownPortalContainer","DropDownComponent","title","subTitle","portalId","buttonRef","evScrollDropdown","containerEl","getElementsByClassName","offsetPos","portalContainerRef","wrapperRef","evResetDropdown","containerRef","classList","remove","evToogleDropdown","currRefEl","buttonEl","closest","isCurOpen","contains","refScrollContainerEl","add","zIndex","portalContainerRefs","DropDownSubTitleEl","DropDownTitleEl","ControlChildrenFilter","DropDownControlEl","onMouseEnter","currentTop","dropdownWrapperEl","clientHeight","onMouseLeave","BodyChildrenFilter","DropDownBodyEl","ActionChildrenFilter","DropDownActionEl","__esModule","default","useCallback","IconWarningWhite","RightButtonStyles","AsideButtonStyles","Message","$isOpen","MessageOverlay","MessageContainer","$type","MessageWrapper","MessageContent","MessageComponent","timer","isOpen","setOpen","useStateWithCallbackLazy","isOpenContainer","setOpenContainer","isClosing","setClosing","evCloseMessage","CloseCallback","_timer","overlayEl","ElementType","Root","Text","Directive","Comment","Script","Style","Tag","CDATA","Doctype","Node","parent","prev","startIndex","endIndex","previousSibling","nextSibling","cloneNode","recursive","DataNode","super","nodeValue","nodeType","ProcessingInstruction","NodeWithChildren","firstChild","lastChild","childNodes","Document","attribs","tagName","attributes","isTag","elem","isText","isComment","cloneChildren","clone","isCDATA","isDocument","isDirective","instruction","sourceCodeLocation","childs","defaultOpts","withStartIndices","withEndIndices","xmlMode","DomHandler","elementCB","dom","root","tagStack","lastNode","parser","onparserinit","onreset","onend","handleCallback","onerror","onclosetag","pop","onopentag","addNode","ontext","oncomment","oncommentend","oncdatastart","oncdataend","onprocessinginstruction","matchAll","unshift","low","high","line","column","lineNumbers","regex","lastIndex","discard","flags","tokens","complete","sticky","str","token","onToken","onEnd","matched","mapInner","mapOuter","mapper","j","option","def","choice","ps","otherwise","pa","pb","r1","many","takeWhile","ab","ma","vb","va","abc","pc","mb","vc","middle","ra","rb","nl","nonascii","unicode","escape","nmchar","ident","string1","string2","lexSelector","createLexer","lexEscapedString","sumSpec","a0","a1","a2","b0","b1","b2","sumAllSpec","ss","reduce","unicodeEscapedSequence_","p.token","fromCodePoint","escapedSequence_","anyChar_","escapedString_","p.map","p.many","p.or","cs","unescape","escapedString","lexerResult","literal","whitespace_","optionalWhitespace_","p.option","optionallySpaced","p.middle","identifier_","hashId_","string_","startsWith","namespace_","qualifiedName_","p.eitherOr","p.ab","ns","uniSelector_","specificity","tagSelector_","classSelector_","fullstop","idSelector_","attrModifier_","attrValue_","p.right","mod","modifier","attrMatcher_","p.choice","attrPresenceSelector_","p.abc","lbr","attrValueSelector_","matcher","attrSelector_","typeSelector_","subclassSelector_","compoundSelector_","vs","flatMap","p.flatten","tail","list","combinatorSeparator_","complexSelector_","pLeft","pOper","pRight","v0","reduceLeft","acc","reducer","loop","acc1","pos","chainReduce","p.leftAssoc2","combinator","prettyPrintPosition","padEnd","repeat","parse1","parse_","serialize","_serNs","_serIdent","dq","bs","ctrl","_codePoint","char","codePointAt","d1","d2","hy","safe","other","sort","_compareArrays","_getSelectorPriority","compareSpecificity","shorter","DecisionTree","branches","weave","results","selectorString","ast","preprocess","parseley.parse1","terminal","valueContainer","toAstTerminalPairs","build","builder","reduceSelectorVariants","parseley.normalize","newList","sel","items","topKind","findTopKey","getSelectorKind","nonmatches","breakByKind","branchOfKind","terminate","item","rest","partition","cont","selectedKind","simpsels","kind","groups","spliceAndGroup","variants","tagNameBranch","matchers","oneSimpleSelector","predicate","getAttrPredicate","continuation","attrValueBranch","substring","spliceSimpleSelector","attrPresenceBranch","combinatorBranch","expected","actual","endsWith","lower","parseley.serialize","leftItems","rightCont","leftAst","keyCallback","bestKey","bestKeyPredicate","hasBestKeyPredicate","partition1","splicedNode","firstIndex","candidates","candidates1","topCounter","Picker","pickAll","pick1","preferFirst","comparator","comparatorPreferFirst","comparatorPreferLast","diff","hp2Builder","nodes","handleArray","handleNode","variant","handleTagName","callbacks","attr","attrName","cb","handleAttrValueName","handleAttrPresenceName","leftElementGetter","getPrecedingElement","getParentElement","handlePushElementNode","handlePopElementNode","htmlDecodeTree","Uint16Array","charCodeAt","xmlDecodeTree","decodeMap","codePoint","output","replaceCodePoint","CharCodes","BinTrieFlags","EntityDecoderState","DecodingMode","State","QuoteType","isNumber","code","ZERO","NINE","isEntityInAttributeInvalidEnd","EQUALS","UPPER_A","UPPER_Z","LOWER_A","LOWER_Z","isAsciiAlphaNumeric","EntityDecoder","decodeTree","emitCodePoint","errors","EntityStart","consumed","treeIndex","excess","decodeMode","Strict","startEntity","NUM","NumericStart","stateNumericStart","NamedEntity","stateNamedEntity","NumericDecimal","stateNumericDecimal","NumericHex","stateNumericHex","LOWER_X","addToNumericResult","start","end","base","digitCount","pow","startIdx","UPPER_F","LOWER_F","emitNumericEntity","lastCp","expectedLength","absenceOfDigitsInNumericCharacterReference","SEMI","missingSemicolonAfterCharacterReference","validateNumericCharacterReference","valueLength","VALUE_LENGTH","determineBranch","Attribute","emitNotTerminatedNamedEntity","emitNamedEntityData","getDecoder","ret","decoder","nodeIdx","branchCount","BRANCH_LENGTH","jumpOffset","JUMP_TABLE","lo","hi","mid","midVal","isWhitespace","Space","NewLine","Tab","FormFeed","CarriageReturn","isEndOfTagSection","Slash","Gt","Zero","Nine","Sequences","Cdata","Uint8Array","CdataEnd","CommentEnd","ScriptEnd","StyleEnd","TitleEnd","Tokenizer","decodeEntities","cbs","buffer","sectionStart","baseState","isSpecial","running","currentSequence","sequenceIndex","trieIndex","trieCurrent","entityResult","entityExcess","entityTrie","chunk","finish","pause","resume","getIndex","getSectionStart","stateText","Lt","fastForwardTo","BeforeTagName","Amp","BeforeEntity","stateSpecialStartSequence","isEnd","InTagName","stateInTagName","stateInSpecialTag","endOfText","actualIndex","stateInClosingTagName","stateCDATASequence","InCommentLike","InDeclaration","stateInDeclaration","stateInCommentLike","oncdata","isTagStartChar","LowerA","LowerZ","UpperA","UpperZ","isASCIIAlpha","startSpecial","sequence","SpecialStartSequence","stateBeforeTagName","ExclamationMark","BeforeDeclaration","Questionmark","InProcessingInstruction","BeforeSpecialS","BeforeClosingTagName","onopentagname","BeforeAttributeName","stateBeforeAttributeName","stateBeforeClosingTagName","InClosingTagName","InSpecialComment","AfterClosingTagName","stateAfterClosingTagName","onopentagend","InSpecialTag","InSelfClosingTag","InAttributeName","stateInSelfClosingTag","onselfclosingtag","stateInAttributeName","Eq","onattribname","AfterAttributeName","stateAfterAttributeName","BeforeAttributeValue","onattribend","NoValue","stateBeforeAttributeValue","DoubleQuote","InAttributeValueDq","SingleQuote","InAttributeValueSq","InAttributeValueNq","stateInAttributeValueNoQuotes","handleInAttributeValue","quote","onattribdata","Double","Single","stateInAttributeValueDoubleQuotes","stateInAttributeValueSingleQuotes","Unquoted","stateBeforeDeclaration","OpeningSquareBracket","CDATASequence","Dash","BeforeComment","ondeclaration","stateInProcessingInstruction","stateBeforeComment","stateInSpecialComment","stateBeforeSpecialS","stateBeforeEntity","BeforeNumericEntity","InNamedEntity","stateInNamedEntity","emitNamedEntity","masked","allowLegacyEntity","Semi","entityStart","emitPartial","stateBeforeNumericEntity","LowerX","InHexEntity","InNumericEntity","stateInNumericEntity","strict","stateInHexEntity","UpperF","LowerF","isHexDigit","cleanup","shouldContinue","handleTrailingData","cp","onattribentity","ontextentity","formTags","Set","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","Parser","_c","_d","_e","openTagStart","tagname","attribname","attribvalue","foreignContext","buffers","bufferOffset","writeIndex","ended","lowerCaseTagNames","lowerCaseTags","lowerCaseAttributeNames","tokenizer","getSlice","isVoidElement","emitOpenTag","impliesClose","endOpenTag","isImplied","_f","lastIndexOf","count","closeCurrentTag","recognizeSelfClosing","isOpenImplied","onattribute","getInstructionName","search","_g","_h","_j","_k","recognizeCDATA","parseComplete","shiftBuffer","shift","parseChunk","xmlReplacer","xmlCodeMap","getCodePoint","encodeXML","lastIdx","getEscaper","escapeAttribute","escapeText","elementNames","attributeNames","unencodedElements","replaceQuotes","singleTag","renderNode","ElementType.Root","ElementType.Doctype","ElementType.Directive","ElementType.Comment","renderComment","ElementType.CDATA","renderCdata","ElementType.Script","ElementType.Style","ElementType.Tag","foreignModeIntegrationPoints","foreignElements","encode","encodeEntities","emptyAttrs","formatAttributes","selfClosingTags","renderTag","ElementType.Text","renderText","isMergeableObject","isNonNullObject","stringValue","isReactElement","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getKeys","getEnumerableOwnPropertySymbols","propertyIsOnObject","property","_","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","cjs","limitedDepthRecursive","f1","args","trimCharacter","mergeDuplicatesPreferLast","getKey","merge","overwriteMerge$1","reverse","path","numberToLetterSequence","num","baseChar","digits","baseCode","I","numberToRoman","InlineTextBuilder","maxLineLength","lines","nextLineWords","wordwrap","MAX_VALUE","nextLineAvailableChars","wrapCharacters","forceWrapOnLimit","stashedSpace","wordBreakOpportunity","pushWord","word","noWrap","startNewLine","isLineStart","cost","first","splitLongWord","part","popWord","lastWord","concatWord","isEmpty","clear","words","parts","idx","firstLine","remainingChars","splitIndex","StackItem","getRoot","BlockStackItem","leadingLineBreaks","inlineTextBuilder","rawText","stashedLineBreaks","isPre","isNoWrap","ListStackItem","interRowLineBreaks","maxPrefixLength","prefixAlign","ListItemStackItem","TableStackItem","rows","TableRowStackItem","cells","TableCellStackItem","maxColumnWidth","TransformerStackItem","transform","WhitespaceProcessor","whitespaceChars","whitespaceCharacters","whitespaceCodes","padStart","leadingWhitespaceRe","trailingWhitespaceRe","allWhitespaceOrEmptyRe","newlineOrNonWhitespaceRe","newlineOrNonNewlineStringRe","preserveNewlines","wordOrNewlineRe","shrinkWrapAdd","previouslyStashedSpace","anyMatch","testLeadingWhitespace","testTrailingWhitespace","wordRe","addLiteral","testContainsWords","countNewlinesNoWords","counter","BlockTextBuilder","picker","whitespaceProcessor","_stackItem","_wordTransformer","pushWordTransform","wordTransform","popWordTransform","startNoWrap","stopNoWrap","_getCombinedWordTransformer","wt","applyTransformer","ce","encodeCharacters","_popStackItem","addLineBreak","addWordBreakOpportunity","addInline","noWordTransform","newlinesNumber","openBlock","reservedLineLength","closeBlock","trailingLineBreaks","blockTransform","block","blockText","getText","addText","openList","openListItem","prefixLength","closeListItem","listItem","spacing","closeList","openTable","openTableRow","openTableCell","closeTableCell","colspan","rowspan","cell","closeTableRow","row","closeTable","tableToString","stackItem","parentText","lineBreaks","transformer","compile$1","selectorsWithoutFormat","selectors","format","dict","replacer","cgs","findIndex","cg","makeReplacerFromDict","baseSelectorsPicker","baseElements","findBaseElements","recursiveWalk","walk","limits","maxChildNodes","pickedSelectorIndex","selectorIndex","maxBaseElements","limitedWalk","maxDepth","orderBy","returnDomByDefault","findBases","ellipsis","maxInputLength","handler","parseDocument","bases","tagDefinition","formatters","renderOpenTag","attrs","renderCloseTag","genericFormatters","formatOptions","blockHtml","blockString","blockTag","inline","inlineHtml","inlineString","inlineSurround","inlineTag","skip","getRow","matrix","findFirstVacantIndex","putCellIntoLayout","layout","baseRow","baseCol","layoutRow","getOrInitOffset","offsets","updateOffset","tableRows","rowSpacing","colSpacing","colNumber","rowNumber","rowOffsets","cellHeight","maxSize","rowI","rowJ","transposeInPlace","outputLines","colOffsets","rowsInThisColumn","rendered","cellWidth","lineOffset","withBrackets","brackets","pathRewrite","rewriter","baseUrl","modifiedPath","trimCharacterEnd","formatList","nextPrefixCallback","isNestedList","listItems","trimStart","formatDataTable","formatCell","cellNode","walkTable","formatHeaderCell","uppercaseHeaderCells","toUpperCase","childOfTr","textFormatters","anchor","ignoreHref","noAnchorUrl","getHref","hideLinkHrefIfSameAsText","linkBrackets","blockquote","trimEmptyLines","dataTable","heading","uppercase","horizontalLine","image","alt","lineBreak","orderedList","nextIndex","indexFunction","olType","getOrderedListIndexFunction","paragraph","pre","table","tables","classes","ids","splitClassesAndIds","attrClasses","attrIds","isDataTable","formatBlock","unorderedList","itemPrefix","wbr","DEFAULT_OPTIONS","longWordSplit","overwriteMerge","selectorsMerge","concatMerge","compile","tags","tagDefinitions","definition","valueKey","nested","baseElement","handleDeprecatedOptions","convert","MessageQuestionComponent","subtitle","buttonSubmit","cancelCallback","fontWeight","fontSize","htmlToText","popupWrapperStyles","PopupPanel","PopupOverlay","PopupContainer","PopupWrapper","$withHeader","PopupHeaderWrapper","PopupHeader","PopupFooter","h3","PopupBody","$height","$isLeft","PopupQuestionWrapper","timerHandle","PopupComponent","evTooglePopup","isOpenWrapper","setOpenWrapper","popupContainerRef","evOpen","popupContainerEl","scrollTop","initRef","init","newChildren","HeadChildrenFilter","SubHeadChildrenFilter","FootChildrenFilter","LeftFootChildrenFilter","SubHeadChildrenEl","popupHeaderQaId","_Fragment","PanelContainer","ListContainer","PanelWrapper","Title","h1","HeaderContainer","aside","TabsContainer","TabsContent","FoContainer","InfoGroup"],"mappings":"mOA0CO,SAASA,EAAOC,EAAGC,GACtB,IAAIC,EAAI,CAAA,EACR,IAAK,IAAIC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBACtB,KAAIC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,qGAoRkD,mBAApBW,iBAAiCA;;;;;;;;;+BC7T/D,eAAiBC,QAAQC,IAAIC,UAC3B,WACE,SAASC,EAAyBC,GAChC,GAAI,MAAQA,EAAM,OAAO,KACzB,GAAI,mBAAsBA,EACxB,OAAOA,EAAKC,WAAaC,EACrB,KACAF,EAAKG,aAAeH,EAAKI,MAAQ,KACvC,GAAI,iBAAoBJ,EAAM,OAAOA,EACrC,OAAQA,GACN,KAAKK,EACH,MAAO,WACT,KAAKC,EACH,MAAO,SACT,KAAKC,EACH,MAAO,WACT,KAAKC,EACH,MAAO,aACT,KAAKC,EACH,MAAO,WACT,KAAKC,EACH,MAAO,eAEX,GAAI,iBAAoBV,EACtB,OACG,iBAAoBA,EAAKW,KACxBC,QAAQC,MACN,qHAEJb,EAAKC,UAEL,KAAKa,EACH,OAAQd,EAAKG,aAAe,WAAa,YAC3C,KAAKY,EACH,OAAQf,EAAKgB,SAASb,aAAe,WAAa,YACpD,KAAKc,EACH,IAAIC,EAAYlB,EAAKmB,OAKrB,OAJAnB,EAAOA,EAAKG,eAGTH,EAAO,MADNA,EAAOkB,EAAUf,aAAee,EAAUd,MAAQ,IAC9B,cAAgBJ,EAAO,IAAM,cAC9CA,EACT,KAAKoB,EACH,OAEE,QADCF,EAAYlB,EAAKG,aAAe,MAE7Be,EACAnB,EAAyBC,EAAKA,OAAS,OAE/C,KAAKqB,EACHH,EAAYlB,EAAKsB,SACjBtB,EAAOA,EAAKuB,MACZ,IACE,OAAOxB,EAAyBC,EAAKkB,GACtC,CAAC,MAAOM,GAAG,EAElB,OAAO,IACb,CACI,SAASC,EAAmBC,GAC1B,MAAO,GAAKA,CAClB,CACI,SAASC,EAAuBD,GAC9B,IACED,EAAmBC,GACnB,IAAIE,GAA2B,CAChC,CAAC,MAAO7C,GACP6C,GAA2B,CACnC,CACM,GAAIA,EAA0B,CAE5B,IAAIC,GADJD,EAA2BhB,SAC0BC,MACjDiB,EACD,mBAAsBC,QACrBA,OAAOC,aACPN,EAAMK,OAAOC,cACfN,EAAMO,YAAY7B,MAClB,SAMF,OALAyB,EAAsBxC,KACpBuC,EACA,2GACAE,GAEKL,EAAmBC,EAClC,CACA,CACI,SAASQ,IAAc,CA+CvB,SAASC,EAA8B/B,GACrC,QAAIgC,IAAWC,EACb,IACE,MAAMC,OACP,CAAC,MAAOd,GACP,IAAIe,EAAQf,EAAEgB,MAAMC,OAAOF,MAAM,gBACjCF,EAAUE,GAASA,EAAM,IAAO,GAChCG,GACE,EAAKlB,EAAEgB,MAAMlD,QAAQ,YACjB,kBACA,EAAKkC,EAAEgB,MAAMlD,QAAQ,KACnB,eACA,EAClB,CACM,MAAO,KAAO+C,EAASjC,EAAOsC,CACpC,CACI,SAASC,EAA6BC,EAAIC,GACxC,IAAKD,GAAME,EAAS,MAAO,GAC3B,IAAIC,EAAQC,EAAoBC,IAAIL,GACpC,QAAIR,IAAWW,EAAO,OAAOA,EAC7BD,GAAU,EACVC,EAAQT,MAAMY,kBACdZ,MAAMY,uBAAoBd,EAC1B,IAAIe,EACJA,EAAqBC,EAAqBC,EAC1CD,EAAqBC,EAAI,KAvE3B,WACE,GAAI,IAAMC,EAAe,CACvBC,EAAU3C,QAAQ4C,IAClBC,EAAW7C,QAAQ8C,KACnBC,EAAW/C,QAAQgD,KACnBC,EAAYjD,QAAQC,MACpBiD,EAAYlD,QAAQmD,MACpBC,EAAqBpD,QAAQqD,eAC7BC,EAAetD,QAAQuD,SACvB,IAAIC,EAAQ,CACVC,cAAc,EACdC,YAAY,EACZ5C,MAAOQ,EACPqC,UAAU,GAEZrF,OAAOsF,iBAAiB5D,QAAS,CAC/B8C,KAAMU,EACNZ,IAAKY,EACLR,KAAMQ,EACNvD,MAAOuD,EACPL,MAAOK,EACPH,eAAgBG,EAChBD,SAAUC,GAEpB,CACMd,GACN,CA8CMmB,GACA,IACE,IAAIC,EAAiB,CACnBC,4BAA6B,WAC3B,IACE,GAAI9B,EAAW,CACb,IAAI+B,EAAO,WACT,MAAMtC,OACP,EAMD,GALApD,OAAO2F,eAAeD,EAAKzF,UAAW,QAAS,CAC7C2F,IAAK,WACH,MAAMxC,OAC1B,IAEoB,iBAAoByC,SAAWA,QAAQlC,UAAW,CACpD,IACEkC,QAAQlC,UAAU+B,EAAM,GACzB,CAAC,MAAOpD,GACP,IAAIwD,EAAUxD,CAClC,CACkBuD,QAAQlC,UAAUD,EAAI,GAAIgC,EAC5C,KAAuB,CACL,IACEA,EAAKvF,MACN,CAAC,MAAO4F,GACPD,EAAUC,CAC9B,CACkBrC,EAAGvD,KAAKuF,EAAKzF,UAC/B,CACA,KAAqB,CACL,IACE,MAAMmD,OACP,CAAC,MAAO4C,GACPF,EAAUE,CAC5B,EACiBN,EAAOhC,MACN,mBAAsBgC,EAAKO,OAC3BP,EAAKO,OAAM,cAC7B,CACa,CAAC,MAAOC,GACP,GAAIA,GAAUJ,GAAW,iBAAoBI,EAAO5C,MAClD,MAAO,CAAC4C,EAAO5C,MAAOwC,EAAQxC,MAC9C,CACY,MAAO,CAAC,KAAM,KAC1B,GAEQkC,EAAeC,4BAA4BxE,YACzC,8BACF,IAAIkF,EAAqBnG,OAAOoG,yBAC9BZ,EAAeC,4BACf,QAEFU,GACEA,EAAmBhB,cACnBnF,OAAO2F,eACLH,EAAeC,4BACf,OACA,CAAEjD,MAAO,gCAEb,IAAI6D,EACAb,EAAeC,8BACjBa,EAAcD,EAAsB,GACpCE,EAAeF,EAAsB,GACvC,GAAIC,GAAeC,EAAc,CAC/B,IAAIC,EAAcF,EAAYG,MAAM,MAClCC,EAAeH,EAAaE,MAAM,MACpC,IACEJ,EAAwBF,EAAqB,EAC7CA,EAAqBK,EAAYjG,SAChCiG,EAAYL,GAAoBQ,SAC/B,gCAIFR,IACF,KAEEE,EAAwBK,EAAanG,SACpCmG,EAAaL,GAAuBM,SACnC,gCAIFN,IACF,GACEF,IAAuBK,EAAYjG,QACnC8F,IAA0BK,EAAanG,OAEvC,IACE4F,EAAqBK,EAAYjG,OAAS,EACxC8F,EAAwBK,EAAanG,OAAS,EAChD,GAAK4F,GACL,GAAKE,GACLG,EAAYL,KACVO,EAAaL,IAGfA,IACJ,KAEE,GAAKF,GAAsB,GAAKE,EAChCF,IAAsBE,IAEtB,GACEG,EAAYL,KACZO,EAAaL,GACb,CACA,GAAI,IAAMF,GAAsB,IAAME,EACpC,MAEKF,IAED,IADAE,GAEEG,EAAYL,KACVO,EAAaL,GACjB,CACA,IAAIO,EACF,KACAJ,EAAYL,GAAoBU,QAC9B,WACA,QAOJ,OALAnD,EAAGzC,aACD2F,EAAOD,SAAS,iBACfC,EAASA,EAAOC,QAAQ,cAAenD,EAAGzC,cAC7C,mBAAsByC,GACpBI,EAAoB8B,IAAIlC,EAAIkD,GACvBA,CAC3B,QACuB,GAAKT,GAAsB,GAAKE,GAEzC,KACd,CACA,CACA,CAAgB,QACPzC,GAAU,EACRM,EAAqBC,EAAIF,EArLhC,WAEE,GAAI,KADJG,EACyB,CACvB,IAAIc,EAAQ,CAAEC,cAAc,EAAIC,YAAY,EAAIC,UAAU,GAC1DrF,OAAOsF,iBAAiB5D,QAAS,CAC/B4C,IAAKwC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAO6B,IAChCG,KAAMsC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAO+B,IACjCG,KAAMoC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOiC,IACjC9C,MAAOmF,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOmC,IAClCE,MAAOiC,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOoC,IAClCG,eAAgB+B,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOsC,IAC3CG,SAAU6B,EAAO,CAAE,EAAE5B,EAAO,CAAE1C,MAAOwC,KAE/C,CACM,EAAIZ,GACF1C,QAAQC,MACN,+EAEV,CAoKUoF,GACC3D,MAAMY,kBAAoBH,CACrC,CAKM,OAJA2C,GAAeA,EAAc9C,EAAKA,EAAGzC,aAAeyC,EAAGxC,KAAO,IAC1D+B,EAA8BuD,GAC9B,GACJ,mBAAsB9C,GAAMI,EAAoB8B,IAAIlC,EAAI8C,GACjDA,CACb,CACI,SAASQ,EAAqClG,GAC5C,GAAI,MAAQA,EAAM,MAAO,GACzB,GAAI,mBAAsBA,EAAM,CAC9B,IAAIb,EAAYa,EAAKb,UACrB,OAAOwD,EACL3C,KACGb,IAAcA,EAAUgH,kBAErC,CACM,GAAI,iBAAoBnG,EAAM,OAAOmC,EAA8BnC,GACnE,OAAQA,GACN,KAAKS,EACH,OAAO0B,EAA8B,YACvC,KAAKzB,EACH,OAAOyB,EAA8B,gBAEzC,GAAI,iBAAoBnC,EACtB,OAAQA,EAAKC,UACX,KAAKgB,EACH,OAAQjB,EAAO2C,EAA6B3C,EAAKmB,QAAQ,GAC3D,KAAKC,EACH,OAAO8E,EAAqClG,EAAKA,MACnD,KAAKqB,EACHlC,EAAYa,EAAKsB,SACjBtB,EAAOA,EAAKuB,MACZ,IACE,OAAO2E,EAAqClG,EAAKb,GAClD,CAAC,MAAOqC,GAAG,EAElB,MAAO,EACb,CACI,SAAS4E,IACP,IAAIC,EAAajD,EAAqBkD,EACtC,OAAO,OAASD,EAAa,KAAOA,EAAWD,UACrD,CAuBI,SAASG,IACP,IAAIC,EAAgBzG,EAAyB0G,KAAKzG,MAOlD,OANA0G,EAAuBF,KACnBE,EAAuBF,IAAiB,EAC1C5F,QAAQC,MACN,qJAGGuB,KADPoE,EAAgBC,KAAKrC,MAAMuC,KACOH,EAAgB,IACxD,CAgCI,SAASI,EACP5G,EACA6G,EACAC,EACAC,EACAC,EACAC,GAEA,GACE,iBAAoBjH,GACpB,mBAAsBA,GACtBA,IAASK,GACTL,IAASO,GACTP,IAASQ,GACTR,IAASS,GACTT,IAASU,GACTV,IAASkH,GACR,iBAAoBlH,GACnB,OAASA,IACRA,EAAKC,WAAaoB,GACjBrB,EAAKC,WAAamB,GAClBpB,EAAKC,WAAaa,GAClBd,EAAKC,WAAac,GAClBf,EAAKC,WAAagB,GAClBjB,EAAKC,WAAakH,QAClB/E,IAAWpC,EAAKoH,aACpB,CACA,IAAIC,EAAWR,EAAOQ,SACtB,QAAIjF,IAAWiF,EACb,GAAIN,EACF,GAAIO,EAAYD,GAAW,CACzB,IACEN,EAAmB,EACnBA,EAAmBM,EAAS5H,OAC5BsH,IAEAQ,EAAkBF,EAASN,GAAmB/G,GAChDd,OAAOsI,QAAUtI,OAAOsI,OAAOH,EAChC,MACCzG,QAAQC,MACN,6JAED0G,EAAkBF,EAAUrH,EAC3C,MACQqH,EAAW,SAETjF,IAAWpC,GACV,iBAAoBA,GACnB,OAASA,GACT,IAAMd,OAAOuI,KAAKzH,GAAMP,UAE1B4H,GACE,oIACJ,OAASrH,EACJ+G,EAAmB,OACpBO,EAAYtH,GACT+G,EAAmB,aACpB3E,IAAWpC,GAAQA,EAAKC,WAAayH,GACjCX,EACA,KACChH,EAAyBC,EAAKA,OAAS,WACxC,MACDqH,EACC,sEACDN,SAA0B/G,EACnCY,QAAQC,MACN,0IACAkG,EACAM,GAGJ,GAAIjI,EAAeC,KAAKwH,EAAQ,OAAQ,CACtCQ,EAAWtH,EAAyBC,GACpC,IAAIyH,EAAOvI,OAAOuI,KAAKZ,GAAQc,QAAO,SAAUC,GAC9C,MAAO,QAAUA,CAC3B,IACQb,EACE,EAAIU,EAAKhI,OACL,kBAAoBgI,EAAKI,KAAK,WAAa,SAC3C,iBACNC,EAAsBT,EAAWN,KAC7BU,EACA,EAAIA,EAAKhI,OAAS,IAAMgI,EAAKI,KAAK,WAAa,SAAW,KAC5DjH,QAAQC,MACN,kOACAkG,EACAM,EACAI,EACAJ,GAEDS,EAAsBT,EAAWN,IAAoB,EAChE,CAMM,GALAM,EAAW,UACXjF,IAAW0E,IACRnF,EAAuBmF,GAAYO,EAAW,GAAKP,GA7JxD,SAAqBD,GACnB,GAAIzH,EAAeC,KAAKwH,EAAQ,OAAQ,CACtC,IAAIkB,EAAS7I,OAAOoG,yBAAyBuB,EAAQ,OAAO5D,IAC5D,GAAI8E,GAAUA,EAAOC,eAAgB,OAAO,CACpD,CACM,YAAO5F,IAAWyE,EAAOoB,GAC/B,CAwJMC,CAAYrB,KACTlF,EAAuBkF,EAAOoB,KAAOZ,EAAW,GAAKR,EAAOoB,KAC3D,QAASpB,EAEX,IAAK,IAAIsB,KADTrB,EAAW,CAAE,EACQD,EACnB,QAAUsB,IAAarB,EAASqB,GAAYtB,EAAOsB,SAChDrB,EAAWD,EAQlB,OAPAQ,GA9JF,SAAoCjD,EAAOjE,GACzC,SAASiI,IACPC,IACIA,GAA6B,EAC/BzH,QAAQC,MACN,0OACAV,GAEZ,CACMiI,EAAsBJ,gBAAiB,EACvC9I,OAAO2F,eAAeT,EAAO,MAAO,CAClCnB,IAAKmF,EACL/D,cAAc,GAEtB,CAiJQiE,CACExB,EACA,mBAAsB9G,EAClBA,EAAKG,aAAeH,EAAKI,MAAQ,UACjCJ,GA1IV,SAAsBA,EAAMiI,EAAKhB,EAAMD,EAAQuB,EAAOnE,GA6BpD,OA5BA6C,EAAO7C,EAAMuC,IACb3G,EAAO,CACLC,SAAUyH,EACV1H,KAAMA,EACNiI,IAAKA,EACL7D,MAAOA,EACPoE,OAAQD,GAEV,aAAUnG,IAAW6E,EAAOA,EAAO,MAC/B/H,OAAO2F,eAAe7E,EAAM,MAAO,CACjCsE,YAAY,EACZrB,IAAKsD,IAEPrH,OAAO2F,eAAe7E,EAAM,MAAO,CAAEsE,YAAY,EAAI5C,MAAO,OAChE1B,EAAKyI,OAAS,CAAE,EAChBvJ,OAAO2F,eAAe7E,EAAKyI,OAAQ,YAAa,CAC9CpE,cAAc,EACdC,YAAY,EACZC,UAAU,EACV7C,MAAO,IAETxC,OAAO2F,eAAe7E,EAAM,aAAc,CACxCqE,cAAc,EACdC,YAAY,EACZC,UAAU,EACV7C,MAAO,OAETxC,OAAOsI,SAAWtI,OAAOsI,OAAOxH,EAAKoE,OAAQlF,OAAOsI,OAAOxH,IACpDA,CACb,CA8Ga0I,CAAa1I,EAAMqH,EAAUJ,EAAMD,EAAQZ,IAAYU,EACpE,CACI,SAASS,EAAkBoB,EAAMC,GAC/B,GACE,iBAAoBD,GACpBA,GACAA,EAAK1I,WAAa4I,EAElB,GAAIvB,EAAYqB,GACd,IAAK,IAAInJ,EAAI,EAAGA,EAAImJ,EAAKlJ,OAAQD,IAAK,CACpC,IAAIsJ,EAAQH,EAAKnJ,GACjBuJ,EAAeD,IAAUE,EAAoBF,EAAOF,EAChE,MACa,GAAIG,EAAeJ,GACtBA,EAAKF,SAAWE,EAAKF,OAAOQ,UAAY,QACrC,GACF,OAASN,GAAQ,iBAAoBA,EACjCnJ,EAAI,KAIJA,EAAI,mBAHHA,EACC0J,GAAyBP,EAAKO,IAC/BP,EAAK,eACwBnJ,EAAI,KACvC,mBAAsBA,GACpBA,IAAMmJ,EAAKQ,UACT3J,EAAIA,EAAEH,KAAKsJ,MAAcA,EAE7B,OAASA,EAAOnJ,EAAE4J,QAAQC,MACxBN,EAAeJ,EAAKjH,QAClBsH,EAAoBL,EAAKjH,MAAOkH,EAC9C,CACI,SAASG,EAAeO,GACtB,MACE,iBAAoBA,GACpB,OAASA,GACTA,EAAOrJ,WAAayH,CAE5B,CACI,SAASsB,EAAoBO,EAASX,GACpC,GACEW,EAAQd,SACPc,EAAQd,OAAOQ,WAChB,MAAQM,EAAQtB,MACdsB,EAAQd,OAAOQ,UAAY,EAC5BL,EA4BL,SAAsCA,GACpC,IAAIlF,EAAO,GACT6E,EAAQnC,IAQV,OAPAmC,IACGA,EAAQxI,EAAyBwI,EAAMvI,SACvC0D,EAAO,mCAAqC6E,EAAQ,MACvD7E,IACIkF,EAAa7I,EAAyB6I,MACrClF,EACC,8CAAgDkF,EAAa,MAC5DlF,CACb,CAvCsB8F,CAA6BZ,IAC1Ca,EAAsBb,IACvB,CACAa,EAAsBb,IAAc,EACpC,IAAIc,EAAa,GACjBH,GACE,MAAQA,EAAQf,QAChBe,EAAQf,SAAWpC,MACjBsD,EAAa,KACf,iBAAoBH,EAAQf,OAAO7H,IAC9B+I,EAAa3J,EAAyBwJ,EAAQf,OAAOxI,MACtD,iBAAoBuJ,EAAQf,OAAOpI,OAClCsJ,EAAaH,EAAQf,OAAOpI,MAChCsJ,EAAa,+BAAiCA,EAAa,KAC9D,IAAIC,EAAsBvG,EAAqBwG,gBAC/CxG,EAAqBwG,gBAAkB,WACrC,IAAIpH,EAAQ0D,EAAqCqD,EAAQvJ,MAEzD,OADA2J,IAAwBnH,GAASmH,KAAyB,IACnDnH,CACR,EACD5B,QAAQC,MACN,0HACA+H,EACAc,GAEFtG,EAAqBwG,gBAAkBD,CAC/C,CACA,CAaI,IAwBEpG,EACAE,EACAE,EACAE,EACAC,EACAE,EACAE,EA9BE2F,EAAQC,EACVpC,EAAqB3F,OAAOgI,IAAI,8BAChCzJ,EAAoByB,OAAOgI,IAAI,gBAC/B1J,EAAsB0B,OAAOgI,IAAI,kBACjCvJ,EAAyBuB,OAAOgI,IAAI,qBACpCxJ,EAAsBwB,OAAOgI,IAAI,kBAE/BhJ,EAAsBgB,OAAOgI,IAAI,kBACnCjJ,EAAqBiB,OAAOgI,IAAI,iBAChC9I,EAAyBc,OAAOgI,IAAI,qBACpCtJ,EAAsBsB,OAAOgI,IAAI,kBACjCrJ,EAA2BqB,OAAOgI,IAAI,uBACtC3I,EAAkBW,OAAOgI,IAAI,cAC7B1I,EAAkBU,OAAOgI,IAAI,cAC7B7C,EAAuBnF,OAAOgI,IAAI,mBAClCb,EAAwBnH,OAAOiI,SAC/B9J,EAA2B6B,OAAOgI,IAAI,0BACtC3G,EACEyG,EAAMI,gEACR7K,EAAiBF,OAAOC,UAAUC,eAClC4G,EAAS9G,OAAO8G,OAChBmB,EAA2BpF,OAAOgI,IAAI,0BACtCzC,EAAc4C,MAAMC,QACpB7G,EAAgB,EAQlBpB,EAAYkI,oBAAqB,EACjC,IAAI/H,EACFK,EAMA2F,EALAvF,GAAU,EACRE,EAAsB,IACxB,mBAAsBqH,QAAUA,QAAUC,KAExCzB,EAAyB9G,OAAOgI,IAAI,0BAEpCrD,EAAyB,CAAE,EAC3BoB,EAAwB,CAAE,EAC5B2B,EAAwB,CAAE,EAC5Bc,EAAAC,SAAmBnK,EACnBkK,EAAWE,IAAG,SAAUzK,EAAM6G,EAAQC,EAAUE,EAAQC,GACtD,OAAOL,EAAW5G,EAAM6G,EAAQC,GAAU,EAAIE,EAAQC,EACvD,EACDsD,EAAYG,KAAG,SAAU1K,EAAM6G,EAAQC,EAAUE,EAAQC,GACvD,OAAOL,EAAW5G,EAAM6G,EAAQC,GAAU,EAAIE,EAAQC,EACvD,CACF,CAnoBD,qBCV2B,eAAzBrH,QAAQC,IAAIC,SACd6K,EAAAC,qCCQF,IAAIlD,EAAqB3F,OAAOgI,IAAI,8BAClC1J,EAAsB0B,OAAOgI,IAAI,kBACnC,SAASc,EAAQ7K,EAAM6G,EAAQC,GAC7B,IAAImB,EAAM,KAGV,QAFA7F,IAAW0E,IAAamB,EAAM,GAAKnB,QACnC1E,IAAWyE,EAAOoB,MAAQA,EAAM,GAAKpB,EAAOoB,KACxC,QAASpB,EAEX,IAAK,IAAIsB,KADTrB,EAAW,CAAE,EACQD,EACnB,QAAUsB,IAAarB,EAASqB,GAAYtB,EAAOsB,SAChDrB,EAAWD,EAElB,OADAA,EAASC,EAASH,IACX,CACL1G,SAAUyH,EACV1H,KAAMA,EACNiI,IAAKA,EACLtB,SAAKvE,IAAWyE,EAASA,EAAS,KAClCzC,MAAO0C,EAEX,QACAgE,EAAAN,SAAmBnK,EACnByK,EAAAL,IAAcI,EACdC,EAAAJ,KAAeG,ID9BIf,GAEjBa,EAAAC,QAAiBG,gBEHnB,MAAMC,EAAeC,CAAI;;;;;;;EAkEZC,EAAgBC,EAAOC,IAA4C;;;;;;IAzDlD,EAAGC,SAAQC,eACvC,IAAIC,EAAQ,GAqDZ,MApDe,SAAXF,EACFE,GAAS,sCAGW,SAAXF,EACTE,GAAS,gDAGW,UAAXF,EACTE,GAAS,8BAGW,QAAXF,EACTE,GAAS,uCAGW,SAAXF,GAIW,aAAXA,EAHTE,GAAS,sCAOW,cAAXF,EACTE,GAAS,gCAGW,WAAXF,EACTE,GAAS,+BAGW,UAAXF,EACTE,GAAS,gCAGW,eAAXF,EACTE,GAAS,gCAGW,SAAXF,EACTE,GAAS,gCAGW,YAAXF,IACTE,GAAS,wCAIPD,IACFC,GAASP,GAEJO,CAAK;ECxDRC,EAAiBC,IAAA,IAAApE,SAAEA,EAAQgE,OAAEA,EAAMC,SAAEA,GAAS,GAAIG,EAAKrH,EAAtCvF,EAAA4M,EAAA,CAAA,WAAA,SAAA,aACrB,OACEC,EAAAA,IAACR,EAAahM,OAAA8G,OAAA,CAAAsF,WAAWA,SAAiCD,GAAYjH,EACnE,CAAAiD,SAAAA,IACa,ECXPsE,EAAYV,CAAG;;;;EAKfW,EAAgBX,CAAI;;EAGpBY,EAAUZ,CAAI;;;;;;;EAQda,EAAeb,CAAG;;;;;;;;;EAUlBc,EAAed,CAAG;;;;;;;;;EAUlBe,EAAUf,CAAG;;;;;EAMbgB,EAAWhB,CAAG;;;;;EAMdiB,EAAYjB,CAAG;;;;;EAMfkB,EAAYlB,CAAG;;;;;ECrDtBmB,EAAcnB,CAAG;;;;;;;;;EAUjBoB,EAAepB,CAAG;;;;;;;;;EAUlBqB,EAAerB,CAAG;;;;;;;;;;;;;;EAelBsB,EAAwB,EAAGC,OAAMlB,WAAUmB,aAAYC,UAASC,eACpE,IAAIpB,EAAQ,GAwGZ,MAvGa,UAATiB,EACFjB,GAASa,EACS,WAATI,EACTjB,GAASc,EACS,SAATG,EACTjB,GAAS,+GAMS,UAATiB,EACTjB,GAASe,EAAe,sOAaN,UAATE,EACTjB,GAASe,EAAe,gXAeN,WAATE,EACTjB,GAASe,EAAe,wNASN,SAATE,EACTjB,GAASe,EAAe,iKAON,UAATE,IACTjB,GAASe,EAAe,oKAQtBG,IACFlB,GAAS,gEAII,UAATiB,GAA6B,WAATA,IACtBjB,GAAS,iFAMTD,IACFC,GAAS,mKAOLO,WAGFY,IACFnB,GAAS,gDAIRoB,IACDpB,GAAS,mFAMJA,CAAK,EAGDqB,EAAsBzB,EAAO0B,CAAiG;IACvIN;EAESO,EAAkB3B,EAAOC,IAAoG;;IAEtImB;EClIEQ,EAAiBtB,QAAApE,SAAEA,EAAQmF,KAAEA,EAAIC,WAAEA,GAAW,EAAKO,KAAEA,EAAI1B,SAAEA,GAAS,EAAKoB,QAAEA,GAAQ,EAAKC,SAAEA,GAAS,GAAKlB,EAAKrH,EAA5FvF,EAAA4M,EAAA,CAAA,WAAA,OAAA,aAAA,OAAA,WAAA,UAAA,aACrB,MAAMwB,QAAEA,GAAY7I,EACpB,OACE4I,EACEtB,EAAAA,IAACkB,EAAmB1N,OAAA8G,OAAA,CAClBkH,UAAU,WACVV,KAAMA,EACMC,WAAAA,EACFnB,SAAAA,EACDoB,QAAAA,EACTC,SAAUA,EACVK,KAAMA,GACF5I,YAEHiD,KAGHqE,EAAAA,IAACoB,EACC5N,OAAA8G,OAAA,CAAAkH,UAAU,WACVV,KAAMA,EAAIC,WACEA,EACFnB,SAAAA,EACDoB,QAAAA,EACTC,SAAUA,EACVM,QAASA,GACL7I,EAEH,CAAAiD,SAAAA,IAEJ,EChDC8F,EAAelC,CAAG;;;;;;EA6DXmC,EAAiBjC,EAAOkC,KAAyJ;;;;;IAtD/J,EAAGC,QAAOC,SAAQC,YAAWC,aAAYC,WAAUlB,OAAMxM,WACtF,IAAIuL,EAAQ,GAkDZ,OAjDIiC,IACFjC,GAAS,uCAIPkC,IACFlC,GAAS,wCAIPmC,IACFnC,GAAS,kEAIPgC,IACFhC,GAAS,oBACGgC,0BACIA,aAGL,WAATf,IACFjB,GAAS,0PAQLiC,IACFjC,GAAS,4CAKA,gBAATiB,IACFjB,GAAS,qCAIP+B,IACF/B,GAAS,mBACE+B,cAGA,WAATtN,IACFuL,GAAS4B,GAEJ5B,CAAK;ECvCRoC,EAAkBlC,WAAAe,KAAEA,EAAIkB,SAAEA,EAAQF,UAAEA,EAASC,WAAEA,EAAUG,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,eAAEA,EAAcC,SAAEA,EAAQC,OAAEA,EAAMC,QAAEA,EAAOC,eAAEA,EAAcC,QAAEA,EAAOC,QAAEA,GAA2B5C,EAAfrH,EAAKvF,EAAA4M,EAA9J,qKACtB,MAAMzL,KAAEA,EAAII,KAAEA,EAAIkO,aAAEA,EAAYC,eAAEA,GAAmBnK,EAC/CoK,EAAiC,QAAxBC,EAAAH,aAAAlM,EAAAkM,EAAcI,kBAAUtM,IAAAqM,EAAAA,EAAI,IACpCE,EAAYC,GAAgBC,EAAiBL,IAC7CM,EAAcC,GAAkBF,EAAkBN,IAAgB,GAEzES,GAAU,WACR,GAAIlB,EAAe,CACjB,MAAMU,EAAiC,QAAxB/C,EAAA6C,aAAAlM,EAAAkM,EAAcI,kBAAUtM,IAAAqJ,EAAAA,EAAI,GAC3CmD,EAAaJ,GACbO,EAAeR,IAAgB,GAC/BR,GAAkBA,GAAe,GAE/BH,IACFgB,EAAa,IACbG,GAAe,GACflB,GAAYA,GAAS,MAEtB,CAACC,EAAeC,EAAgBH,EAAOC,EAAUS,EAAcC,EAAgBQ,EAAgBvC,IAElG,MAAMyC,EAAgBlQ,IACpB,MAAMyP,EAASzP,EAAEmQ,OAAOxN,MACxBkN,EAAaJ,EAAO,EA4BtB,IAAIW,EAAUjQ,OAAA8G,OAAA,CAAA,EAAO5B,UACd+K,EAAWb,oBACXa,EAAWZ,eAElB,MAAMa,EAAU1D,MAAC0B,EACClO,OAAA8G,OAAA,CAAAwG,KAAMA,EACIkB,SAAAA,EACCF,UAAAA,EACCC,WAAAA,EACZ4B,QAASP,EACTpN,MAAOiN,EACPW,SAAWvQ,IACTkQ,EAAalQ,GACbiP,GAAYA,EAASjP,EAAE,EAEzBwQ,OAASxQ,IACPkQ,EAAalQ,GAzBjB,CAACA,IAGf,GAFAkP,GAAUA,EAAOlP,GAChBmP,GAAWE,GAAYA,EAAQrP,GAC5BmP,GAAW9N,EAAM,CACnB,MAAMsB,EAAiB,WAAT1B,EAAoBwP,SAASzQ,EAAEmQ,OAAOxN,OAAS3C,EAAEmQ,OAAOxN,MAAMe,OAC5E0L,GAAkBA,EAAe/N,EAAMsB,KAqBvB+N,CAAQ1Q,EAAE,EAEZ2Q,QAAU3Q,IACRsP,GAAWA,EAAQtP,GA7CtB,CAACA,IACF,UAAVA,EAAEkJ,MACJlJ,EAAE4Q,iBACDzB,GAAWE,GAAYA,EAAQrP,KA2ChB6Q,CAAS7Q,EAAE,GAEA,WAARiB,GAAoB,CAAE6P,WAzCxB9Q,IACN,WAATiB,IACK8P,MAAMC,OAAOhR,EAAEkJ,YAA2B,IAAXlJ,EAAEkJ,KAAkC,KAAVlJ,EAAEkJ,MAChElJ,EAAE4Q,kBAGC,IAoCsB,WAAR3P,GAAoB,CAAEgQ,QAAUjR,IACnC,MACMyP,GADYzP,EAAEkR,eAAkBC,OAAeD,eAAeE,QAAQ,QACpDpK,QAAQ,UAAW,IAC3ChH,EAAE4Q,iBACFS,SAASC,YAAY,cAAc,EAAO7B,EAAO,GAEtC,WAARxO,GAAoB,CAAEsQ,QAAUvR,GAAoCA,EAAEmQ,OAAOqB,iBAAiB,SAAS,SAAUxR,GAAKA,EAAE4Q,gBAAgB,GAAI,CAAEa,SAAS,KAC/I,WAARxQ,GAAoB,CAAEyQ,IAAK,KAC5BtB,IAEtB,OAAOC,CAAO,ECvGVsB,EAA0BzF,CAAG;;;;;;EAO7B0F,EAAkB1F,CAAG;;;;;;;;EA6Cd2F,EAAqBzF,EAAOC,IAA4B;;;;;;;;;;;;;;;;;;;IAV7B,EAAGsC,eACzC,IAAInC,EAAQ,GAMZ,OALImC,IACFnC,GAAS,6CAIJA,CAAK;EAwBDsF,EAAoB1F,EAAO2F,KAAkE;;;;;;;;MAQpGJ;;;;;;;;;;;;;;IAjE4B,EAAGK,QAAOtD,aAAYd,eACtD,IAAIpB,EAAQ,GAMZ,GALIoB,IACFpB,GAAS,mCAKJ,WADCwF,EAEJxF,GAAU,iFAMVA,GAAS,kEASb,OAHIkC,IACFlC,GAASoF,GAEJpF,CAAK;EAyDgBJ,EAAOkC,KAAK;;;;;;;;IAQtCqD;ECxFJ,MAAMM,EAAqBvF,IAAA,IAAAwF,GAAEA,EAAE7Q,KAAEA,EAAIiH,SAAEA,EAAQ0J,MAAEA,EAAKG,UAAEA,EAASC,YAAEA,EAAWvD,MAAEA,EAAKC,SAAEA,EAAQC,cAAEA,EAAaC,eAAEA,EAAcC,SAAEA,EAAQN,SAAEA,EAAQD,WAAEA,GAAgDhC,EAAjCrH,EAAKvF,EAAA4M,EAA7I,mJACzB,MAAMkB,SAAEA,EAAQ4B,eAAEA,GAAmBnK,GAC9B0K,EAAcC,GAAkBF,EAAkBN,IAAgB,GACnE6C,EAAcC,EAAgC,MAEpDrC,GAAU,KACJlB,IACFiB,EAAeR,IAAgB,GAC/BR,GAAkBA,GAAe,IAE/BH,IACFmB,GAAe,GACflB,GAAYA,GAAS,MAEtB,CAACD,EAAOC,EAAUC,EAAeC,EAAgBQ,IAUpD,cAHcrP,OAAA8G,OAAA,CAAA,EAAO5B,GACHmK,eAGhB+C,EAAC5G,KAAAmG,SACQE,EAAKtD,WACAA,EACZ9G,IAAKyK,EACLG,QAASN,EACTtE,SAAUA,IAAY,EACrBtF,SAAA,CAAAA,EACDqE,EAACjB,IAAAkD,iBACCsD,GAAIA,EACJjR,KAAK,WACLqP,QAASP,EACT1O,KAAMA,EACN4N,SArBgBjP,IACpBgQ,EAAehQ,EAAEmQ,OAAOG,SACxBrB,GAAYA,EAASjP,EAAE,GAoBfoS,GAAe,CAAEjE,UAAWiE,GACd,KAAdD,GAAoB,CAAE,WAAYA,GAClC9M,IACNsH,EAAAA,IAACkF,0BACWlD,GACNtJ,EAAM,eAAiB,CAAE,aAAcA,EAAM,mBACjC,EC1DxB,MAAMoN,EAAavG,CAAG;;;EAqMTwG,EAAkBtG,EAAOuG,MAA4L;;;;;;;;;;;;;;;;;;;IAhMlM,EAAGC,QAAOC,oBAAmBC,WAAUC,aAAYrF,aAAYsF,QAAOpF,WAAUa,YAAWd,cACzH,IAAInB,EAAQ,GACZ,OAAKsG,GAGDnF,IACFnB,GAAS,gDAIPwG,IACY,WAAVA,EACFxG,GAAS,qFAKU,UAAVwG,EACTxG,GAAS,sFAKU,WAAVwG,IACTxG,GAAS,oCAKC,QAAVoG,EACFpG,GAAS,oKAMHyG,uEAKa,UAAVL,EACTpG,GAAS,4MAQU,SAAVoG,EACTpG,GAAS,4HAKHyG,uEAKa,SAAVL,EACTpG,GAAS,wFAKU,WAAVoG,EACTpG,GAAQ,mRAcW,WAAVoG,EACTpG,GAAS,uMAOHyG,gKASa,UAAVL,GACTpG,GAAQ,oHAMJkB,IACFlB,GAAS,mFAKQ,SAAVoG,EACTpG,GAAS,inBAOHiG,mBAGa,gBAAVG,EACTpG,GAAS,moCAKHiG,qBAGa,4BAAVG,EACTpG,GAAS,snCAKHiG,qBAGa,gBAAVG,IACTpG,GAAS,mOAQHyG,8FAOJrF,IACFpB,GAAS,4JAQPiC,IACFjC,GAAS,yBAEPqG,IACFrG,GAAS,wCAIPuG,IACFvG,GAAS,mDAIJA,GAhLE,eAgLG;;EAmCDyG,EAAyB7G,EAAO8G,GAAG;;;;;;;;;;;;IAjCA,EAAGC,YACjD,IAAI3G,EAAQ,GAOZ,OANI2G,GAAmB,YAAVA,IACX3G,GAAS,iBACC2G,qBACEA,YAGP3G,CAAK;ECtLR4G,EAAmB1G,IAAA,IAAApE,SAAEA,EAAQsK,MAAEA,EAAKC,kBAAEA,GAAkB,EAAKQ,sBAAEA,EAAsB,UAASP,SAAEA,GAAS,EAAInF,QAAEA,GAAQ,EAAKoF,WAAEA,GAAW,EAAKO,aAAEA,EAAY5F,WAAEA,GAAW,EAAKsF,MAAEA,EAAKvE,UAAEA,GAAS/B,EAAKrH,EAAKvF,EAAA4M,EAAvL,oJACvB,MAAMkB,SAAEA,GAAavI,EACfkO,EAAuBV,EACrBlG,EAACjB,IAAAuH,GAAuBE,MAAOE,EAAuB7E,OAAO,KAAKD,MAAM,KAAKiF,QAAQ,YAAwB,cAAA,OAAOC,UAAU,QAC5HnL,SAAAqE,EAAAA,IAAA,OAAA,CAAM+G,EAAE,4RAER,KACV,OACEnB,EAAC5G,KAAA+G,EACQvS,OAAA8G,OAAA,CAAA2L,MAAAA,sBACYC,aACTC,YACDnF,EACTC,SAAUA,GAAYmF,IAAc,EAAKA,aAC5BA,EACbnL,IAAK0L,eACO5F,QACLsF,EAAKvE,UACDA,GACPpJ,EACD,CAAAiD,SAAA,CAAAA,EACAiL,KACa,ECrChBI,EAAczH,CAAG;;;EAIjB0H,EAAc1H,CAAG;;;;;;;EA4CV2H,GAAczH,EAAOC,IAA4C;IAnC/C,EAAGuG,QAAOkB,gBACvC,IAAItH,EAAQ,GA+BZ,MA9Bc,UAAVoG,EACFpG,GAASmH,EACU,UAAVf,EACTpG,GAASoH,EACU,SAAVhB,IACTpG,GAAS,uLAUPsH,IACgB,SAAdA,EACFtH,GAAS,8FAKc,UAAdsH,IACTtH,GAAS,mGAONA,CAAK;ECtCRuH,GAAkBrH,QAAApE,SAAEA,EAAQsK,MAAEA,EAAKkB,UAAEA,KAAczO,EAAjCvF,EAAA4M,EAAA,CAAA,WAAA,QAAA,cAAqD,OAAAC,EAAAjB,IAACmI,GAAW1T,OAAA8G,OAAA,CAAA2L,MAAQA,EAAKkB,UAAaA,GAAezO,EAAK,CAAAiD,SAAGA,IAAuB,EC+EpJ0L,GAAmB5H,EAAO6H,GAA4D;;;;;;;;;;;;;;;;;;;;;;;;IAlFjE,EAAGrB,QAAOkB,YAAWxH,aACrD,IAAIE,EAAQ,GACZ,OAAQoG,GACN,IAAK,QACHpG,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAQ9C,MACF,IAAK,aACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,4LAS9C,MACF,IAAK,SACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAQ9C,MACF,IAAK,cACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,+LAS9C,MACF,IAAK,QACHE,GAAS,mCACiBF,GAAiB,yDACfA,GAAiB,0DAChBA,GAAiB,wKAkBlD,MANkB,SAAdwH,IACFtH,GAAS,yDAKJA,CAAK;EA6BD0H,GAAyB9H,EAAO6H,GAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgCjE,EAAG3H,aACH,GAAIA,EACF,OAAOJ,CAAG;;8BAEcI;;;EC3IxB6H,GAAoBzH,IAAA,IAAAkG,MAAEA,EAAKkB,UAAEA,EAASM,OAAEA,EAAM9H,OAAEA,EAAM+H,aAAEA,GAAkC3H,EAAjBrH,EAAKvF,EAAA4M,EAA1D,wDACxB,MAAM4H,EAAa,GAAGjP,EAAM8I,WAAa,MAAMkG,GAAgB,KAE/D,MAAkB,QAAXD,EACL7B,OAAC2B,kBAAuB/F,UAAWmG,EAAoBhI,OAAAA,GAAajH,EAAK,CAAAiD,SAAA,CACvEqE,EAAAA,cACAA,EAAAjB,IAAA,MAAA,CAAA,GACAiB,MAAW,MAAA,CAAA,OAEXA,EAACjB,IAAAsI,kBAAiB7F,UAAWmG,EAAmB1B,MAAAA,SAAetG,EAAMwH,UAAaA,GAAgBzO,GAAS,ECHjH,ICMAkP,GAAe,siCCDf,MAuKaC,GAAgBpI,EAAO3L,CAA8D;;;;;IAvKnE,EAAGmS,QAAO6B,QAAOC,SAAQxG,cACtD,IAAI1B,EAAQ,GACZ,OAAQiI,GACN,IAAK,SACHjI,GAAS,4/BAKT,MACF,IAAK,QACHA,GAAS,0lCAKT,MACF,IAAK,aACHA,GAAS,0lCAKT,MACF,IAAK,kBACHA,GAAS,inCAKT,MACF,IAAK,OACHA,GAAS,w9CAKT,MACF,IAAK,QACHA,GAAS,sdAKT,MACF,IAAK,WACHA,GAAS,2FAKT,MACF,IAAK,OACHA,GAAS,0tUAKT,MACF,IAAK,SACHA,GAAS,0zSAKT,MACF,IAAK,QACHA,GAAS,6oRAKT,MACF,IAAK,OACHA,GAAS,mkYAKT,MACF,IAAK,OACHA,GAAS,8vQAKT,MACF,IAAK,SACHA,GAAS,wuSAKT,MACF,IAAK,WACHA,GAAS,yzGAKT,MACF,IAAK,UACHA,GAAS,8rCAKT,MACF,IAAK,QACHA,GAAS,isTAKT,MACF,IAAK,QACHA,GAAS,0gSAKT,MACF,IAAK,UACHA,GAAS,iDAEU+H,2BAGnB,MACF,IAAK,UACH/H,GAAS,47JAkCb,OAzBIkI,IACFlI,GAAS,uCAEIkI,wBACCA,qBAIZxG,IACF1B,GAAS,kCAIG,WAAVoG,EACFpG,GAAS,oCAGU,aAAVoG,IACTpG,GAAS,sEAOJA,CAAK;EC/KRmI,GAAiBjI,IAAA,IAAAgI,OAAEA,EAAMD,MAAEA,EAAK7B,MAAEA,EAAK1E,QAAEA,EAAO6E,WAAEA,GAAW,GAAwBrG,EAAdrH,EAAKvF,EAAA4M,EAA3D,mDACrB,OAAOqG,EAAapG,MAACwH,GAAgB,CAAAvB,MAAO,QAAOkB,UAAW,SAAQM,OAAQ,MAAK9H,OAAQ,YAAeK,EAAAA,IAAC6H,GAAqBrU,OAAA8G,OAAA,CAAA2L,MAAAA,QAAc6B,EAAKC,OAAUA,EAAQxG,QAASA,GAAa7I,GAAS;;;;;;;;kCCVzK,eAAzBxE,QAAQC,IAAIC,SACd6T,GAAA/I,wCCMW,IAAIgJ,EAAE,mBAAoB7R,QAAQA,OAAOgI,IAAI8J,EAAED,EAAE7R,OAAOgI,IAAI,iBAAiB,MAAM0I,EAAEmB,EAAE7R,OAAOgI,IAAI,gBAAgB,MAAMhL,EAAE6U,EAAE7R,OAAOgI,IAAI,kBAAkB,MAAM+J,EAAEF,EAAE7R,OAAOgI,IAAI,qBAAqB,MAAMgK,EAAEH,EAAE7R,OAAOgI,IAAI,kBAAkB,MAAMiK,EAAEJ,EAAE7R,OAAOgI,IAAI,kBAAkB,MAAMnC,EAAEgM,EAAE7R,OAAOgI,IAAI,iBAAiB,MAAMkK,EAAEL,EAAE7R,OAAOgI,IAAI,oBAAoB,MAAMmK,EAAEN,EAAE7R,OAAOgI,IAAI,yBAAyB,MAAMoK,EAAEP,EAAE7R,OAAOgI,IAAI,qBAAqB,MAAM9K,EAAE2U,EAAE7R,OAAOgI,IAAI,kBAAkB,MAAMqK,EAAER,EACpf7R,OAAOgI,IAAI,uBAAuB,MAAMsK,EAAET,EAAE7R,OAAOgI,IAAI,cAAc,MAAM/K,EAAE4U,EAAE7R,OAAOgI,IAAI,cAAc,MAAMuK,EAAEV,EAAE7R,OAAOgI,IAAI,eAAe,MAAMwK,EAAEX,EAAE7R,OAAOgI,IAAI,qBAAqB,MAAMvI,EAAEoS,EAAE7R,OAAOgI,IAAI,mBAAmB,MAAMyK,EAAEZ,EAAE7R,OAAOgI,IAAI,eAAe,MAClQ,SAAS0K,EAAE5H,GAAG,GAAG,iBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI6H,EAAE7H,EAAE5M,SAAS,OAAOyU,GAAG,KAAKb,EAAE,OAAOhH,EAAEA,EAAE7M,MAAQ,KAAKiU,EAAE,KAAKC,EAAE,KAAKnV,EAAE,KAAKgV,EAAE,KAAKD,EAAE,KAAK7U,EAAE,OAAO4N,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE5M,UAAY,KAAK2H,EAAE,KAAKuM,EAAE,KAAKnV,EAAE,KAAKqV,EAAE,KAAKL,EAAE,OAAOnH,EAAE,QAAQ,OAAO6H,GAAG,KAAKjC,EAAE,OAAOiC,EAAE,CAAC,CAAC,SAASpO,EAAEuG,GAAG,OAAO4H,EAAE5H,KAAKqH,CAAC,QAACS,GAAiBC,UAACX,EAAEU,GAAAE,eAAuBX,EAAES,GAAuBG,gBAAClN,EAAE+M,mBAAwBX,EAAEW,GAAAI,QAAgBlB,EAAEc,GAAkBK,WAACb,EAAEQ,GAAAnK,SAAiBzL,EAAE4V,GAAYM,KAACjW,EAAE2V,QAAaN,EAAEM,GAAAO,OAAezC,EAChfkC,GAAAQ,SAAiBpB,EAAEY,GAAAS,WAAmBtB,EAAEa,GAAAU,SAAiBpW,EAAE0V,GAAAW,YAAoB,SAASzI,GAAG,OAAOvG,EAAEuG,IAAI4H,EAAE5H,KAAKoH,CAAC,EAAEU,GAAwBY,iBAACjP,EAAEqO,GAAyBa,kBAAC,SAAS3I,GAAG,OAAO4H,EAAE5H,KAAKjF,CAAC,EAAE+M,GAAyBc,kBAAC,SAAS5I,GAAG,OAAO4H,EAAE5H,KAAKmH,CAAC,EAAEW,GAAiBe,UAAC,SAAS7I,GAAG,MAAM,iBAAkBA,GAAG,OAAOA,GAAGA,EAAE5M,WAAW4T,CAAC,EAAEc,GAAoBgB,aAAC,SAAS9I,GAAG,OAAO4H,EAAE5H,KAAKsH,CAAC,EAAEQ,GAAkBiB,WAAC,SAAS/I,GAAG,OAAO4H,EAAE5H,KAAK9N,CAAC,EAAE4V,GAAckB,OAAC,SAAShJ,GAAG,OAAO4H,EAAE5H,KAAK7N,CAAC,EAC1d2V,GAAAmB,OAAe,SAASjJ,GAAG,OAAO4H,EAAE5H,KAAKwH,CAAC,EAAEM,YAAiB,SAAS9H,GAAG,OAAO4H,EAAE5H,KAAK4F,CAAC,EAAEkC,GAAkBoB,WAAC,SAASlJ,GAAG,OAAO4H,EAAE5H,KAAKkH,CAAC,EAAEY,GAAAqB,aAAqB,SAASnJ,GAAG,OAAO4H,EAAE5H,KAAKiH,CAAC,EAAEa,GAAkBsB,WAAC,SAASpJ,GAAG,OAAO4H,EAAE5H,KAAK5N,CAAC,EAChN0V,GAAAuB,mBAAC,SAASrJ,GAAG,MAAM,iBAAkBA,GAAG,mBAAoBA,GAAGA,IAAI9N,GAAG8N,IAAIqH,GAAGrH,IAAIkH,GAAGlH,IAAIiH,GAAGjH,IAAI5N,GAAG4N,IAAIuH,GAAG,iBAAkBvH,GAAG,OAAOA,IAAIA,EAAE5M,WAAWjB,GAAG6N,EAAE5M,WAAWoU,GAAGxH,EAAE5M,WAAW+T,GAAGnH,EAAE5M,WAAW2H,GAAGiF,EAAE5M,WAAWkU,GAAGtH,EAAE5M,WAAWsU,GAAG1H,EAAE5M,WAAWuB,GAAGqL,EAAE5M,WAAWuU,GAAG3H,EAAE5M,WAAWqU,EAAE,EAAEK,GAAcwB,OAAC1B,KDXhT3K,GAEjB6J,GAAA/I,mBEQ2B,eAAzBhL,QAAQC,IAAIC,UACd,WAKF,IAAIsW,EAA8B,mBAAXrU,QAAyBA,OAAOgI,IACnDrC,EAAqB0O,EAAYrU,OAAOgI,IAAI,iBAAmB,MAC/DzJ,EAAoB8V,EAAYrU,OAAOgI,IAAI,gBAAkB,MAC7D1J,EAAsB+V,EAAYrU,OAAOgI,IAAI,kBAAoB,MACjEvJ,EAAyB4V,EAAYrU,OAAOgI,IAAI,qBAAuB,MACvExJ,EAAsB6V,EAAYrU,OAAOgI,IAAI,kBAAoB,MACjEsM,EAAsBD,EAAYrU,OAAOgI,IAAI,kBAAoB,MACjEjJ,EAAqBsV,EAAYrU,OAAOgI,IAAI,iBAAmB,MAG/DuM,EAAwBF,EAAYrU,OAAOgI,IAAI,oBAAsB,MACrEwM,EAA6BH,EAAYrU,OAAOgI,IAAI,yBAA2B,MAC/E9I,EAAyBmV,EAAYrU,OAAOgI,IAAI,qBAAuB,MACvEtJ,EAAsB2V,EAAYrU,OAAOgI,IAAI,kBAAoB,MACjErJ,EAA2B0V,EAAYrU,OAAOgI,IAAI,uBAAyB,MAC3E3I,EAAkBgV,EAAYrU,OAAOgI,IAAI,cAAgB,MACzD1I,EAAkB+U,EAAYrU,OAAOgI,IAAI,cAAgB,MACzDyM,EAAmBJ,EAAYrU,OAAOgI,IAAI,eAAiB,MAC3D0M,EAAyBL,EAAYrU,OAAOgI,IAAI,qBAAuB,MACvE2M,EAAuBN,EAAYrU,OAAOgI,IAAI,mBAAqB,MACnE4M,EAAmBP,EAAYrU,OAAOgI,IAAI,eAAiB,MAO/D,SAASoM,EAAO7M,GACd,GAAsB,iBAAXA,GAAkC,OAAXA,EAAiB,CACjD,IAAIrJ,EAAWqJ,EAAOrJ,SAEtB,OAAQA,GACN,KAAKyH,EACH,IAAI1H,EAAOsJ,EAAOtJ,KAElB,OAAQA,GACN,KAAKsW,EACL,KAAKC,EACL,KAAKlW,EACL,KAAKE,EACL,KAAKC,EACL,KAAKC,EACH,OAAOT,EAET,QACE,IAAI4W,EAAe5W,GAAQA,EAAKC,SAEhC,OAAQ2W,GACN,KAAK9V,EACL,KAAKG,EACL,KAAKI,EACL,KAAKD,EACL,KAAKiV,EACH,OAAOO,EAET,QACE,OAAO3W,GAKjB,KAAKK,EACH,OAAOL,EAEf,CAGC,CAED,IAAI2U,EAAY0B,EACZzB,EAAiB0B,EACjBzB,EAAkBhU,EAClB+V,EAAkBR,EAClBtB,EAAUrN,EACVsN,EAAa/T,EACbuJ,EAAWnK,EACX4U,EAAO5T,EACPyV,EAAO1V,EACP8T,EAAS5U,EACT6U,EAAW5U,EACX6U,EAAa5U,EACb6U,EAAW5U,EACXsW,GAAsC,EAa1C,SAASxB,EAAiBjM,GACxB,OAAO6M,EAAO7M,KAAYiN,CAC5B,CAmCAS,GAAApC,UAAoBA,EACpBoC,GAAAnC,eAAyBA,EACzBmC,GAAAlC,gBAA0BA,EAC1BkC,GAAAH,gBAA0BA,EAC1BG,GAAAjC,QAAkBA,EAClBiC,GAAAhC,WAAqBA,EACrBgC,GAAAxM,SAAmBA,EACnBwM,GAAA/B,KAAeA,EACf+B,GAAAF,KAAeA,EACfE,GAAA9B,OAAiBA,EACjB8B,GAAA7B,SAAmBA,EACnB6B,GAAA5B,WAAqBA,EACrB4B,GAAA3B,SAAmBA,EACnB2B,GAAA1B,YA7DA,SAAqBhM,GASnB,OAPOyN,IACHA,GAAsC,EAEtCnW,QAAc,KAAE,kLAIb2U,EAAiBjM,IAAW6M,EAAO7M,KAAYgN,CACxD,EAoDAU,GAAAzB,iBAA2BA,EAC3ByB,GAAAxB,kBAjDA,SAA2BlM,GACzB,OAAO6M,EAAO7M,KAAYxI,CAC5B,EAgDAkW,GAAAvB,kBA/CA,SAA2BnM,GACzB,OAAO6M,EAAO7M,KAAY+M,CAC5B,EA8CAW,GAAAtB,UA7CA,SAAmBpM,GACjB,MAAyB,iBAAXA,GAAkC,OAAXA,GAAmBA,EAAOrJ,WAAayH,CAC9E,EA4CAsP,GAAArB,aA3CA,SAAsBrM,GACpB,OAAO6M,EAAO7M,KAAYrI,CAC5B,EA0CA+V,GAAApB,WAzCA,SAAoBtM,GAClB,OAAO6M,EAAO7M,KAAYjJ,CAC5B,EAwCA2W,GAAAnB,OAvCA,SAAgBvM,GACd,OAAO6M,EAAO7M,KAAYjI,CAC5B,EAsCA2V,GAAAlB,OArCA,SAAgBxM,GACd,OAAO6M,EAAO7M,KAAYlI,CAC5B,EAoCA4V,GAAAC,SAnCA,SAAkB3N,GAChB,OAAO6M,EAAO7M,KAAYhJ,CAC5B,EAkCA0W,GAAAjB,WAjCA,SAAoBzM,GAClB,OAAO6M,EAAO7M,KAAY/I,CAC5B,EAgCAyW,GAAAhB,aA/BA,SAAsB1M,GACpB,OAAO6M,EAAO7M,KAAY9I,CAC5B,EA8BAwW,GAAAf,WA7BA,SAAoB3M,GAClB,OAAO6M,EAAO7M,KAAY7I,CAC5B,EA4BAuW,GAAAd,mBAxIA,SAA4BlW,GAC1B,MAAuB,iBAATA,GAAqC,mBAATA,GAC1CA,IAASK,GAAuBL,IAASuW,GAA8BvW,IAASO,GAAuBP,IAASQ,GAA0BR,IAASS,GAAuBT,IAASU,GAA4C,iBAATV,GAA8B,OAATA,IAAkBA,EAAKC,WAAaoB,GAAmBrB,EAAKC,WAAamB,GAAmBpB,EAAKC,WAAaoW,GAAuBrW,EAAKC,WAAaa,GAAsBd,EAAKC,WAAagB,GAA0BjB,EAAKC,WAAawW,GAA0BzW,EAAKC,WAAayW,GAAwB1W,EAAKC,WAAa0W,GAAoB3W,EAAKC,WAAauW,EACplB,EAsIAQ,GAAAb,OAAiBA,CACd,CArKD;;;;;qCCNF,IAAI5W,EAAwBL,OAAOK,sBAC/BH,EAAiBF,OAAOC,UAAUC,eAClC8X,EAAmBhY,OAAOC,UAAUO,4BAsDxCyX,GA5CA,WACC,IACC,IAAKjY,OAAO8G,OACX,OAAO,EAMR,IAAIoR,EAAQ,IAAIC,OAAO,OAEvB,GADAD,EAAM,GAAK,KACkC,MAAzClY,OAAOoY,oBAAoBF,GAAO,GACrC,OAAO,EAKR,IADA,IAAIG,EAAQ,CAAE,EACL/X,EAAI,EAAGA,EAAI,GAAIA,IACvB+X,EAAM,IAAMF,OAAOG,aAAahY,IAAMA,EAEvC,IAAIiY,EAASvY,OAAOoY,oBAAoBC,GAAOG,KAAI,SAAUvD,GAC5D,OAAOoD,EAAMpD,EAChB,IACE,GAAwB,eAApBsD,EAAO5P,KAAK,IACf,OAAO,EAIR,IAAI8P,EAAQ,CAAE,EAId,MAHA,uBAAuBhS,MAAM,IAAIiS,SAAQ,SAAUC,GAClDF,EAAME,GAAUA,CACnB,IAEI,yBADE3Y,OAAOuI,KAAKvI,OAAO8G,OAAO,CAAE,EAAE2R,IAAQ9P,KAAK,GAM/C,CAAC,MAAOiQ,GAER,OAAO,CACT,CACA,CAEiBC,GAAoB7Y,OAAO8G,OAAS,SAAUkJ,EAAQlI,GAKtE,IAJA,IAAIgR,EAEAC,EADAC,EAtDL,SAAkBC,GACjB,GAAIA,QACH,MAAM,IAAIC,UAAU,yDAGrB,OAAOlZ,OAAOiZ,EACf,CAgDUE,CAASnJ,GAGTpQ,EAAI,EAAGA,EAAIwZ,UAAU7Y,OAAQX,IAAK,CAG1C,IAAK,IAAImJ,KAFT+P,EAAO9Y,OAAOoZ,UAAUxZ,IAGnBM,EAAeC,KAAK2Y,EAAM/P,KAC7BiQ,EAAGjQ,GAAO+P,EAAK/P,IAIjB,GAAI1I,EAAuB,CAC1B0Y,EAAU1Y,EAAsByY,GAChC,IAAK,IAAIxY,EAAI,EAAGA,EAAIyY,EAAQxY,OAAQD,IAC/B0X,EAAiB7X,KAAK2Y,EAAMC,EAAQzY,MACvC0Y,EAAGD,EAAQzY,IAAMwY,EAAKC,EAAQzY,IAGnC,CACA,CAEC,OAAO0Y,CACP,+CC9EDK,GAF2B,gFCT3BC,GAAiBC,SAASpZ,KAAKqZ,KAAKxZ,OAAOC,UAAUC,oDCSrD,IAAIuZ,EAAe,WAAa,EAEhC,GAA6B,eAAzB/Y,QAAQC,IAAIC,SAA2B,CACzC,IAAI8Y,EAA4D9O,KAC5D+O,EAAqB,CAAE,EACvBL,EAA0BzN,KAE9B4N,EAAe,SAASG,GACtB,IAAIC,EAAU,YAAcD,EACL,oBAAZlY,SACTA,QAAQC,MAAMkY,GAEhB,IAIE,MAAM,IAAIzW,MAAMyW,EACjB,CAAC,MAAOvX,GAAG,CACb,CACH,CAaA,SAASwX,EAAeC,EAAWC,EAAQC,EAAU3S,EAAe4S,GAClE,GAA6B,eAAzBxZ,QAAQC,IAAIC,SACd,IAAK,IAAIuZ,KAAgBJ,EACvB,GAAIT,EAAIS,EAAWI,GAAe,CAChC,IAAIxY,EAIJ,IAGE,GAAuC,mBAA5BoY,EAAUI,GAA8B,CACjD,IAAIvB,EAAMxV,OACPkE,GAAiB,eAAiB,KAAO2S,EAAW,UAAYE,EAAjE,oGACwFJ,EAAUI,GADlG,mGAKF,MADAvB,EAAI1X,KAAO,sBACL0X,CAClB,CACUjX,EAAQoY,EAAUI,GAAcH,EAAQG,EAAc7S,EAAe2S,EAAU,KAAMP,EACtF,CAAC,MAAOU,GACPzY,EAAQyY,CAClB,CAWQ,IAVIzY,GAAWA,aAAiByB,OAC9BqW,GACGnS,GAAiB,eAAiB,2BACnC2S,EAAW,KAAOE,EADlB,kGAEqExY,EAFrE,kKAQAA,aAAiByB,SAAWzB,EAAMkY,WAAWF,GAAqB,CAGpEA,EAAmBhY,EAAMkY,UAAW,EAEpC,IAAIvW,EAAQ4W,EAAWA,IAAa,GAEpCT,EACE,UAAYQ,EAAW,UAAYtY,EAAMkY,SAAoB,MAATvW,EAAgBA,EAAQ,IAExF,CACA,CAGA,QAOAwW,EAAeO,kBAAoB,WACJ,eAAzB3Z,QAAQC,IAAIC,WACd+Y,EAAqB,CAAE,EAE3B,EAEAW,GAAiBR,qCC7FjB,IAAIS,EAAU3P,KACV9D,EAAS+E,KAET6N,EAA4Dc,KAC5DlB,EAA0BmB,KAC1BX,EAA4CY,KAE5CjB,EAAe,WAAa,EAiBhC,SAASkB,IACP,OAAO,IACT,OAjB6B,eAAzBja,QAAQC,IAAIC,WACd6Y,EAAe,SAASG,GACtB,IAAIC,EAAU,YAAcD,EACL,oBAAZlY,SACTA,QAAQC,MAAMkY,GAEhB,IAIE,MAAM,IAAIzW,MAAMyW,EACjB,CAAC,MAAOvX,GAAG,CACb,GAOHsY,GAAiB,SAAS/Q,EAAgBgR,GAExC,IAAIC,EAAoC,mBAAXjY,QAAyBA,OAAOiI,SAuE7D,IAAIiQ,EAAY,gBAIZC,EAAiB,CACnBC,MAAOC,EAA2B,SAClCC,OAAQD,EAA2B,UACnCE,KAAMF,EAA2B,WACjCG,KAAMH,EAA2B,YACjCI,OAAQJ,EAA2B,UACnC9Q,OAAQ8Q,EAA2B,UACnCK,OAAQL,EAA2B,UACnCM,OAAQN,EAA2B,UAEnCO,IA6HOC,EAA2Bf,GA5HlCgB,QA+HF,SAAkCC,GAkBhC,OAAOF,GAjBP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,GAA2B,mBAAhBD,EACT,OAAO,IAAIE,EAAc,aAAeD,EAAe,mBAAqBvU,EAAgB,mDAE9F,IAAIyU,EAAY7W,EAAM+D,GACtB,IAAK+B,MAAMC,QAAQ8Q,GAEjB,OAAO,IAAID,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,cADVG,EAAYD,GAC6E,kBAAoBzU,EAAgB,yBAE9I,IAAK,IAAIhH,EAAI,EAAGA,EAAIyb,EAAUxb,OAAQD,IAAK,CACzC,IAAIqB,EAAQia,EAAYG,EAAWzb,EAAGgH,EAAe2S,EAAU4B,EAAe,IAAMvb,EAAI,IAAKoZ,GAC7F,GAAI/X,aAAiByB,MACnB,OAAOzB,CAEjB,CACM,OAAO,IACb,GAEA,EAjJI0I,QA4JOqR,GARP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,IAAIE,EAAY7W,EAAM+D,GACtB,OAAKY,EAAekS,GAIb,KAFE,IAAID,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,cADVG,EAAYD,GAC6E,kBAAoBzU,EAAgB,qCAGpJ,IA1JI2U,YAuKOP,GARP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,IAAIE,EAAY7W,EAAM+D,GACtB,OAAKsR,EAAQvD,mBAAmB+E,GAIzB,KAFE,IAAID,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,cADVG,EAAYD,GAC6E,kBAAoBzU,EAAgB,0CAGpJ,IArKI4U,WAyKF,SAAmCC,GASjC,OAAOT,GARP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,KAAM3W,EAAM+D,aAAqBkT,GAAgB,CAC/C,IAAIC,EAAoBD,EAAcjb,MAAQ6Z,EAE9C,OAAO,IAAIe,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,iBAuSTE,EAxSmB7W,EAAM+D,IAyS9BlG,aAAgBgZ,EAAUhZ,YAAY7B,KAG9C6a,EAAUhZ,YAAY7B,KAFpB6Z,GAzS0G,mBAAoBzT,EAA1G,4BAA+J8U,EAAoB,KACpN,CAsSE,IAAsBL,EArSlB,OAAO,IACb,GAEA,EAlLItS,KAwROiS,GANP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,OAAKQ,EAAOnX,EAAM+D,IAGX,KAFE,IAAI6S,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,kBAAwEvU,EAAgB,2BAGzH,IAtRIgV,SAsNF,SAAmCV,GAoBjC,OAAOF,GAnBP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,GAA2B,mBAAhBD,EACT,OAAO,IAAIE,EAAc,aAAeD,EAAe,mBAAqBvU,EAAgB,oDAE9F,IAAIyU,EAAY7W,EAAM+D,GAClBsT,EAAWP,EAAYD,GAC3B,GAAiB,WAAbQ,EACF,OAAO,IAAIT,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,cAAoEU,EAAW,kBAAoBjV,EAAgB,0BAE9I,IAAK,IAAIyB,KAAOgT,EACd,GAAIzC,EAAIyC,EAAWhT,GAAM,CACvB,IAAIpH,EAAQia,EAAYG,EAAWhT,EAAKzB,EAAe2S,EAAU4B,EAAe,IAAM9S,EAAK2Q,GAC3F,GAAI/X,aAAiByB,MACnB,OAAOzB,CAEnB,CAEM,OAAO,IACb,GAEA,EA1OI6a,MAkLF,SAA+BC,GAC7B,IAAKzR,MAAMC,QAAQwR,GAWjB,MAV6B,eAAzB/b,QAAQC,IAAIC,UAEZ6Y,EADEL,UAAU7Y,OAAS,EAEnB,+DAAiE6Y,UAAU7Y,OAA3E,uFAIW,0DAGVoa,EAoBT,OAAOe,GAjBP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAE1D,IADA,IAAIE,EAAY7W,EAAM+D,GACb3I,EAAI,EAAGA,EAAImc,EAAelc,OAAQD,IACzC,GAAIoc,EAAGX,EAAWU,EAAenc,IAC/B,OAAO,KAIX,IAAIqc,EAAeC,KAAKC,UAAUJ,GAAgB,SAAkB1T,EAAKvG,GAEvE,MAAa,WADFsa,EAAeta,GAEjB2V,OAAO3V,GAETA,CACf,IACM,OAAO,IAAIsZ,EAAc,WAAa7B,EAAW,KAAO4B,EAAe,eAAiB1D,OAAO4D,GAAtE,kBAA6GzU,EAAgB,sBAAwBqV,EAAe,IACnM,GAEA,EAlNII,UA2OF,SAAgCC,GAC9B,IAAKhS,MAAMC,QAAQ+R,GAEjB,MADyB,eAAzBtc,QAAQC,IAAIC,UAA4B6Y,EAAa,0EAC9CkB,EAGT,IAAK,IAAIra,EAAI,EAAGA,EAAI0c,EAAoBzc,OAAQD,IAAK,CACnD,IAAI2c,EAAUD,EAAoB1c,GAClC,GAAuB,mBAAZ2c,EAKT,OAJAxD,EACE,8FACcyD,EAAyBD,GAAW,aAAe3c,EAAI,KAEhEqa,CAEf,CAiBI,OAAOe,GAfP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAE1D,IADA,IAAIsB,EAAgB,GACX7c,EAAI,EAAGA,EAAI0c,EAAoBzc,OAAQD,IAAK,CACnD,IACI8c,GAAgBH,EADND,EAAoB1c,IACN4E,EAAO+D,EAAU3B,EAAe2S,EAAU4B,EAAcnC,GACpF,GAAqB,MAAjB0D,EACF,OAAO,KAELA,EAAcC,MAAQ/D,EAAI8D,EAAcC,KAAM,iBAChDF,EAAcG,KAAKF,EAAcC,KAAKE,aAEhD,CAEM,OAAO,IAAIzB,EAAc,WAAa7B,EAAW,KAAO4B,EAA/B,kBAAwEvU,EAAgB,KADrF6V,EAAc5c,OAAS,EAAK,2BAA6B4c,EAAcxU,KAAK,MAAQ,IAAK,IACyB,IACpJ,GAEA,EA3QI6U,MA8RF,SAAgCC,GAmB9B,OAAO/B,GAlBP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,IAAIE,EAAY7W,EAAM+D,GAClBsT,EAAWP,EAAYD,GAC3B,GAAiB,WAAbQ,EACF,OAAO,IAAIT,EAAc,WAAa7B,EAAW,KAAO4B,EAAe,cAAgBU,EAA9D,kBAAmGjV,EAAgB,yBAE9I,IAAK,IAAIyB,KAAO0U,EAAY,CAC1B,IAAIR,EAAUQ,EAAW1U,GACzB,GAAuB,mBAAZkU,EACT,OAAOS,EAAsBpW,EAAe2S,EAAU4B,EAAc9S,EAAK+T,EAAeG,IAE1F,IAAItb,EAAQsb,EAAQlB,EAAWhT,EAAKzB,EAAe2S,EAAU4B,EAAe,IAAM9S,EAAK2Q,GACvF,GAAI/X,EACF,OAAOA,CAEjB,CACM,OAAO,IACb,GAEA,EAjTIgc,MAmTF,SAAsCF,GA6BpC,OAAO/B,GA5BP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,GAC1D,IAAIE,EAAY7W,EAAM+D,GAClBsT,EAAWP,EAAYD,GAC3B,GAAiB,WAAbQ,EACF,OAAO,IAAIT,EAAc,WAAa7B,EAAW,KAAO4B,EAAe,cAAgBU,EAA9D,kBAAmGjV,EAAgB,yBAG9I,IAAIsW,EAAU9W,EAAO,CAAA,EAAI5B,EAAM+D,GAAWwU,GAC1C,IAAK,IAAI1U,KAAO6U,EAAS,CACvB,IAAIX,EAAUQ,EAAW1U,GACzB,GAAIuQ,EAAImE,EAAY1U,IAA2B,mBAAZkU,EACjC,OAAOS,EAAsBpW,EAAe2S,EAAU4B,EAAc9S,EAAK+T,EAAeG,IAE1F,IAAKA,EACH,OAAO,IAAInB,EACT,WAAa7B,EAAW,KAAO4B,EAAe,UAAY9S,EAAM,kBAAoBzB,EAApF,mBACmBsV,KAAKC,UAAU3X,EAAM+D,GAAW,KAAM,MACzD,iBAAmB2T,KAAKC,UAAU7c,OAAOuI,KAAKkV,GAAa,KAAM,OAGrE,IAAI9b,EAAQsb,EAAQlB,EAAWhT,EAAKzB,EAAe2S,EAAU4B,EAAe,IAAM9S,EAAK2Q,GACvF,GAAI/X,EACF,OAAOA,CAEjB,CACM,OAAO,IACb,GAGA,GAzUE,SAAS+a,EAAGpa,EAAGgT,GAEb,OAAIhT,IAAMgT,EAGK,IAANhT,GAAW,EAAIA,GAAM,EAAIgT,EAGzBhT,GAAMA,GAAKgT,GAAMA,CAE9B,CAUE,SAASwG,EAAcjC,EAASwD,GAC9B9V,KAAKsS,QAAUA,EACftS,KAAK8V,KAAOA,GAAwB,iBAATA,EAAoBA,EAAM,CAAE,EACvD9V,KAAKjE,MAAQ,EACjB,CAIE,SAASoY,EAA2BmC,GAClC,GAA6B,eAAzBnd,QAAQC,IAAIC,SACd,IAAIkd,EAA0B,CAAE,EAC5BC,EAA6B,EAEnC,SAASC,EAAUC,EAAY/Y,EAAO+D,EAAU3B,EAAe2S,EAAU4B,EAAcqC,GAIrF,GAHA5W,EAAgBA,GAAiByT,EACjCc,EAAeA,GAAgB5S,EAE3BiV,IAAWxE,EAAsB,CACnC,GAAImB,EAAqB,CAEvB,IAAIjC,EAAM,IAAIxV,MACZ,qLAKF,MADAwV,EAAI1X,KAAO,sBACL0X,CAChB,CAAe,GAA6B,eAAzBlY,QAAQC,IAAIC,UAAgD,oBAAZc,QAAyB,CAElF,IAAIyc,EAAW7W,EAAgB,IAAM2B,GAElC6U,EAAwBK,IAEzBJ,EAA6B,IAE7BtE,EACE,2EACuBoC,EAAe,cAAgBvU,EADtD,wNAMFwW,EAAwBK,IAAY,EACpCJ,IAEZ,CACA,CACM,OAAuB,MAAnB7Y,EAAM+D,GACJgV,EACsB,OAApB/Y,EAAM+D,GACD,IAAI6S,EAAc,OAAS7B,EAAW,KAAO4B,EAA3B,+BAAiFvU,EAAgB,+BAErH,IAAIwU,EAAc,OAAS7B,EAAW,KAAO4B,EAA3B,+BAAiFvU,EAAgB,oCAErH,KAEAuW,EAAS3Y,EAAO+D,EAAU3B,EAAe2S,EAAU4B,EAElE,CAEI,IAAIuC,EAAmBJ,EAAUxE,KAAK,MAAM,GAG5C,OAFA4E,EAAiBH,WAAaD,EAAUxE,KAAK,MAAM,GAE5C4E,CACX,CAEE,SAASlD,EAA2BqC,GAiBlC,OAAO7B,GAhBP,SAAkBxW,EAAO+D,EAAU3B,EAAe2S,EAAU4B,EAAcqC,GACxE,IAAInC,EAAY7W,EAAM+D,GAEtB,OADe+S,EAAYD,KACVwB,EAMR,IAAIzB,EACT,WAAa7B,EAAW,KAAO4B,EAA/B,cAHgBiB,EAAef,GAGmD,kBAAoBzU,EAAtG,gBAA+IiW,EAAe,KAC9J,CAACA,aAAcA,IAGZ,IACb,GAEA,CAsKE,SAASG,EAAsBpW,EAAe2S,EAAU4B,EAAc9S,EAAKjI,GACzE,OAAO,IAAIgb,GACRxU,GAAiB,eAAiB,KAAO2S,EAAW,UAAY4B,EAAe,IAAM9S,EAAtF,6FACiFjI,EAAO,KAE9F,CAwDE,SAASub,EAAON,GACd,cAAeA,GACb,IAAK,SACL,IAAK,SACL,IAAK,YACH,OAAO,EACT,IAAK,UACH,OAAQA,EACV,IAAK,SACH,GAAI/Q,MAAMC,QAAQ8Q,GAChB,OAAOA,EAAUsC,MAAMhC,GAEzB,GAAkB,OAAdN,GAAsBlS,EAAekS,GACvC,OAAO,EAGT,IAAIuC,EAjbV,SAAuBC,GACrB,IAAID,EAAaC,IAAkBzD,GAAmByD,EAAczD,IAAoByD,EAjB/D,eAkBzB,GAA0B,mBAAfD,EACT,OAAOA,CAEb,CA4ayBE,CAAczC,GAC/B,IAAIuC,EAqBF,OAAO,EApBP,IACIG,EADA3T,EAAWwT,EAAWne,KAAK4b,GAE/B,GAAIuC,IAAevC,EAAU9R,SAC3B,OAASwU,EAAO3T,EAASZ,QAAQC,MAC/B,IAAKkS,EAAOoC,EAAKjc,OACf,OAAO,OAKX,OAASic,EAAO3T,EAASZ,QAAQC,MAAM,CACrC,IAAIuU,EAAQD,EAAKjc,MACjB,GAAIkc,IACGrC,EAAOqC,EAAM,IAChB,OAAO,CAGzB,CAMQ,OAAO,EACT,QACE,OAAO,EAEf,CA2BE,SAAS1C,EAAYD,GACnB,IAAIQ,SAAkBR,EACtB,OAAI/Q,MAAMC,QAAQ8Q,GACT,QAELA,aAAqB4C,OAIhB,SAlCX,SAAkBpC,EAAUR,GAE1B,MAAiB,WAAbQ,KAKCR,IAK8B,WAA/BA,EAAU,kBAKQ,mBAAXlZ,QAAyBkZ,aAAqBlZ,OAK7D,CAcQ+b,CAASrC,EAAUR,GACd,SAEFQ,CACX,CAIE,SAASO,EAAef,GACtB,GAAI,MAAOA,EACT,MAAO,GAAKA,EAEd,IAAIQ,EAAWP,EAAYD,GAC3B,GAAiB,WAAbQ,EAAuB,CACzB,GAAIR,aAAqB8C,KACvB,MAAO,OACF,GAAI9C,aAAqB4C,OAC9B,MAAO,QAEf,CACI,OAAOpC,CACX,CAIE,SAASW,EAAyB1a,GAChC,IAAI1B,EAAOgc,EAAeta,GAC1B,OAAQ1B,GACN,IAAK,QACL,IAAK,SACH,MAAO,MAAQA,EACjB,IAAK,UACL,IAAK,OACL,IAAK,SACH,MAAO,KAAOA,EAChB,QACE,OAAOA,EAEf,CAcE,OAxbAgb,EAAc7b,UAAYmD,MAAMnD,UAobhC+a,EAAelB,eAAiBA,EAChCkB,EAAeX,kBAAoBP,EAAeO,kBAClDW,EAAe8D,UAAY9D,EAEpBA,CACR,wCCxlBD,IAAItB,EAA4D9O,KAEhE,SAASmU,IAAgB,CACzB,SAASC,IAAyB,QAClCA,EAAuB3E,kBAAoB0E,EAE3CE,GAAiB,WACf,SAASC,EAAKha,EAAO+D,EAAU3B,EAAe2S,EAAU4B,EAAcqC,GACpE,GAAIA,IAAWxE,EAAf,CAIA,IAAId,EAAM,IAAIxV,MACZ,mLAKF,MADAwV,EAAI1X,KAAO,sBACL0X,CAPV,EAUE,SAASuG,IACP,OAAOD,CAEX,CAJEA,EAAKjB,WAAaiB,EAMlB,IAAIlE,EAAiB,CACnBC,MAAOiE,EACP/D,OAAQ+D,EACR9D,KAAM8D,EACN7D,KAAM6D,EACN5D,OAAQ4D,EACR9U,OAAQ8U,EACR3D,OAAQ2D,EACR1D,OAAQ0D,EAERzD,IAAKyD,EACLvD,QAASwD,EACT9U,QAAS6U,EACTjD,YAAaiD,EACbhD,WAAYiD,EACZ1V,KAAMyV,EACN5C,SAAU6C,EACV3C,MAAO2C,EACPpC,UAAWoC,EACX3B,MAAO2B,EACPxB,MAAOwB,EAEPrF,eAAgBkF,EAChB3E,kBAAmB0E,GAKrB,OAFA/D,EAAe8D,UAAY9D,EAEpBA,CACR,wCCzDD,QAA6B,eAAzBta,QAAQC,IAAIC,SAA2B,CACzC,IAAI2Z,EAAU3P,KAKdwU,GAAA1T,QAAqDG,KAAC0O,EAAQ/D,UADpC,KAE5B,MAGE4I,GAAA1T,QAAiB8O,wCChBJ,SAAS6E,KACtB,OAAOC,EAAOC,YAAY,GAC5B,CCGA,IAFA,IAAIC,GAAY,GAEPlf,GAAI,EAAGA,GAAI,MAAOA,GACzBkf,GAAUlf,KAAMA,GAAI,KAAOkP,SAAS,IAAIiQ,OAAO,GCJjD,SAASC,GAAGC,EAASC,EAAKC,GACxB,IAAIvf,EAAIsf,GAAOC,GAAU,EAEH,iBAAXF,IACTC,EAAkB,WAAZD,EAAuB,IAAI3U,MAAM,IAAM,KAC7C2U,EAAU,MAIZ,IAAIG,GADJH,EAAUA,GAAW,CAAE,GACJI,SAAWJ,EAAQN,KAAOA,MAK7C,GAHAS,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBF,EACF,IAAK,IAAII,EAAK,EAAGA,EAAK,KAAMA,EAC1BJ,EAAItf,EAAI0f,GAAMF,EAAKE,GAIvB,OAAOJ,GDbT,SAAqBA,GACnB,IAAItf,EAAc,EACd2f,EAAMT,GAEV,MAAO,CAACS,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO,IAAK2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO,IAAK2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO,IAAK2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO,IAAK2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,MAAO2f,EAAIL,EAAItf,OAAOqI,KAAK,GACnR,CCQgBuX,CAAYJ,EAC5B,CCpBA,SAASK,GAAU/V,EAAQgW,GACzB,IAAI7X,EAAOvI,OAAOuI,KAAK6B,GACvB,GAAIpK,OAAOK,sBAAuB,CAChC,IAAI0Y,EAAU/Y,OAAOK,sBAAsB+J,GAC3CgW,IAAmBrH,EAAUA,EAAQtQ,QAAO,SAAU4X,GACpD,OAAOrgB,OAAOoG,yBAAyBgE,EAAQiW,GAAKjb,UAC1D,KAASmD,EAAK+U,KAAKgD,MAAM/X,EAAMwQ,EAC/B,CACE,OAAOxQ,CACT,CACA,SAASgY,GAAevQ,GACtB,IAAK,IAAI1P,EAAI,EAAGA,EAAI8Y,UAAU7Y,OAAQD,IAAK,CACzC,IAAIwH,EAAS,MAAQsR,UAAU9Y,GAAK8Y,UAAU9Y,GAAK,CAAE,EACrDA,EAAI,EAAI6f,GAAUngB,OAAO8H,IAAS,GAAI4Q,SAAQ,SAAU3P,GACtDyX,GAAgBxQ,EAAQjH,EAAKjB,EAAOiB,GAC1C,IAAS/I,OAAOygB,0BAA4BzgB,OAAOsF,iBAAiB0K,EAAQhQ,OAAOygB,0BAA0B3Y,IAAWqY,GAAUngB,OAAO8H,IAAS4Q,SAAQ,SAAU3P,GAC9J/I,OAAO2F,eAAeqK,EAAQjH,EAAK/I,OAAOoG,yBAAyB0B,EAAQiB,GACjF,GACA,CACE,OAAOiH,CACT,CAMA,SAAS0Q,GAAkB1Q,EAAQ9K,GACjC,IAAK,IAAI5E,EAAI,EAAGA,EAAI4E,EAAM3E,OAAQD,IAAK,CACrC,IAAIqgB,EAAazb,EAAM5E,GACvBqgB,EAAWvb,WAAaub,EAAWvb,aAAc,EACjDub,EAAWxb,cAAe,EACtB,UAAWwb,IAAYA,EAAWtb,UAAW,GACjDrF,OAAO2F,eAAeqK,EAAQ2Q,EAAW5X,IAAK4X,EAClD,CACA,CASA,SAASH,GAAgBI,EAAK7X,EAAKvG,GAWjC,OAVIuG,KAAO6X,EACT5gB,OAAO2F,eAAeib,EAAK7X,EAAK,CAC9BvG,MAAOA,EACP4C,YAAY,EACZD,cAAc,EACdE,UAAU,IAGZub,EAAI7X,GAAOvG,EAENoe,CACT,CACA,SAASC,KAYP,OAXAA,GAAW7gB,OAAO8G,OAAS9G,OAAO8G,OAAO0S,OAAS,SAAUxJ,GAC1D,IAAK,IAAI1P,EAAI,EAAGA,EAAI8Y,UAAU7Y,OAAQD,IAAK,CACzC,IAAIwH,EAASsR,UAAU9Y,GACvB,IAAK,IAAIyI,KAAOjB,EACV9H,OAAOC,UAAUC,eAAeC,KAAK2H,EAAQiB,KAC/CiH,EAAOjH,GAAOjB,EAAOiB,GAG/B,CACI,OAAOiH,CACR,EACM6Q,GAASP,MAAM/Y,KAAM6R,UAC9B,CAiBA,SAAS0H,GAAgBC,GAIvB,OAHAD,GAAkB9gB,OAAOghB,eAAiBhhB,OAAOihB,eAAezH,OAAS,SAAyBuH,GAChG,OAAOA,EAAEG,WAAalhB,OAAOihB,eAAeF,EAC7C,EACMD,GAAgBC,EACzB,CACA,SAASI,GAAgBJ,EAAGhhB,GAK1B,OAJAohB,GAAkBnhB,OAAOghB,eAAiBhhB,OAAOghB,eAAexH,OAAS,SAAyBuH,EAAGhhB,GAEnG,OADAghB,EAAEG,UAAYnhB,EACPghB,CACR,EACMI,GAAgBJ,EAAGhhB,EAC5B,CAkBA,SAASqhB,GAA2BrZ,EAAM5H,GACxC,GAAIA,IAAyB,iBAATA,GAAqC,mBAATA,GAC9C,OAAOA,EACF,QAAa+C,IAAT/C,EACT,MAAM,IAAI+Y,UAAU,4DAEtB,OAZF,SAAgCnR,GAC9B,QAAa7E,IAAT6E,EACF,MAAM,IAAIsZ,eAAe,6DAE3B,OAAOtZ,CACT,CAOSuZ,CAAuBvZ,EAChC,CACA,SAASwZ,GAAaC,GACpB,IAAIC,EA1BN,WACE,GAAuB,oBAAZ5b,UAA4BA,QAAQlC,UAAW,OAAO,EACjE,GAAIkC,QAAQlC,UAAU+d,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EACxC,IAEE,OADAC,QAAQ3hB,UAAU4hB,QAAQ1hB,KAAK0F,QAAQlC,UAAUie,QAAS,IAAI,WAAY,MACnE,CACR,CAAC,MAAO/hB,GACP,OAAO,CACX,CACA,CAgBkCiiB,GAChC,OAAO,WACL,IACEC,EADEC,EAAQlB,GAAgBU,GAE5B,GAAIC,EAA2B,CAC7B,IAAIQ,EAAYnB,GAAgBvZ,MAAMxE,YACtCgf,EAASlc,QAAQlC,UAAUqe,EAAO5I,UAAW6I,EACnD,MACMF,EAASC,EAAM1B,MAAM/Y,KAAM6R,WAE7B,OAAOgI,GAA2B7Z,KAAMwa,EACzC,CACH,CASA,SAASG,GAAkBC,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAI5hB,UAAQ6hB,EAAMD,EAAI5hB,QAC/C,IAAK,IAAID,EAAI,EAAG+hB,EAAO,IAAIrX,MAAMoX,GAAM9hB,EAAI8hB,EAAK9hB,IAAK+hB,EAAK/hB,GAAK6hB,EAAI7hB,GACnE,OAAO+hB,CACT,CACA,SAASC,GAA2BvB,EAAGwB,GACrC,IAAIC,EAAuB,oBAAX3f,QAA0Bke,EAAEle,OAAOiI,WAAaiW,EAAE,cAClE,IAAKyB,EAAI,CACP,GAAIxX,MAAMC,QAAQ8V,KAAOyB,EAhB7B,SAAqCzB,EAAG0B,GACtC,GAAK1B,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOmB,GAAkBnB,EAAG0B,GACvD,IAAIxN,EAAIjV,OAAOC,UAAUuP,SAASrP,KAAK4gB,GAAG2B,MAAM,MAEhD,MADU,WAANzN,GAAkB8L,EAAEhe,cAAakS,EAAI8L,EAAEhe,YAAY7B,MAC7C,QAAN+T,GAAqB,QAANA,EAAoBjK,MAAM8N,KAAKiI,GACxC,cAAN9L,GAAqB,2CAA2C0N,KAAK1N,GAAWiN,GAAkBnB,EAAG0B,QAAzG,CALQ,CAMV,CASkCG,CAA4B7B,KAAOwB,EAAqD,CAChHC,IAAIzB,EAAIyB,GACZ,IAAIliB,EAAI,EACJuiB,EAAI,WAAc,EACtB,MAAO,CACLjjB,EAAGijB,EACH5N,EAAG,WACD,OAAI3U,GAAKygB,EAAExgB,OAAe,CACxB4J,MAAM,GAED,CACLA,MAAM,EACN3H,MAAOue,EAAEzgB,KAEZ,EACDT,EAAG,SAAUA,GACX,MAAMA,CACP,EACD+U,EAAGiO,EAEX,CACI,MAAM,IAAI3J,UAAU,wIACxB,CACE,IAEEN,EAFEkK,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACLnjB,EAAG,WACD4iB,EAAKA,EAAGriB,KAAK4gB,EACd,EACD9L,EAAG,WACD,IAAIwJ,EAAO+D,EAAGtY,OAEd,OADA4Y,EAAmBrE,EAAKtU,KACjBsU,CACR,EACD5e,EAAG,SAAUA,GACXkjB,GAAS,EACTnK,EAAM/Y,CACP,EACD+U,EAAG,WACD,IACOkO,GAAiC,MAAbN,EAAGQ,QAAgBR,EAAGQ,QACvD,CAAgB,QACR,GAAID,EAAQ,MAAMnK,CAC1B,CACA,EAEA,CAEA,IAAIqK,GAAuC,oBAAfC,WAA6BA,WAA+B,oBAAXlS,OAAyBA,OAA2B,oBAAXmS,OAAyBA,OAAyB,oBAATpb,KAAuBA,KAAO,CAAE,EAE3Lqb,GAAQ,SAAUZ,GACpB,OAAOA,GAAMA,EAAGa,MAAQA,MAAQb,CAClC,EAGIc,GAEFF,GAA2B,iBAAdF,YAA0BA,aACvCE,GAAuB,iBAAVpS,QAAsBA,SAEnCoS,GAAqB,iBAARrb,MAAoBA,OACjCqb,GAA+B,iBAAlBH,IAA8BA,KAE3C,WAAe,OAAO1b,IAAO,CAA7B,IAAoCgS,SAAS,cAATA,GAElCgK,GAAiC,CAAE,EAEnCC,GAAU,SAAUC,GACtB,IACE,QAASA,GACV,CAAC,MAAO9hB,GACP,OAAO,CACX,CACA,EAKI+hB,IAHUF,IAGa,WAEzB,OAA8E,GAAvExjB,OAAO2F,eAAe,GAAI,EAAG,CAAE5B,IAAK,WAAc,OAAO,CAAI,IAAI,EAC1E,IAII4f,IAFUH,IAEoB,WAEhC,IAAIb,EAAO,WAA4B,EAAEnJ,OAEzC,MAAsB,mBAARmJ,GAAsBA,EAAKziB,eAAe,YAC1D,IAEI0jB,GAAgBD,GAEhBE,GAAStK,SAAStZ,UAAUE,KAE5B2jB,GAAeF,GAAgBC,GAAOrK,KAAKqK,IAAU,WACvD,OAAOA,GAAOvD,MAAMuD,GAAQzK,UAC9B,EAEI2K,GAA6B,CAAE,EAE/BC,GAAwB,CAAE,EAACxjB,qBAE3ByjB,GAA6BjkB,OAAOoG,yBAGpC8d,GAAcD,KAA+BD,GAAsB7jB,KAAK,CAAE,EAAG,GAAK,GAItF4jB,GAA2BnP,EAAIsP,GAAc,SAA8BC,GACzE,IAAIxD,EAAasD,GAA2B1c,KAAM4c,GAClD,QAASxD,GAAcA,EAAWvb,UACpC,EAAI4e,GAEJ,IA4II3gB,GAAO+gB,GA5IPC,GAA6B,SAAUC,EAAQ9hB,GACjD,MAAO,CACL4C,aAAuB,EAATkf,GACdnf,eAAyB,EAATmf,GAChBjf,WAAqB,EAATif,GACZ9hB,MAAOA,EAEX,EAEI+hB,GAAgBZ,GAEhBa,GAAsBjL,SAAStZ,UAC/BwkB,GAASD,GAAoBrkB,KAC7BukB,GAAsBH,IAAiBC,GAAoBhL,KAAKA,KAAKiL,GAAQA,IAE7EE,GAAyB,SAAUjhB,GACrC,OAAO6gB,GAAgBG,GAAoBhhB,GAAM,WAC/C,OAAO+gB,GAAOnE,MAAM5c,EAAI0V,UACzB,CACH,EAEIwL,GAAmBD,GAEnBE,GAAaD,GAAiB,CAAE,EAACpV,UACjCsV,GAAcF,GAAiB,GAAGlC,OAElCqC,GAAe,SAAUvC,GAC3B,OAAOsC,GAAYD,GAAWrC,GAAK,GAAG,EACxC,EAEIwC,GAAeD,GACfE,GAAiBN,GAEjBO,GAAsB,SAAUxhB,GAIlC,GAAyB,aAArBshB,GAAathB,GAAoB,OAAOuhB,GAAevhB,EAC7D,EAGIyhB,GAAU3B,GACV4B,GAAYL,GAEZM,GAAYrlB,OACZyG,GALgBye,GAKM,GAAGze,OAGzB6e,GAAgBH,IAAQ,WAG1B,OAAQE,GAAU,KAAK7kB,qBAAqB,EAC9C,IAAK,SAAUgiB,GACb,MAAwB,UAAjB4C,GAAU5C,GAAkB/b,GAAM+b,EAAI,IAAM6C,GAAU7C,EAC/D,EAAI6C,GAIAE,GAAsB,SAAU/C,GAClC,OAAOA,OACT,EAEIgD,GAAsBD,GAEtBE,GAAevM,UAIfwM,GAA2B,SAAUlD,GACvC,GAAIgD,GAAoBhD,GAAK,MAAMiD,GAAa,wBAA0BjD,GAC1E,OAAOA,CACT,EAGImD,GAAkBL,GAClBM,GAA2BF,GAE3BG,GAAoB,SAAUrD,GAChC,OAAOmD,GAAgBC,GAAyBpD,GAClD,EAEIsD,GAAmC,iBAAZ5U,UAAwBA,SAAS6U,IAKxDC,GAAgB,CAClBD,IAAKD,GACLG,gBAJuC,IAAjBH,SAAkD5iB,IAAlB4iB,IASpDI,GAFiBF,GAEcD,IAI/BI,GANiBH,GAMaC,WAAa,SAAUG,GACvD,MAA0B,mBAAZA,GAA0BA,IAAaF,EACvD,EAAI,SAAUE,GACZ,MAA0B,mBAAZA,CAChB,EAEIC,GAAeF,GAGfG,GAFeN,GAEYD,IAE3BQ,GAJeP,GAIWC,WAAa,SAAUzD,GACnD,MAAoB,iBAANA,EAAwB,OAAPA,EAAc6D,GAAa7D,IAAOA,IAAO8D,EAC1E,EAAI,SAAU9D,GACZ,MAAoB,iBAANA,EAAwB,OAAPA,EAAc6D,GAAa7D,EAC5D,EAEIgE,GAAWlD,GACXmD,GAAeN,GAMfO,GAAe,SAAUC,EAAWC,GACtC,OAAOxN,UAAU7Y,OAAS,GALF6lB,EAKgBI,GAASG,GAJ1CF,GAAaL,GAAYA,OAAWljB,GAIoBsjB,GAASG,IAAcH,GAASG,GAAWC,GAL5F,IAAUR,CAM1B,EAIIS,GAFgB3B,GAEoB,CAAE,EAAC4B,eAMvCC,GAAWzD,GACX0D,GALeN,GAEgB,YAAa,cAAgB,GAK5DhmB,GAAUqmB,GAASrmB,QACnBumB,GAAOF,GAASE,KAChBC,GAAWxmB,IAAWA,GAAQwmB,UAAYD,IAAQA,GAAK7C,QACvD+C,GAAKD,IAAYA,GAASC,GAG1BA,KAIF/C,IAHA/gB,GAAQ8jB,GAAG1gB,MAAM,MAGD,GAAK,GAAKpD,GAAM,GAAK,EAAI,IAAMA,GAAM,GAAKA,GAAM,MAK7D+gB,IAAW4C,OACd3jB,GAAQ2jB,GAAU3jB,MAAM,iBACVA,GAAM,IAAM,MACxBA,GAAQ2jB,GAAU3jB,MAAM,oBACb+gB,IAAW/gB,GAAM,IAIhC,IAII+jB,GAJkBhD,GAKlBiD,GAAU7D,GAGV8D,KAA+BtnB,OAAOK,wBAA0BgnB,IAAQ,WAC1E,IAAI7L,EAAS3Y,SAGb,OAAQsV,OAAOqD,MAAaxb,OAAOwb,aAAmB3Y,UAEnDA,OAAO6e,MAAQ0F,IAAcA,GAAa,EAC/C,IAMIG,GAFkBD,KAGhBzkB,OAAO6e,MACkB,iBAAnB7e,OAAOiI,SAEf0c,GAAed,GACfe,GAAetB,GACfW,GAAgBD,GAGhBa,GAAY1nB,OAEZ2nB,GAJsBJ,GAIa,SAAU/E,GAC/C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIoF,EAAUJ,GAAa,UAC3B,OAAOC,GAAaG,IAAYd,GAAcc,EAAQ3nB,UAAWynB,GAAUlF,GAC7E,EAEIqF,GAAY1P,OAUZ2P,GAAe3B,GACf4B,GATgB,SAAU3B,GAC5B,IACE,OAAOyB,GAAUzB,EAClB,CAAC,MAAOzkB,GACP,MAAO,QACX,CACA,EAKIqmB,GAAe9O,UAGf+O,GAAc,SAAU7B,GAC1B,GAAI0B,GAAa1B,GAAW,OAAOA,EACnC,MAAM4B,GAAaD,GAAY3B,GAAY,qBAC7C,EAEI8B,GAAcD,GACdE,GAAoB5C,GASpB6C,GAAStE,GACTuE,GAAelC,GACfmC,GAAa/B,GAEbgC,GAAerP,UAYfsP,GAAW,CAAC9c,QAAS,IAErB+c,GAAWnF,GAGXoF,GAAmB1oB,OAAO2F,eAE1BgjB,GAAyB,SAAU5f,EAAKvG,GAC1C,IACEkmB,GAAiBD,GAAU1f,EAAK,CAAEvG,MAAOA,EAAO2C,cAAc,EAAME,UAAU,GAC/E,CAAC,MAAO1D,GACP8mB,GAAS1f,GAAOvG,CACjB,CAAC,OAAOA,CACX,EAGIomB,GAAyBD,GAEzBE,GAAS,qBAGTC,GANWxF,GAIQuF,KAAWD,GAAuBC,GAAQ,CAAA,GAI7DE,GAAUD,IAEbN,GAAS9c,QAAU,SAAU3C,EAAKvG,GACjC,OAAOumB,GAAQhgB,KAASggB,GAAQhgB,QAAiB7F,IAAVV,EAAsBA,EAAQ,GACvE,GAAG,WAAY,IAAI8a,KAAK,CACtB8G,QAAS,SACT9W,KAAM,SACN0b,UAAW,4CACXC,QAAS,2DACTnhB,OAAQ,wCAGV,IAAIohB,GAAyBxD,GAEzByD,GAAYnpB,OAIZopB,GAAa,SAAUhD,GACzB,OAAO+C,GAAUD,GAAuB9C,GAC1C,EAGIiD,GAAaD,GAEblpB,GAHgBglB,GAGe,CAAE,EAAChlB,gBAKlCopB,GAAmBtpB,OAAOupB,QAAU,SAAgB/G,EAAIzZ,GAC1D,OAAO7I,GAAempB,GAAW7G,GAAKzZ,EACxC,EAEIygB,GAAgBtE,GAEhBnT,GAAK,EACL0X,GAAUpG,KAAKtD,SACfvQ,GAAWga,GAAc,GAAIha,UAE7Bka,GAAQ,SAAU3gB,GACpB,MAAO,gBAAqB7F,IAAR6F,EAAoB,GAAKA,GAAO,KAAOyG,KAAWuC,GAAK0X,GAAS,GACtF,EAEIE,GAAWrG,GACXsG,GAAWpB,GAAS9c,QACpBme,GAAWP,GACXQ,GAAQJ,GACRK,GAAgBzC,GAChB0C,GAAoBzC,GAEpB0C,GAAwBL,GAAS,OACjCM,GAAWP,GAAS9mB,OACpBsnB,GAAYD,IAAYA,GAAc,IACtCE,GAAwBJ,GAAoBE,GAAWA,IAAYA,GAASG,eAAiBP,GAE7FQ,GAAoB,SAAUppB,GAChC,IAAK2oB,GAASI,GAAuB/oB,KAAW6oB,IAAuD,iBAA/BE,GAAsB/oB,GAAoB,CAChH,IAAIqpB,EAAc,UAAYrpB,EAC1B6oB,IAAiBF,GAASK,GAAUhpB,GACtC+oB,GAAsB/oB,GAAQgpB,GAAShpB,GAEvC+oB,GAAsB/oB,GADb8oB,IAAqBG,GACAA,GAAUI,GAEVH,GAAsBG,EAE1D,CAAI,OAAON,GAAsB/oB,EACjC,EAEIspB,GAAS1G,GACT2G,GAAalE,GACbmE,GAAa/C,GACbgD,GApHc,SAAUxG,EAAGyG,GAC7B,IAAIvP,EAAO8I,EAAEyG,GACb,OAAOzC,GAAkB9M,QAAQnY,EAAYglB,GAAY7M,EAC3D,EAkHIwP,GAxGwB,SAAU1c,EAAO2c,GAC3C,IAAIpnB,EAAIuV,EACR,GAAa,WAAT6R,GAAqBzC,GAAa3kB,EAAKyK,EAAMqB,YAAc8Y,GAAWrP,EAAMmP,GAAO1kB,EAAIyK,IAAS,OAAO8K,EAC3G,GAAIoP,GAAa3kB,EAAKyK,EAAM0T,WAAayG,GAAWrP,EAAMmP,GAAO1kB,EAAIyK,IAAS,OAAO8K,EACrF,GAAa,WAAT6R,GAAqBzC,GAAa3kB,EAAKyK,EAAMqB,YAAc8Y,GAAWrP,EAAMmP,GAAO1kB,EAAIyK,IAAS,OAAO8K,EAC3G,MAAMsP,GAAa,0CACrB,EAqGIwC,GAAe7R,UACf8R,GAHoBV,GAGa,eAkBjCW,GAdgB,SAAU9c,EAAO2c,GACnC,IAAKL,GAAWtc,IAAUuc,GAAWvc,GAAQ,OAAOA,EACpD,IACI4T,EADAmJ,EAAeP,GAAUxc,EAAO6c,IAEpC,GAAIE,EAAc,CAGhB,QAFahoB,IAAT4nB,IAAoBA,EAAO,WAC/B/I,EAASyI,GAAOU,EAAc/c,EAAO2c,IAChCL,GAAW1I,IAAW2I,GAAW3I,GAAS,OAAOA,EACtD,MAAMgJ,GAAa,0CACvB,CAEE,YADa7nB,IAAT4nB,IAAoBA,EAAO,UACxBD,GAAoB1c,EAAO2c,EACpC,EAGIlM,GAAW+I,GAIXwD,GAAkB,SAAU/E,GAC9B,IAAIrd,EAAMkiB,GAAY7E,EAAU,UAChC,OAAOxH,GAAS7V,GAAOA,EAAMA,EAAM,EACrC,EAGIqiB,GAAa7E,GAEb8E,GAHW/H,GAGWpS,SAEtBoa,GAAWF,GAAWC,KAAeD,GAAWC,GAAWE,eAE3DC,GAA0B,SAAUhJ,GACtC,OAAO8I,GAAWD,GAAWE,cAAc/I,GAAM,CAAE,CACrD,EAII+I,GAAgBC,GAGhBC,IALgB/H,KACNF,IAIgC,WAE5C,OAEQ,GAFDxjB,OAAO2F,eAAe4lB,GAAc,OAAQ,IAAK,CACtDxnB,IAAK,WAAc,OAAO,CAAE,IAC3B4J,CACL,IAEI+d,GAAgBhI,GAChBvjB,GAAO2jB,GACP6H,GAA6B5H,GAC7B6H,GAA6BvH,GAC7BwH,GAAoBhG,GACpBiG,GAAkBX,GAClBY,GAAWzC,GACX0C,GAAmBP,GAGnBQ,GAA8BjsB,OAAOoG,yBAIzCmd,GAA+B3O,EAAI8W,GAAgBO,GAA8B,SAAkCC,EAAGtB,GAGpH,GAFAsB,EAAIL,GAAkBK,GACtBtB,EAAIkB,GAAgBlB,GAChBoB,GAAkB,IACpB,OAAOC,GAA4BC,EAAGtB,EACvC,CAAC,MAAOjpB,GAAO,CAChB,GAAIoqB,GAASG,EAAGtB,GAAI,OAAOgB,IAA4BzrB,GAAKwrB,GAA2B/W,EAAGsX,EAAGtB,GAAIsB,EAAEtB,GACrG,EAEA,IAAIuB,GAAuB,CAAE,EAOzBC,GALgB1I,IACNF,IAIsC,WAElD,OAGgB,IAHTxjB,OAAO2F,gBAAe,WAAY,GAAiB,YAAa,CACrEnD,MAAO,GACP6C,UAAU,IACTpF,SACL,IAEIosB,GAAa9F,GAEb+F,GAAUnU,OACVoU,GAAerT,UAGfsT,GAAa,SAAUpG,GACzB,GAAIiG,GAAWjG,GAAW,OAAOA,EACjC,MAAMmG,GAAaD,GAAQlG,GAAY,oBACzC,EAEIqG,GAAgB/I,GAChBgJ,GAAiBjB,GACjBkB,GAA4BP,GAC5BQ,GAAaJ,GACbK,GAAgB1B,GAEhB2B,GAAa5T,UAEb6T,GAAkB/sB,OAAO2F,eAEzBqnB,GAA4BhtB,OAAOoG,yBACnC6mB,GAAa,aACbC,GAAiB,eACjBC,GAAW,WAIfhB,GAAqBvX,EAAI6X,GAAgBE,GAA4B,SAAwBT,EAAGtB,EAAGwC,GAIjG,GAHAR,GAAWV,GACXtB,EAAIiC,GAAcjC,GAClBgC,GAAWQ,GACM,mBAANlB,GAA0B,cAANtB,GAAqB,UAAWwC,GAAcD,MAAYC,IAAeA,EAAWD,IAAW,CAC5H,IAAIE,EAAUL,GAA0Bd,EAAGtB,GACvCyC,GAAWA,EAAQF,MACrBjB,EAAEtB,GAAKwC,EAAW5qB,MAClB4qB,EAAa,CACXjoB,aAAc+nB,MAAkBE,EAAaA,EAAWF,IAAkBG,EAAQH,IAClF9nB,WAAY6nB,MAAcG,EAAaA,EAAWH,IAAcI,EAAQJ,IACxE5nB,UAAU,GAGf,CAAC,OAAO0nB,GAAgBb,EAAGtB,EAAGwC,EACjC,EAAIL,GAAkB,SAAwBb,EAAGtB,EAAGwC,GAIlD,GAHAR,GAAWV,GACXtB,EAAIiC,GAAcjC,GAClBgC,GAAWQ,GACPV,GAAgB,IAClB,OAAOK,GAAgBb,EAAGtB,EAAGwC,EAC9B,CAAC,MAAOzrB,GAAO,CAChB,GAAI,QAASyrB,GAAc,QAASA,EAAY,MAAMN,GAAW,2BAEjE,MADI,UAAWM,IAAYlB,EAAEtB,GAAKwC,EAAW5qB,OACtC0pB,CACT,EAEA,IACIoB,GAAyBnB,GACzBoB,GAA2BlJ,GAE3BmJ,GAJgB9J,GAIgC,SAAUtZ,EAAQrB,EAAKvG,GACzE,OAAO8qB,GAAuB1Y,EAAExK,EAAQrB,EAAKwkB,GAAyB,EAAG/qB,GAC3E,EAAI,SAAU4H,EAAQrB,EAAKvG,GAEzB,OADA4H,EAAOrB,GAAOvG,EACP4H,CACT,EAEIqjB,GAAgB,CAAC/hB,QAAS,IAE1BgiB,GAAgBhK,GAChBiK,GAAWrE,GAEXsE,GAAoBrU,SAAStZ,UAE7B4tB,GAAgBH,IAAiB1tB,OAAOoG,yBAOxC0nB,GAAe,CAGjBC,aARWJ,GAASC,GAAmB,WAGVF,IAAkBA,IAAiBG,GAAcD,GAAmB,QAAQzoB,eASvG6oB,GAAe7H,GACf8H,GAAUnF,GAEVoF,GAJgBhJ,GAIiB3L,SAAS/J,UAGzCwe,GAAaC,GAAQE,iBACxBF,GAAQE,cAAgB,SAAU3L,GAChC,OAAO0L,GAAiB1L,EACzB,GAGH,IAgCI5c,GAAK7B,GAAKuV,GAhCV8U,GAAkBH,GAAQE,cAG1BE,GAAelI,GAEfmI,GAHWhL,GAGUnY,QAErBojB,GAAwBF,GAAaC,KAAc,cAAc3L,KAAKxK,OAAOmW,KAE7EE,GAAWhG,GAAS9c,QACpB+iB,GAAM/E,GAENnhB,GAAOimB,GAAS,QAEhBE,GAAc,SAAU3lB,GAC1B,OAAOR,GAAKQ,KAASR,GAAKQ,GAAO0lB,GAAI1lB,GACvC,EAEI4lB,GAAe,CAAE,EAEjBC,GAAkBL,GAClBM,GAAWvL,GAEXwL,GAAgCtB,GAChCuB,GAAWzF,GACX0F,GAASlG,GACTmG,GAAcP,GACdQ,GAAeP,GAEfQ,GAA6B,6BAC7BC,GAAcP,GAAS3V,UACvB/N,GAAU0jB,GAAS1jB,QAgBvB,GAAIyjB,IAAmBI,GAAOK,MAAO,CACnC,IAAIC,GAAQN,GAAOK,QAAUL,GAAOK,MAAQ,IAAIlkB,IAEhDmkB,GAAMvrB,IAAMurB,GAAMvrB,IAClBurB,GAAMhW,IAAMgW,GAAMhW,IAClBgW,GAAM1pB,IAAM0pB,GAAM1pB,IAElBA,GAAM,SAAU4c,EAAI+M,GAClB,GAAID,GAAMhW,IAAIkJ,GAAK,MAAM4M,GAAYD,IAGrC,OAFAI,EAASC,OAAShN,EAClB8M,GAAM1pB,IAAI4c,EAAI+M,GACPA,CACR,EACDxrB,GAAM,SAAUye,GACd,OAAO8M,GAAMvrB,IAAIye,IAAO,CAAE,CAC3B,EACDlJ,GAAM,SAAUkJ,GACd,OAAO8M,GAAMhW,IAAIkJ,EAClB,CACH,KAAO,CACL,IAAIiN,GAAQR,GAAY,SACxBC,GAAaO,KAAS,EACtB7pB,GAAM,SAAU4c,EAAI+M,GAClB,GAAIR,GAASvM,EAAIiN,IAAQ,MAAML,GAAYD,IAG3C,OAFAI,EAASC,OAAShN,EAClBsM,GAA8BtM,EAAIiN,GAAOF,GAClCA,CACR,EACDxrB,GAAM,SAAUye,GACd,OAAOuM,GAASvM,EAAIiN,IAASjN,EAAGiN,IAAS,CAAE,CAC5C,EACDnW,GAAM,SAAUkJ,GACd,OAAOuM,GAASvM,EAAIiN,GACrB,CACH,CAEA,IAAIC,GAAgB,CAElB3rB,IAAKA,GAEL4rB,QArDY,SAAUnN,GACtB,OAAOlJ,GAAIkJ,GAAMze,GAAIye,GAAM5c,GAAI4c,EAAI,GACrC,GAuDIoN,GAAUpM,GACVqM,GAAe1J,GACf2J,GAAWxG,GACXyG,GAAgBrM,GAChBsM,GAA6BlC,GAAaC,aAC1CkC,GAAkB7B,GAGlB8B,GAFsBR,GAEqBC,QAC3CQ,GAHsBT,GAGiB3rB,IAEvCqsB,GAAmBpwB,OAAO2F,eAE1B0qB,GAAsBN,KAAkBH,IAAQ,WAClD,OAAwF,IAAjFQ,IAAiB,WAAY,GAAiB,SAAU,CAAE5tB,MAAO,IAAKjC,MAC/E,IAEI+vB,GAAWnY,OAAOA,QAAQ1R,MAAM,UAEhC8pB,GAAgB9C,GAAc/hB,QAAU,SAAUlJ,EAAOtB,EAAMye,GAChC,YAA7BxH,OAAOjX,GAAMwhB,MAAM,EAAG,KACxBxhB,EAAO,IAAMiX,OAAOjX,GAAM2F,QAAQ,qBAAsB,MAAQ,KAE9D8Y,GAAWA,EAAQ9W,SAAQ3H,EAAO,OAASA,GAC3Cye,GAAWA,EAAQ6Q,SAAQtvB,EAAO,OAASA,KAC1C4uB,GAASttB,EAAO,SAAYwtB,IAA8BxtB,EAAMtB,OAASA,KACxE6uB,GAAeK,GAAiB5tB,EAAO,OAAQ,CAAEA,MAAOtB,EAAMiE,cAAc,IAC3E3C,EAAMtB,KAAOA,GAEhBmvB,IAAuB1Q,GAAWmQ,GAASnQ,EAAS,UAAYnd,EAAMjC,SAAWof,EAAQ8Q,OAC3FL,GAAiB5tB,EAAO,SAAU,CAAEA,MAAOmd,EAAQ8Q,QAErD,IACM9Q,GAAWmQ,GAASnQ,EAAS,gBAAkBA,EAAQ5c,YACrDgtB,IAAeK,GAAiB5tB,EAAO,YAAa,CAAE6C,UAAU,IAE3D7C,EAAMvC,YAAWuC,EAAMvC,eAAYiD,EAC/C,CAAC,MAAOvB,GAAO,CAChB,IAAI0tB,EAAQa,GAAqB1tB,GAG/B,OAFGstB,GAAST,EAAO,YACnBA,EAAMvnB,OAASwoB,GAAS3nB,KAAoB,iBAARzH,EAAmBA,EAAO,KACvDsB,CACX,EAIA+W,SAAStZ,UAAUuP,SAAW+gB,IAAc,WAC1C,OAAOV,GAAatoB,OAAS4oB,GAAiB5oB,MAAMO,QAAUmoB,GAAgB1oB,KAChF,GAAG,YAEH,IAuF+BmpB,GAvF3BC,GAAexK,GACfyK,GAAyBzE,GACzB0E,GAAcpD,GAAc/hB,QAC5BolB,GAAyBnI,GAyBzBoI,GAA4B,CAAE,EAE9BC,GAAO3N,KAAK2N,KACZC,GAAQ5N,KAAK4N,MAKbC,GAAY7N,KAAK8N,OAAS,SAAe7uB,GAC3C,IAAI2S,GAAK3S,EACT,OAAQ2S,EAAI,EAAIgc,GAAQD,IAAM/b,EAChC,EAEIkc,GAAQD,GAIRE,GAAwB,SAAUhL,GACpC,IAAI9K,GAAU8K,EAEd,OAAO9K,GAAWA,GAAqB,IAAXA,EAAe,EAAI6V,GAAM7V,EACvD,EAEI+V,GAAwBD,GAExBE,GAAMjO,KAAKiO,IACXC,GAAQlO,KAAK9R,IAUbigB,GAAsBJ,GAEtB7f,GAAM8R,KAAK9R,IAQXkgB,GAJa,SAAUrL,GACzB,OAAOA,EAAW,EAAI7U,GAAIigB,GAAoBpL,GAAW,kBAAoB,CAC/E,EAMIsL,GAAsB,SAAU9Q,GAClC,OAAO6Q,GAAS7Q,EAAIrgB,OACtB,EAEIoxB,GAAoB9L,GACpB+L,GAxBoB,SAAUC,EAAOtxB,GACvC,IAAIuxB,EAAUT,GAAsBQ,GACpC,OAAOC,EAAU,EAAIR,GAAIQ,EAAUvxB,EAAQ,GAAKgxB,GAAMO,EAASvxB,EACjE,EAsBIwxB,GAAsBL,GAsBtBM,GAAgB,CAMlB5xB,SAzB6BswB,IAyBL,EAxBjB,SAAUuB,EAAOC,EAAIC,GAC1B,IAGI3vB,EAHA0pB,EAAIyF,GAAkBM,GACtB1xB,EAASwxB,GAAoB7F,GAC7B2F,EAAQD,GAAgBO,EAAW5xB,GAIvC,GAAImwB,IAAewB,GAAMA,GAAI,KAAO3xB,EAASsxB,GAG3C,IAFArvB,EAAQ0pB,EAAE2F,OAEGrvB,EAAO,OAAO,OAEtB,KAAMjC,EAASsxB,EAAOA,IAC3B,IAAKnB,IAAemB,KAAS3F,IAAMA,EAAE2F,KAAWK,EAAI,OAAOxB,IAAemB,GAAS,EACnF,OAAQnB,KAAiB,CAC5B,IAaC0B,GAAW9I,GACX+I,GAAoBxM,GACpBzlB,GAAU4xB,GAAc5xB,QACxBkyB,GAAe3D,GAEf4D,GANgBrN,GAMO,GAAG5H,MAE1BkV,GAAqB,SAAUpoB,EAAQqoB,GACzC,IAGI1pB,EAHAmjB,EAAImG,GAAkBjoB,GACtB9J,EAAI,EACJyhB,EAAS,GAEb,IAAKhZ,KAAOmjB,GAAIkG,GAASE,GAAcvpB,IAAQqpB,GAASlG,EAAGnjB,IAAQwpB,GAAOxQ,EAAQhZ,GAElF,KAAO0pB,EAAMlyB,OAASD,GAAO8xB,GAASlG,EAAGnjB,EAAM0pB,EAAMnyB,SAClDF,GAAQ2hB,EAAQhZ,IAAQwpB,GAAOxQ,EAAQhZ,IAE1C,OAAOgZ,CACT,EAGI2Q,GAAgB,CAClB,cACA,iBACA,gBACA,uBACA,iBACA,WACA,WAGEC,GAAuBH,GAGvBI,GAFgBF,GAEaG,OAAO,SAAU,aAKlD9B,GAA0Bnc,EAAI5U,OAAOoY,qBAAuB,SAA6B8T,GACvF,OAAOyG,GAAqBzG,EAAG0G,GACjC,EAEA,IAAIE,GAA8B,CAAE,EAGpCA,GAA4Ble,EAAI5U,OAAOK,sBAEvC,IAAI0yB,GAAerM,GAEfsM,GAA4BjC,GAC5BkC,GAA8BH,GAC9BI,GAAa1G,GAEbqG,GALgB3N,GAKO,GAAG2N,QAG1BM,GAAYJ,GAAa,UAAW,YAAc,SAAiBvQ,GACrE,IAAIja,EAAOyqB,GAA0Bpe,EAAEse,GAAW1Q,IAC9CniB,EAAwB4yB,GAA4Bre,EACxD,OAAOvU,EAAwBwyB,GAAOtqB,EAAMlI,EAAsBmiB,IAAOja,CAC3E,EAEIghB,GAASD,GACT8J,GAAUD,GACVE,GAAiC9P,GACjC+P,GAAyBnH,GAczBoH,GAAU/P,GACVgQ,GAAerN,GAEfsN,GAAc,kBAEdC,GAAa,SAAUC,EAASC,GAClC,IAAIpxB,EAAQ6a,GAAKwW,GAAUF,IAC3B,OAAOnxB,GAASsxB,IACZtxB,GAASuxB,KACTP,GAAaI,GAAaL,GAAQK,KAChCA,EACR,EAEIC,GAAYH,GAAWG,UAAY,SAAUtY,GAC/C,OAAOpD,OAAOoD,GAAQ1U,QAAQ4sB,GAAa,KAAKO,aAClD,EAEI3W,GAAOqW,GAAWrW,KAAO,CAAE,EAC3B0W,GAASL,GAAWK,OAAS,IAC7BD,GAAWJ,GAAWI,SAAW,IAEjCG,GAAaP,GAEbQ,GAAW5Q,GACXld,GAA2Bmd,GAA+B3O,EAC1Duf,GAA8B3G,GAC9B4G,GAzNkB,SAAUlI,EAAGnjB,EAAKvG,EAAOmd,GACxCA,IAASA,EAAU,CAAE,GAC1B,IAAI0U,EAAS1U,EAAQva,WACjBlE,OAAwBgC,IAAjByc,EAAQze,KAAqBye,EAAQze,KAAO6H,EAEvD,GADI4nB,GAAanuB,IAAQquB,GAAYruB,EAAOtB,EAAMye,GAC9CA,EAAQwD,OACNkR,EAAQnI,EAAEnjB,GAAOvG,EAChBsuB,GAAuB/nB,EAAKvG,OAC5B,CACL,IACOmd,EAAQ2U,OACJpI,EAAEnjB,KAAMsrB,GAAS,UADEnI,EAAEnjB,EAE/B,CAAC,MAAOpH,GAAO,CACZ0yB,EAAQnI,EAAEnjB,GAAOvG,EAChBouB,GAAuBhc,EAAEsX,EAAGnjB,EAAK,CACpCvG,MAAOA,EACP4C,YAAY,EACZD,cAAewa,EAAQ4U,gBACvBlvB,UAAWsa,EAAQ6U,aAEtB,CAAC,OAAOtI,CACX,EAqMIuI,GAAuB9L,GACvB+L,GAxC8B,SAAU1kB,EAAQlI,EAAQ6sB,GAI1D,IAHA,IAAIpsB,EAAO6qB,GAAQtrB,GACfnC,EAAiB2tB,GAAuB1e,EACxCxO,EAA2BitB,GAA+Bze,EACrDtU,EAAI,EAAGA,EAAIiI,EAAKhI,OAAQD,IAAK,CACpC,IAAIyI,EAAMR,EAAKjI,GACVipB,GAAOvZ,EAAQjH,IAAU4rB,GAAcpL,GAAOoL,EAAY5rB,IAC7DpD,EAAeqK,EAAQjH,EAAK3C,EAAyB0B,EAAQiB,GAEnE,CACA,EA+BI6rB,GAAWX,GAkDXY,GAAY5M,GACZ6M,GAAcnR,GAEdoR,GAJgB7P,MAIqB1L,MAUrCwb,GAAYjQ,GAKZkQ,GAAYjqB,MAAMC,SAAW,SAAiBmb,GAChD,MAA8B,SAAvB4O,GAAU5O,EACnB,EAKIzD,GAAO,CAAE,EAEbA,GALwB2H,GAEgB,gBAGhB,IAExB,IAEI4K,GAFsC,eAAjB/c,OAAOwK,IAG5BwS,GAAehP,GACfiP,GAAarQ,GAGbsQ,GAFoB/K,GAEc,eAClCgL,GAAUt1B,OAGVu1B,GAAuE,aAAnDH,GAAW,WAAc,OAAOhc,SAAU,CAA/B,IAqB/Boc,GAAgBtQ,GAChBuQ,GAAQjS,GACRkS,GAAavP,GACbwP,GAdYT,GAAwBE,GAAa,SAAU5S,GAC7D,IAAI0J,EAAGzqB,EAAKsgB,EACZ,YAAc7e,IAAPsf,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjD/gB,EAXD,SAAU+gB,EAAIzZ,GACzB,IACE,OAAOyZ,EAAGzZ,EACX,CAAC,MAAOpH,GAAO,CAClB,CAOoBi0B,CAAO1J,EAAIoJ,GAAQ9S,GAAK6S,KAA8B5zB,EAEpE8zB,GAAoBH,GAAWlJ,GAEH,WAA3BnK,EAASqT,GAAWlJ,KAAmBiJ,GAAajJ,EAAE2J,QAAU,YAAc9T,CACrF,EAOIoM,GAAgBC,GAEhB0H,GAAO,WAA2B,EAClCC,GAAQ,GACRpyB,GALe+iB,GAKU,UAAW,aACpCsP,GAAoB,2BACpBvS,GAAO+R,GAAcQ,GAAkBvS,MACvCwS,IAAuBD,GAAkBvS,KAAKqS,IAE9CI,GAAsB,SAAuB9P,GAC/C,IAAKsP,GAAWtP,GAAW,OAAO,EAClC,IAEE,OADAziB,GAAUmyB,GAAMC,GAAO3P,IAChB,CACR,CAAC,MAAOzkB,GACP,OAAO,CACX,CACA,EAEIw0B,GAAsB,SAAuB/P,GAC/C,IAAKsP,GAAWtP,GAAW,OAAO,EAClC,OAAQuP,GAAQvP,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAExC,IAIE,OAAO6P,MAAyBxS,GAAKuS,GAAmB7H,GAAc/H,GACvE,CAAC,MAAOzkB,GACP,OAAO,CACX,CACA,EAEAw0B,GAAoBzU,MAAO,EAI3B,IAiD6B0U,GACvBC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxDFC,IAAmBjzB,IAAa8xB,IAAM,WACxC,IAAIoB,EACJ,OAAOX,GAAoBA,GAAoB/1B,QACzC+1B,GAAoBl2B,UACpBk2B,IAAoB,WAAcW,GAAS,CAAO,KACnDA,CACP,IAAKV,GAAsBD,GAEvBjrB,GAAUgqB,GACV6B,GAAgBF,GAChBG,GAAWxQ,GAGXyQ,GAFoB1M,GAEQ,WAC5B2M,GAASjsB,MAiBTksB,GAb4B,SAAUC,GACxC,IAAIC,EASF,OAREnsB,GAAQksB,KACVC,EAAID,EAAcp0B,aAEd+zB,GAAcM,KAAOA,IAAMH,IAAUhsB,GAAQmsB,EAAEn3B,aAC1C82B,GAASK,IAEN,QADVA,EAAIA,EAAEJ,QAFwDI,OAAIl0B,SAKvDA,IAANk0B,EAAkBH,GAASG,CACtC,EAUI5d,GA3IsB,SAAU9V,EAAI2zB,GAEtC,OADAxC,GAAUnxB,QACMR,IAATm0B,EAAqB3zB,EAAKoxB,GAAcC,GAAOrxB,EAAI2zB,GAAQ,WAChE,OAAO3zB,EAAG4c,MAAM+W,EAAMje,UACvB,CACH,EAwIIke,GAAgBhS,GAChBnM,GAAWiQ,GACXmO,GAAoB7F,GACpB8F,GATuB,SAAUL,EAAe52B,GAClD,OAAO,IAAK22B,GAAwBC,GAA7B,CAAwD,IAAX52B,EAAe,EAAIA,EACzE,EASI+c,GANc4H,GAMK,GAAG5H,MAwCtBma,GAAiB,CAkBnBC,MAvD2BtB,GAuDR,EAtDfC,GAAiB,GAARD,GACTE,GAAoB,GAARF,GACZG,GAAkB,GAARH,GACVI,GAAmB,GAARJ,GACXK,GAAwB,GAARL,GAChBM,GAA2B,GAARN,GACnBO,GAAmB,GAARP,IAAaK,GACrB,SAAUxE,EAAO0F,EAAYN,EAAMO,GASxC,IARA,IAOIp1B,EAAOuf,EAPPmK,EAAI/S,GAAS8Y,GACblqB,EAAOuvB,GAAcpL,GACrB2L,EAAgBre,GAAKme,EAAYN,GACjC92B,EAASg3B,GAAkBxvB,GAC3B8pB,EAAQ,EACRiG,EAASF,GAAkBJ,GAC3BxnB,EAASqmB,GAASyB,EAAO7F,EAAO1xB,GAAU+1B,IAAaI,GAAmBoB,EAAO7F,EAAO,QAAK/uB,EAE3F3C,EAASsxB,EAAOA,IAAS,IAAI8E,IAAY9E,KAAS9pB,KAEtDga,EAAS8V,EADTr1B,EAAQuF,EAAK8pB,GACiBA,EAAO3F,GACjCkK,IACF,GAAIC,GAAQrmB,EAAO6hB,GAAS9P,OACvB,GAAIA,EAAQ,OAAQqU,IACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAO5zB,EACf,KAAK,EAAG,OAAOqvB,EACf,KAAK,EAAGvU,GAAKtN,EAAQxN,QAChB,OAAQ4zB,IACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAG9Y,GAAKtN,EAAQxN,GAI3B,OAAOi0B,IAAkB,EAAGF,IAAWC,GAAWA,GAAWxmB,CAC9D,IA8BC+nB,GAAyB,CAAE,EAE3BC,GAAqBxF,GACrByF,GAAgBvF,GAKhBwF,GAAel4B,OAAOuI,MAAQ,SAAc2jB,GAC9C,OAAO8L,GAAmB9L,EAAG+L,GAC/B,EAEIE,GAAczU,GACd0U,GAA0BhM,GAC1BiM,GAAuBlM,GACvBmM,GAAa9L,GACb+L,GAAkB1S,GAClB2S,GAAaN,GAKjBH,GAAuBnjB,EAAIujB,KAAgBC,GAA0Bp4B,OAAOsF,iBAAmB,SAA0B4mB,EAAGuM,GAC1HH,GAAWpM,GAMX,IALA,IAIInjB,EAJA7D,EAAQqzB,GAAgBE,GACxBlwB,EAAOiwB,GAAWC,GAClBl4B,EAASgI,EAAKhI,OACdsxB,EAAQ,EAELtxB,EAASsxB,GAAOwG,GAAqBzjB,EAAEsX,EAAGnjB,EAAMR,EAAKspB,KAAU3sB,EAAM6D,IAC5E,OAAOmjB,CACT,EAEA,IAyDIwM,GAvDAC,GAFajS,GAEO,WAAY,mBAIhCkS,GAAWpM,GACXqM,GAAyBd,GACzBe,GAAcpG,GACdqG,GAAapK,GACbqK,GAAOL,GACPM,GAAwBzN,GAKxB0N,GAAY,YACZC,GAAS,SACTC,GANY1K,GAMS,YAErB2K,GAAmB,WAA2B,EAE9CC,GAAY,SAAUC,GACxB,MARO,IAQKJ,GATL,IASmBI,EAAnBC,KAAwCL,GATxC,GAUT,EAGIM,GAA4B,SAAUf,GACxCA,EAAgBgB,MAAMJ,GAAU,KAChCZ,EAAgBiB,QAChB,IAAIC,EAAOlB,EAAgBmB,aAAa75B,OAExC,OADA04B,EAAkB,KACXkB,CACT,EAyBIE,GAAkB,WACpB,IACEpB,GAAkB,IAAIqB,cAAc,WACrC,CAAC,MAAOp4B,GAAO,CAzBa,IAIzBq4B,EAFAC,EACAC,EAuBJJ,GAAqC,oBAAZ5oB,SACrBA,SAASipB,QAAUzB,GACjBe,GAA0Bf,KA1B5BuB,EAAShB,GAAsB,UAC/BiB,EAAK,OAASf,GAAS,IAE3Bc,EAAO5tB,MAAM+tB,QAAU,OACvBpB,GAAKqB,YAAYJ,GAEjBA,EAAOK,IAAMniB,OAAO+hB,IACpBF,EAAiBC,EAAOM,cAAcrpB,UACvBspB,OACfR,EAAeN,MAAMJ,GAAU,sBAC/BU,EAAeL,QACRK,EAAenX,GAiBlB4W,GAA0Bf,IAE9B,IADA,IAAIn4B,EAASu4B,GAAYv4B,OAClBA,YAAiBu5B,GAAgBZ,IAAWJ,GAAYv4B,IAC/D,OAAOu5B,IACT,EAEAf,GAAWK,KAAY,EAKvB,IAYIqB,GAAkBnQ,GAClBwN,GAbe93B,OAAO83B,QAAU,SAAgB5L,EAAGuM,GACrD,IAAI1W,EAQJ,OAPU,OAANmK,GACFmN,GAAiBH,IAAaN,GAAS1M,GACvCnK,EAAS,IAAIsX,GACbA,GAAiBH,IAAa,KAE9BnX,EAAOqX,IAAYlN,GACdnK,EAAS+X,UACM52B,IAAfu1B,EAA2B1W,EAAS8W,GAAuBjkB,EAAEmN,EAAQ0W,EAC9E,EAII9yB,GAAiBwmB,GAAqBvX,EAEtC8lB,GAAcD,GAAgB,eAC9BE,GAAiB3vB,MAAM/K,UAIQiD,MAA/By3B,GAAeD,KACjB/0B,GAAeg1B,GAAgBD,GAAa,CAC1Cv1B,cAAc,EACd3C,MAAOs1B,GAAO,QAKlB,IAII8C,GA3YU,SAAUjb,EAAS7X,GAC/B,IAGYkI,EAAQjH,EAAK8xB,EAAgBC,EAAgBna,EAHrDoa,EAASpb,EAAQ3P,OACjBgrB,EAASrb,EAAQwD,OACjB8X,EAAStb,EAAQub,KASrB,GANElrB,EADEgrB,EACO9G,GACA+G,EACA/G,GAAS6G,IAAWtG,GAAqBsG,EAAQ,CAAA,IAEhD7G,GAAS6G,IAAW,CAAE,GAAE96B,UAExB,IAAK8I,KAAOjB,EAAQ,CAQ9B,GAPAgzB,EAAiBhzB,EAAOiB,GAGtB8xB,EAFElb,EAAQwb,gBACVxa,EAAava,GAAyB4J,EAAQjH,KACf4X,EAAWne,MACpBwN,EAAOjH,IACtB6rB,GAASoG,EAASjyB,EAAMgyB,GAAUE,EAAS,IAAM,KAAOlyB,EAAK4W,EAAQyb,cAE5Cl4B,IAAnB23B,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDnG,GAA0BoG,EAAgBD,EAChD,EAEQlb,EAAQ+B,MAASmZ,GAAkBA,EAAenZ,OACpDyS,GAA4B2G,EAAgB,QAAQ,GAEtD1G,GAAcpkB,EAAQjH,EAAK+xB,EAAgBnb,EAC/C,CACA,EA8WI0b,GAAQ5D,GAAeC,KACvB4D,GANqB,SAAUvyB,GACjC4xB,GAAeD,IAAa3xB,IAAO,CACrC,EAMIwyB,GAAO,OACPC,IAAc,EAGdD,KAAQ,IAAIvwB,MAAM,GAAGuwB,KAAM,WAAcC,IAAc,KAI3DZ,GAAE,CAAE5qB,OAAQ,QAASyrB,OAAO,EAAML,OAAQI,IAAe,CACvD9D,KAAM,SAAcC,GAClB,OAAO0D,GAAM9zB,KAAMowB,EAAYve,UAAU7Y,OAAS,EAAI6Y,UAAU,QAAKlW,EACzE,IAIAo4B,GAAiBC,IAEjB,IAAIG,GACM,CACNC,KAAM,6BACNC,QAAS,gCACTC,KAAM,8BAONC,GAAsB,SAA6BC,EAAWC,GAIhE,IAAIC,EAC8B,mBAAvBjrB,OAAOkrB,YAChBD,EAAQ,IAAIjrB,OAAOkrB,YAAYH,EAAW,CACxCI,OAAQH,KAGVC,EAAQ/qB,SAASkrB,YAAY,UACvBC,UAAUN,GAAW,GAAO,EAAMC,GAE1ChrB,OAAOsrB,cAAcL,EACvB,EAsGA,IAAIM,GAAc,SAAqBC,EAAc38B,GACnD,IAAI48B,EAAOl1B,KAAK8nB,MAAMoN,KAClB1qB,EAAKxK,KAAKrC,MAAM6M,GAChB2qB,EAAYn1B,KAAKm1B,UAAU78B,EAAE88B,eAC7BC,EAAc/8B,EAAE88B,cAAcE,aAAa,eAC1CH,GAAW78B,EAAEi9B,kBACdL,GAAwB,SAAhBG,EACLJ,GAAcj1B,KAAKw1B,YAAYl9B,IAEpCA,EAAE88B,cAAcK,aAAa,cAAe,QAC5CC,GAAiBp9B,EAAE88B,cAAep1B,KAAK21B,eAAenrB,IACtDxK,KAAK41B,YAAYt9B,GAErB,EACIo9B,GAAmB,SAA0BN,EAAeS,GAC9D,IAAK,IAAI98B,EAAI,EAAGA,EAAI88B,EAAY78B,OAAQD,IAClCq8B,IAAkBS,EAAY98B,GAChC88B,EAAY98B,GAAG08B,aAAa,cAAe,SAE3CI,EAAY98B,GAAG08B,aAAa,cAAe,OAGjD,EACIK,GAAkB,CACpBtrB,GAAI,uCACJnM,IAAK,SAAaoK,EAAQisB,EAAOqB,GAC3B/1B,KAAKwK,MAAM/B,EACHA,EAAOzI,KAAKwK,IAClBkqB,GAASqB,EAGbt9B,OAAO2F,eAAeqK,EAAQzI,KAAKwK,GAAI,CACrC5M,cAAc,EACd3C,MAAOge,GAAgB,GAAIyb,EAAOqB,IAGvC,EACDv5B,IAAK,SAAaiM,EAAQisB,GACxB,IAAIzjB,EAAMxI,EAAOzI,KAAKwK,IACtB,QAAY7O,IAARsV,EACF,OAAOA,EAAIyjB,EAEjB,GAkEA,IAWIsB,GAAe,SAAsBC,EAAU7d,EAAS9f,GAY1D,IAXA,IAMI49B,EAEAC,EARAC,EAAwBhe,EAAQie,cAClCA,OAA0C16B,IAA1By6B,GAA2CA,EAC3DE,EAAuBle,EAAQme,YAC/BA,OAAuC56B,IAAzB26B,GAA0CA,EACtD9rB,EAAKxK,KAAKrC,MAAM6M,GAChBgsB,EAAM,KAEN/tB,EAASnQ,EAAEmQ,OAIA,OAAR+tB,GAA2B,OAAX/tB,GACrB0tB,EAAa1tB,EACb+tB,EAAM/tB,EAAO6sB,aAAa,aAAe,KACzCY,EAAQztB,EAAO6sB,aAAa,aAAe,KAC3C7sB,EAASA,EAAOguB,cAGlB,GADAhuB,EAAS0tB,GAAc79B,EAAEmQ,QACrBzI,KAAK02B,cAAcjuB,IAAY8tB,EAAnC,CAGA,IAAII,EAAiC,MAANnsB,GAAuB,MAAT0rB,GAAiBA,IAAU1rB,EACxE,GAAW,MAAPgsB,KAAiBH,GAA4C,UAA3Br2B,KAAK42B,UAAUnuB,KAAwBkuB,EAA0B,CACrG,IAAIE,EAnCQ,SAAmBv+B,GACjC,IAAIu+B,EAAQ,CAAE,EACd,IAAK,IAAIr1B,KAAOlJ,EACQ,mBAAXA,EAAEkJ,GACXq1B,EAAMr1B,GAAOlJ,EAAEkJ,GAAKyQ,KAAK3Z,GAEzBu+B,EAAMr1B,GAAOlJ,EAAEkJ,GAGnB,OAAOq1B,CACT,CAyBgBC,CAAUx+B,GACtBu+B,EAAMzB,cAAgB3sB,EACtBwtB,EAASY,EACb,CANA,CAOA,EACIE,GAAmB,SAA0BlB,EAAamB,GAC5D,IAAIC,EAAS,CAAE,EAOf,OANApB,EAAY1kB,SAAQ,SAAU1I,GAC5B,IAAIisB,EAAQjsB,EAAO6sB,aAAa0B,GAC5BtC,GAAOA,EAAMx1B,MAAM,KAAKiS,SAAQ,SAAUujB,GAC5C,OAAOuC,EAAOvC,IAAS,CAC7B,GACA,IACSuC,CACT,EACIC,GAAU,WACZ,OAAOvtB,SAASwtB,qBAAqB,QAAQ,EAC/C,EAsHA,SAASC,GAAa9+B,EAAGmQ,EAAQvG,EAAMm1B,EAAOC,EAAcC,EAAQjf,GAClE,IAAIkf,EAAiBC,GAAcv1B,GACjCw1B,EAAWF,EAAe3wB,MAC1B8wB,EAAYH,EAAe1wB,OACzB8wB,EAAkBH,GAAchvB,GAClCovB,EAAcD,EAAgB/wB,MAC9BixB,EAAeF,EAAgB9wB,OAC7BixB,EAAoBC,GAAiB1/B,EAAGmQ,EAAQ8uB,GAClDU,EAASF,EAAkBE,OAC3BC,EAASH,EAAkBG,OACzBC,EAAgBC,GAAmBb,EAAQM,EAAaC,EAAcJ,EAAUC,GAChFU,EAAmBC,GAAgBhgB,GACrCigB,EAAeF,EAAiBE,aAChCC,EAAeH,EAAiBG,aAC9BC,EAAchvB,OAAOivB,WACrBC,EAAelvB,OAAOmvB,YACtBC,EAAaC,GAAU52B,GACzB62B,EAAYF,EAAWE,UACvBC,EAAaH,EAAWG,WAGtBC,EAAmB,SAA0B5B,GAC/C,IAAI6B,EAAUf,EAAcd,GAAO7pB,EACnC,OAAOyqB,EAASiB,EAAUX,CAC3B,EAKGY,EAAkB,SAAyB9B,GAC7C,IAAI+B,EAAUjB,EAAcd,GAAO9+B,EACnC,OAAO2/B,EAASkB,EAAUZ,CAC3B,EAuBGa,EAAe,SAAsB7gC,GACvC,OA/BsB,SAA2B6+B,GACjD,IAAI6B,EAAUf,EAAcd,GAAOzpB,EACnC,OAAOqqB,EAASiB,EAAUX,CAC3B,CA4BQe,CAAkB9gC,GAAKigC,CAC/B,EAIGc,EAAgB,SAAuB/gC,GACzC,OA7BuB,SAA4B6+B,GACnD,IAAI+B,EAAUjB,EAAcd,GAAOlqB,EACnC,OAAO+qB,EAASkB,EAAUZ,CAC3B,CA0BQgB,CAAmBhhC,GAAKmgC,CAChC,EAGGc,EAAU,SAAiBjhC,GAC7B,OAfgB,SAAqBA,GACrC,OAAOygC,EAAiBzgC,GAAK,CAC9B,CAaQkhC,CAAYlhC,IAAM6gC,EAAa7gC,IATvB,SAAoBA,GACnC,OAAO2gC,EAAgB3gC,GAAK,CAC7B,CAO6CmhC,CAAWnhC,IAAM+gC,EAAc/gC,EAC5E,EACGohC,EAAS,SAAgBphC,GAC3B,OAAQihC,EAAQjhC,EACjB,EACGqhC,EAAgB,CAClBC,IAAKF,EAAO,OACZG,OAAQH,EAAO,UACfI,KAAMJ,EAAO,QACbK,MAAOL,EAAO,UAmBhB,IAEIM,EAFAC,EAjBJ,WACE,IAEEC,EADEC,EAAYtf,GADAuc,EAAap4B,MAAM,KAAKosB,OAAO+L,EAAO,CAAC,MAAO,SAAU,OAAQ,WAGhF,IACE,IAAKgD,EAAUhiC,MAAO+hC,EAAQC,EAAU3sB,KAAK9K,MAAO,CAClD,IAAIoJ,EAAIouB,EAAMn/B,MACd,GAAI4+B,EAAc7tB,GAAI,OAAOA,CACrC,CAEK,CAAC,MAAOqF,GACPgpB,EAAU/hC,EAAE+Y,EAClB,CAAc,QACRgpB,EAAUhtB,GAChB,CACI,OAAOgqB,CACX,CACeiD,GACTC,GAAa,EAMjB,OAJIJ,GAAUA,IAAW9C,IACvBkD,GAAa,EACbL,EAAWC,GAETI,EACK,CACLA,YAAY,EACZC,SAAU,CACRnD,MAAO6C,IAIN,CACLK,YAAY,EACZE,SAAU,CACRT,KAAMjxB,SAASkwB,EAAiB5B,GAAS2B,EAAY,IACrDc,IAAK/wB,SAASowB,EAAgB9B,GAAS0B,EAAW,KAGxD,CACA,IAAItB,GAAgB,SAAuBv1B,GACzC,IAAIw4B,EAAwBx4B,EAAKy4B,wBAC/B7zB,EAAS4zB,EAAsB5zB,OAC/BD,EAAQ6zB,EAAsB7zB,MAChC,MAAO,CACLC,OAAQiC,SAASjC,EAAQ,IACzBD,MAAOkC,SAASlC,EAAO,IAE3B,EAGImxB,GAAmB,SAA0B1/B,EAAG88B,EAAemC,GACjE,IAAIqD,EAAqBxF,EAAcuF,wBACnCE,EAAYD,EAAmBd,IAC/BgB,EAAaF,EAAmBZ,KAChCe,EAAkBtD,GAAcrC,GAClCyC,EAAckD,EAAgBl0B,MAC9BixB,EAAeiD,EAAgBj0B,OACjC,MAAe,UAAXywB,EACK,CACLU,OAAQ3/B,EAAE0iC,QACV9C,OAAQ5/B,EAAE2iC,SAGP,CACLhD,OAAQ6C,EAAajD,EAAc,EACnCK,OAAQ2C,EAAY/C,EAAe,EAEvC,EAIIM,GAAqB,SAA4Bb,EAAQM,EAAaC,EAAcJ,EAAUC,GAChG,IAAImC,EACAG,EACAF,EACAC,EAwDJ,MAnDe,UAAXzC,GACFuC,EAAM,CACJtsB,GAAKkqB,EAAW,EAChB9pB,EAAG8pB,EAAW,EACdn/B,IAAKo/B,EARQ,EACI,GAQjBxqB,GAAG,GAEL4sB,EAAS,CACPvsB,GAAKkqB,EAAW,EAChB9pB,EAAG8pB,EAAW,EACdn/B,EAAG2iC,GACH/tB,EAAGwqB,EAfU,EACI,EACF,IAejBqC,EAAO,CACLxsB,IAAKkqB,EAlBQ,EACI,GAkBjB9pB,GAAc,EACdrV,GAAKo/B,EAAY,EACjBxqB,EAAGwqB,EAAY,GAEjBsC,EAAQ,CACNzsB,EAxBa,EAyBbI,EAAG8pB,EAzBU,EACI,EAyBjBn/B,GAAKo/B,EAAY,EACjBxqB,EAAGwqB,EAAY,IAEG,UAAXJ,IACTuC,EAAM,CACJtsB,GAAKkqB,EAAW,EAChB9pB,EAAG8pB,EAAW,EACdn/B,IAAKu/B,EAAe,EAAIH,EAhCP,GAiCjBxqB,GAAK2qB,EAAe,GAEtBiC,EAAS,CACPvsB,GAAKkqB,EAAW,EAChB9pB,EAAG8pB,EAAW,EACdn/B,EAAGu/B,EAAe,EAClB3qB,EAAG2qB,EAAe,EAAIH,EAvCL,GAyCnBqC,EAAO,CACLxsB,IAAKkqB,EAAWG,EAAc,EA1Cb,GA2CjBjqB,GAAKiqB,EAAc,EACnBt/B,GAAKo/B,EAAY,EACjBxqB,EAAGwqB,EAAY,GAEjBsC,EAAQ,CACNzsB,EAAGqqB,EAAc,EACjBjqB,EAAG8pB,EAAWG,EAAc,EAjDX,EAkDjBt/B,GAAKo/B,EAAY,EACjBxqB,EAAGwqB,EAAY,IAGZ,CACLmC,IAAKA,EACLC,OAAQA,EACRC,KAAMA,EACNC,MAAOA,EAEX,EAGI3B,GAAkB,SAAyBhgB,GAC7C,IAAIigB,EAAe,EACfC,EAAe,EAInB,IAAK,IAAIh3B,IAHuC,oBAA5C/I,OAAOC,UAAUuP,SAAS8Q,MAAMT,KAClCA,EAASjD,KAAK8lB,MAAM7iB,EAAOrQ,WAAW3I,QAAQ,KAAM,OAEtCgZ,EACF,QAAR9W,EACFg3B,GAAgBzvB,SAASuP,EAAO9W,GAAM,IACrB,WAARA,EACTg3B,GAAgBzvB,SAASuP,EAAO9W,GAAM,IACrB,SAARA,EACT+2B,GAAgBxvB,SAASuP,EAAO9W,GAAM,IACrB,UAARA,IACT+2B,GAAgBxvB,SAASuP,EAAO9W,GAAM,KAG1C,MAAO,CACL+2B,aAAcA,EACdC,aAAcA,EAElB,EAGIM,GAAY,SAAmB1D,GAEjC,IADA,IAAIgG,EAAgBhG,EACbgG,GAAe,CACpB,IAAIC,EAAgB5xB,OAAO6xB,iBAAiBF,GAG5C,GAAoD,SAAhDC,EAAcE,iBAAiB,cAA6E,cAAlDF,EAAcE,iBAAiB,eAAgC,MAC7HH,EAAgBA,EAAc3E,aAClC,CAGE,MAAO,CACLsC,UAHcqC,GAAiBA,EAAcT,wBAAwBb,KAAO,EAI5Ed,WAHeoC,GAAiBA,EAAcT,wBAAwBX,MAAQ,EAKlF,EAeA,SAASwB,GAAWhF,EAAK51B,EAAU66B,EAAYC,GAC7C,GAAI96B,EAAU,OAAOA,EACrB,GAAI66B,QAAiD,OAAOA,EAC5D,GAAmB,OAAfA,EAAqB,OAAO,KAEhC,IAAIE,EAAS,aACb,OAAKD,GAA2B,UAAdA,GAA0BC,EAAOvgB,KAAKob,GAMjDA,EAAIt3B,MAAMy8B,GAAQ1qB,KAAI,SAAUjF,EAAGjT,GACxC,OAAoBqK,EAAM4gB,cAAc,OAAQ,CAC9CxiB,IAAKzI,EACL0N,UAAW,cACVuF,EACP,IATWwqB,CAUX,CAQA,SAASoF,GAAUj+B,GACjB,IAAIk+B,EAAU,CAAE,EAOhB,OANApjC,OAAOuI,KAAKrD,GAAOuD,QAAO,SAAU46B,GAElC,MAAO,sBAAsB1gB,KAAK0gB,EACtC,IAAK3qB,SAAQ,SAAU2qB,GACnBD,EAAQC,GAAQn+B,EAAMm+B,EAC1B,IACSD,CACT,CAQA,SAASE,GAAiBC,GACxB,IAAIhjC,EAASgjC,EAAShjC,OACtB,OAAIgjC,EAASrjC,eACJ8K,MAAM/K,UAAUyiB,MAAMviB,KAAKojC,GAE7B,IAAIv4B,MAAMzK,GAAQijC,OAAOhrB,KAAI,SAAUqZ,GAC5C,OAAO0R,EAAS1R,EACpB,GACA,CAMA,IAKI4R,GAAgB,CAClBC,KAAM,CACJ9pB,KAAM,OACN+pB,WAAY,OACZC,OAAQ,cACRC,MAAO,QAETC,QAAS,CACPlqB,KAAM,OACN+pB,WAAY,UACZC,OAAQ,cACRC,MAAO,WAETE,QAAS,CACPnqB,KAAM,OACN+pB,WAAY,UACZC,OAAQ,cACRC,MAAO,WAETliC,MAAO,CACLiY,KAAM,OACN+pB,WAAY,UACZC,OAAQ,cACRC,MAAO,WAETr/B,KAAM,CACJoV,KAAM,OACN+pB,WAAY,UACZC,OAAQ,cACRC,MAAO,WAETG,MAAO,CACLpqB,KAAM,OACN+pB,WAAY,OACZC,OAAQ,cACRC,MAAO,SAMX,IAoDII,GAAQC,GApDRC,GAAkB,WAClBC,GAAiB,CACnBC,QAAS,EACTR,MAAO,GAMT,SAASS,GAAqBC,EAAMC,EAAc1jC,EAAM2jC,EAAWC,EAASC,GAC1E,OAMF,SAAuBJ,EAAMK,GAC3B,IAAIF,EAAUtrB,UAAU7Y,OAAS,QAAsB2C,IAAjBkW,UAAU,GAAmBA,UAAU,GAAK+qB,GAC9EQ,EAASvrB,UAAU7Y,OAAS,QAAsB2C,IAAjBkW,UAAU,GAAmBA,UAAU,GAAKgrB,GAC7ES,EAAYD,EAAOhrB,KACnBkrB,EAAkBF,EAAOjB,WACzBoB,EAAcH,EAAOhB,OACrBoB,EAAaJ,EAAOf,MACpBoB,EAAcN,EAAOd,MACrBqB,EAAgBP,EAAON,QAC3B,MAAO,UAAUxR,OAAO0R,EAAM,qBAAqB1R,OAAOgS,EAAW,yBAAyBhS,OAAOiS,EAAiB,+BAA+BjS,OAAOkS,EAAa,4BAA4BlS,OAAOqS,EAAe,wBAAwBrS,OAAO6R,EAAS,qBAAqB7R,OAAO0R,EAAM,0DAA0D1R,OAAO0R,EAAM,+LAAiM1R,OAAO0R,EAAM,0JAA4J1R,OAAOoS,EAAa,mCAAmCpS,OAAOkS,EAAa,iCAAiClS,OAAOmS,EAAY,sJAAsJnS,OAAO0R,EAAM,4DAA4D1R,OAAO0R,EAAM,mMAAqM1R,OAAO0R,EAAM,6JAA+J1R,OAAOoS,EAAa,mCAAmCpS,OAAOkS,EAAa,iCAAiClS,OAAOmS,EAAY,kJAAkJnS,OAAO0R,EAAM,4DAA4D1R,OAAO0R,EAAM,iMAAmM1R,OAAO0R,EAAM,2JAA6J1R,OAAOoS,EAAa,mCAAmCpS,OAAOkS,EAAa,iCAAiClS,OAAOmS,EAAY,kJAAkJnS,OAAO0R,EAAM,4DAA4D1R,OAAO0R,EAAM,kMAAoM1R,OAAO0R,EAAM,4JAA8J1R,OAAOoS,EAAa,mCAAmCpS,OAAOkS,EAAa,iCAAiClS,OAAOmS,EAAY,6IAC79F,CAhBSG,CAAcZ,EAiBvB,SAAwBC,EAAc1jC,EAAM2jC,GAC1C,IAAII,EAAYL,EAAa5qB,KACzBkrB,EAAkBN,EAAab,WAC/BoB,EAAcP,EAAaZ,OAC3BoB,EAAaR,EAAaX,MAAQW,EAAaX,MAAQW,EAAab,WACpEiB,EAnCN,SAA+B9jC,GAC7B,OAAO2iC,GAAc3iC,GAAQyf,GAAe,CAAE,EAAEkjB,GAAc3iC,SAASoC,CACzE,CAiCekiC,CAAsBtkC,GAC/B+jC,IACFD,EAAOhrB,KAAOirB,GAEZC,IACFF,EAAOjB,WAAamB,GAElBL,IAEAG,EAAOhB,OADLmB,IAGuB,UAATjkC,EAAmB,QAAU,UAG7CkkC,IACFJ,EAAOf,MAAQmB,GAEjB,OAAOJ,CACT,CAxC6BS,CAAeb,EAAc1jC,EAAM2jC,GAAYC,EAASC,EACrF,CA4CA,IA9duB30B,GA8dnBs1B,GA1yBJ,SAAwBt1B,GAKtBA,EAAOu1B,KAAO,SAAUv1B,GACtB8rB,GAAoBJ,GAAgBC,KAAM,CACxC3rB,OAAQA,GAEX,EAMDA,EAAOw1B,QAAU,WACf1J,GAAoBJ,GAAgBE,QACrC,EAMD5rB,EAAOysB,KAAO,SAAUzsB,GACtB8rB,GAAoBJ,GAAgBG,KAAM,CACxC7rB,OAAQA,GAEX,EACDA,EAAO/P,UAAUwlC,cAAgB,WAC3Bl+B,KAAKm+B,QACPn+B,KAAKo+B,iBACLp+B,KAAKq+B,eAER,EACD51B,EAAO/P,UAAU4lC,WAAa,SAAU5J,GACtC,GAAI10B,KAAKm+B,MAAO,CACd,IAAII,KAAY7J,GAASA,EAAME,QAAUF,EAAME,OAAOnsB,QAGtDzI,KAAK41B,YAAY,CACfR,cAAemJ,GAAa7J,EAAME,OAAOnsB,SACxC,EACT,CACG,EACDA,EAAO/P,UAAU8lC,WAAa,SAAU9J,GACtC,GAAI10B,KAAKm+B,MAAO,CACd,IAAII,KAAY7J,GAASA,EAAME,QAAUF,EAAME,OAAOnsB,QACtDzI,KAAKw1B,YAAY,CACfJ,cAAemJ,GAAa7J,EAAME,OAAOnsB,QACxC81B,EACT,CACG,CACH,CAsvBmBE,CAAc/B,GAjvBjC,SAAyBj0B,GACvBA,EAAO/P,UAAUgmC,iBAAmB,SAAUC,GAE5Cl1B,OAAOm1B,oBAAoBzK,GAAgBC,KAAMp0B,KAAKw+B,YACtD/0B,OAAOK,iBAAiBqqB,GAAgBC,KAAMp0B,KAAKw+B,YAAY,GAG/D/0B,OAAOm1B,oBAAoBzK,GAAgBE,QAASr0B,KAAKk+B,eACzDz0B,OAAOK,iBAAiBqqB,GAAgBE,QAASr0B,KAAKk+B,eAAe,GAGrEz0B,OAAOm1B,oBAAoBzK,GAAgBG,KAAMt0B,KAAKs+B,YACtD70B,OAAOK,iBAAiBqqB,GAAgBG,KAAMt0B,KAAKs+B,YAAY,GAG3DK,IACFl1B,OAAOm1B,oBAAoB,SAAU5+B,KAAK6+B,gBAC1Cp1B,OAAOK,iBAAiB,SAAU9J,KAAK6+B,gBAAgB,GAE1D,EACDp2B,EAAO/P,UAAUomC,mBAAqB,WACpCr1B,OAAOm1B,oBAAoBzK,GAAgBC,KAAMp0B,KAAKw+B,YACtD/0B,OAAOm1B,oBAAoBzK,GAAgBE,QAASr0B,KAAKk+B,eACzDz0B,OAAOm1B,oBAAoBzK,GAAgBG,KAAMt0B,KAAKs+B,YACtD70B,OAAOm1B,oBAAoB,SAAU5+B,KAAK6+B,eAC3C,EAKDp2B,EAAO/P,UAAUmmC,eAAiB,WAC3B7+B,KAAKm+B,OACVn+B,KAAKw1B,aACN,CACH,CA+sB0CuJ,CAAerC,GAzpBzD,SAAsBj0B,GACpBA,EAAO/P,UAAUg+B,cAAgB,SAAUsI,GAEzC,OADYh/B,KAAK8nB,MAAM4M,SACLsK,EAAI1J,aAAa,aACpC,EAGD7sB,EAAO/P,UAAUumC,mBAAqB,SAAUD,GAC9C,IAAIE,EAAQl/B,KACRm/B,EAAcn/B,KAAK8nB,MACrB4M,EAAQyK,EAAYzK,MACpB0K,EAAWD,EAAYC,SACrBC,EAAYL,EAAI1J,aAAa,eAAiBZ,EAC9CO,EAAe+J,EAAI1J,aAAa,mBAAqB8J,EACzDC,EAAUngC,MAAM,KAAKiS,SAAQ,SAAUujB,GACrCsK,EAAIJ,oBAAoBlK,EAAOoB,GAAgBt5B,IAAIwiC,EAAKtK,IACxD,IAAI4K,EAAiBtK,GAAY/iB,KAAKitB,EAAOjK,GAC7Ca,GAAgBz3B,IAAI2gC,EAAKtK,EAAO4K,GAChCN,EAAIl1B,iBAAiB4qB,EAAO4K,GAAgB,EAClD,IACQrK,GACFA,EAAa/1B,MAAM,KAAKiS,SAAQ,SAAUujB,GACxCsK,EAAIJ,oBAAoBlK,EAAOwK,EAAM1J,aACrCwJ,EAAIl1B,iBAAiB4qB,EAAOwK,EAAM1J,aAAa,EACvD,GAEG,EAGD/sB,EAAO/P,UAAU6mC,qBAAuB,SAAUP,GAChD,IAAIQ,EAAex/B,KAAK8nB,MACtB4M,EAAQ8K,EAAa9K,MACrB0K,EAAWI,EAAaJ,SACtBC,EAAY3K,GAASsK,EAAI1J,aAAa,cACtCL,EAAemK,GAAYJ,EAAI1J,aAAa,kBAChD0J,EAAIJ,oBAAoBS,EAAWvJ,GAAgBt5B,IAAIwiC,EAAKtK,IACxDO,GAAc+J,EAAIJ,oBAAoB3J,EAAcj1B,KAAKw1B,YAC9D,CACH,CAmnBkEe,CAAYmG,GA7mB9E,SAAoBj0B,GAClBA,EAAO/P,UAAUy8B,UAAY,SAAUC,GACrC,OAAOA,GAAkE,SAAjDA,EAAcE,aAAa,mBAAgCt1B,KAAKrC,MAAMw3B,YAAa,CAC5G,CACH,CAymBuFA,CAAUuH,GAnmBjG,SAAoBj0B,GAClBA,EAAO/P,UAAUk+B,UAAY,SAAUxB,GAErC,OADiBA,EAAcE,aAAa,gBACvBt1B,KAAKrC,MAAM45B,QAAU,OAC3C,CACH,CA8lB0GX,CAAU8F,GApiBpH,SAAmBj0B,GACjBA,EAAO/P,UAAU+mC,WAAa,WAC5B,QAASz/B,KAAKrC,MAAM+hC,QACrB,EACDj3B,EAAO/P,UAAUinC,iBAAmB,SAAU9J,GAC5C,IAAIqJ,EAAQl/B,KACRm/B,EAAcn/B,KAAK8nB,MACrB4M,EAAQyK,EAAYzK,MACpB0K,EAAWD,EAAYC,SACvBQ,EAAuBT,EAAYS,qBACnCC,EAA0BV,EAAYU,wBACpCC,EAAO5I,KACP6I,EAAehJ,GAAiBlB,EAAa,cAC7CmK,EAAkBjJ,GAAiBlB,EAAa,kBACvC,MAATnB,IAAeqL,EAAarL,IAAS,GACzB,MAAZ0K,IAAkBY,EAAgBZ,IAAY,GAClDQ,EAAqB1gC,MAAM,KAAKiS,SAAQ,SAAUujB,GAChD,OAAOqL,EAAarL,IAAS,CACnC,IACImL,EAAwB3gC,MAAM,KAAKiS,SAAQ,SAAUujB,GACnD,OAAOsL,EAAgBtL,IAAS,CACtC,IACI10B,KAAKigC,mBAAmBH,GACxB,IAAII,EAAYlgC,KAAKmgC,kBAAoB,CAAE,EAQ3C,IAAK,IAAIC,KAPI,MAAT1L,IACFwL,EAAUG,UAAYrK,GAAa/jB,KAAKjS,KAAMA,KAAK41B,YAAa,IAChEsK,EAAUI,UAAYtK,GAAa/jB,KAAKjS,KAAMA,KAAKugC,cAAe,CAChElK,eAAe,IAEjB6J,EAAUM,SAAWxK,GAAa/jB,KAAKjS,KAAMA,KAAKw1B,YAAa,KAE9CuK,EACjBG,EAAUE,GAAUpK,GAAa/jB,KAAKjS,MAAM,SAAU1H,GACpD,IAAImoC,EAAiBnoC,EAAE88B,cAAcE,aAAa,mBAAqB8J,EACvEpK,GAAYp8B,KAAKsmC,EAAOuB,EAAgBnoC,EAChD,GAAS,CACDi+B,aAAa,IAGjB,IAAK,IAAImK,KAAWV,EAClBE,EAAUQ,GAAW1K,GAAa/jB,KAAKjS,KAAMA,KAAKw1B,YAAa,CAC7De,aAAa,IAGjB,IAAK,IAAIoK,KAAWT,EAClBJ,EAAKh2B,iBAAiB62B,EAAST,EAAUS,GAE5C,EACDl4B,EAAO/P,UAAUunC,mBAAqB,SAAUH,GAC9CA,EAAOA,GAAQ5I,KACf,IAAIgJ,EAAYlgC,KAAKmgC,kBACrB,IAAK,IAAIzL,KAASwL,EAChBJ,EAAKlB,oBAAoBlK,EAAOwL,EAAUxL,GAE7C,CACH,CA6e6HgL,EAAyC/C,GAAuB,YAj0E7L,SAAmBiE,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIlvB,UAAU,sDAEtBivB,EAASloC,UAAYD,OAAO83B,OAAOsQ,GAAcA,EAAWnoC,UAAW,CACrE8C,YAAa,CACXP,MAAO2lC,EACP9iC,UAAU,EACVF,cAAc,KAGlBnF,OAAO2F,eAAewiC,EAAU,YAAa,CAC3C9iC,UAAU,IAER+iC,GAAYjnB,GAAgBgnB,EAAUC,EAC5C,CAmzEEC,CAAU/C,EA4tBV36B,EAAM29B,WA3tBN,IAt2EoBC,EAAaC,EAAYC,EAs2EzCC,EAASnnB,GAAa+jB,GAC1B,SAASA,EAAapgC,GACpB,IAAIuhC,EA4CJ,OAl6EJ,SAAyBkC,EAAUJ,GACjC,KAAMI,aAAoBJ,GACxB,MAAM,IAAIrvB,UAAU,oCAExB,CAm3EI0vB,CAAgBrhC,KAAM+9B,IACtBmB,EAAQiC,EAAOvoC,KAAKoH,KAAMrC,IACpBmqB,MAAQ,CACZkV,KAAMr/B,EAAMq/B,MAhHT,IAAM7kB,KAiHTkf,MAAO15B,EAAM05B,OAAS,MAEtBC,aAAc35B,EAAM05B,OAAS,MAC7B99B,KAAMoE,EAAMpE,MAAQ,OAEpBg+B,OAAQ55B,EAAM45B,QAAU,QAExBrC,MAAM,EACNmH,QAAQ,EACRiF,YAAa,SACbrE,aAAc,CAAE,EAChBsE,aAAc,CAAE,EAChBjpB,OAAQ,CAAE,EACV6kB,QAASx/B,EAAMw/B,QACfqE,WAAY,GACZ/P,MAAM,EACNgQ,UAAW,EACXC,UAAW,EACXhN,MAAO/2B,EAAM+2B,OAAS,KACtB0K,SAAUzhC,EAAMyhC,UAAY,KAC5BuC,aAAc,KAEdvM,cAAe,KAEfwM,UAAWhG,GAAUj+B,GAErBkkC,YAAY,EACZC,SAAS,EACTlC,qBAAsBjiC,EAAMiiC,sBAAwB,GACpDC,wBAAyBliC,EAAMkiC,yBAA2B,GAC1DkC,cAAe,KACfC,aAAa,GAEf9C,EAAMjtB,KAAK,CAAC,cAAe,gBAAiB,cAAe,sBAAuB,oBAAqB,gBAAiB,aAAc,aAAc,iBAAkB,mBACtKitB,EAAMf,OAAQ,EACde,EAAM+C,cAAgB,KACtB/C,EAAMgD,cAAgB,KACtBhD,EAAMiD,YAAc,KACpBjD,EAAMkD,sBAAwB,KACvBlD,CACX,CA2qBE,OAhkGoB8B,EA05EPjD,EA15EoBkD,EA05EN,CAAC,CAC1Bz/B,IAAK,OACLvG,MAAO,SAAconC,GACnB,IAAIC,EAAStiC,KACbqiC,EAAYlxB,SAAQ,SAAUkO,GAC5BijB,EAAOjjB,GAAUijB,EAAOjjB,GAAQpN,KAAKqwB,EAC7C,GACA,GACK,CACD9gC,IAAK,oBACLvG,MAAO,WACL,IAAIsnC,EAAcviC,KAAKrC,MACrB4kC,EAAYC,SACZ,IAAI7D,EAAa4D,EAAY5D,WAC7B8D,EAAuBF,EAAYE,qBACrCziC,KAAKm+B,OAAQ,EACbn+B,KAAKq+B,eACLr+B,KAAK0+B,iBAAiBC,GAEjB8D,GACHziC,KAAK0iC,cAEb,GACK,CACDlhC,IAAK,uBACLvG,MAAO,WACL+E,KAAKm+B,OAAQ,EACbn+B,KAAK2iC,aACL3iC,KAAKo+B,iBACLp+B,KAAK4iC,qBAAqB5iC,KAAK8nB,MAAMsN,eACrCp1B,KAAK8+B,oBACX,GAGK,CACDt9B,IAAK,eACLvG,MAAO,WACL,IAAI4nC,EAAa7iC,KAAK6iC,WACtB,GAAKA,EAAL,CAIA,IADA,IAIIC,EAJAC,EAAaF,EAAWE,WACrBA,EAAWA,YAChBA,EAAaA,EAAWA,WAG1B,OAAQA,EAAWvnC,YAAY7B,MAC7B,IAAK,WACL,IAAK,eACL,UAAKgC,EACHmnC,EAAUC,EAAWC,KACrB,MAEF,QACEF,EAAUC,EAKd,IAAKD,EAAQG,cAAc,6BAA8B,CACvD,IAAIn+B,EAAQ6E,SAASqa,cAAc,SACnClf,EAAMo+B,YAxNA,8nCAyNNp+B,EAAM2wB,aAAa,qBAAsB,QACzCqN,EAAQhQ,YAAYhuB,EAC5B,CAxBA,CAyBA,GAMK,CACDtD,IAAK,iBACLvG,MAAO,WAEL,SADW+E,KAAK8nB,MAAMoN,OACVl1B,KAAK6iC,cAEV7iC,KAAK6iC,WAAWM,UAEfnjC,KAAK6iC,WAAWO,kBAClBpjC,KAAK6iC,WAAWM,QAAUnjC,KAAK6iC,WAAWO,kBAG1CpjC,KAAK6iC,WAAWM,QAAUnjC,KAAK6iC,WAAWQ,oBAGvCrjC,KAAK6iC,WAAWM,QAAQ,UAGvC,GAKK,CACD3hC,IAAK,iBACLvG,MAAO,SAAwBuP,GAC7B,IACI84B,EADAzN,EAAc,GAElB,GAAKrrB,EAEE,CACL,IAAI+4B,EAAU/4B,EAAGlL,QAAQ,MAAO,QAAQA,QAAQ,KAAM,OACtDgkC,EAAW,wBAAyBhY,OAAOiY,EAAS,KAC5D,MAJQD,EAAW,6BAYb,OALAvH,GAAgBpyB,SAASwtB,qBAAqB,MAAMj2B,QAAO,SAAU4B,GACnE,OAAOA,EAAQ0gC,UACvB,IAASryB,SAAQ,SAAUrO,GACnB+yB,EAAcA,EAAYvK,OAAOyQ,GAAgBj5B,EAAQ0gC,WAAWC,iBAAiBH,IAC7F,IACazN,EAAYvK,OAAOyQ,GAAgBpyB,SAAS85B,iBAAiBH,IAC1E,GAMK,CACD9hC,IAAK,eACLvG,MAAO,WACL,IAAIyoC,EAAS1jC,KACT2jC,EAAe3jC,KAAKrC,MACtB6M,EAAKm5B,EAAan5B,GAClBo5B,EAAiBD,EAAaC,eAC9BzO,EAAYwO,EAAaxO,UACvBU,EAAc71B,KAAK21B,eAAenrB,GACtCqrB,EAAY1kB,SAAQ,SAAU1I,GACe,OAAvCA,EAAO6sB,aAAa,gBACtB7sB,EAAOgtB,aAAa,cAAe,SAErCiO,EAAOG,oBAAoBp7B,GACvBi7B,EAAOhN,cAAcjuB,IACvBi7B,EAAOnE,qBAAqB92B,EAEtC,IACUzI,KAAKy/B,aACPz/B,KAAK2/B,iBAAiB9J,GAEtBA,EAAY1kB,SAAQ,SAAU1I,GAC5B,IAAIq7B,EAAgBJ,EAAOvO,UAAU1sB,GACjC8uB,EAASmM,EAAO9M,UAAUnuB,GAC1Bi7B,EAAOhN,cAAcjuB,GACvBi7B,EAAOzE,mBAAmBx2B,IAG5BA,EAAOqB,iBAAiB,aAAc45B,EAAO9N,YAAakO,GAC1Dr7B,EAAOqB,iBAAiB,QAAS45B,EAAO9N,YAAakO,GACtC,UAAXvM,GACF9uB,EAAOqB,iBAAiB,YAAa45B,EAAOnD,cAAeuD,GAE7Dr7B,EAAOqB,iBAAiB,aAAc45B,EAAOlO,YAAasO,GAC1Dr7B,EAAOqB,iBAAiB,OAAQ45B,EAAOlO,YAAasO,GAC9D,IAIUF,IACFn6B,OAAOm1B,oBAAoBgF,EAAgB5jC,KAAKw1B,aAChD/rB,OAAOK,iBAAiB85B,EAAgB5jC,KAAKw1B,YAAaL,IAI5Dn1B,KAAK+jC,oBACX,GAKK,CACDviC,IAAK,iBACLvG,MAAO,WACL,IAAI+oC,EAAShkC,KACTikC,EAAejkC,KAAKrC,MACtB6M,EAAKy5B,EAAaz5B,GAClBo5B,EAAiBK,EAAaL,eAC5B5jC,KAAKy/B,aACPz/B,KAAKigC,qBAEajgC,KAAK21B,eAAenrB,GAC1B2G,SAAQ,SAAU1I,GAC5Bu7B,EAAOH,oBAAoBp7B,GACvBu7B,EAAOtN,cAAcjuB,IAASu7B,EAAOzE,qBAAqB92B,EACxE,IAEUm7B,GAAgBn6B,OAAOm1B,oBAAoBgF,EAAgB5jC,KAAKw1B,aACpEx1B,KAAKkkC,sBACX,GAOK,CACD1iC,IAAK,sBACLvG,MAAO,SAA6BwN,GAClC,IAAIq7B,EAAgB9jC,KAAKm1B,UAAU1sB,GACnCA,EAAOm2B,oBAAoB,aAAc5+B,KAAK41B,YAAakO,GAC3Dr7B,EAAOm2B,oBAAoB,YAAa5+B,KAAKugC,cAAeuD,GAC5Dr7B,EAAOm2B,oBAAoB,aAAc5+B,KAAKw1B,YAAasO,EACjE,GACK,CACDtiC,IAAK,oBACLvG,MAAO,WACL,IAKI+2B,EALAmS,EAAenkC,KAAKrC,MACtB89B,EAAa0I,EAAa1I,WAC1B76B,EAAWujC,EAAavjC,SAW1B,OAPI66B,IAEAzJ,EADEvuB,MAAMC,QAAQ+3B,GACNA,EAAW,IAAMA,EAAW,GAAGz7B,KAAK8nB,MAAMia,eAE1CtG,EAAWz7B,KAAK8nB,MAAMia,gBAG7BvG,GAAWx7B,KAAK8nB,MAAMia,cAAenhC,EAAUoxB,EAAShyB,KAAK8nB,MAAMka,YAChF,GACK,CACDxgC,IAAK,aACLvG,MAAO,SAAoBmpC,GACzB,MAA8B,iBAAhBA,GAA4C,KAAhBA,GAAsC,OAAhBA,CACtE,GAKK,CACD5iC,IAAK,cACLvG,MAAO,SAAqB3C,EAAG+rC,GAC7B,GAAKrkC,KAAK6iC,WAAV,CAGA,GAAIwB,IAEgBrkC,KAAK21B,eAAe31B,KAAKrC,MAAM6M,IACnB85B,MAAK,SAAUtF,GAC3C,OAAOA,IAAQ1mC,EAAE88B,aAC3B,IAC0B,OAIpB,IAAImP,EAAevkC,KAAKrC,MACtB+9B,EAAY6I,EAAa7I,UACzBD,EAAa8I,EAAa9I,WACxBsG,EAAgBzpC,EAAE88B,cAAcE,aAAa,YAC7C0M,EAAc1pC,EAAE88B,cAAcE,aAAa,mBAAqBoG,IAAa,EAG7E8I,EAAgBlsC,aAAamR,OAAOg7B,YAAcJ,EAGlDK,GAAa,EACbpsC,EAAE88B,cAAcE,aAAa,oBAC/BoP,EAAkE,SAArDpsC,EAAE88B,cAAcE,aAAa,oBACR,MAAzBt1B,KAAKrC,MAAM+mC,aACpBA,EAAa1kC,KAAKrC,MAAM+mC,YAItBpsC,GAAKA,EAAE88B,eAAiB98B,EAAE88B,cAAcK,cAC1Cn9B,EAAE88B,cAAcK,aAAa,mBAAoBz1B,KAAKrC,MAAM6M,IAAMxK,KAAK8nB,MAAMkV,MAI/E,IAAI1F,EAAeh/B,EAAE88B,cAAcE,aAAa,eAAiBt1B,KAAKrC,MAAM05B,OAAS,MACjFE,EAASiN,EAAiB,QAAWxkC,KAAK42B,UAAUt+B,EAAE88B,eACtD9c,EAAShgB,EAAE88B,cAAcE,aAAa,gBAAkBt1B,KAAKrC,MAAM2a,QAAU,CAAE,EAC/EkC,EAAS4c,GAAY9+B,EAAGA,EAAE88B,cAAep1B,KAAK6iC,WAAYvL,EAAap4B,MAAM,KAAK,GAAIo4B,EAAcC,EAAQjf,GAC5GkC,EAAOigB,UAAYz6B,KAAKrC,MAAMgnC,mBAChCnqB,EAAOigB,SAAWz6B,KAAKrC,MAAMgnC,iBAAiBnqB,EAAOigB,SAAUniC,EAAGA,EAAE88B,cAAep1B,KAAK6iC,WAAYvL,EAAcA,EAAcC,EAAQjf,IAE1I,IAAI+e,EAAQ7c,EAAO+f,WAAa/f,EAAOggB,SAASnD,MAAQC,EAAap4B,MAAM,KAAK,GAGhFc,KAAK2iC,aACL,IAAIl6B,EAASnQ,EAAE88B,cACXwP,EAAc5kC,KAAK8nB,MAAMoN,KAAOzsB,EAAO6sB,aAAa,sBAAwBt1B,KAAKrC,MAAMknC,YAAc,EACrGrkC,EAAOR,KACP8kC,EAAc,WAChBtkC,EAAKukC,SAAS,CACZhD,cAAeA,EACfC,YAAaA,EACb1K,aAAcA,EACdD,MAAOA,EACP99B,KAAMkP,EAAO6sB,aAAa,cAAgB90B,EAAK7C,MAAMpE,MAAQ,OAC7D0jC,aAAc,CACZ5qB,KAAM5J,EAAO6sB,aAAa,oBAAsB90B,EAAK7C,MAAM2/B,WAAa,KACxElB,WAAY3zB,EAAO6sB,aAAa,0BAA4B90B,EAAK7C,MAAM4/B,iBAAmB,KAC1FlB,OAAQ5zB,EAAO6sB,aAAa,sBAAwB90B,EAAK7C,MAAM6/B,aAAe,KAC9ElB,MAAO7zB,EAAO6sB,aAAa,qBAAuB90B,EAAK7C,MAAM8/B,YAAc,MAE7E8D,aAAc,CACZzE,QAASr0B,EAAO6sB,aAAa,wBAA0B90B,EAAK7C,MAAMggC,eAAiB,IACnFrB,MAAO7zB,EAAO6sB,aAAa,sBAAwB90B,EAAK7C,MAAM+/B,aAAe,KAE/EnG,OAAQA,EACRjf,OAAQA,EACR6kB,QAAS10B,EAAO6sB,aAAa,iBAAmB90B,EAAK7C,MAAMw/B,QAC3D1L,MAAOhpB,EAAO6sB,aAAa,aAAoD,SAArC7sB,EAAO6sB,aAAa,aAA0B90B,EAAK7C,MAAM8zB,QAAS,EAC5GiQ,UAAWj5B,EAAO6sB,aAAa,oBAAsB90B,EAAK7C,MAAM+jC,WAAa,EAC7ED,UAAWh5B,EAAO6sB,aAAa,oBAAsB90B,EAAK7C,MAAM8jC,WAAa,EAC7EoD,YAAap8B,EAAO6sB,aAAa,sBAAwB90B,EAAK7C,MAAMknC,aAAe,EACnFxI,QAAS5zB,EAAO6sB,aAAa,eAAwD,SAAvC7sB,EAAO6sB,aAAa,eAA4B90B,EAAK7C,MAAM0+B,UAAW,EACpHiF,YAAa74B,EAAO6sB,aAAa,sBAAwB90B,EAAK7C,MAAM2jC,aAAe,SACnFE,WAAY/4B,EAAO6sB,aAAa,eAAiB90B,EAAK7C,MAAa,OAAK6C,EAAK7C,MAAM8I,WAAa,GAChGq7B,SAAUr5B,EAAO6sB,aAAa,oBAAkE,SAA5C7sB,EAAO6sB,aAAa,oBAAiC90B,EAAK7C,MAAMmkC,WAAY,EAChI1M,cAAe3sB,IACd,WACGi8B,GACFlkC,EAAKwkC,kBAAkBxkC,EAAKsnB,MAAMsN,eAEpC50B,EAAK+/B,cAAcjoC,GACfmjC,GAAch4B,MAAMC,QAAQ+3B,KAC9Bj7B,EAAK4hC,sBAAwB6C,aAAY,WACvC,GAAIzkC,EAAK29B,MAAO,CACd,IAAI+G,EAAc1kC,EAAK7C,MAAM89B,WACzB2I,EAAc5I,GAAWuG,EAAe,GAAImD,EAAY,KAAMlD,GAC9DH,EAAarhC,EAAKqhC,WAAWuC,GACjC5jC,EAAKukC,SAAS,CACZlD,WAAYA,IAEdrhC,EAAK2kC,gBACrB,CACA,GAAe1J,EAAW,IAE1B,GACO,EAGGmJ,EACF5kC,KAAKmiC,YAAciD,WAAWN,EAAaF,GAE3CE,GAtGR,CAwGA,GAKK,CACDtjC,IAAK,gBACLvG,MAAO,SAAuB3C,GAC5B,IAAI+sC,EAASrlC,KACTm/B,EAAcn/B,KAAK8nB,MACrB4Z,EAAYvC,EAAYuC,UACxBI,EAAU3C,EAAY2C,QACpBwD,EAAetlC,KAAKrC,MACtB4nC,EAAYD,EAAaC,UACzBC,EAAcF,EAAaxD,QACzBsC,EAAcpkC,KAAKylC,oBACnBC,EAAcptC,EAAE88B,eAAiB98B,EAAEmQ,OAGvC,IAAIzI,KAAK2lC,oBAKL3lC,KAAK6hC,WAAWuC,IAAgBtC,GAAW0D,GAA/C,CAGA,IAAII,EAAa5lC,KAAK8nB,MAAMoN,KAAiC,EAA1BnsB,SAAS24B,EAAW,IACnDoD,EAAc,WAChB,GAAIrhC,MAAMC,QAAQ0gC,IAAgBA,EAAYprC,OAAS,GAAKorC,EAAa,CACvE,IAAIyB,GAAeR,EAAOvd,MAAMoN,KAChCmQ,EAAON,SAAS,CACdpD,aAAcrpC,EACd88B,cAAesQ,EACfxQ,MAAM,IACL,WACDmQ,EAAOF,gBAAe,WAChBU,GAAeN,GACjBA,EAAUjtC,EAE1B,GACA,GACA,CACO,EACG0H,KAAKiiC,eACP6D,aAAa9lC,KAAKiiC,eAEhB2D,EACF5lC,KAAKiiC,cAAgBmD,WAAWN,EAAac,IAE7C5lC,KAAKiiC,cAAgB,KACrB6C,IAzBR,CA2BA,GAKK,CACDtjC,IAAK,uBACLvG,MAAO,WACM+E,KAAK8nB,MAAMoN,MACVl1B,KAAK6iC,YACf7iC,KAAK6iC,WAAW/4B,iBAAiB,aAAc9J,KAAKw1B,YAE5D,GACK,CACDh0B,IAAK,+BACLvG,MAAO,WACM+E,KAAK8nB,MAAMoN,MACVl1B,KAAK6iC,YACf7iC,KAAK6iC,WAAWjE,oBAAoB,aAAc5+B,KAAKw1B,YAE/D,GAKK,CACDh0B,IAAK,cACLvG,MAAO,SAAqB3C,EAAGimC,GAC7B,IAAIwH,EAAS/lC,KACToY,EAAUvG,UAAU7Y,OAAS,QAAsB2C,IAAjBkW,UAAU,GAAmBA,UAAU,GAAK,CAChFm0B,UAAU,GAERlE,EAAU9hC,KAAK8nB,MAAMga,QAErBL,EADWrpB,EAAQ4tB,SACI,EAAIhmC,KAAK8nB,MAAM2Z,UACtCwE,EAAejmC,KAAKrC,MACtBuoC,EAAYD,EAAaC,UACzBV,EAAcS,EAAanE,QACzBsC,EAAcpkC,KAAKylC,oBACvB,GAAKzlC,KAAKm+B,SACNn+B,KAAK6hC,WAAWuC,IAAgBtC,GAAW0D,GAA/C,CACA,GAAIjH,KAEgBv+B,KAAK21B,eAAe31B,KAAKrC,MAAM6M,IACnB85B,MAAK,SAAUtF,GAC3C,OAAOA,IAAQ1mC,EAAE88B,aAC3B,MAC6Bp1B,KAAK8nB,MAAMoN,MAAM,OAIpC58B,GAAKA,EAAE88B,eAAiB98B,EAAE88B,cAAc+Q,iBAC1C7tC,EAAE88B,cAAc+Q,gBAAgB,oBAElC,IAAIC,EAAa,WACf,IAAIC,EAAYN,EAAOje,MAAMoN,KAEzB6Q,EAAOJ,iBACTI,EAAOO,wBAGTP,EAAOQ,+BACPR,EAAOhB,SAAS,CACd7P,MAAM,IACL,WACD6Q,EAAOnD,qBAAqBmD,EAAOje,MAAMsN,eACrCiR,GAAaH,GACfA,EAAU5tC,EAEtB,IACO,EACD0H,KAAK2iC,aACDlB,EACFzhC,KAAKkiC,cAAgBkD,WAAWgB,EAAYr9B,SAAS04B,EAAW,KAEhE2E,GAnCiE,CAqCzE,GAKK,CACD5kC,IAAK,sBACLvG,MAAO,SAA6By5B,EAAO6J,GACzCv+B,KAAKw1B,YAAYd,EAAO6J,EAAW,CACjCyH,UAAU,GAElB,GAMK,CACDxkC,IAAK,oBACLvG,MAAO,SAA2Bm6B,GAChC,IAAI0O,EAAgB9jC,KAAKm1B,UAAUC,GACnC3rB,OAAOK,iBAAiB,SAAU9J,KAAKwmC,oBAAqB1C,EAClE,GACK,CACDtiC,IAAK,uBACLvG,MAAO,SAA8Bm6B,GACnC,IAAI0O,EAAgB9jC,KAAKm1B,UAAUC,GACnC3rB,OAAOm1B,oBAAoB,SAAU5+B,KAAKwmC,oBAAqB1C,EACrE,GAGK,CACDtiC,IAAK,iBACLvG,MAAO,SAAwBwrC,GAC7B,IAAIC,EAAS1mC,KACTw/B,EAAex/B,KAAK8nB,MACtB6Z,EAAenC,EAAamC,aAC5BvM,EAAgBoK,EAAapK,cAC7BiC,EAAQmI,EAAanI,MACrBC,EAAekI,EAAalI,aAC5BC,EAASiI,EAAajI,OACtBjf,EAASknB,EAAalnB,OACpBpW,EAAOlC,KAAK6iC,WACZroB,EAAS4c,GAAYuK,EAAcvM,EAAelzB,EAAMm1B,EAAOC,EAAcC,EAAQjf,GAIzF,GAHIkC,EAAOigB,UAAYz6B,KAAKrC,MAAMgnC,mBAChCnqB,EAAOigB,SAAWz6B,KAAKrC,MAAMgnC,iBAAiBnqB,EAAOigB,SAAUkH,EAAcvM,EAAelzB,EAAMm1B,EAAOC,EAAcC,EAAQjf,IAE7HkC,EAAO+f,WAET,OAAOv6B,KAAK+kC,SAASvqB,EAAOggB,UAAU,WACpCkM,EAAOvB,eAAesB,EAChC,IAEUA,GAA0C,mBAAlBA,GAC1BA,IAIFvkC,EAAK4C,MAAMk1B,KAAOxf,EAAOigB,SAAST,KAAO,KACzC93B,EAAK4C,MAAMg1B,IAAMtf,EAAOigB,SAASX,IAAM,IAC7C,GAKK,CACDt4B,IAAK,aACLvG,MAAO,WACD+E,KAAKiiC,gBACP6D,aAAa9lC,KAAKiiC,eAClBjiC,KAAKiiC,cAAgB,MAEnBjiC,KAAKkiC,gBACP4D,aAAa9lC,KAAKkiC,eAClBliC,KAAKkiC,cAAgB,MAEnBliC,KAAKmiC,cACP2D,aAAa9lC,KAAKmiC,aAClBniC,KAAKmiC,YAAc,MAEjBniC,KAAKoiC,wBACPuE,cAAc3mC,KAAKoiC,uBACnBpiC,KAAKoiC,sBAAwB,KAErC,GACK,CACD5gC,IAAK,kBACLvG,MAAO,WACL,IAAI2rC,EAAS5mC,KACb,OAAOqa,QAAQ5hB,OAAOuI,KAAKhB,KAAK8nB,MAAMmV,cAAc9M,MAAK,SAAU1kB,GACjE,MAAiB,WAAVA,GAAsBm7B,EAAO9e,MAAMmV,aAAaxxB,EAC/D,KAAYzL,KAAK8nB,MAAMuU,QAAUr8B,KAAK8nB,MAAMmV,aAAqB,OACjE,GACK,CACDz7B,IAAK,SACLvG,MAAO,WACL,IAAI4rC,EAAS7mC,KACT8mC,EAAe9mC,KAAK8nB,MACtB0Z,EAAasF,EAAatF,WAC1B/P,EAAOqV,EAAarV,KACpBmQ,EAAYkF,EAAalF,UACzBE,EAAUgF,EAAahF,QACvB9E,EAAO8J,EAAa9J,KAClBhL,EAAUhyB,KAAKylC,oBACf5D,EAAa7hC,KAAK6hC,WAAW7P,GAC7BltB,EAAQ9E,KAAKrC,MAAM8kC,qBAAuB,GAAK1F,GAAqB/8B,KAAK8nB,MAAMkV,KAAMh9B,KAAK8nB,MAAMmV,aAAcj9B,KAAK8nB,MAAMvuB,KAAMyG,KAAK8nB,MAAMuU,OAAQr8B,KAAK8nB,MAAMqV,QAASn9B,KAAK8nB,MAAMyZ,cACjLwF,EAAe,4BAA8B,IAAIzb,OAAOtrB,KAAK8nB,MAAMkV,QAASh9B,KAAK8nB,MAAMoN,MAAS4M,GAAYD,EAAuB,GAAV,UAAiB7hC,KAAK8nB,MAAMuU,OAAS,IAAMr8B,KAAK8nB,MAAMwZ,YAAc,IAAM,UAAUhW,OAAOtrB,KAAK8nB,MAAMuP,OACnO,SAAS/L,OAAOtrB,KAAKgnC,kBAAoB,SAAWhnC,KAAK8nB,MAAMvuB,OAE/DyG,KAAKrC,MAAMknC,YAAc,eAAiB,KAAO7kC,KAAKrC,MAAMspC,UAAY,eAAiB,IACrFC,EAAUlnC,KAAKrC,MAAMwpC,QACrBpJ,EAAaqJ,kBAAkBvuC,QAAQquC,GAAW,IACpDA,EAAUnJ,EAAasJ,aAAaF,SAEtC,IAAIG,EAAmB,CAACP,EAAcvF,GAAYtgC,OAAOmZ,SAASjZ,KAAK,KACvE,GAAIqwB,EAAM,CACR,IAAI8V,EAAc,GAAGjc,OAAO0G,GAAS1G,OAAOxmB,EAAQ,+BAAiCwmB,OAAOxmB,EAAO,YAAc,IACjH,OAAoB1B,EAAM4gB,cAAckjB,EAAS5tB,GAAS,CACxD7S,UAAW,GAAG6kB,OAAOgc,GACrB98B,GAAIxK,KAAKrC,MAAM6M,IAAMwyB,EACrB98B,IAAK,SAAasnC,GAChB,OAAOX,EAAOhE,WAAa2E,CACvC,GACW5F,EAAW,CACZ,UAAW,UACX6F,wBAAyB,CACvBC,OAAQH,KAGpB,CACQ,OAAoBnkC,EAAM4gB,cAAckjB,EAAS5tB,GAAS,CACxD7S,UAAW,GAAG6kB,OAAOgc,GACrB98B,GAAIxK,KAAKrC,MAAM6M,IAAMwyB,GACpB4E,EAAW,CACZ1hC,IAAK,SAAaynC,GAChB,OAAOd,EAAOhE,WAAa8E,CAC5B,EACD,UAAW,YACT7iC,GAAsB1B,EAAM4gB,cAAc,QAAS,CACrDyjB,wBAAyB,CACvBC,OAAQ5iC,GAEV,cAAe,SACbktB,EAEZ,IAhgG+CkP,EAigGzC,CAAC,CACH1/B,IAAK,YACLhF,IAAK,WACH,MAAO,CACLwgC,KAAMzlB,GAAUvD,OAChBpT,SAAU2W,GAAUrD,IACpBmjB,MAAO9f,GAAUvD,OACjBza,KAAMge,GAAUvD,OAChBujB,OAAQhgB,GAAUvD,OAClBsE,OAAQf,GAAU1U,OAClBs6B,QAAS5lB,GAAUvD,OACnB0nB,UAAWnkB,GAAU1D,KACrBwoB,OAAQ9kB,GAAU1D,KAClBytB,YAAa/pB,GAAUvD,OACvBspB,UAAW/lB,GAAUvD,OACrBupB,gBAAiBhmB,GAAUvD,OAC3BwpB,YAAajmB,GAAUvD,OACvBypB,WAAYlmB,GAAUvD,OACtB0pB,YAAanmB,GAAUvD,OACvB2pB,cAAepmB,GAAUvD,OACzBwuB,SAAUjrB,GAAU1D,KACpB+zB,MAASrwB,GAAUvD,OACnBvN,UAAW8Q,GAAUvD,OACrBxJ,GAAI+M,GAAUvD,OACdyd,KAAMla,GAAU1D,KAChB4tB,UAAWlqB,GAAUxD,OACrB8wB,YAAattB,GAAUxD,OACvB2tB,UAAWnqB,GAAUxD,OACrB2gB,MAAOnd,GAAUvD,OACjBorB,SAAU7nB,GAAUvD,OACpBmhB,UAAW5d,GAAU1D,KACrB+vB,eAAgBrsB,GAAUvD,OAC1BynB,WAAYlkB,GAAUrD,IACtBqxB,UAAWhuB,GAAUzD,KACrBoyB,UAAW3uB,GAAUzD,KACrB6wB,iBAAkBptB,GAAUzD,KAC5BguB,QAASvqB,GAAU1D,KACnB6wB,WAAYntB,GAAU1D,KACtB8qB,WAAYpnB,GAAU1D,KACtBszB,QAAS5vB,GAAUvD,OACnB0rB,SAAUnoB,GAAU1D,KACpB+rB,qBAAsBroB,GAAUvD,OAChC6rB,wBAAyBtoB,GAAUvD,OACnCizB,UAAW1vB,GAAU1D,KACrB4uB,qBAAsBlrB,GAAU1D,KAExC,GACK,CACDrS,IAAK,2BACLvG,MAAO,SAAkC4sC,EAAWC,GAClD,IAAIlG,EAAYkG,EAAUlG,UACtBmG,EAAenM,GAAUiM,GAI7B,OAHgBpvC,OAAOuI,KAAK+mC,GAAczD,MAAK,SAAU3mC,GACvD,OAAOoqC,EAAapqC,KAAWikC,EAAUjkC,EACjD,IAIaqb,GAAeA,GAAe,CAAE,EAAE8uB,GAAY,CAAA,EAAI,CACvDlG,UAAWmG,IAHJ,IAKf,IA7jGM9G,GAAY9nB,GAAkB6nB,EAAYtoC,UAAWuoC,GACrDC,GAAa/nB,GAAkB6nB,EAAaE,GAChDzoC,OAAO2F,eAAe4iC,EAAa,YAAa,CAC9CljC,UAAU,IA4jGLigC,CACT,CA7tB6L,GA6tBzK9kB,GAAgB0jB,GAAS,eAAgB,CAC3D6F,UAAU,EACV7D,YAAY,EACZwI,QAAS,MACTF,WAAW,IACThuB,GAAgB0jB,GAAS,oBAAqB,CAAC,MAAO,SAAU1jB,GAAgB0jB,GAAS,cAAe,iBAhsCrFl0B,GA8dqIi0B,GAkuB/BC,IA/rCpHjkC,UAAUqrC,mBAAqB,WACpC,IAAI7E,EAAQl/B,KACRgoC,EALCv+B,OAAOu+B,kBAAoBv+B,OAAOw+B,wBAA0Bx+B,OAAOy+B,oBAMxE,GAAwB,MAApBF,EAAJ,CACA,IAAIG,EAAW,IAAIH,GAAiB,SAAUI,GAC5C,IAAK,IAAIC,EAAK,EAAGA,EAAKD,EAAUpvC,OAAQqvC,IAEtC,IADA,IAAIC,EAAWF,EAAUC,GAChBE,EAAK,EAAGA,EAAKD,EAASE,aAAaxvC,OAAQuvC,IAElD,GADcD,EAASE,aAAaD,KACpBrJ,EAAMpX,MAAMsN,cAE1B,YADA8J,EAAM1J,aAKlB,IACI2S,EAASM,QAAQh/B,OAAOE,SAAU,CAChC++B,WAAW,EACXC,SAAS,IAEX3oC,KAAK4oC,eAAiBT,CAjBQ,CAkB/B,EAwcmIzL,QAvcpIj0B,GAAO/P,UAAUwrC,qBAAuB,WAClClkC,KAAK4oC,iBACP5oC,KAAK4oC,eAAeC,aACpB7oC,KAAK4oC,eAAiB,KAEzB,IAoqCuIlM,MAAWA,KAAWA,KAAWA,KAAWA,KAAWA,KAAWA,GCnmG5M,SAASoM,IAAqBloC,SAAEA,EAAQmoC,UAAEA,EAAU,iBAClD,MAAOC,EAAgBC,GAAqB7gC,IAkB5C,OAhBA8gC,GAAgB,KACd,IAAIpmC,EAAU6G,SAASw/B,eAAeJ,GAClCK,GAAgB,EAOpB,OANKtmC,IACHsmC,GAAgB,EAChBtmC,EAfN,SAAsCimC,GACpC,MAAMC,EAAiBr/B,SAASqa,cAAc,OAG9C,OAFAglB,EAAevT,aAAa,KAAMsT,GAClCp/B,SAASm2B,KAAKhN,YAAYkW,GACnBA,CACT,CAUgBK,CAA6BN,IAEzCE,EAAkBnmC,GAEX,KACDsmC,GAAkBtmC,GAAWA,EAAQigC,YACvCjgC,EAAQigC,WAAWuG,YAAYxmC,GAElC,GACA,CAACimC,SAE0B,IAAnBC,EACF/jC,qBAGFskC,EAAa3oC,EAAUooC,EAChC,CC3BA,MAyLaQ,GAAkB9kC,EAAO+kC,OAAuB;IACzDjkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAzEqC,EAAGkkC,iBAAgBC,gBAAeC,aAAYC,UAASC,WAC9F,IAAIhlC,EAAQ,GAmCZ,OAjCEA,GADE4kC,EACO,kBACEA,WAGH,2DAGJK,gDAKgB,SAAlBJ,EACF7kC,GAAS,6CAIkB,WAAlB6kC,IACT7kC,GAAS,oFAMQ,QAAf8kC,GAAwBC,EAC1B/kC,GAAS,+BACe+kC,UAEfC,IACThlC,GAAS,gBACAglC,YAGJhlC,CAAK;;EA+EDklC,GAAyBtlC,EAAO6H,GAAG;;;;;;;;;;;;EAcnC09B,GAAkBvlC,EAAO+kC,OAAO;;EAIhCS,GAAyBxlC,EAAO6H,GAAG;;;;;;;;;;;;;;;EAiBnC49B,GAAoBzlC,EAAO+kC,OAA2B;;IAvQxB,EAAGK,OAAMD,UAASD,aAAYQ,SAAQT,gBAAeU,iBAAgBC,oBAAmBC,YACjI,MAAMC,EAAQV,EAAQ/gC,SAAS+gC,GAAQ,EAAG,KAAO,OACjD,IAAIhlC,EAAQ,4DAGC0lC,6CAGAV,GAAQ,0QAgBLU,+CAGAX,GAAW,4MAcrBL,iEAIES,+HAIET,0FAIe,QAAfI,EAAuB,6BAA+B,sFAGtDG,sLAOAP,+CAEe,QAAfI,EAAuB,+CAA+CC,GAAW,UAAY,4CAA4CC,GAAQ,8BAC/H,6BAAXM,GAA2D,SAAlBT,EAA4B,OAA0B,SAAlBA,EAA2B,IAAM,8FAIrHH,0BACkB,6BAAXY,GAA2D,SAAlBT,EAA4B,MAAyB,SAAlBA,EAA2B,IAAM,+FAIpHH,0BACkB,6BAAXY,GAA2D,SAAlBT,GAAmD,SAAlBA,EAAL,IAAsC,0CAkC5H,MA7Be,6BAAXS,IACFtlC,GAAS,mCAELmlC,kDAKFI,IACFvlC,GAAS,kBACEulC,WAGTC,IACFxlC,GAAS,sBACMwlC,WAGH,WAAVC,IACFzlC,GAAS,uEAEH0kC,oHAQD1kC,CAAK;;;QA8JN0kC;;;;;;;EASKiB,GAAgB/lC,EAAO6H,GAAG;;;EAK1Bm+B,GAAmBhmC,EAAOlM,CAAC;;;;;;;EAS3BuxC,GAAerlC,EAAO+kC,OAA2B;;;;;;;IA3IxB,EAAGc,YACvC,IAAIzlC,EAAQ,GAOZ,MANc,cAAVylC,IACFzlC,GAAS,6DAKJA,CAAK;EA6ID6lC,GAAiBjmC,EAAO+kC,OAA+B;;IA1I5B,EAAGr9B,gBACzC,IAAItH,EAAQ,+BAkBZ,MAfkB,WAAdsH,EACFtH,GAAS,yDAIc,SAAdsH,EACTtH,GAAS,+BAGc,QAAdsH,IACTtH,GAAS,sDAKJA,CAAK;EA4HD8lC,GAA0BlmC,EAAO6H,GAAG;;;;;;;QAOzCi9B;;;;ECzTFqB,GAAqB7lC,IAAA,IAAApE,SAAEA,EAAQkqC,MAAEA,EAAKC,SAAEA,EAAQV,eAAEA,EAAcC,kBAAEA,EAAiBZ,eAAEA,EAAca,MAAEA,EAAKZ,cAAEA,EAAaC,WAAEA,EAAUE,KAAEA,EAAItjC,QAAEA,EAAO4jC,OAAEA,EAAM7wC,KAAEA,EAAIyxC,SAAEA,EAAQnB,QAAEA,GAA8B7kC,EAAlBrH,EAAKvF,EAAA4M,EAA1K,kLACzBuD,GAAU,KACRw1B,GAAaE,SAAS,GACrB,IAEH,MAAMgN,EAAYrgC,EAAoB,MAEhCsgC,EAAmB,KACvB,MAAMC,EAAcxhC,SAASyhC,uBAAuB,0BAA0B,GAC9E,GAAID,EAAa,CACf,MAAME,EAAYF,EAAYxQ,wBACxB2Q,EAAqB3hC,SAASs5B,cAAc,IAAI+H,yBACtD,GAAIM,EAAoB,CACtB,MAAMC,EAAaD,EAAmBrI,cAAc,wBACpDqI,EAAmBxmC,MAAMk1B,KAAOqR,EAAUrR,KAAOqR,EAAUxkC,MAAQ0kC,EAAW5Q,wBAAwB9zB,MAAQ,KAC9GykC,EAAmBxmC,MAAMg1B,IAAMuR,EAAUvR,IAAM/wB,SAAS+gC,GAAQ,KAAO,GAAK,QAK5E0B,EAAkB,KACtB,MAAMC,EAAe9hC,SAASyhC,uBAAuB,0BACrD,GAAIK,EAAazyC,OACf,IAAK,IAAID,EAAI,EAAGA,EAAI0yC,EAAazyC,OAAQD,IACvC0yC,EAAa1yC,GAAG2yC,UAAUC,OAAO,YAGRhiC,SAASs5B,cAAc,wBAC/BrE,oBAAoB,SAAUsM,GAAkB,GACrE9F,YAAW,KACT,GAAI4F,EAAU,CACZ,MAAMM,EAAqB3hC,SAASyhC,uBAAuB,+BAC3D,GAAIE,EAAmBtyC,OACrB,IAAK,IAAID,EAAI,EAAGA,EAAIuyC,EAAmBtyC,OAAQD,IAC7CuyC,EAAmBvyC,GAAG+L,MAAMk1B,KAAO,IACnCsR,EAAmBvyC,GAAG+L,MAAMg1B,IAAM,IAClCwR,EAAmBvyC,GAAG2yC,UAAUC,OAAO,eAI7C,GAAG,EAGDC,EAAgCtzC,IACpC,MAAMuzC,EAAYZ,EAAUnlB,QAC5B,GAAI+lB,EAAW,CACb,MAAMC,EAAYxzC,EAAEmQ,OAAuBsjC,QAAQ,IAAIF,EAAUH,UAAU,MAC3E,IAAKI,EACH,OAEF,MAAMX,EAAcW,EAASC,QAAQ,kBACrC,GAAIZ,EAAa,CACf,MAAMa,EAAYb,EAAYO,UAAUO,SAAS,YAC3CZ,EAAYF,EAAYxQ,wBAEzBqR,GA6BHb,EAAYO,UAAUC,OAAO,YAC7BvG,YAAW,KACT,GAAI4F,EAAU,CACZ,MAAMM,EAAqB3hC,SAASs5B,cAAc,IAAI+H,yBAChDkB,EAAuBviC,SAASs5B,cAAc,wBAC9CsI,EAAaD,EAAmBrI,cAAc,wBAChDqI,IACFA,EAAmBI,UAAUC,OAAO,YACpCL,EAAmBxmC,MAAMk1B,KAAO,MAChCsR,EAAmBxmC,MAAMg1B,IAAM,MAC3ByR,GACFW,EAAqBtN,oBAAoB,SAAUsM,GAAkB,OAI1E,MA3CHM,IACAL,EAAYO,UAAUS,IAAI,YAC1B/G,YAAW,KACT,GAAI4F,EAAU,CACZ,MAAMM,EAAqB3hC,SAASs5B,cAAc,IAAI+H,yBAChDkB,EAAuBviC,SAASs5B,cAAc,wBAC9CsI,EAAaD,EAAmBrI,cAAc,wBAChDqI,IACED,IACEE,EACFnG,YAAW,KACTmG,EAAWzmC,MAAMm1B,MAAQ,OACzBqR,EAAmBxmC,MAAMk1B,KAAOqR,EAAUrR,KAAOqR,EAAUxkC,MAAQ0kC,EAAW5Q,wBAAwB9zB,MAAQ,KAC9GykC,EAAmBxmC,MAAMg1B,IAAMuR,EAAUvR,IAAM/wB,SAAS+gC,GAAQ,KAAO,GAAK,KAC5EwB,EAAmBxmC,MAAMsnC,OAAS,IAClCF,EAAqBpiC,iBAAiB,SAAUohC,GAAkB,EAAK,GACtE,KAEHI,EAAmBxmC,MAAMk1B,KAAOqR,EAAUrR,MAASjxB,SAAS2gC,GAAkB,KAAO2B,EAAUxkC,OAAS,EAAK,KAC7GykC,EAAmBxmC,MAAMg1B,IAAOuR,EAAUvR,IAAMuR,EAAUvkC,OAAU,OAGxEwkC,EAAmBI,UAAUS,IAAI,gBAGpC,IACH3lC,GAAWA,EAAQlO,OA2D3BiQ,GAAU,KACR68B,YAAW,KACT,MAAMiH,EAAsB1iC,SAAS85B,iBAAiB,iCACtD,IAAK,IAAI6H,KAAsBe,EAC7Bf,GAAsBA,EAAmBxhC,iBAAiB,cAAe4qB,IACvE,MAAM/J,EAAK+J,EAAMjsB,OACjBkiB,EAAG+gB,UAAUS,IAAI,YACjBxhB,EAAG+gB,UAAUS,IAAI,eAAe,IAElCb,GAAsBA,EAAmBxhC,iBAAiB,cAAe4qB,IACvE,MAAM/J,EAAK+J,EAAMjsB,OACjBkiB,EAAG+gB,UAAUC,OAAO,YACpBhhB,EAAG+gB,UAAUC,OAAO,gBACpBhhB,EAAG7lB,MAAMk1B,KAAO,IAChBrP,EAAG7lB,MAAMg1B,IAAM,GAAG,MAGrB,GACI,KACL,MAAMuS,EAAsB1iC,SAAS85B,iBAAiB,iCACtD,IAAK,IAAI6H,KAAsBe,EAC7Bf,GAAsBA,EAAmB1M,oBAAoB,cAAelK,IAC1E,MAAM/J,EAAK+J,EAAMjsB,OACjBkiB,EAAG+gB,UAAUS,IAAI,YACjBxhB,EAAG+gB,UAAUS,IAAI,eAAe,IAC/B,GACHb,GAAsBA,EAAmB1M,oBAAoB,cAAelK,IAC1E,MAAM/J,EAAK+J,EAAMjsB,OACjBkiB,EAAG+gB,UAAUC,OAAO,YACpBhhB,EAAG+gB,UAAUC,OAAO,gBACpBhhB,EAAG7lB,MAAMk1B,KAAO,IAChBrP,EAAG7lB,MAAMg1B,IAAM,GAAG,IACjB,MAGN,CAACkR,IAEJ,MAsBMsB,EAAqB,EAAarnC,EAACjB,IAAA0mC,aAAkBK,IAA+B,KACpFwB,EAAkB,EAAU1hC,EAAAA,KAAC4/B,GAAe,CAAA7pC,SAAA,CAAAkqC,MAAQwB,KAAsC,KAC1FE,EAAwB5rC,EAASM,QAAQmB,GAAeC,EAAeD,GAAiD,YAAtCA,EAAM1E,MAAc,cAA+B,OACrI8uC,EAAqBD,GAAyBlqC,EAAekqC,EAAsB,IAC9E,UAATjzC,EACEsR,EAAAA,KAACq/B,GAAsB,CAAAtpC,SAAA,CACrBqE,MAACglC,kBAAgBxjC,UAAU,uBAA0BukC,GAAY,CAAE0B,aArGvCp0C,IAChC,MAAMuzC,EAAYZ,EAAUnlB,QAC5B,GAAI+lB,EAAW,CACb,MAAMC,EAAYxzC,EAAEmQ,OAAuBsjC,QAAQ,IAAIF,EAAUH,UAAU,MAC3E,IAAKI,EACH,OAEF,MAAMO,EAAsB1iC,SAAS85B,iBAAiB,uBACtD,IAAK,MAAM6H,KAAsBe,EAC/Bf,EAAmBI,UAAUC,OAAO,YACpCL,EAAmBxmC,MAAMk1B,KAAO,IAChCsR,EAAmBxmC,MAAMg1B,IAAM,IAEjC,MAAMqR,EAAcW,EAASC,QAAQ,kBACrC,GAAIZ,EAAa,CACf,MAAME,EAAYF,EAAYxQ,wBACxB2Q,EAAqB3hC,SAASs5B,cAAc,IAAI+H,yBACtD,GAAIM,EAAoB,CACtB,GAAID,EAAW,CACbC,EAAmBxmC,MAAMk1B,KAAOqR,EAAUrR,MAASjxB,SAAS2gC,GAAkB,KAAO2B,EAAUxkC,OAAS,EAAK,KAC7G,IAAI8lC,EAAatB,EAAUvR,IAAMuR,EAAUvkC,OAC3C,MAAM8lC,EAAoBtB,EAAmBrI,cAAc,wBACvD2J,IACFA,EAAkB9nC,MAAM+tB,QAAU,QAC7B8Z,EAAaC,EAAkBC,cAAiBljC,SAASm2B,KAAK+M,eACjEF,EAAatB,EAAUvR,IAAM8S,EAAkBC,aAAe,KAGlEvB,EAAmBxmC,MAAMg1B,IAAM6S,EAAa,KAE9CrB,EAAmBI,UAAUS,IAAI,gBAuE4DW,aA5BnEx0C,IAChC,MAAMuzC,EAAYZ,EAAUnlB,QAC5B,GAAI+lB,EAAW,CAEb,IADkBvzC,EAAEmQ,OAAuBsjC,QAAQ,IAAIF,EAAUH,UAAU,MAEzE,OAEFtG,YAAW,KACT,MAAMkG,EAAqB3hC,SAASs5B,cAAc,IAAI+H,yBAClDM,IAAuBA,EAAmBI,UAAUO,SAAS,kBAC/DX,EAAmBI,UAAUC,OAAO,YACpCL,EAAmBxmC,MAAMk1B,KAAO,IAChCsR,EAAmBxmC,MAAMg1B,IAAM,OAEhC,QAc0H,CAAAl5B,SAAI4rC,EAAsB,GAAG7uC,MAAciD,YACtKqE,EAAAA,IAACglC,IAAgBxjC,UAAU,4BAA4BvG,IAAK+qC,EAAWzkC,QAASolC,EAAoBhrC,SAAA4rC,EAAsB,GAAG7uC,MAAciD,cAE3IqE,EAAAA,IAACglC,GAAe,CAAC/pC,IAAK+qC,EAAWzkC,QAASolC,EAAqBhrC,SAAA4rC,EAAsB,GAAG7uC,MAAciD,WAC1G,KACImsC,EAAqBnsC,EAASM,QAAQmB,GAAeC,EAAeD,GAAiD,SAAtCA,EAAM1E,MAAc,cAA4B,OAC/HqvC,EAAkBD,GAAsBzqC,EAAeyqC,EAAmB,IAAO9nC,EAAAA,IAAC8kC,GAAY,CAAAQ,MAAQA,EAAK3pC,SAAImsC,EAAmB,GAAGpvC,MAAciD,WAA2B,KAC9KqsC,EAAuBrsC,EAASM,QAAQmB,GAAeC,EAAeD,GAAiD,WAAtCA,EAAM1E,MAAc,cAA8B,OACnIuvC,EAAoBD,GAAwB3qC,EAAe2qC,EAAqB,IAAOhoC,EAAAA,IAAC0lC,GAAc,CAAAv+B,UAAa6gC,EAAqB,GAAGtvC,MAAc,iBAAkB8I,UAAYwmC,EAAqB,GAAGtvC,MAAc8I,UAAS7F,SAAIqsC,EAAqB,GAAGtvC,MAAciD,WAA6B,KAE7SgsC,EAAoB/hC,EAAAA,KAAC2+B,GAAe/wC,OAAA8G,OAAA,CACdkH,UAAU,uBACNijC,GAAkB,CAAEA,eAAgBA,GACpCI,GAAQ,CAAEA,KAAMA,GAChBH,GAAiB,CAAEA,cAAeA,GAClCC,GAAc,CAAEA,WAAYA,GAC5BC,GAAW,CAAEA,QAASA,GAAS,CAAAjpC,SAAA,CAClC2rC,EACAS,EACAE,MAE7B,OACEriC,EAAA5G,KAACkmC,GAAiB1xC,OAAA8G,OAAA,CAChBkH,UAAW,kBAAiBlN,EAAO,gBAAgBA,IAAS,KACxD8wC,GAAkB,CAAEA,eAAgBA,GACpCC,GAAqB,CAAEA,kBAAmBA,GAC1CC,GAAS,CAAEA,MAAOA,GAClBT,GAAQ,CAAEA,KAAMA,GAChBM,GAAU,CAAEA,OAAQA,GACpBT,GAAiB,CAAEA,cAAeA,GAClCC,GAAc,CAAEA,WAAYA,GAC5BC,GAAW,CAAEA,QAASA,GACtBlsC,EACH,CAAAiD,SAAA,CAAA6rC,EACDxnC,EAAAA,IAAC+kC,GAAsB,CAACvjC,UAAU,sBAAsBD,QA5CpC,KACtBglC,GAAiB,IA4CbR,EAAW/lC,MAAC6jC,GAAoB,CAACC,UAAWiC,EAAQpqC,SAAEqE,MAAC2lC,GAAuB,CAACnkC,UAAW,uBAA+B,UAATlN,EAAmB,YAAc,aAAOqzC,MAAsEA,KAC9M,2CCzP+PnjC,UAAtNtF,QAA6N,SAAS7L,GAAG,OAAO,SAASA,GAAG,IAAIC,EAAE,CAAA,EAAG,SAASqV,EAAEF,GAAG,GAAGnV,EAAEmV,GAAG,OAAOnV,EAAEmV,GAAGvJ,QAAQ,IAAI8J,EAAE1V,EAAEmV,GAAG,CAAC3U,EAAE2U,EAAEF,GAAE,EAAGrJ,QAAQ,CAAE,GAAE,OAAO7L,EAAEoV,GAAG9U,KAAKqV,EAAE9J,QAAQ8J,EAAEA,EAAE9J,QAAQyJ,GAAGK,EAAET,GAAE,EAAGS,EAAE9J,OAAO,CAAC,OAAOyJ,EAAEH,EAAEnV,EAAEsV,EAAER,EAAE7U,EAAEqV,EAAE5B,EAAE,SAAS1T,EAAEC,EAAEmV,GAAGE,EAAE4L,EAAElhB,EAAEC,IAAIE,OAAO2F,eAAe9F,EAAEC,EAAE,CAACsF,YAAW,EAAGrB,IAAIkR,GAAG,EAAEE,EAAEA,EAAE,SAAStV,GAAG,oBAAoBgD,QAAQA,OAAOC,aAAa9C,OAAO2F,eAAe9F,EAAEgD,OAAOC,YAAY,CAACN,MAAM,WAAWxC,OAAO2F,eAAe9F,EAAE,aAAa,CAAC2C,OAAM,GAAI,EAAE2S,EAAErV,EAAE,SAASD,EAAEC,GAAG,GAAG,EAAEA,IAAID,EAAEsV,EAAEtV,IAAI,EAAEC,EAAE,OAAOD,EAAE,GAAG,EAAEC,GAAG,iBAAiBD,GAAGA,GAAGA,EAAE60C,WAAW,OAAO70C,EAAE,IAAIoV,EAAEjV,OAAO83B,OAAO,MAAM,GAAG3iB,EAAEA,EAAEF,GAAGjV,OAAO2F,eAAesP,EAAE,UAAU,CAAC7P,YAAW,EAAG5C,MAAM3C,IAAI,EAAEC,GAAG,iBAAiBD,EAAE,IAAI,IAAI2V,KAAK3V,EAAEsV,EAAE5B,EAAE0B,EAAEO,EAAE,SAAS1V,GAAG,OAAOD,EAAEC,EAAE,EAAE0Z,KAAK,KAAKhE,IAAI,OAAOP,CAAC,EAAEE,EAAEF,EAAE,SAASpV,GAAG,IAAIC,EAAED,GAAGA,EAAE60C,WAAW,WAAW,OAAO70C,EAAE80C,OAAO,EAAE,WAAW,OAAO90C,CAAC,EAAE,OAAOsV,EAAE5B,EAAEzT,EAAE,IAAIA,GAAGA,CAAC,EAAEqV,EAAE4L,EAAE,SAASlhB,EAAEC,GAAG,OAAOE,OAAOC,UAAUC,eAAeC,KAAKN,EAAEC,EAAE,EAAEqV,EAAEpV,EAAE,GAAGoV,EAAEA,EAAEvV,EAAE,EAAE,CAAn5B,CAAq5B,CAAC,SAASE,EAAEqV,GAAGrV,EAAE4L,QAAQ7L,CAAC,EAAE,SAASA,EAAEC,EAAEqV,GAAgBA,EAAEA,EAAErV,GAAGqV,EAAE5B,EAAEzT,EAAE,+BAA8B,WAAW,OAAOihB,CAAC,IAAG5L,EAAE5B,EAAEzT,EAAE,4BAA2B,WAAW,OAAO6U,CAAC,IAAG,IAAIM,EAAEE,EAAE,GAAG,SAASK,EAAE3V,EAAEC,GAAG,OAAO,SAASD,GAAG,GAAGmL,MAAMC,QAAQpL,GAAG,OAAOA,CAAC,CAAxC,CAA0CA,IAAI,SAASA,EAAEC,GAAG,IAAIqV,EAAE,GAAGF,GAAE,EAAGO,GAAE,EAAGuL,OAAE7d,EAAO,IAAI,IAAI,IAAIyR,EAAEC,EAAE/U,EAAEgD,OAAOiI,cAAcmK,GAAGN,EAAEC,EAAE1K,QAAQC,QAAQgL,EAAEmI,KAAK3I,EAAEnS,QAAQ1C,GAAGqV,EAAE5U,SAAST,GAAGmV,GAAE,GAAI,CAAC,MAAMpV,GAAG2V,GAAE,EAAGuL,EAAElhB,CAAC,CAAC,QAAQ,IAAIoV,GAAG,MAAML,EAAEoO,QAAQpO,EAAEoO,QAAQ,CAAC,QAAQ,GAAGxN,EAAE,MAAMuL,CAAC,CAAC,CAAC,OAAO5L,CAAC,CAA3O,CAA6OtV,EAAEC,IAAI,WAAW,MAAM,IAAIoZ,UAAU,uDAAuD,CAAtF,EAAyF,CAAC,IAAI6H,EAAE,SAASlhB,EAAEC,GAAG,IAAIqV,EAAEK,EAAEP,EAAEtF,SAAS9P,GAAG,GAAGkhB,EAAE5L,EAAE,GAAGR,EAAEQ,EAAE,GAAGP,EAAEK,EAAE9C,QAAO,GAAI,OAAO8C,EAAEw7B,iBAAgB,WAAW77B,EAAEyY,QAAQvtB,EAAEihB,GAAGnM,EAAEyY,SAAQ,CAAE,GAAE,CAACtM,EAAEjhB,IAAI,CAACihB,EAAEpM,EAAE,EAAEA,EAAE,SAAS9U,GAAG,IAAIC,EAAEmV,EAAE9C,OAAO,MAAMgD,EAAEK,EAAEP,EAAEtF,SAAS9P,GAAG,GAAGkhB,EAAE5L,EAAE,GAAGR,EAAEQ,EAAE,GAAGF,EAAEnF,WAAU,WAAWhQ,EAAEutB,UAAUvtB,EAAEutB,QAAQtM,GAAGjhB,EAAEutB,QAAQ,KAAK,GAAE,CAACtM,IAAI,IAAInM,EAAEK,EAAE2/B,aAAY,SAAS/0C,EAAEsV,GAAG,OAAOrV,EAAEutB,QAAQlY,EAAER,EAAE9U,EAAE,GAAE,IAAI,MAAM,CAACkhB,EAAEnM,EAAE,EAAE9U,EAAE60C,QAAQ,SAAS90C,EAAEC,GAAG,IAAIqV,EAAEK,EAAEP,EAAEtF,SAAS9P,GAAG,GAAGkhB,EAAE5L,EAAE,GAAGR,EAAEQ,EAAE,GAAGP,EAAEK,EAAE9C,QAAO,GAAI,OAAO8C,EAAEnF,WAAU,WAAW8E,EAAEyY,QAAQvtB,EAAEihB,GAAGnM,EAAEyY,SAAQ,CAAE,GAAE,CAACtM,EAAEjhB,IAAI,CAACihB,EAAEpM,EAAE,CAAC,GAAG,CAA9sE7U,CAAE8K,gBCmBlFiqC,GAAe,q9CCbf,MAAMC,GAAoB/oC,CAAG;;;;;;;EAQvBgpC,GAAoBhpC,CAAG;;;;;;;;;EAsGhBipC,GAAU/oC,EAAO6H,GAAyB;IA3FtB,EAAGmhC,cAClC,GAAIA,EACF,MAAO,aACDC,SAAqBC;EA2FlBD,GAAiBjpC,EAAO6H,GAAuB;;;;;;;;;IASxD,EAAGshC,YACH,GAAc,YAAVA,EACF,OAAOrpC,CAAG;;;EAMHspC,GAAiBppC,EAAO+kC,OAA6B;;;;;;;;;;;;;;;;;;;;;IAqB9D,EAAGiE,cACH,GAAIA,EACF,OAAOlpC,CAAG;;;EAMHopC,GAAmBlpC,EAAO+kC,OAA2B;;;;;;;IAO9D,EAAGoE,YACH,GAAc,YAAVA,EACF,OAAOrpC,CAAG;;YAEJspC;YACAtoC;;;;;;;;EAWCuoC,GAAiBrpC,EAAO+kC,OAA2B;;;;;;;;;;;;;;;;;;;;;IA1JxB,EAAGoE,YACzC,IAAI/oC,EAAQ,GACZ,OAAQ+oC,GACN,IAAK,UACH/oC,GAAS,g3CAcLyoC,aAEJ,MACF,IAAK,SACHzoC,GAAS,sMAQYwoC,0CAGjBC,aAEJ,MACF,IAAK,UACHzoC,GAAS,sMAQYwoC,0CAGjBC,aAEJ,MACF,IAAK,UACHzoC,GAAS,iRASY+H,6JAQjB2gC,0JAUR,OAAO1oC,CAAK;EC3GRkpC,GAAmB,EAAGC,QAAM,IAAKJ,QAAOv7B,UAAS2jB,eACrD,MAAOiY,EAAQC,GAAWC,GAAAA,0BAAkC,IACrDC,EAAiBC,GAAoBF,GAAAA,0BAAkC,IACvEG,EAAWC,GAAcJ,GAAAA,0BAAkC,GAE5DK,EAAiBpB,GAAY,KACjCmB,GAAYD,GAAW,KACN5kC,SAASwtB,qBAAqB,QAAQ,GAC9CuU,UAAUC,OAAO,cACxB1V,GAAYA,GAAU,GACtB,GACD,CAACA,EAAUuY,EAAYD,IAEpBG,EAAgBrB,GAAY,KAChCoB,GAAgB,GACf,CAACA,IAwBJ,OAtBAlmC,GAAU,KACR,MAAMomC,EAASV,GAAgB,IACzBW,EAAYjlC,SAASs5B,cAAc,uBAezC,OAdKiL,GAAWK,EASLL,GAAUK,IACnBJ,GAAWA,GAASD,GAAQ,SAC5BI,GAAoBA,GAAkBD,GAAiB,SACvDO,GAAaA,EAAUhQ,oBAAoB,QAAS8P,IAXpDP,GAASD,GAAQ,KACfU,GAAaA,EAAU9kC,iBAAiB,QAAS4kC,GACjDtJ,YAAW,KACTkJ,GAAkBD,GAAiB,KACjCjJ,YAAW,KAAOiJ,GAAmBI,KAAmBE,EAAO,GAC/D,GACD,EAAE,IAOF,KACLC,GAAaA,EAAUhQ,oBAAoB,QAAS8P,EAAc,CACnE,GACD,CAACR,EAAQG,EAAiBJ,EAAOQ,EAAgBN,EAASG,EAAkBI,EAAeH,IAG3F1jC,OAAC4iC,GAAO,CAAAC,QAAUQ,EAChBttC,SAAA,CAAAqE,EAAAA,IAAC0oC,GAAe,CAAAlnC,UAAU,uBAC1BxB,EAAAA,IAAC2oC,aACC3oC,MAAC6oC,YAAwBO,EAAeztC,SACtCiK,EAAAA,KAACkjC,GAAc,CAAAF,MAAQA,EACrBjtC,SAAA,CAAAqE,EAAAjB,IAAA,IAAA,CAAA,GACCsO,EACDrN,MAACyG,EAAe,CAAAR,MAAO,0BAA0B1E,QAASioC,aAIxD,ECxDP,IAAII,IACX,SAAWA,GAEPA,EAAkB,KAAI,OAEtBA,EAAkB,KAAI,OAEtBA,EAAuB,UAAI,YAE3BA,EAAqB,QAAI,UAEzBA,EAAoB,OAAI,SAExBA,EAAmB,MAAI,QAEvBA,EAAiB,IAAI,MAErBA,EAAmB,MAAI,QAEvBA,EAAqB,QAAI,SAC5B,CAnBD,CAmBGA,KAAgBA,GAAc,CAAA,IAa1B,MAAMC,GAAOD,GAAYC,KAEnBC,GAAOF,GAAYE,KAEnBC,GAAYH,GAAYG,UAExBC,GAAUJ,GAAYI,QAEtBC,GAASL,GAAYK,OAErBC,GAAQN,GAAYM,MAEpBC,GAAMP,GAAYO,IAElBC,GAAQR,GAAYQ,MAEpBC,GAAUT,GAAYS,QC7C5B,MAAMC,GACT,WAAA/zC,GAEIwE,KAAKwvC,OAAS,KAEdxvC,KAAKyvC,KAAO,KAEZzvC,KAAK2C,KAAO,KAEZ3C,KAAK0vC,WAAa,KAElB1vC,KAAK2vC,SAAW,IACxB,CAMI,cAAI5M,GACA,OAAO/iC,KAAKwvC,MACpB,CACI,cAAIzM,CAAWyM,GACXxvC,KAAKwvC,OAASA,CACtB,CAKI,mBAAII,GACA,OAAO5vC,KAAKyvC,IACpB,CACI,mBAAIG,CAAgBH,GAChBzvC,KAAKyvC,KAAOA,CACpB,CAKI,eAAII,GACA,OAAO7vC,KAAK2C,IACpB,CACI,eAAIktC,CAAYltC,GACZ3C,KAAK2C,KAAOA,CACpB,CAOI,SAAAmtC,CAAUC,GAAY,GAClB,OAAOD,GAAU9vC,KAAM+vC,EAC/B,EAKO,MAAMC,WAAiBT,GAI1B,WAAA/zC,CAAYsa,GACRm6B,QACAjwC,KAAK8V,KAAOA,CACpB,CAKI,aAAIo6B,GACA,OAAOlwC,KAAK8V,IACpB,CACI,aAAIo6B,CAAUp6B,GACV9V,KAAK8V,KAAOA,CACpB,EAKO,MAAMi5B,WAAaiB,GACtB,WAAAx0C,GACIy0C,SAASp+B,WACT7R,KAAKzG,KAAOs1C,GAAYE,IAChC,CACI,YAAIoB,GACA,OAAO,CACf,EAKO,MAAMlB,WAAgBe,GACzB,WAAAx0C,GACIy0C,SAASp+B,WACT7R,KAAKzG,KAAOs1C,GAAYI,OAChC,CACI,YAAIkB,GACA,OAAO,CACf,EAKO,MAAMC,WAA8BJ,GACvC,WAAAx0C,CAAY7B,EAAMmc,GACdm6B,MAAMn6B,GACN9V,KAAKrG,KAAOA,EACZqG,KAAKzG,KAAOs1C,GAAYG,SAChC,CACI,YAAImB,GACA,OAAO,CACf,EAKO,MAAME,WAAyBd,GAIlC,WAAA/zC,CAAYoF,GACRqvC,QACAjwC,KAAKY,SAAWA,CACxB,CAGI,cAAI0vC,GACA,IAAItrC,EACJ,OAAmC,QAA3BA,EAAKhF,KAAKY,SAAS,UAAuBjF,IAAPqJ,EAAgBA,EAAK,IACxE,CAEI,aAAIurC,GACA,OAAOvwC,KAAKY,SAAS5H,OAAS,EACxBgH,KAAKY,SAASZ,KAAKY,SAAS5H,OAAS,GACrC,IACd,CAKI,cAAIw3C,GACA,OAAOxwC,KAAKY,QACpB,CACI,cAAI4vC,CAAW5vC,GACXZ,KAAKY,SAAWA,CACxB,EAEO,MAAMyuC,WAAcgB,GACvB,WAAA70C,GACIy0C,SAASp+B,WACT7R,KAAKzG,KAAOs1C,GAAYQ,KAChC,CACI,YAAIc,GACA,OAAO,CACf,EAKO,MAAMM,WAAiBJ,GAC1B,WAAA70C,GACIy0C,SAASp+B,WACT7R,KAAKzG,KAAOs1C,GAAYC,IAChC,CACI,YAAIqB,GACA,OAAO,CACf,EAKO,MAAM7hC,WAAgB+hC,GAMzB,WAAA70C,CAAY7B,EAAM+2C,EAAS9vC,EAAW,GAAIrH,GAAgB,WAATI,EAC3Ck1C,GAAYK,OACH,UAATv1C,EACIk1C,GAAYM,MACZN,GAAYO,MAClBa,MAAMrvC,GACNZ,KAAKrG,KAAOA,EACZqG,KAAK0wC,QAAUA,EACf1wC,KAAKzG,KAAOA,CACpB,CACI,YAAI42C,GACA,OAAO,CACf,CAMI,WAAIQ,GACA,OAAO3wC,KAAKrG,IACpB,CACI,WAAIg3C,CAAQh3C,GACRqG,KAAKrG,KAAOA,CACpB,CACI,cAAIi3C,GACA,OAAOn4C,OAAOuI,KAAKhB,KAAK0wC,SAASz/B,KAAKtX,IAClC,IAAIqL,EAAIgD,EACR,MAAQ,CACJrO,OACAsB,MAAO+E,KAAK0wC,QAAQ/2C,GACpBylB,UAAiD,QAArCpa,EAAKhF,KAAK,6BAA0CrE,IAAPqJ,OAAgBrJ,EAASqJ,EAAGrL,GACrFiC,OAA2C,QAAlCoM,EAAKhI,KAAK,0BAAuCrE,IAAPqM,OAAgBrM,EAASqM,EAAGrO,GAClF,GAEb,EAMO,SAASk3C,GAAM3uC,GAClB,ODpMkB4uC,ECoMF5uC,GDnMH3I,OAASs1C,GAAYO,KAC9B0B,EAAKv3C,OAASs1C,GAAYK,QAC1B4B,EAAKv3C,OAASs1C,GAAYM,MAH3B,IAAe2B,CCqMtB,CAiDO,SAAShB,GAAU5tC,EAAM6tC,GAAY,GACxC,IAAIv1B,EACJ,GAvCG,SAAgBtY,GACnB,OAAOA,EAAK3I,OAASs1C,GAAYE,IACrC,CAqCQgC,CAAO7uC,GACPsY,EAAS,IAAIu0B,GAAK7sC,EAAK4T,WAEtB,GAnCF,SAAmB5T,GACtB,OAAOA,EAAK3I,OAASs1C,GAAYI,OACrC,CAiCa+B,CAAU9uC,GACfsY,EAAS,IAAIy0B,GAAQ/sC,EAAK4T,WAEzB,GAAI+6B,GAAM3uC,GAAO,CAClB,MAAMtB,EAAWmvC,EAAYkB,GAAc/uC,EAAKtB,UAAY,GACtDswC,EAAQ,IAAI5iC,GAAQpM,EAAKvI,KAAM,IAAKuI,EAAKwuC,SAAW9vC,GAC1DA,EAASuQ,SAAS9O,GAAWA,EAAMmtC,OAAS0B,IACtB,MAAlBhvC,EAAKkd,YACL8xB,EAAM9xB,UAAYld,EAAKkd,WAEvBld,EAAK,wBACLgvC,EAAM,sBAAwB,IAAKhvC,EAAK,wBAExCA,EAAK,qBACLgvC,EAAM,mBAAqB,IAAKhvC,EAAK,qBAEzCsY,EAAS02B,CACjB,MACS,GAnEF,SAAiBhvC,GACpB,OAAOA,EAAK3I,OAASs1C,GAAYQ,KACrC,CAiEa8B,CAAQjvC,GAAO,CACpB,MAAMtB,EAAWmvC,EAAYkB,GAAc/uC,EAAKtB,UAAY,GACtDswC,EAAQ,IAAI7B,GAAMzuC,GACxBA,EAASuQ,SAAS9O,GAAWA,EAAMmtC,OAAS0B,IAC5C12B,EAAS02B,CACjB,MACS,GA7CF,SAAoBhvC,GACvB,OAAOA,EAAK3I,OAASs1C,GAAYC,IACrC,CA2CasC,CAAWlvC,GAAO,CACvB,MAAMtB,EAAWmvC,EAAYkB,GAAc/uC,EAAKtB,UAAY,GACtDswC,EAAQ,IAAIT,GAAS7vC,GAC3BA,EAASuQ,SAAS9O,GAAWA,EAAMmtC,OAAS0B,IACxChvC,EAAK,YACLgvC,EAAM,UAAYhvC,EAAK,WAE3BsY,EAAS02B,CACjB,KACS,KA7DF,SAAqBhvC,GACxB,OAAOA,EAAK3I,OAASs1C,GAAYG,SACrC,CA2DaqC,CAAYnvC,GAUjB,MAAM,IAAIrG,MAAM,wBAAwBqG,EAAK3I,QAVrB,CACxB,MAAM+3C,EAAc,IAAIlB,GAAsBluC,EAAKvI,KAAMuI,EAAK4T,MACxC,MAAlB5T,EAAK,YACLovC,EAAY,UAAYpvC,EAAK,UAC7BovC,EAAY,cAAgBpvC,EAAK,cACjCovC,EAAY,cAAgBpvC,EAAK,eAErCsY,EAAS82B,CACjB,CAGA,CAMI,OALA92B,EAAOk1B,WAAaxtC,EAAKwtC,WACzBl1B,EAAOm1B,SAAWztC,EAAKytC,SACQ,MAA3BztC,EAAKqvC,qBACL/2B,EAAO+2B,mBAAqBrvC,EAAKqvC,oBAE9B/2B,CACX,CACA,SAASy2B,GAAcO,GACnB,MAAM5wC,EAAW4wC,EAAOvgC,KAAK5O,GAAUytC,GAAUztC,GAAO,KACxD,IAAK,IAAItJ,EAAI,EAAGA,EAAI6H,EAAS5H,OAAQD,IACjC6H,EAAS7H,GAAG02C,KAAO7uC,EAAS7H,EAAI,GAChC6H,EAAS7H,EAAI,GAAG4J,KAAO/B,EAAS7H,GAEpC,OAAO6H,CACX,CC7UA,MAAM6wC,GAAc,CAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,SAAS,GAEN,MAAMC,GAMT,WAAAr2C,CAAYy6B,EAAU7d,EAAS05B,GAE3B9xC,KAAK+xC,IAAM,GAEX/xC,KAAKgyC,KAAO,IAAIvB,GAASzwC,KAAK+xC,KAE9B/xC,KAAK4C,MAAO,EAEZ5C,KAAKiyC,SAAW,CAACjyC,KAAKgyC,MAEtBhyC,KAAKkyC,SAAW,KAEhBlyC,KAAKmyC,OAAS,KAES,mBAAZ/5B,IACP05B,EAAY15B,EACZA,EAAUq5B,IAEU,iBAAbxb,IACP7d,EAAU6d,EACVA,OAAWt6B,GAEfqE,KAAKi2B,SAAWA,QAA2CA,EAAW,KACtEj2B,KAAKoY,QAAUA,QAAyCA,EAAUq5B,GAClEzxC,KAAK8xC,UAAYA,QAA6CA,EAAY,IAClF,CACI,YAAAM,CAAaD,GACTnyC,KAAKmyC,OAASA,CACtB,CAEI,OAAAE,GACIryC,KAAK+xC,IAAM,GACX/xC,KAAKgyC,KAAO,IAAIvB,GAASzwC,KAAK+xC,KAC9B/xC,KAAK4C,MAAO,EACZ5C,KAAKiyC,SAAW,CAACjyC,KAAKgyC,MACtBhyC,KAAKkyC,SAAW,KAChBlyC,KAAKmyC,OAAS,IACtB,CAEI,KAAAG,GACQtyC,KAAK4C,OAET5C,KAAK4C,MAAO,EACZ5C,KAAKmyC,OAAS,KACdnyC,KAAKuyC,eAAe,MAC5B,CACI,OAAAC,CAAQp4C,GACJ4F,KAAKuyC,eAAen4C,EAC5B,CACI,UAAAq4C,GACIzyC,KAAKkyC,SAAW,KAChB,MAAMpB,EAAO9wC,KAAKiyC,SAASS,MACvB1yC,KAAKoY,QAAQu5B,iBACbb,EAAKnB,SAAW3vC,KAAKmyC,OAAOxC,UAE5B3vC,KAAK8xC,WACL9xC,KAAK8xC,UAAUhB,EAC3B,CACI,SAAA6B,CAAUh5C,EAAM+2C,GACZ,MAAMn3C,EAAOyG,KAAKoY,QAAQw5B,QAAU/C,GAAYO,SAAMzzC,EAChDmH,EAAU,IAAIwL,GAAQ3U,EAAM+2C,OAAS/0C,EAAWpC,GACtDyG,KAAK4yC,QAAQ9vC,GACb9C,KAAKiyC,SAASl8B,KAAKjT,EAC3B,CACI,MAAA+vC,CAAO/8B,GACH,MAAMo8B,SAAEA,GAAalyC,KACrB,GAAIkyC,GAAYA,EAAS34C,OAASs1C,GAAYE,KAC1CmD,EAASp8B,MAAQA,EACb9V,KAAKoY,QAAQu5B,iBACbO,EAASvC,SAAW3vC,KAAKmyC,OAAOxC,cAGnC,CACD,MAAMztC,EAAO,IAAI6sC,GAAKj5B,GACtB9V,KAAK4yC,QAAQ1wC,GACblC,KAAKkyC,SAAWhwC,CAC5B,CACA,CACI,SAAA4wC,CAAUh9B,GACN,GAAI9V,KAAKkyC,UAAYlyC,KAAKkyC,SAAS34C,OAASs1C,GAAYI,QAEpD,YADAjvC,KAAKkyC,SAASp8B,MAAQA,GAG1B,MAAM5T,EAAO,IAAI+sC,GAAQn5B,GACzB9V,KAAK4yC,QAAQ1wC,GACblC,KAAKkyC,SAAWhwC,CACxB,CACI,YAAA6wC,GACI/yC,KAAKkyC,SAAW,IACxB,CACI,YAAAc,GACI,MAAM3gC,EAAO,IAAI08B,GAAK,IAChB7sC,EAAO,IAAImtC,GAAM,CAACh9B,IACxBrS,KAAK4yC,QAAQ1wC,GACbmQ,EAAKm9B,OAASttC,EACdlC,KAAKkyC,SAAW7/B,CACxB,CACI,UAAA4gC,GACIjzC,KAAKkyC,SAAW,IACxB,CACI,uBAAAgB,CAAwBv5C,EAAMmc,GAC1B,MAAM5T,EAAO,IAAIkuC,GAAsBz2C,EAAMmc,GAC7C9V,KAAK4yC,QAAQ1wC,EACrB,CACI,cAAAqwC,CAAen4C,GACX,GAA6B,mBAAlB4F,KAAKi2B,SACZj2B,KAAKi2B,SAAS77B,EAAO4F,KAAK+xC,UAEzB,GAAI33C,EACL,MAAMA,CAElB,CACI,OAAAw4C,CAAQ1wC,GACJ,MAAMstC,EAASxvC,KAAKiyC,SAASjyC,KAAKiyC,SAASj5C,OAAS,GAC9C42C,EAAkBJ,EAAO5uC,SAAS4uC,EAAO5uC,SAAS5H,OAAS,GAC7DgH,KAAKoY,QAAQs5B,mBACbxvC,EAAKwtC,WAAa1vC,KAAKmyC,OAAOzC,YAE9B1vC,KAAKoY,QAAQu5B,iBACbzvC,EAAKytC,SAAW3vC,KAAKmyC,OAAOxC,UAEhCH,EAAO5uC,SAASmV,KAAK7T,GACjB0tC,IACA1tC,EAAKutC,KAAOG,EACZA,EAAgBjtC,KAAOT,GAE3BA,EAAKstC,OAASA,EACdxvC,KAAKkyC,SAAW,IACxB,EC/IA,MAAM55C,GAAE,MAAM,SAASoV,GAAEA,GAAG,MAAM8L,EAAE,IAAI9L,EAAEylC,SAAS76C,KAAI2Y,KAAK3Y,GAAGA,EAAEgyB,OAAO,IAAI9Q,EAAE45B,SAAU,GAAE,MAAM/6C,EAAEE,GAAEihB,EAAE,EAAEA,EAAExgB,QAAQ,OAAOV,GAAGsV,GAAEvV,EAAEC,EAAE,CAAC,SAASC,GAAED,EAAEoV,EAAEE,GAAG,GAAGA,EAAEF,GAAG,EAAE,MAAM,CAAC4K,OAAOhgB,EAAEoV,GAAG4c,MAAM5c,EAAE,GAAG,MAAM8L,EAAEsC,KAAK2N,MAAM/b,EAAEE,GAAG,GAAGvV,EAAEE,GAAED,EAAEoV,EAAE8L,GAAGhM,EAAEjV,GAAED,EAAEkhB,EAAE5L,GAAG,MAAM,CAAC0K,OAAOjgB,EAAEigB,OAAO+6B,IAAIh7C,EAAEi7C,KAAK9lC,EAAE,CAAC,SAASI,GAAEtV,EAAEoV,GAAG,OAAO,SAASpV,GAAG,OAAOG,OAAOC,UAAUC,eAAeC,KAAKN,EAAE,QAAQ,CAAlE,CAAoEA,GAAG,CAACi7C,KAAKj7C,EAAEgyB,MAAMkpB,OAAO9lC,EAAEpV,EAAEggB,QAAQ1K,GAAEtV,EAAEg7C,KAAKh7B,OAAO5K,EAAEpV,EAAEg7C,KAAKh7C,EAAE+6C,IAAI3lC,EAAE,CAAC,SAAS8L,GAAElhB,EAAEC,EAAE,GAAGqV,EAAE,IAAI,MAAM4L,EAAE,iBAAiBjhB,EAAEA,EAAEqV,EAAEJ,EAAE,iBAAiBjV,EAAEA,EAAE,GAAG6U,EAAE9U,EAAE2Y,IAAI5Y,IAAGgV,IAAImM,EAAEi6B,YAAY,OAAO,SAASn7C,EAAEC,EAAE,GAAG,MAAMqV,EAAEP,EAAEK,GAAEpV,GAAG,MAAMi7C,KAAK,EAAEC,OAAO,IAAI,IAAIh6B,EAAEjhB,EAAE,MAAMF,EAAE,GAAGC,EAAE,KAAKkhB,EAAElhB,EAAEU,QAAQ,CAAC,IAAI0U,GAAE,EAAG,IAAI,MAAMnV,KAAK6U,EAAE,CAAC7U,EAAEm7C,MAAMC,UAAUn6B,EAAE,MAAMpM,EAAE7U,EAAEm7C,MAAMx3B,KAAK5jB,GAAG,GAAG8U,GAAGA,EAAE,GAAGpU,OAAO,EAAE,CAAC,IAAIT,EAAEq7C,QAAQ,CAAC,MAAMt7C,EAAEsV,EAAE4L,GAAG9L,EAAE,iBAAiBnV,EAAE+G,QAAQ8N,EAAE,GAAG9N,QAAQ,IAAI8X,OAAO7e,EAAEm7C,MAAMnzC,OAAOhI,EAAEm7C,MAAMG,OAAOt7C,EAAE+G,SAAS8N,EAAE,GAAG/U,EAAE0d,KAAK,CAAC+R,MAAMta,EAAE7T,KAAKpB,EAAEoB,KAAK0Y,KAAK3E,EAAE4K,OAAOkB,EAAEqB,IAAIzN,EAAE,GAAGpU,OAAOu6C,KAAKj7C,EAAEi7C,KAAKC,OAAOl7C,EAAEk7C,QAAQ,CAAC,GAAGh6B,EAAEjhB,EAAEm7C,MAAMC,UAAUjmC,GAAE,EAAGnV,EAAEwd,KAAK,CAAC,MAAMrI,EAAEnV,EAAEwd,KAAKzd,EAAEkhB,GAAGnhB,EAAE0d,QAAQrI,EAAEomC,QAAQt6B,EAAE9L,EAAE4K,MAAM,CAAC,GAAG/f,EAAEm6C,IAAI,MAAMp6C,EAAE,KAAK,CAAC,CAAC,IAAIoV,EAAE,KAAK,CAAC,MAAM,CAAComC,OAAOz7C,EAAEigB,OAAOkB,EAAEu6B,SAASz7C,EAAEU,QAAQwgB,EAAE,CAAC,CAAC,SAASnhB,GAAEC,EAAEoV,GAAG,MAAM,IAAIpV,EAAEo7C,MAAMlmC,GAAElV,EAAEoV,GAAG,CAAC,SAASF,GAAElV,EAAEoV,GAAG,GAAG,IAAIpV,EAAEqB,KAAKX,OAAO,MAAM,IAAI6C,MAAM,SAAS6R,2CAA2C,GAAG,SAASpV,GAAG,OAAOG,OAAOC,UAAUC,eAAeC,KAAKN,EAAE,QAAQ,CAAlE,CAAoEA,GAAG,OAAO,SAASA,GAAG,GAAGA,EAAEsjB,OAAO,MAAM,IAAI/f,MAAM,uBAAuBvD,EAAEiI,UAAUjI,EAAEu7C,yDAAyD,OAAOv7C,EAAE07C,OAAO17C,EAAE,IAAI8e,OAAO9e,EAAEiI,OAAOjI,EAAEu7C,MAAM,IAAI,CAAxL,CAA0Lv7C,EAAEo7C,OAAO,GAAG,SAASp7C,GAAG,OAAOG,OAAOC,UAAUC,eAAeC,KAAKN,EAAE,MAAM,CAAhE,CAAkEA,GAAG,CAAC,GAAG,IAAIA,EAAE27C,IAAIj7C,OAAO,MAAM,IAAI6C,MAAM,SAAS6R,OAAOpV,EAAEqB,0DAA0D,OAAO,IAAIyd,OAAOhK,GAAE9U,EAAE27C,KAAK,IAAI,CAAC,OAAO,IAAI78B,OAAOhK,GAAE9U,EAAEqB,MAAM,IAAI,CAAC,SAASyT,GAAE9U,GAAG,OAAOA,EAAEgH,QAAQ,gCAAgC,OAAO,CCqC90D,SAAS40C,GACTC,EACAC,GACI,MAAO,CAACt+B,EAAM/c,KACV,IACIkC,EADAw/B,EAAW1hC,EAWf,OATIA,EAAI+c,EAAKg+B,OAAO96C,SAChBiC,EAAQk5C,EAAQr+B,EAAKg+B,OAAO/6C,GAAI+c,EAAM/c,QACxB4C,IAAVV,GACAw/B,UAMU9+B,IAAVV,EACF,CAAEo5C,SAAS,GACX,CACEA,SAAS,EACT5Z,SAAUA,EACVx/B,MAAOA,EACV,CAEb,CAoBA,SAASq5C,GAAS1mC,EAAGP,GACjB,OAAQO,EAAS,QAAK,CAClBymC,SAAS,EACT5Z,SAAU7sB,EAAE6sB,SACZx/B,MAAOoS,EAAEO,EAAE3S,MAAO2S,EAAE6sB,WACnB7sB,CACT,CACA,SAAS2mC,GAAS3mC,EAAGP,GACjB,OAAQO,EAAS,QAAIP,EAAEO,GAAKA,CAChC,CACA,SAASqD,GAAIzY,EAAGg8C,GACZ,MAAO,CAAC1+B,EAAM/c,IAAMu7C,GAAS97C,EAAEsd,EAAM/c,IAAI,CAAC8U,EAAG4mC,IAAMD,EAAO3mC,EAAGiI,EAAM/c,EAAG07C,IAC1E,CAYA,SAASC,GAAOl8C,EAAGm8C,GACf,MAAO,CAAC7+B,EAAM/c,KACV,MAAM6U,EAAIpV,EAAEsd,EAAM/c,GAClB,OAAQ6U,EAAS,QACXA,EACA,CACEymC,SAAS,EACT5Z,SAAU1hC,EACVkC,MAAO05C,EACV,CAEb,CAaA,SAASC,MAAUC,GACf,MAAO,CAAC/+B,EAAM/c,KACV,IAAK,MAAMP,KAAKq8C,EAAI,CAChB,MAAMr6B,EAAShiB,EAAEsd,EAAM/c,GACvB,GAAIyhB,EAAO65B,QACP,OAAO75B,CAEvB,CACQ,MAAO,CAAE65B,SAAS,EAAO,CAEjC,CACA,SAASS,GAAUC,EAAIC,GACnB,MAAO,CAACl/B,EAAM/c,KACV,MAAMk8C,EAAKF,EAAGj/B,EAAM/c,GACpB,OAAQk8C,EAAU,QACZA,EACAD,EAAGl/B,EAAM/c,EAAE,CAEzB,CA6CA,SAASm8C,GAAK18C,GACV,OAjCJ,SAAmBA,EACnB4iB,GACI,MAAO,CAACtF,EAAM/c,KACV,MAAM0Z,EAAS,GACf,IAAI8pB,GAAU,EACd,EAAG,CACC,MAAM3uB,EAAIpV,EAAEsd,EAAM/c,GACd6U,EAAEymC,SAAWj5B,EAAKxN,EAAE3S,MAAOwX,EAAOzZ,OAAS,EAAG8c,EAAM/c,EAAG6U,EAAE6sB,WACzDhoB,EAAOsD,KAAKnI,EAAE3S,OACdlC,EAAI6U,EAAE6sB,UAGN8B,GAAU,CAE1B,OAAiBA,GACT,MAAO,CACH8X,SAAS,EACT5Z,SAAU1hC,EACVkC,MAAOwX,EACV,CAET,CAYW0iC,CAAU38C,GAAG,KAAM,GAC9B,CAIA,SAAS48C,GAAGL,EAAIC,EAAI5zC,GAChB,MAAO,CAAC0U,EAAM/c,IAAMw7C,GAASQ,EAAGj/B,EAAM/c,IAAKs8C,GAAOf,GAASU,EAAGl/B,EAAMu/B,EAAG5a,WAAW,CAAC6a,EAAIb,IAAMrzC,EAAKi0C,EAAGp6C,MAAOq6C,EAAIx/B,EAAM/c,EAAG07C,MAC7H,CAIA,SAASxa,GAAM8a,EAAIC,GACf,OAAOI,GAAGL,EAAIC,GAAI,CAACO,EAAID,IAAOA,GAClC,CACA,SAASE,GAAIT,EAAIC,EAAIS,EAAIr0C,GACrB,MAAO,CAAC0U,EAAM/c,IAAMw7C,GAASQ,EAAGj/B,EAAM/c,IAAKs8C,GAAOd,GAASS,EAAGl/B,EAAMu/B,EAAG5a,WAAYib,GAAOpB,GAASmB,EAAG3/B,EAAM4/B,EAAGjb,WAAW,CAACkb,EAAIlB,IAAMrzC,EAAKi0C,EAAGp6C,MAAOy6C,EAAGz6C,MAAO06C,EAAI7/B,EAAM/c,EAAG07C,QAC/K,CACA,SAASmB,GAAOb,EAAIC,EAAIS,GACpB,OAAOD,GAAIT,EAAIC,EAAIS,GAAI,CAACI,EAAIC,IAAOA,GACvC,CC5MA,MACMC,GAAK,yBACLC,GAAW,iBACXC,GAAU,mDACVC,GAAS,6BAETC,GAAS,iBAAiBH,MAAYC,MAAWC,MACjDv8C,GAAO,MAAMw8C,OACbC,GAAQ,UAHE,aAAaJ,MAAYC,MAAWC,QAGlBC,OAC5BE,GAAU,2BAA2BN,MAAMC,MAAYC,MAAWC,QAClEI,GAAU,2BAA2BP,MAAMC,MAAYC,MAAWC,QAClEK,GAAcC,GAAY,CAC5B,CAAE78C,KAAM,KAAM+5C,MAAO,IAAIt8B,OAZlB,yBAaP,CAAEzd,KAAM,OAAQ+5C,MAAO,IAAIt8B,OAAO,IAAIzd,KAAQ,MAC9C,CAAEA,KAAM,QAAS+5C,MAAO,IAAIt8B,OAAOg/B,GAAO,MAC1C,CAAEz8C,KAAM,OAAQ+5C,MAAO,IAAIt8B,OAAOi/B,GAAS,MAC3C,CAAE18C,KAAM,OAAQ+5C,MAAO,IAAIt8B,OAAOk/B,GAAS,MAC3C,CAAE38C,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,KACR,CAAEA,KAAM,OAEN88C,GAAmBD,GAAY,CACjC,CAAE78C,KAAM,UAAW+5C,MAAO,IAAIt8B,OAAO6+B,GAAS,MAC9C,CAAEt8C,KAAM,SAAU+5C,MAAO,IAAIt8B,OAAO8+B,GAAQ,MAC5C,CAAEv8C,KAAM,MAAO+5C,MAAO,IAAIt8B,OAAO,WAAY,QAEjD,SAASs/B,IAASC,EAAIC,EAAIC,IAAMC,EAAIC,EAAIC,IACpC,MAAO,CAACL,EAAKG,EAAIF,EAAKG,EAAIF,EAAKG,EACnC,CACA,SAASC,GAAWC,GAChB,OAAOA,EAAGC,OAAOT,GAAS,CAAC,EAAG,EAAG,GACrC,CACA,MAAMU,GAA0BC,IAAS9+C,GAAiB,YAAXA,EAAEoB,KAAqBiX,OAAO0mC,cAAcvuC,SAASxQ,EAAE8Z,KAAK8I,MAAM,GAAI,UAAOxf,IACtH47C,GAAmBF,IAAS9+C,GAAiB,WAAXA,EAAEoB,KAAoBpB,EAAE8Z,KAAK8I,MAAM,QAAKxf,IAC1E67C,GAAWH,IAAS9+C,GAAiB,QAAXA,EAAEoB,KAAiBpB,EAAE8Z,UAAO1W,IACtD87C,GAAiBC,GAAMC,GAAOC,GAAKR,GAAyBG,GAAkBC,MAAaK,GAAOA,EAAGz2C,KAAK,MAChH,SAAS02C,GAASC,GACd,MAAMC,EAAcvB,GAAiBsB,GAErC,OADeN,GAAe,CAAE3D,OAAQkE,EAAYlE,OAAQ17B,aAASzc,GAAa,GACpEV,KAClB,CACA,SAASg9C,GAAQt+C,GACb,OAAO09C,IAAS9+C,GAAMA,EAAEoB,OAASA,QAAcgC,GACnD,CACA,MAAMu8C,GAAcb,IAAS9+C,GAAiB,OAAXA,EAAEoB,KAAgB,UAAOgC,IACtDw8C,GAAsBC,GAASF,GAAa,MAClD,SAASG,GAAiBlG,GACtB,OAAOmG,GAASH,GAAqBhG,EAAQgG,GACjD,CACA,MAAMI,GAAclB,IAAS9+C,GAAiB,UAAXA,EAAEoB,KAAmBm+C,GAASv/C,EAAE8Z,WAAQ1W,IACrE68C,GAAUnB,IAAS9+C,GAAiB,SAAXA,EAAEoB,KAAkBm+C,GAASv/C,EAAE8Z,KAAK8I,MAAM,SAAMxf,IACzE88C,GAAUpB,IAAS9+C,GAAMA,EAAEoB,KAAK++C,WAAW,OAASZ,GAASv/C,EAAE8Z,KAAK8I,MAAM,GAAK,SAAKxf,IACpFg9C,IDoIQ5D,GCpIYqD,GAASG,GAAa,IDoI9BvD,GCpImCiD,GAAQ,KDqIlD7C,GAAGL,GAAIC,IAAKO,GAAOA,KAD9B,IAAcR,GAAIC,GCnIlB,MAAM4D,GAAiBC,GAAWC,GAAKH,GAAYJ,IAAa,CAACQ,EAAIp/C,KAAU,CAAEA,KAAMA,EAAMylB,UAAW25B,MAAQrB,GAAMa,IAAc5+C,IAAI,CAAQA,KAAMA,EAAMylB,UAAW,UACjK45B,GAAeH,GAAWC,GAAKH,GAAYV,GAAQ,MAAOc,IAAQ,CAAEx/C,KAAM,YAAa6lB,UAAW25B,EAAIE,YAAa,CAAC,EAAG,EAAG,OAAQvB,GAAMO,GAAQ,MAAM,KAAA,CAAS1+C,KAAM,YAAa6lB,UAAW,KAAM65B,YAAa,CAAC,EAAG,EAAG,QACvNC,GAAexB,GAAMkB,IAAgB,EAAGj/C,OAAMylB,gBAAiB,CACjE7lB,KAAM,MACNI,KAAMA,EACNylB,UAAWA,EACX65B,YAAa,CAAC,EAAG,EAAG,OAElBE,GAAiBL,GAAKb,GAAQ,KAAMM,IAAa,CAACa,EAAUz/C,KAAU,CACxEJ,KAAM,QACNI,KAAMA,EACNs/C,YAAa,CAAC,EAAG,EAAG,OAElBI,GAAc3B,GAAMc,IAAU7+C,IAAU,CAC1CJ,KAAM,KACNI,KAAMA,EACNs/C,YAAa,CAAC,EAAG,EAAG,OAElBK,GAAgBjC,IAAS9+C,IAC3B,GAAe,UAAXA,EAAEoB,KAAkB,CACpB,GAAe,MAAXpB,EAAE8Z,MAA2B,MAAX9Z,EAAE8Z,KACpB,MAAO,IAEX,GAAe,MAAX9Z,EAAE8Z,MAA2B,MAAX9Z,EAAE8Z,KACpB,MAAO,GAEnB,CACoB,IAEdknC,GAAaV,GAAWC,GAAKL,GAASL,GAASoB,GAAQrB,GAAqBmB,IAAgB,OAAO,CAACzrC,EAAG4rC,KAAG,CAAQx+C,MAAO4S,EAAG6rC,SAAUD,MAASX,GAAKP,GAAaH,GAASoB,GAAQtB,GAAaoB,IAAgB,OAAO,CAACzrC,EAAG4rC,KAAG,CAAQx+C,MAAO4S,EAAG6rC,SAAUD,OACzPE,GAAeC,GAASlC,GAAMO,GAAQ,MAAM,IAAM,MAAMa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,OAAOa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,OAAOa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,OAAOa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,OAAOa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,QACvR4B,GAAwBC,GAAM7B,GAAQ,KAAMI,GAAiBO,IAAiBX,GAAQ,MAAM,CAAC8B,GAAOpgD,OAAMylB,gBAAiB,CAC7H7lB,KAAM,eACNI,KAAMA,EACNylB,UAAWA,EACX65B,YAAa,CAAC,EAAG,EAAG,OAElBe,GAAqB1B,GAASL,GAAQ,KAAM6B,GAAMzB,GAAiBO,IAAiBe,GAActB,GAAiBkB,KAAa,EAAG5/C,OAAMylB,aAAa66B,GAAWh/C,QAAOy+C,eAAgB,CAC1LngD,KAAM,YACNI,KAAMA,EACNylB,UAAWA,EACX66B,QAASA,EACTh/C,MAAOA,EACPy+C,SAAUA,EACVT,YAAa,CAAC,EAAG,EAAG,OACnBhB,GAAQ,MACPiC,GAAgBrB,GAAWgB,GAAuBG,IAClDG,GAAgBtB,GAAWG,GAAcE,IACzCkB,GAAoBR,GAASP,GAAaF,GAAgBe,IAC1DG,GAAoB3C,GAAMmB,GDsHhC,YAAoBhE,GAChB,OAEcr8C,EA3BlB,YAAgBq8C,GACZ,MAAO,CAAC/+B,EAAM/c,KACV,MAAMyhB,EAAS,GACf,IAAIigB,EAAW1hC,EACf,IAAK,MAAMP,KAAKq8C,EAAI,CAChB,MAAMI,EAAKz8C,EAAEsd,EAAM2kB,GACnB,IAAIwa,EAAGZ,QAKH,MAAO,CAAEA,SAAS,GAJlB75B,EAAOzE,KAAKk/B,EAAGh6C,OACfw/B,EAAWwa,EAAGxa,QAK9B,CACQ,MAAO,CACH4Z,SAAS,EACT5Z,SAAUA,EACVx/B,MAAOuf,EACV,CAET,CAKoBgE,IAAOq2B,GAGhB5jC,GAAIzY,GAAI8hD,GAAOA,EAAGC,SAAS1sC,GAAMA,MAD5C,IAAkBrV,CADlB,CCxH2CgiD,CAAUL,GAAexC,GAAOyC,KD6EhEhF,GADI58C,GC5EyF4hD,GD6EvFlF,GAAK18C,KAAI,CAACwqC,EAAMyX,IAAS,CAACzX,KAASyX,OC7E0EvD,IACnH,CACH39C,KAAM,WACNmhD,KAAMxD,EACN+B,YAAahC,GAAWC,EAAGjmC,KAAI5Y,GAAKA,EAAE4gD,mBDwE9C,IAAezgD,GCrEf,MACMmiD,GAAuB9B,GAAWR,GADpBuB,GAASlC,GAAMO,GAAQ,MAAM,IAAM,MAAMP,GAAMO,GAAQ,MAAM,IAAM,MAAMP,GAAMO,GAAQ,MAAM,IAAM,MAAMa,GAAKb,GAAQ,KAAMA,GAAQ,MAAM,IAAM,SAC7FP,GAAMQ,IAAa,IAAM,OAC1F0C,GD8JN,SAAoBC,EAAOC,EAAOC,GAC9B,OAaWviD,EAbEqiD,EAcjBxtC,EAdyB2tC,IAAOC,OAfZC,EAeuBF,EAflBxiD,EAesB48C,GAAG0F,EAAOC,GAAQ,CAAC1tC,EAAGU,IAAM,CAACV,EAAGU,KAd/EotC,EAcoF,CAACD,GAAM7tC,EAAGU,KAAOV,EAAE6tC,EAAKntC,GAtC5G,SAAqBmtC,EACrB7tC,GACI,MAAO,CAACyI,EAAM/c,KACV,IAAIqiD,GAAO,EACPC,EAAOH,EACPI,EAAMviD,EACV,EAAG,CACC,MAAM6U,EAAIP,EAAEguC,EAAMvlC,EAAMwlC,EAAdjuC,CAAmByI,EAAMwlC,GAC/B1tC,EAAEymC,SACFgH,EAAOztC,EAAE3S,MACTqgD,EAAM1tC,EAAE6sB,UAGR2gB,GAAO,CAEvB,OAAiBA,GACT,MAAO,CACH/G,SAAS,EACT5Z,SAAU6gB,EACVrgD,MAAOogD,EACV,CAET,CAGWE,CAAYL,GAAMA,GAAQjqC,GAAIzY,GAAG,CAACqV,EAAGiI,EAAM/c,EAAG07C,IAAM0G,EAAQD,EAAKrtC,EAAGiI,EAAM/c,EAAG07C,OAFxF,IAAoByG,EAAK1iD,EACzB2iD,CAc+G,EAepG,CAACrlC,EAAM/c,IAAMw7C,GAAS/7C,EAAEsd,EAAM/c,IAAKsvC,GAAOh7B,EAAEg7B,EAAGptC,MAAO6a,EAAM/c,EAAGsvC,EAAG5N,SAAxBptB,CAAkCyI,EAAMuyB,EAAG5N,YAFhG,IAAejiC,EACf6U,CAbA,CChKyBmuC,CAAanB,GAAmB3C,GAAMiD,IAAuBvtC,GAAM,CAAC4sB,EAAMC,KAAW,CAC1G1gC,KAAM,WACNmhD,KAAM,IAAIzgB,EAAMygB,KAAM,CAAEnhD,KAAM,aAAckiD,WAAYruC,EAAG4sB,KAAMA,EAAMif,YAAajf,EAAKif,cACzFA,YAAavC,GAAQ1c,EAAKif,YAAahf,EAAMgf,iBAC5CoB,IAsBL,SAASqB,GAAoBzH,EAAK37B,EAAQuC,EAAM,GAC5C,MAAO,GAAGo5B,EAAI30C,QAAQ,mBAAmB,CAACmO,EAAGlV,EAAGqV,IAAMrV,EAAI,IAAWqV,EAAI,IAAW,UAAc,GAAG+tC,OAAOrjC,KAAU,IAAIsjC,OAAO/gC,IACrI,CAIA,SAASghC,GAAO5H,GACZ,OA3BJ,SAAgB9B,EAAQ8B,GACpB,KAAqB,iBAARA,GAAoBA,aAAerjC,QAC5C,MAAM,IAAI/U,MAAM,6DAEpB,MAAMm8C,EAAczB,GAAYtC,GAChC,IAAK+D,EAAYjE,SACb,MAAM,IAAIl4C,MAAM,cAAco4C,sDAAwD+D,EAAY1/B,YAC9FojC,GAAoBzH,EAAK+D,EAAY1/B,SAE7C,MAAMkC,EAAS69B,GAAiBlG,EAAjBkG,CAAyB,CAAEvE,OAAQkE,EAAYlE,OAAQ17B,aAASzc,GAAa,GAC5F,IAAK6e,EAAO65B,QACR,MAAM,IAAIx4C,MAAM,iBAAiBo4C,aAErC,GAAIz5B,EAAOigB,SAAWud,EAAYlE,OAAO96C,OAAQ,CAC7C,MAAMk7C,EAAQ8D,EAAYlE,OAAOt5B,EAAOigB,UACxC,MAAM,IAAI5+B,MAAM,cAAco4C,mDAAqDC,EAAM57B,YACrFojC,GAAoBzH,EAAKC,EAAM57B,OAAQ47B,EAAMr5B,KACzD,CACI,OAAOL,EAAOvf,KAClB,CAQW6gD,CAAOlB,GAAkB3G,EACpC,CAEA,SAAS8H,GAAUzY,GACf,IAAKA,EAAS/pC,KACV,MAAM,IAAIsC,MAAM,4BAEpB,OAAQynC,EAAS/pC,MACb,IAAK,YACD,OAAOyiD,GAAO1Y,EAASlkB,WAAa,IACxC,IAAK,MACD,OAAO48B,GAAO1Y,EAASlkB,WAAa68B,GAAU3Y,EAAS3pC,MAC3D,IAAK,QACD,MAAO,IAAMsiD,GAAU3Y,EAAS3pC,MACpC,IAAK,KACD,MAAO,IAAMsiD,GAAU3Y,EAAS3pC,MACpC,IAAK,eACD,MAAO,IAAIqiD,GAAO1Y,EAASlkB,aAAa68B,GAAU3Y,EAAS3pC,SAC/D,IAAK,YACD,MAAO,IAAIqiD,GAAO1Y,EAASlkB,aAAa68B,GAAU3Y,EAAS3pC,QAAQ2pC,EAAS2W,WAkCvEhG,EAlC0F3Q,EAASroC,MAmCzGg5C,EAAI30C,QACX,uCAAuC,CAACmO,EAAGyuC,EAAIC,EAAIpG,EAAIqG,IAASF,EAAK,MACjEC,EAAK,OACDpG,EAAK,IACDsG,GAAWD,QAvCoG9Y,EAASoW,SAAWpW,EAASoW,SAAW,MAC/J,IAAK,aACD,OAAOqC,GAAUzY,EAAStJ,MAAQsJ,EAASmY,WAC/C,IAAK,WACD,OAAOnY,EAASoX,KAAKvD,QAAO,CAAC+D,EAAKh5C,IACZ,eAAdA,EAAK3I,KACEwiD,GAAU75C,GAAQg5C,EAGlBA,EAAMa,GAAU75C,IAE5B,IACP,IAAK,OACD,OAAOohC,EAASoX,KAAKzpC,IAAI8qC,IAAW36C,KAAK,KAqBrD,IAAiB6yC,CAnBjB,CACA,SAAS+H,GAAOjD,GACZ,OAAQA,GAAa,KAAPA,EACRkD,GAAUlD,GAAM,IAChB,EACV,CACA,SAASsD,GAAWC,GAChB,MAAO,KAAKA,EAAKC,YAAY,GAAGt0C,SAAS,MAC7C,CACA,SAASg0C,GAAUhI,GACf,OAAOA,EAAI30C,QACX,6FAA6F,CAACmO,EAAG+uC,EAAIC,EAAIC,EAAIC,EAAM5G,EAAIqG,EAAMQ,IAAUJ,EAAKH,GAAWG,GACnJC,EAAK,IAAMJ,GAAWI,EAAGthC,MAAM,IAC3BuhC,EAAK,MACDC,IACI5G,EAAK,IACDqG,EAAOC,GAAWD,GACd,KAAOQ,IACnC,CAQA,SAAStwB,GAAUgX,GACf,IAAKA,EAAS/pC,KACV,MAAM,IAAIsC,MAAM,4BAEpB,OAAQynC,EAAS/pC,MACb,IAAK,WACD+pC,EAASoX,KAAKvpC,QAAQmb,IACtBgX,EAASoX,KAAKmC,MAAK,CAACz2C,EAAG+G,IAAM2vC,GAAeC,GAAqB32C,GAAI22C,GAAqB5vC,MAC1F,MAEJ,IAAK,aACDmf,GAAUgX,EAAStJ,MACnB,MAEJ,IAAK,OACDsJ,EAASoX,KAAKvpC,QAAQmb,IACtBgX,EAASoX,KAAKmC,MAAK,CAACz2C,EAAG+G,IAAO4uC,GAAU31C,GAAK21C,GAAU5uC,IAAM,EAAK,IAI1E,OAAOm2B,CACX,CACA,SAASyZ,GAAqBzZ,GAC1B,OAAQA,EAAS/pC,MACb,IAAK,YAEL,IAAK,MACD,MAAO,CAAC,GACZ,IAAK,KACD,MAAO,CAAC,GACZ,IAAK,QACD,MAAO,CAAC,EAAG+pC,EAAS3pC,MACxB,IAAK,eACD,MAAO,CAAC,EAAGoiD,GAAUzY,IACzB,IAAK,YACD,MAAO,CAAC,EAAGyY,GAAUzY,IACzB,IAAK,aACD,MAAO,CAAC,GAAIyY,GAAUzY,IAElC,CAIA,SAAS0Z,GAAmB52C,EAAG+G,GAC3B,OAAO2vC,GAAe12C,EAAG+G,EAC7B,CACA,SAAS2vC,GAAe12C,EAAG+G,GACvB,IAAK1J,MAAMC,QAAQ0C,KAAO3C,MAAMC,QAAQyJ,GACpC,MAAM,IAAItR,MAAM,6BAEpB,MAAMohD,EAAW72C,EAAEpN,OAASmU,EAAEnU,OAAUoN,EAAEpN,OAASmU,EAAEnU,OACrD,IAAK,IAAID,EAAI,EAAGA,EAAIkkD,EAASlkD,IACzB,GAAIqN,EAAErN,KAAOoU,EAAEpU,GAGf,OAAQqN,EAAErN,GAAKoU,EAAEpU,IAAM,EAAK,EAEhC,OAAOqN,EAAEpN,OAASmU,EAAEnU,MACxB,CC/NA,MAAMkkD,GACF,WAAA1hD,CAAYoL,GACR5G,KAAKm9C,SAAWC,GAMxB,SAA4B1pC,GACxB,MAAMmH,EAAMnH,EAAM1a,OACZqkD,EAAU,IAAI55C,MAAMoX,GAC1B,IAAK,IAAI9hB,EAAI,EAAGA,EAAI8hB,EAAK9hB,IAAK,CAC1B,MAAOukD,EAAgB5rC,GAAOgC,EAAM3a,GAC9BwkD,EAAMC,GAAWC,GAAgBH,IACvCD,EAAQtkD,GAAK,CACTwkD,IAAKA,EACLG,SAAU,CACNnkD,KAAM,WACNokD,eAAgB,CAAErzB,MAAOvxB,EAAGkC,MAAOyW,EAAKunC,YAAasE,EAAItE,cAGzE,CACI,OAAOoE,CACX,CArB8BO,CAAmBh3C,GACjD,CACI,KAAAi3C,CAAMC,GACF,OAAOA,EAAQ99C,KAAKm9C,SAC5B,EAkBA,SAASK,GAAWD,GAGhB,OAFAQ,GAAuBR,GACvBS,GAAmBT,GACZA,CACX,CACA,SAASQ,GAAuBR,GAC5B,MAAMU,EAAU,GAChBV,EAAI7C,KAAKvpC,SAAQ+sC,IACb,OAAQA,EAAI3kD,MACR,IAAK,QACD0kD,EAAQloC,KAAK,CACTkkC,QAAS,KACTP,SAAU,KACV//C,KAAM,QACNylB,UAAW,KACX65B,YAAaiF,EAAIjF,YACjB1/C,KAAM,YACN0B,MAAOijD,EAAIvkD,OAEf,MACJ,IAAK,KACDskD,EAAQloC,KAAK,CACTkkC,QAAS,IACTP,SAAU,KACV//C,KAAM,KACNylB,UAAW,KACX65B,YAAaiF,EAAIjF,YACjB1/C,KAAM,YACN0B,MAAOijD,EAAIvkD,OAEf,MACJ,IAAK,aACDokD,GAAuBG,EAAIlkB,MAC3BikB,EAAQloC,KAAKmoC,GACb,MACJ,IAAK,YACD,MACJ,QACID,EAAQloC,KAAKmoC,GAE7B,IAEIX,EAAI7C,KAAOuD,CACf,CACA,SAASb,GAAMe,GACX,MAAMhB,EAAW,GACjB,KAAOgB,EAAMnlD,QAAQ,CACjB,MAAMolD,EAAUC,GAAWF,GAAQD,IAAQ,GAAMI,KAC3Cnb,QAAEA,EAAOob,WAAEA,EAAU/vB,MAAEA,GAAUgwB,GAAYL,EAAOC,GAC1DD,EAAQI,EACJpb,EAAQnqC,QACRmkD,EAASpnC,KAAK0oC,GAAaL,EAASjb,IAEpC3U,EAAMx1B,QACNmkD,EAASpnC,QAAQ2oC,GAAUlwB,GAEvC,CACI,OAAO2uB,CACX,CACA,SAASuB,GAAUP,GACf,MAAMd,EAAU,GAChB,IAAK,MAAMsB,KAAQR,EAAO,CACtB,MAAMT,EAAWiB,EAAKjB,SACtB,GAAsB,aAAlBA,EAASnkD,KACT8jD,EAAQtnC,KAAK2nC,OAEZ,CACD,MAAMva,QAAEA,EAAOyb,KAAEA,GAASC,GAAUnB,EAASoB,MAAO58C,GAAuB,aAAdA,EAAK3I,OAClE4pC,EAAQhyB,SAASjP,GAASm7C,EAAQtnC,KAAK7T,KACnC08C,EAAK5lD,SACL0kD,EAASoB,KAAOF,EAChBvB,EAAQtnC,KAAK2nC,GAE7B,CACA,CACI,OAAOL,CACX,CACA,SAASmB,GAAYL,EAAOY,GACxB,MAAM5b,EAAU,GACVob,EAAa,GACb/vB,EAAQ,GACd,IAAK,MAAMmwB,KAAQR,EAAO,CACtB,MAAMa,EAAWL,EAAKpB,IAAI7C,KAC1B,GAAIsE,EAAShmD,OAAQ,EACDgmD,EAAS1a,MAAKpiC,GAAQo8C,GAAgBp8C,KAAU68C,IACrD5b,EAAUob,GAAYxoC,KAAK4oC,EAClD,MAEYnwB,EAAMzY,KAAK4oC,EAEvB,CACI,MAAO,CAAExb,UAASob,aAAY/vB,QAClC,CACA,SAAS8vB,GAAgBJ,GACrB,OAAQA,EAAI3kD,MACR,IAAK,eACD,MAAO,gBAAgB2kD,EAAIvkD,OAC/B,IAAK,YACD,MAAO,aAAaukD,EAAIvkD,OAC5B,IAAK,aACD,MAAO,cAAcukD,EAAIzC,aAC7B,QACI,OAAOyC,EAAI3kD,KAEvB,CACA,SAASklD,GAAaQ,EAAMd,GACxB,GAAa,QAATc,EACA,OAgBR,SAAuBd,GACnB,MAAMe,EAASC,GAAehB,GAAQpjD,GAAiB,QAAXA,EAAExB,OAAiBwB,GAAMA,EAAEpB,OACjEylD,EAAW3mD,OAAOiK,QAAQw8C,GAAQjuC,KAAI,EAAEtX,EAAM2D,MAAY,CAC5D/D,KAAM,UACN0B,MAAOtB,EACPmlD,KAAM1B,GAAM9/C,EAAM6gD,WAEtB,MAAO,CACH5kD,KAAM,UACN6lD,SAAUA,EAElB,CA3BeC,CAAclB,GAEzB,GAAIc,EAAKvG,WAAW,cAChB,OAmCR,SAAyB/+C,EAAMwkD,GAC3B,MAAMe,EAASC,GAAehB,GAAQpjD,GAAkB,cAAXA,EAAExB,MAA0BwB,EAAEpB,OAASA,IAAQoB,GAAM,GAAGA,EAAEk/C,WAAWl/C,EAAE2+C,UAAY,MAAM3+C,EAAEE,UAClIqkD,EAAW,GACjB,IAAK,MAAMhiD,KAAS7E,OAAOga,OAAOysC,GAAS,CACvC,MAAMhB,EAAM5gD,EAAMiiD,kBACZC,EAAYC,GAAiBvB,GAC7BwB,EAAetC,GAAM9/C,EAAM6gD,OACjCmB,EAASvpC,KAAK,CACVxc,KAAM,UACN0gD,QAASiE,EAAIjE,QACbP,SAAUwE,EAAIxE,SACdz+C,MAAOijD,EAAIjjD,MACXukD,UAAWA,EACXV,KAAMY,GAElB,CACI,MAAO,CACHnmD,KAAM,YACNI,KAAMA,EACN2lD,SAAUA,EAElB,CAxDeK,CAAgBV,EAAKW,UAAU,IAAKzB,GAE/C,GAAIc,EAAKvG,WAAW,iBAChB,OAsBR,SAA4B/+C,EAAMwkD,GAC9B,IAAK,MAAMQ,KAAQR,EACf0B,GAAqBlB,GAAO5jD,GAAkB,iBAAXA,EAAExB,MAA6BwB,EAAEpB,OAASA,IAEjF,MAAO,CACHJ,KAAM,eACNI,KAAMA,EACNmlD,KAAM1B,GAAMe,GAEpB,CA/Be2B,CAAmBb,EAAKW,UAAU,IAAKzB,GAElD,GAAa,iBAATc,EACA,OAAOc,GAAiB,IAAK5B,GAEjC,GAAa,iBAATc,EACA,OAAOc,GAAiB,IAAK5B,GAEjC,MAAM,IAAItiD,MAAM,8BAA8BojD,IAClD,CA6CA,SAASQ,GAAiBvB,GACtB,GAAqB,MAAjBA,EAAIxE,SAAkB,CACtB,MAAMsG,EAAW9B,EAAIjjD,MAAMwxB,cAC3B,OAAQyxB,EAAIjE,SACR,IAAK,IACD,OAAQgG,GAAWD,IAAaC,EAAOxzB,cAC3C,IAAK,KACD,OAAQwzB,GAAWA,EAAOxzB,cAAcvtB,MAAM,UAAUE,SAAS4gD,GACrE,IAAK,KACD,OAAQC,GAAWA,EAAOxzB,cAAcisB,WAAWsH,GACvD,IAAK,KACD,OAAQC,GAAWA,EAAOxzB,cAAcyzB,SAASF,GACrD,IAAK,KACD,OAAQC,GAAWA,EAAOxzB,cAAcrtB,SAAS4gD,GACrD,IAAK,KACD,OAAQC,IACJ,MAAME,EAAQF,EAAOxzB,cACrB,OAAQuzB,IAAaG,GAAWA,EAAMzH,WAAWsH,IAAwC,MAA3BG,EAAMH,EAAShnD,OAAgB,EAGjH,KACS,CACD,MAAMgnD,EAAW9B,EAAIjjD,MACrB,OAAQijD,EAAIjE,SACR,IAAK,IACD,OAAQgG,GAAWD,IAAaC,EACpC,IAAK,KACD,OAAQA,GAAWA,EAAO/gD,MAAM,UAAUE,SAAS4gD,GACvD,IAAK,KACD,OAAQC,GAAWA,EAAOvH,WAAWsH,GACzC,IAAK,KACD,OAAQC,GAAWA,EAAOC,SAASF,GACvC,IAAK,KACD,OAAQC,GAAWA,EAAO7gD,SAAS4gD,GACvC,IAAK,KACD,OAAQC,GAAYD,IAAaC,GAAYA,EAAOvH,WAAWsH,IAAyC,MAA5BC,EAAOD,EAAShnD,QAE5G,CACA,CACA,SAAS+mD,GAAiBtE,EAAY0C,GAClC,MAAMe,EAASC,GAAehB,GAAQpjD,GAAkB,eAAXA,EAAExB,MAA2BwB,EAAE0gD,aAAeA,IAAc1gD,GAAMqlD,GAAmBrlD,EAAEi/B,QAC9HqmB,EAAY,GAClB,IAAK,MAAM/iD,KAAS7E,OAAOga,OAAOysC,GAAS,CACvC,MAAMoB,EAAYlD,GAAM9/C,EAAM6gD,OACxBoC,EAAUjjD,EAAMiiD,kBAAkBvlB,KACxCqmB,EAAUtqC,KAAK,CACXwnC,IAAKgD,EACL7C,SAAU,CAAEnkD,KAAM,aAAculD,KAAMwB,IAElD,CACI,MAAO,CACH/mD,KAAM,cACNkiD,WAAYA,EACZqD,KAAM1B,GAAMiD,GAEpB,CACA,SAASlB,GAAehB,EAAOqB,EAAWgB,GACtC,MAAMtB,EAAS,CAAE,EACjB,KAAOf,EAAMnlD,QAAQ,CACjB,MAAMynD,EAAUpC,GAAWF,EAAOqB,EAAWgB,GACvCE,EAAoBxC,GAAQsB,EAAUtB,IAAQsC,EAAYtC,KAASuC,EACnEE,EAAuBhC,GAASA,EAAKpB,IAAI7C,KAAKpW,KAAKoc,IACnDvd,QAAEA,EAAOyb,KAAEA,GAASgC,GAAWzC,EAAOwC,GAC5C,IAAIpB,EAAoB,KACxB,IAAK,MAAMZ,KAAQxb,EAAS,CACxB,MAAM0d,EAAchB,GAAqBlB,EAAM+B,GAC1CnB,IACDA,EAAoBsB,EAEpC,CACQ,GAAyB,MAArBtB,EACA,MAAM,IAAI1jD,MAAM,gCAEpBqjD,EAAOuB,GAAW,CAAElB,kBAAmBA,EAAmBpB,MAAOhb,GACjEgb,EAAQS,CAChB,CACI,OAAOM,CACX,CACA,SAASW,GAAqBlB,EAAMa,GAChC,MAAMR,EAAWL,EAAKpB,IAAI7C,KACpBvX,EAAU,IAAI1/B,MAAMu7C,EAAShmD,QACnC,IAAI8nD,GAAe,EACnB,IAAK,IAAI/nD,EAAIimD,EAAShmD,OAAQD,KAAM,GAC5BymD,EAAUR,EAASjmD,MACnBoqC,EAAQpqC,IAAK,EACb+nD,EAAa/nD,GAGrB,IAAkB,GAAd+nD,EACA,MAAM,IAAIjlD,MAAM,+CAEpB,MAAM2e,EAASwkC,EAAS8B,GAExB,OADAnC,EAAKpB,IAAI7C,KAAOsE,EAAS99C,QAAO,CAACg9C,EAAKnlD,KAAOoqC,EAAQpqC,KAC9CyhB,CACX,CACA,SAAS6jC,GAAWF,EAAOqB,EAAWgB,GAClC,MAAMO,EAAa,CAAE,EACrB,IAAK,MAAMpC,KAAQR,EAAO,CACtB,MAAM6C,EAAc,CAAE,EACtB,IAAK,MAAM9+C,KAAQy8C,EAAKpB,IAAI7C,KAAKx5C,OAAOs+C,GACpCwB,EAAYR,EAAYt+C,KAAS,EAErC,IAAK,MAAMV,KAAO/I,OAAOuI,KAAKggD,GACtBD,EAAWv/C,GACXu/C,EAAWv/C,KAGXu/C,EAAWv/C,GAAO,CAGlC,CACI,IAAI48C,EAAU,GACV6C,EAAa,EACjB,IAAK,MAAM9pC,KAAS1e,OAAOiK,QAAQq+C,GAC3B5pC,EAAM,GAAK8pC,IACX7C,EAAUjnC,EAAM,GAChB8pC,EAAa9pC,EAAM,IAG3B,OAAOinC,CACX,CACA,SAASS,GAAU9rB,EAAKysB,GACpB,MAAMrc,EAAU,GACVyb,EAAO,GACb,IAAK,MAAM7jD,KAAKg4B,EACRysB,EAAUzkD,GACVooC,EAAQptB,KAAKhb,GAGb6jD,EAAK7oC,KAAKhb,GAGlB,MAAO,CAAEooC,UAASyb,OACtB,CACA,SAASgC,GAAW7tB,EAAKysB,GACrB,MAAMrc,EAAU,GACVyb,EAAO,GACb,IAAK,MAAM7jD,KAAKg4B,EACRysB,EAAUzkD,GACVooC,EAAQptB,KAAKhb,GAGb6jD,EAAK7oC,KAAKhb,GAGlB,MAAO,CAAEooC,UAASyb,OACtB,CAEA,MAAMsC,GACF,WAAA1lD,CAAY6R,GACRrN,KAAKqN,EAAIA,CACjB,CACI,OAAA8zC,CAAQx2B,GACJ,OAAO3qB,KAAKqN,EAAEsd,EACtB,CACI,KAAAy2B,CAAMz2B,EAAI02B,GAAc,GACpB,MAAMhE,EAAUr9C,KAAKqN,EAAEsd,GACjB9P,EAAMwiC,EAAQrkD,OACpB,GAAY,IAAR6hB,EACA,OAAO,KAEX,GAAY,IAARA,EACA,OAAOwiC,EAAQ,GAAGpiD,MAEtB,MAAMqmD,EAAa,EACbC,GACAC,GACN,IAAIhnC,EAAS6iC,EAAQ,GACrB,IAAK,IAAItkD,EAAI,EAAGA,EAAI8hB,EAAK9hB,IAAK,CAC1B,MAAM4J,EAAO06C,EAAQtkD,GACjBuoD,EAAW9mC,EAAQ7X,KACnB6X,EAAS7X,EAEzB,CACQ,OAAO6X,EAAOvf,KACtB,EAEA,SAASsmD,GAAsBrG,EAAKv4C,GAChC,MAAM8+C,EAAOzE,GAAmBr6C,EAAKs2C,YAAaiC,EAAIjC,aACtD,OAAOwI,EAAO,GAAe,IAATA,GAAc9+C,EAAK2nB,MAAQ4wB,EAAI5wB,KACvD,CACA,SAASk3B,GAAqBtG,EAAKv4C,GAC/B,MAAM8+C,EAAOzE,GAAmBr6C,EAAKs2C,YAAaiC,EAAIjC,aACtD,OAAOwI,EAAO,GAAe,IAATA,GAAc9+C,EAAK2nB,MAAQ4wB,EAAI5wB,KACvD,CC3aA,SAASo3B,GAAWC,GAChB,OAAO,IAAIT,GAAOU,GAAYD,GAClC,CACA,SAASC,GAAYD,GACjB,MAAMrC,EAAWqC,EAAM1wC,IAAI4wC,IAC3B,MAAO,CAACl3B,KAAO8vB,IAAS6E,EAAS/E,SAAQ9sC,GAAKA,EAAEkd,KAAO8vB,IAC3D,CACA,SAASoH,GAAW3/C,GAChB,OAAQA,EAAK3I,MACT,IAAK,WAAY,CACb,MAAMihB,EAAS,CAACtY,EAAKy7C,gBACrB,MAAO,CAAChzB,KAAO8vB,IAASjgC,CACpC,CACQ,IAAK,UACD,OAWZ,SAAuBtY,GACnB,MAAMk9C,EAAW,CAAE,EACnB,IAAK,MAAM0C,KAAW5/C,EAAKk9C,SACvBA,EAAS0C,EAAQ7mD,OAAS2mD,GAAYE,EAAQhD,MAElD,MAAO,CAACn0B,KAAO8vB,KACX,MAAMiF,EAAeN,EAASz0B,EAAGhxB,MACjC,OAAO,EAAiB+lD,EAAa/0B,KAAO8vB,GAAQ,EAAE,CAE9D,CApBmBsH,CAAc7/C,GACzB,IAAK,YACD,OA0BZ,SAA6BA,GACzB,MAAM8/C,EAAY,GAClB,IAAK,MAAM/H,KAAW/3C,EAAKo9C,SAAU,CACjC,MAAME,EAAYvF,EAAQuF,UACpBE,EAAekC,GAAY3H,EAAQ6E,MACzCkD,EAAUjsC,MAAK,CAACksC,EAAMt3B,KAAO8vB,IAAU+E,EAAUyC,GAAQvC,EAAa/0B,KAAO8vB,GAAQ,IAC7F,CACI,MAAMyH,EAAWhgD,EAAKvI,KACtB,MAAO,CAACgxB,KAAO8vB,KACX,MAAMwH,EAAOt3B,EAAG+lB,QAAQwR,GACxB,OAAQD,GAAiB,KAATA,EACVD,EAAUzH,SAAQ4H,GAAMA,EAAGF,EAAMt3B,KAAO8vB,KACxC,EAAE,CAEhB,CAxCmB2H,CAAoBlgD,GAC/B,IAAK,eACD,OAiBZ,SAAgCA,GAC5B,MAAMggD,EAAWhgD,EAAKvI,KAChB+lD,EAAekC,GAAY1/C,EAAK48C,MACtC,MAAO,CAACn0B,KAAO8vB,IAAUhiD,OAAOC,UAAUC,eAAeC,KAAK+xB,EAAG+lB,QAASwR,GACpExC,EAAa/0B,KAAO8vB,GACpB,EACV,CAvBmB4H,CAAuBngD,GAClC,IAAK,cACD,OAqCZ,SAA+BA,GAC3B,MAAMw9C,EAAekC,GAAY1/C,EAAK48C,MAChCwD,EAAyC,MAApBpgD,EAAKu5C,WAC1B8G,GACAC,GACN,MAAO,CAAC73B,KAAO8vB,KACX,MAAM93C,EAAO2/C,EAAkB33B,GAC/B,OAAa,OAAThoB,EACO,GAEJ+8C,EAAa/8C,EAAMgoB,KAAO8vB,EAAK,CAE9C,CAjDmBgI,CAAsBvgD,GACjC,IAAK,aACD,OA2DZ,SAA8BA,GAC1B,MAAMw9C,EAAekC,GAAY1/C,EAAK48C,MACtC,MAAO,CAACn0B,EAAIhoB,KAAS83C,IAASiF,EAAa/8C,KAAS83C,EACxD,CA9DmBiI,CAAqBxgD,GAExC,CA8CA,MAAMqgD,GAAuB53B,IACzB,MAAM8kB,EAAO9kB,EAAG8kB,KAChB,OAAa,OAATA,EACO,KAEHoB,GAAMpB,GAASA,EAAO8S,GAAoB9S,EAAK,EAErD+S,GAAoB73B,IACtB,MAAM6kB,EAAS7kB,EAAG6kB,OAClB,OAAQA,GAAUqB,GAAMrB,GAAWA,EAAS,IAAI,ECjFpD,ICAIxqC,GDAJ29C,GAAe,IAAIC,YAEnB,2keACK1jD,MAAM,IACN+R,KAAK7D,GAAMA,EAAEy1C,WAAW,MEJ7BC,GAAe,IAAIF,YAEnB,sCACK1jD,MAAM,IACN+R,KAAK7D,GAAMA,EAAEy1C,WAAW,MDH7B,MAAME,GAAY,IAAIl/C,IAAI,CACtB,CAAC,EAAG,OAEJ,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,OAKGyzC,GAEmB,QAA/BtyC,GAAK4L,OAAO0mC,qBAAkC37C,IAAPqJ,GAAgBA,GAAK,SAAUg+C,GACnE,IAAIC,EAAS,GAOb,OANID,EAAY,QACZA,GAAa,MACbC,GAAUryC,OAAOG,aAAeiyC,IAAc,GAAM,KAAS,OAC7DA,EAAY,MAAsB,KAAZA,GAE1BC,GAAUryC,OAAOG,aAAaiyC,GACvBC,CACX,EAMO,SAASC,GAAiBF,GAC7B,IAAIh+C,EACJ,OAAKg+C,GAAa,OAAUA,GAAa,OAAWA,EAAY,QACrD,MAEgC,QAAnCh+C,EAAK+9C,GAAUvmD,IAAIwmD,UAA+BrnD,IAAPqJ,EAAgBA,EAAKg+C,CAC5E,CErDA,IAAIG,IACJ,SAAWA,GACPA,EAAUA,EAAe,IAAI,IAAM,MACnCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAmB,QAAI,IAAM,UACvCA,EAAUA,EAAmB,QAAI,KAAO,UACxCA,EAAUA,EAAmB,QAAI,KAAO,UACxCA,EAAUA,EAAmB,QAAI,KAAO,UACxCA,EAAUA,EAAmB,QAAI,IAAM,UACvCA,EAAUA,EAAmB,QAAI,IAAM,UACvCA,EAAUA,EAAmB,QAAI,IAAM,SAC1C,CAbD,CAaGA,KAAcA,GAAY,CAAA,IAGtB,IAAIC,GA2BPC,GAQOC,GCzDPH,GA+BAI,GA0DOC,GD7DX,SAASC,GAASC,GACd,OAAOA,GAAQP,GAAUQ,MAAQD,GAAQP,GAAUS,IACvD,CAgBA,SAASC,GAA8BH,GACnC,OAAOA,IAASP,GAAUW,QAZ9B,SAA6BJ,GACzB,OAASA,GAAQP,GAAUY,SAAWL,GAAQP,GAAUa,SACnDN,GAAQP,GAAUc,SAAWP,GAAQP,GAAUe,SAChDT,GAASC,EACjB,CAQwCS,CAAoBT,EAC5D,EAzBA,SAAWN,GACPA,EAAaA,EAA2B,aAAI,OAAS,eACrDA,EAAaA,EAA4B,cAAI,OAAS,gBACtDA,EAAaA,EAAyB,WAAI,KAAO,YACpD,CAJD,CAIGA,KAAiBA,GAAe,CAAA,IAuBnC,SAAWC,GACPA,EAAmBA,EAAgC,YAAI,GAAK,cAC5DA,EAAmBA,EAAiC,aAAI,GAAK,eAC7DA,EAAmBA,EAAmC,eAAI,GAAK,iBAC/DA,EAAmBA,EAA+B,WAAI,GAAK,aAC3DA,EAAmBA,EAAgC,YAAI,GAAK,aAC/D,CAND,CAMGA,KAAuBA,GAAqB,CAAA,IAE/C,SAAWC,GAEPA,EAAaA,EAAqB,OAAI,GAAK,SAE3CA,EAAaA,EAAqB,OAAI,GAAK,SAE3CA,EAAaA,EAAwB,UAAI,GAAK,WACjD,CAPD,CAOGA,KAAiBA,GAAe,CAAA,IAI5B,MAAMc,GACT,WAAA5oD,CAEA6oD,EAUAC,EAEAC,GACIvkD,KAAKqkD,WAAaA,EAClBrkD,KAAKskD,cAAgBA,EACrBtkD,KAAKukD,OAASA,EAEdvkD,KAAK8nB,MAAQu7B,GAAmBmB,YAEhCxkD,KAAKykD,SAAW,EAOhBzkD,KAAKwa,OAAS,EAEdxa,KAAK0kD,UAAY,EAEjB1kD,KAAK2kD,OAAS,EAEd3kD,KAAK4kD,WAAatB,GAAauB,MACvC,CAEI,WAAAC,CAAYF,GACR5kD,KAAK4kD,WAAaA,EAClB5kD,KAAK8nB,MAAQu7B,GAAmBmB,YAChCxkD,KAAKwa,OAAS,EACdxa,KAAK0kD,UAAY,EACjB1kD,KAAK2kD,OAAS,EACd3kD,KAAKykD,SAAW,CACxB,CAYI,KAAAtyB,CAAM8hB,EAAK37B,GACP,OAAQtY,KAAK8nB,OACT,KAAKu7B,GAAmBmB,YACpB,OAAIvQ,EAAI4O,WAAWvqC,KAAY6qC,GAAU4B,KACrC/kD,KAAK8nB,MAAQu7B,GAAmB2B,aAChChlD,KAAKykD,UAAY,EACVzkD,KAAKilD,kBAAkBhR,EAAK37B,EAAS,KAEhDtY,KAAK8nB,MAAQu7B,GAAmB6B,YACzBllD,KAAKmlD,iBAAiBlR,EAAK37B,IAEtC,KAAK+qC,GAAmB2B,aACpB,OAAOhlD,KAAKilD,kBAAkBhR,EAAK37B,GAEvC,KAAK+qC,GAAmB+B,eACpB,OAAOplD,KAAKqlD,oBAAoBpR,EAAK37B,GAEzC,KAAK+qC,GAAmBiC,WACpB,OAAOtlD,KAAKulD,gBAAgBtR,EAAK37B,GAErC,KAAK+qC,GAAmB6B,YACpB,OAAOllD,KAAKmlD,iBAAiBlR,EAAK37B,GAGlD,CAUI,iBAAA2sC,CAAkBhR,EAAK37B,GACnB,OAAIA,GAAU27B,EAAIj7C,QACL,GA7IA,GA+IRi7C,EAAI4O,WAAWvqC,MAA4B6qC,GAAUqC,SACtDxlD,KAAK8nB,MAAQu7B,GAAmBiC,WAChCtlD,KAAKykD,UAAY,EACVzkD,KAAKulD,gBAAgBtR,EAAK37B,EAAS,KAE9CtY,KAAK8nB,MAAQu7B,GAAmB+B,eACzBplD,KAAKqlD,oBAAoBpR,EAAK37B,GAC7C,CACI,kBAAAmtC,CAAmBxR,EAAKyR,EAAOC,EAAKC,GAChC,GAAIF,IAAUC,EAAK,CACf,MAAME,EAAaF,EAAMD,EACzB1lD,KAAKwa,OACDxa,KAAKwa,OAASsB,KAAKgqC,IAAIF,EAAMC,GACzB98C,SAASkrC,EAAI/7B,OAAOwtC,EAAOG,GAAaD,GAChD5lD,KAAKykD,UAAYoB,CAC7B,CACA,CAUI,eAAAN,CAAgBtR,EAAK37B,GACjB,MAAMytC,EAAWztC,EACjB,KAAOA,EAAS27B,EAAIj7C,QAAQ,CACxB,MAAMsjD,EAAOrI,EAAI4O,WAAWvqC,GAC5B,KAAImrC,GAASnH,KAnKOoH,EAmKyBpH,EAlK5CoH,GAAQP,GAAUY,SAAWL,GAAQP,GAAU6C,SACnDtC,GAAQP,GAAUc,SAAWP,GAAQP,GAAU8C,UAsKxC,OADAjmD,KAAKylD,mBAAmBxR,EAAK8R,EAAUztC,EAAQ,IACxCtY,KAAKkmD,kBAAkB5J,EAAM,GAJpChkC,GAAU,CAM1B,CA1KA,IAAgCorC,EA4KxB,OADA1jD,KAAKylD,mBAAmBxR,EAAK8R,EAAUztC,EAAQ,KACtC,CACjB,CAUI,mBAAA+sC,CAAoBpR,EAAK37B,GACrB,MAAMytC,EAAWztC,EACjB,KAAOA,EAAS27B,EAAIj7C,QAAQ,CACxB,MAAMsjD,EAAOrI,EAAI4O,WAAWvqC,GAC5B,IAAImrC,GAASnH,GAKT,OADAt8C,KAAKylD,mBAAmBxR,EAAK8R,EAAUztC,EAAQ,IACxCtY,KAAKkmD,kBAAkB5J,EAAM,GAJpChkC,GAAU,CAM1B,CAEQ,OADAtY,KAAKylD,mBAAmBxR,EAAK8R,EAAUztC,EAAQ,KACtC,CACjB,CAcI,iBAAA4tC,CAAkBC,EAAQC,GACtB,IAAIphD,EAEJ,GAAIhF,KAAKykD,UAAY2B,EAEjB,OADuB,QAAtBphD,EAAKhF,KAAKukD,cAA2B5oD,IAAPqJ,GAAyBA,EAAGqhD,2CAA2CrmD,KAAKykD,UACpG,EAGX,GAAI0B,IAAWhD,GAAUmD,KACrBtmD,KAAKykD,UAAY,OAEhB,GAAIzkD,KAAK4kD,aAAetB,GAAauB,OACtC,OAAO,EASX,OAPA7kD,KAAKskD,cAAcpB,GAAiBljD,KAAKwa,QAASxa,KAAKykD,UACnDzkD,KAAKukD,SACD4B,IAAWhD,GAAUmD,MACrBtmD,KAAKukD,OAAOgC,0CAEhBvmD,KAAKukD,OAAOiC,kCAAkCxmD,KAAKwa,SAEhDxa,KAAKykD,QACpB,CAUI,gBAAAU,CAAiBlR,EAAK37B,GAClB,MAAM+rC,WAAEA,GAAerkD,KACvB,IAAI8lB,EAAUu+B,EAAWrkD,KAAK0kD,WAE1B+B,GAAe3gC,EAAUs9B,GAAasD,eAAiB,GAC3D,KAAOpuC,EAAS27B,EAAIj7C,OAAQsf,IAAUtY,KAAK2kD,SAAU,CACjD,MAAMrI,EAAOrI,EAAI4O,WAAWvqC,GAE5B,GADAtY,KAAK0kD,UAAYiC,GAAgBtC,EAAYv+B,EAAS9lB,KAAK0kD,UAAY5oC,KAAKiO,IAAI,EAAG08B,GAAcnK,GAC7Ft8C,KAAK0kD,UAAY,EACjB,OAAuB,IAAhB1kD,KAAKwa,QAEPxa,KAAK4kD,aAAetB,GAAasD,YAEb,IAAhBH,GAEG5C,GAA8BvH,IACpC,EACAt8C,KAAK6mD,+BAKf,GAHA/gC,EAAUu+B,EAAWrkD,KAAK0kD,WAC1B+B,GAAe3gC,EAAUs9B,GAAasD,eAAiB,GAEnC,IAAhBD,EAAmB,CAEnB,GAAInK,IAAS6G,GAAUmD,KACnB,OAAOtmD,KAAK8mD,oBAAoB9mD,KAAK0kD,UAAW+B,EAAazmD,KAAKykD,SAAWzkD,KAAK2kD,QAGlF3kD,KAAK4kD,aAAetB,GAAauB,SACjC7kD,KAAKwa,OAASxa,KAAK0kD,UACnB1kD,KAAKykD,UAAYzkD,KAAK2kD,OACtB3kD,KAAK2kD,OAAS,EAElC,CACA,CACQ,OAAS,CACjB,CAMI,4BAAAkC,GACI,IAAI7hD,EACJ,MAAMwV,OAAEA,EAAM6pC,WAAEA,GAAerkD,KACzBymD,GAAepC,EAAW7pC,GAAU4oC,GAAasD,eAAiB,GAGxE,OAFA1mD,KAAK8mD,oBAAoBtsC,EAAQisC,EAAazmD,KAAKykD,UAC5B,QAAtBz/C,EAAKhF,KAAKukD,cAA2B5oD,IAAPqJ,GAAyBA,EAAGuhD,0CACpDvmD,KAAKykD,QACpB,CAUI,mBAAAqC,CAAoBtsC,EAAQisC,EAAahC,GACrC,MAAMJ,WAAEA,GAAerkD,KAQvB,OAPAA,KAAKskD,cAA8B,IAAhBmC,EACbpC,EAAW7pC,IAAW4oC,GAAasD,aACnCrC,EAAW7pC,EAAS,GAAIiqC,GACV,IAAhBgC,GAEAzmD,KAAKskD,cAAcD,EAAW7pC,EAAS,GAAIiqC,GAExCA,CACf,CAQI,GAAAkB,GACI,IAAI3gD,EACJ,OAAQhF,KAAK8nB,OACT,KAAKu7B,GAAmB6B,YAEpB,OAAuB,IAAhBllD,KAAKwa,QACPxa,KAAK4kD,aAAetB,GAAasD,WAC9B5mD,KAAKwa,SAAWxa,KAAK0kD,UAEvB,EADA1kD,KAAK6mD,+BAIf,KAAKxD,GAAmB+B,eACpB,OAAOplD,KAAKkmD,kBAAkB,EAAG,GAErC,KAAK7C,GAAmBiC,WACpB,OAAOtlD,KAAKkmD,kBAAkB,EAAG,GAErC,KAAK7C,GAAmB2B,aAEpB,OADuB,QAAtBhgD,EAAKhF,KAAKukD,cAA2B5oD,IAAPqJ,GAAyBA,EAAGqhD,2CAA2CrmD,KAAKykD,UACpG,EAEX,KAAKpB,GAAmBmB,YAEpB,OAAO,EAGvB,EAQA,SAASuC,GAAW1C,GAChB,IAAI2C,EAAM,GACV,MAAMC,EAAU,IAAI7C,GAAcC,GAAapQ,GAAS+S,GAAO1P,GAAcrD,KAC7E,OAAO,SAAwBA,EAAK2Q,GAChC,IAAIjR,EAAY,EACZr7B,EAAS,EACb,MAAQA,EAAS27B,EAAIp7C,QAAQ,IAAKyf,KAAY,GAAG,CAC7C0uC,GAAO/S,EAAI94B,MAAMw4B,EAAWr7B,GAC5B2uC,EAAQnC,YAAYF,GACpB,MAAM/pC,EAAMosC,EAAQ90B,MAAM8hB,EAE1B37B,EAAS,GACT,GAAIuC,EAAM,EAAG,CACT84B,EAAYr7B,EAAS2uC,EAAQtB,MAC7B,KAChB,CACYhS,EAAYr7B,EAASuC,EAErBvC,EAAiB,IAARuC,EAAY84B,EAAY,EAAIA,CACjD,CACQ,MAAMn5B,EAASwsC,EAAM/S,EAAI94B,MAAMw4B,GAG/B,OADAqT,EAAM,GACCxsC,CACV,CACL,CAWO,SAASmsC,GAAgBtC,EAAYv+B,EAASohC,EAAS5K,GAC1D,MAAM6K,GAAerhC,EAAUs9B,GAAagE,gBAAkB,EACxDC,EAAavhC,EAAUs9B,GAAakE,WAE1C,GAAoB,IAAhBH,EACA,OAAsB,IAAfE,GAAoB/K,IAAS+K,EAAaH,GAAY,EAGjE,GAAIG,EAAY,CACZ,MAAMpsD,EAAQqhD,EAAO+K,EACrB,OAAOpsD,EAAQ,GAAKA,GAASksD,GACvB,EACA9C,EAAW6C,EAAUjsD,GAAS,CAC5C,CAGI,IAAIssD,EAAKL,EACLM,EAAKD,EAAKJ,EAAc,EAC5B,KAAOI,GAAMC,GAAI,CACb,MAAMC,EAAOF,EAAKC,IAAQ,EACpBE,EAASrD,EAAWoD,GAC1B,GAAIC,EAASpL,EACTiL,EAAKE,EAAM,MAEV,MAAIC,EAASpL,GAId,OAAO+H,EAAWoD,EAAMN,GAHxBK,EAAKC,EAAM,CAIvB,CACA,CACI,OAAS,CACb,CClYA,SAASE,GAAav6C,GAClB,OAAQA,IAAM+1C,GAAUyE,OACpBx6C,IAAM+1C,GAAU0E,SAChBz6C,IAAM+1C,GAAU2E,KAChB16C,IAAM+1C,GAAU4E,UAChB36C,IAAM+1C,GAAU6E,cACxB,CACA,SAASC,GAAkB76C,GACvB,OAAOA,IAAM+1C,GAAU+E,OAAS96C,IAAM+1C,GAAUgF,IAAMR,GAAav6C,EACvE,CACA,SAASq2C,GAASr2C,GACd,OAAOA,GAAK+1C,GAAUiF,MAAQh7C,GAAK+1C,GAAUkF,IACjD,CDuXoBtB,GAAWpE,IACZoE,GAAWjE,ICvc9B,SAAWK,GACPA,EAAUA,EAAe,IAAI,GAAK,MAClCA,EAAUA,EAAmB,QAAI,IAAM,UACvCA,EAAUA,EAAoB,SAAI,IAAM,WACxCA,EAAUA,EAA0B,eAAI,IAAM,iBAC9CA,EAAUA,EAAiB,MAAI,IAAM,QACrCA,EAAUA,EAA2B,gBAAI,IAAM,kBAC/CA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAe,IAAI,IAAM,MACnCA,EAAUA,EAAuB,YAAI,IAAM,cAC3CA,EAAUA,EAAuB,YAAI,IAAM,cAC3CA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAiB,MAAI,IAAM,QACrCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAgB,KAAI,IAAM,OACpCA,EAAUA,EAAc,GAAI,IAAM,KAClCA,EAAUA,EAAc,GAAI,IAAM,KAClCA,EAAUA,EAAc,GAAI,IAAM,KAClCA,EAAUA,EAAwB,aAAI,IAAM,eAC5CA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAkB,OAAI,KAAO,SACvCA,EAAUA,EAAkB,OAAI,IAAM,SACtCA,EAAUA,EAAkB,OAAI,KAAO,SACvCA,EAAUA,EAAkB,OAAI,KAAO,SACvCA,EAAUA,EAAgC,qBAAI,IAAM,sBACvD,CA5BD,CA4BGA,KAAcA,GAAY,CAAA,IAG7B,SAAWI,GACPA,EAAMA,EAAY,KAAI,GAAK,OAC3BA,EAAMA,EAAqB,cAAI,GAAK,gBACpCA,EAAMA,EAAiB,UAAI,GAAK,YAChCA,EAAMA,EAAwB,iBAAI,GAAK,mBACvCA,EAAMA,EAA4B,qBAAI,GAAK,uBAC3CA,EAAMA,EAAwB,iBAAI,GAAK,mBACvCA,EAAMA,EAA2B,oBAAI,GAAK,sBAE1CA,EAAMA,EAA2B,oBAAI,GAAK,sBAC1CA,EAAMA,EAAuB,gBAAI,GAAK,kBACtCA,EAAMA,EAA0B,mBAAI,IAAM,qBAC1CA,EAAMA,EAA4B,qBAAI,IAAM,uBAC5CA,EAAMA,EAA0B,mBAAI,IAAM,qBAC1CA,EAAMA,EAA0B,mBAAI,IAAM,qBAC1CA,EAAMA,EAA0B,mBAAI,IAAM,qBAE1CA,EAAMA,EAAyB,kBAAI,IAAM,oBACzCA,EAAMA,EAAqB,cAAI,IAAM,gBAErCA,EAAMA,EAA+B,wBAAI,IAAM,0BAE/CA,EAAMA,EAAqB,cAAI,IAAM,gBACrCA,EAAMA,EAAqB,cAAI,IAAM,gBACrCA,EAAMA,EAAwB,iBAAI,IAAM,mBACxCA,EAAMA,EAAqB,cAAI,IAAM,gBAErCA,EAAMA,EAAsB,eAAI,IAAM,iBACtCA,EAAMA,EAA4B,qBAAI,IAAM,uBAC5CA,EAAMA,EAAoB,aAAI,IAAM,eACpCA,EAAMA,EAAoB,aAAI,IAAM,eACpCA,EAAMA,EAA2B,oBAAI,IAAM,sBAC3CA,EAAMA,EAAqB,cAAI,IAAM,gBACrCA,EAAMA,EAAuB,gBAAI,IAAM,kBACvCA,EAAMA,EAAmB,YAAI,IAAM,aACtC,CAnCD,CAmCGA,KAAUA,GAAQ,CAAA,IAuBrB,SAAWC,GACPA,EAAUA,EAAmB,QAAI,GAAK,UACtCA,EAAUA,EAAoB,SAAI,GAAK,WACvCA,EAAUA,EAAkB,OAAI,GAAK,SACrCA,EAAUA,EAAkB,OAAI,GAAK,QACxC,CALD,CAKGA,KAAcA,GAAY,CAAA,IAO7B,MAAM8E,GAAY,CACdC,MAAO,IAAIC,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACrDC,SAAU,IAAID,WAAW,CAAC,GAAM,GAAM,KACtCE,WAAY,IAAIF,WAAW,CAAC,GAAM,GAAM,KACxCG,UAAW,IAAIH,WAAW,CAAC,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,MACrEI,SAAU,IAAIJ,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,MAC9DK,SAAU,IAAIL,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,OAEnD,MAAMM,GACjB,WAAAttD,EAAYo2C,QAAEA,GAAU,EAAKmX,eAAEA,GAAiB,GAASC,GACrDhpD,KAAKgpD,IAAMA,EAEXhpD,KAAK8nB,MAAQy7B,GAAMxU,KAEnB/uC,KAAKipD,OAAS,GAEdjpD,KAAKkpD,aAAe,EAEpBlpD,KAAKsqB,MAAQ,EAEbtqB,KAAKmpD,UAAY5F,GAAMxU,KAEvB/uC,KAAKopD,WAAY,EAEjBppD,KAAKqpD,SAAU,EAEfrpD,KAAKsY,OAAS,EACdtY,KAAKspD,qBAAkB3tD,EACvBqE,KAAKupD,cAAgB,EACrBvpD,KAAKwpD,UAAY,EACjBxpD,KAAKypD,YAAc,EAEnBzpD,KAAK0pD,aAAe,EACpB1pD,KAAK2pD,aAAe,EACpB3pD,KAAK4xC,QAAUA,EACf5xC,KAAK+oD,eAAiBA,EACtB/oD,KAAK4pD,WAAahY,EAAUkR,GAAgBH,EACpD,CACI,KAAAx7C,GACInH,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKipD,OAAS,GACdjpD,KAAKkpD,aAAe,EACpBlpD,KAAKsqB,MAAQ,EACbtqB,KAAKmpD,UAAY5F,GAAMxU,KACvB/uC,KAAKspD,qBAAkB3tD,EACvBqE,KAAKqpD,SAAU,EACfrpD,KAAKsY,OAAS,CACtB,CACI,KAAA6Z,CAAM03B,GACF7pD,KAAKsY,QAAUtY,KAAKipD,OAAOjwD,OAC3BgH,KAAKipD,OAASY,EACd7pD,KAAKm7B,OACb,CACI,GAAAwqB,GACQ3lD,KAAKqpD,SACLrpD,KAAK8pD,QACjB,CACI,KAAAC,GACI/pD,KAAKqpD,SAAU,CACvB,CACI,MAAAW,GACIhqD,KAAKqpD,SAAU,EACXrpD,KAAKsqB,MAAQtqB,KAAKipD,OAAOjwD,OAASgH,KAAKsY,QACvCtY,KAAKm7B,OAEjB,CAII,QAAA8uB,GACI,OAAOjqD,KAAKsqB,KACpB,CAII,eAAA4/B,GACI,OAAOlqD,KAAKkpD,YACpB,CACI,SAAAiB,CAAU/8C,GACFA,IAAM+1C,GAAUiH,KACdpqD,KAAK+oD,gBAAkB/oD,KAAKqqD,cAAclH,GAAUiH,KAClDpqD,KAAKsqB,MAAQtqB,KAAKkpD,cAClBlpD,KAAKgpD,IAAInW,OAAO7yC,KAAKkpD,aAAclpD,KAAKsqB,OAE5CtqB,KAAK8nB,MAAQy7B,GAAM+G,cACnBtqD,KAAKkpD,aAAelpD,KAAKsqB,OAEpBtqB,KAAK+oD,gBAAkB37C,IAAM+1C,GAAUoH,MAC5CvqD,KAAK8nB,MAAQy7B,GAAMiH,aAE/B,CACI,yBAAAC,CAA0Br9C,GACtB,MAAMs9C,EAAQ1qD,KAAKupD,gBAAkBvpD,KAAKspD,gBAAgBtwD,OAM1D,GALgB0xD,EAERzC,GAAkB76C,IAEb,GAAJA,KAAcpN,KAAKspD,gBAAgBtpD,KAAKupD,gBAI5C,IAAKmB,EAEN,YADA1qD,KAAKupD,qBAHLvpD,KAAKopD,WAAY,EAMrBppD,KAAKupD,cAAgB,EACrBvpD,KAAK8nB,MAAQy7B,GAAMoH,UACnB3qD,KAAK4qD,eAAex9C,EAC5B,CAEI,iBAAAy9C,CAAkBz9C,GACd,GAAIpN,KAAKupD,gBAAkBvpD,KAAKspD,gBAAgBtwD,OAAQ,CACpD,GAAIoU,IAAM+1C,GAAUgF,IAAMR,GAAav6C,GAAI,CACvC,MAAM09C,EAAY9qD,KAAKsqB,MAAQtqB,KAAKspD,gBAAgBtwD,OACpD,GAAIgH,KAAKkpD,aAAe4B,EAAW,CAE/B,MAAMC,EAAc/qD,KAAKsqB,MACzBtqB,KAAKsqB,MAAQwgC,EACb9qD,KAAKgpD,IAAInW,OAAO7yC,KAAKkpD,aAAc4B,GACnC9qD,KAAKsqB,MAAQygC,CACjC,CAIgB,OAHA/qD,KAAKopD,WAAY,EACjBppD,KAAKkpD,aAAe4B,EAAY,OAChC9qD,KAAKgrD,sBAAsB59C,EAE3C,CACYpN,KAAKupD,cAAgB,CACjC,EACiB,GAAJn8C,KAAcpN,KAAKspD,gBAAgBtpD,KAAKupD,eACzCvpD,KAAKupD,eAAiB,EAEM,IAAvBvpD,KAAKupD,cACNvpD,KAAKspD,kBAAoBhB,GAAUO,SAE/B7oD,KAAK+oD,gBAAkB37C,IAAM+1C,GAAUoH,MACvCvqD,KAAK8nB,MAAQy7B,GAAMiH,cAGlBxqD,KAAKqqD,cAAclH,GAAUiH,MAElCpqD,KAAKupD,cAAgB,GAKzBvpD,KAAKupD,cAAgBjgD,OAAO8D,IAAM+1C,GAAUiH,GAExD,CACI,kBAAAa,CAAmB79C,GACXA,IAAMk7C,GAAUC,MAAMvoD,KAAKupD,iBACrBvpD,KAAKupD,gBAAkBjB,GAAUC,MAAMvvD,SACzCgH,KAAK8nB,MAAQy7B,GAAM2H,cACnBlrD,KAAKspD,gBAAkBhB,GAAUG,SACjCzoD,KAAKupD,cAAgB,EACrBvpD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,IAIrCtqB,KAAKupD,cAAgB,EACrBvpD,KAAK8nB,MAAQy7B,GAAM4H,cACnBnrD,KAAKorD,mBAAmBh+C,GAEpC,CAOI,aAAAi9C,CAAcj9C,GACV,OAASpN,KAAKsqB,MAAQtqB,KAAKipD,OAAOjwD,OAASgH,KAAKsY,QAC5C,GAAItY,KAAKipD,OAAOpG,WAAW7iD,KAAKsqB,MAAQtqB,KAAKsY,UAAYlL,EACrD,OAAO,EAUf,OADApN,KAAKsqB,MAAQtqB,KAAKipD,OAAOjwD,OAASgH,KAAKsY,OAAS,GACzC,CACf,CASI,kBAAA+yC,CAAmBj+C,GACXA,IAAMpN,KAAKspD,gBAAgBtpD,KAAKupD,iBAC1BvpD,KAAKupD,gBAAkBvpD,KAAKspD,gBAAgBtwD,SAC1CgH,KAAKspD,kBAAoBhB,GAAUG,SACnCzoD,KAAKgpD,IAAIsC,QAAQtrD,KAAKkpD,aAAclpD,KAAKsqB,MAAO,GAGhDtqB,KAAKgpD,IAAIlW,UAAU9yC,KAAKkpD,aAAclpD,KAAKsqB,MAAO,GAEtDtqB,KAAKupD,cAAgB,EACrBvpD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EACjCtqB,KAAK8nB,MAAQy7B,GAAMxU,MAGK,IAAvB/uC,KAAKupD,cAENvpD,KAAKqqD,cAAcrqD,KAAKspD,gBAAgB,MACxCtpD,KAAKupD,cAAgB,GAGpBn8C,IAAMpN,KAAKspD,gBAAgBtpD,KAAKupD,cAAgB,KAErDvpD,KAAKupD,cAAgB,EAEjC,CAOI,cAAAgC,CAAen+C,GACX,OAAOpN,KAAK4xC,SAAWqW,GAAkB76C,GArPjD,SAAsBA,GAClB,OAASA,GAAK+1C,GAAUqI,QAAUp+C,GAAK+1C,GAAUsI,QAC5Cr+C,GAAK+1C,GAAUuI,QAAUt+C,GAAK+1C,GAAUwI,MACjD,CAkPsDC,CAAax+C,EACnE,CACI,YAAAy+C,CAAaC,EAAUxzC,GACnBtY,KAAKopD,WAAY,EACjBppD,KAAKspD,gBAAkBwC,EACvB9rD,KAAKupD,cAAgBjxC,EACrBtY,KAAK8nB,MAAQy7B,GAAMwI,oBAC3B,CACI,kBAAAC,CAAmB5+C,GACf,GAAIA,IAAM+1C,GAAU8I,gBAChBjsD,KAAK8nB,MAAQy7B,GAAM2I,kBACnBlsD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,OAEhC,GAAIld,IAAM+1C,GAAUgJ,aACrBnsD,KAAK8nB,MAAQy7B,GAAM6I,wBACnBpsD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,OAEhC,GAAItqB,KAAKurD,eAAen+C,GAAI,CAC7B,MAAM+yC,EAAY,GAAJ/yC,EACdpN,KAAKkpD,aAAelpD,KAAKsqB,MACpBtqB,KAAK4xC,SAAWuO,IAAUmI,GAAUO,SAAS,GAI9C7oD,KAAK8nB,MACA9nB,KAAK4xC,SAAWuO,IAAUmI,GAAUK,UAAU,GAEzCpF,GAAMoH,UADNpH,GAAM8I,eALhBrsD,KAAK6rD,aAAavD,GAAUO,SAAU,EAQtD,MACiBz7C,IAAM+1C,GAAU+E,MACrBloD,KAAK8nB,MAAQy7B,GAAM+I,sBAGnBtsD,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKmqD,UAAU/8C,GAE3B,CACI,cAAAw9C,CAAex9C,GACP66C,GAAkB76C,KAClBpN,KAAKgpD,IAAIuD,cAAcvsD,KAAKkpD,aAAclpD,KAAKsqB,OAC/CtqB,KAAKkpD,cAAiB,EACtBlpD,KAAK8nB,MAAQy7B,GAAMiJ,oBACnBxsD,KAAKysD,yBAAyBr/C,GAE1C,CACI,yBAAAs/C,CAA0Bt/C,GAClBu6C,GAAav6C,KAGRA,IAAM+1C,GAAUgF,GACrBnoD,KAAK8nB,MAAQy7B,GAAMxU,MAGnB/uC,KAAK8nB,MAAQ9nB,KAAKurD,eAAen+C,GAC3Bm2C,GAAMoJ,iBACNpJ,GAAMqJ,iBACZ5sD,KAAKkpD,aAAelpD,KAAKsqB,OAErC,CACI,qBAAA0gC,CAAsB59C,IACdA,IAAM+1C,GAAUgF,IAAMR,GAAav6C,MACnCpN,KAAKgpD,IAAIvW,WAAWzyC,KAAKkpD,aAAclpD,KAAKsqB,OAC5CtqB,KAAKkpD,cAAiB,EACtBlpD,KAAK8nB,MAAQy7B,GAAMsJ,oBACnB7sD,KAAK8sD,yBAAyB1/C,GAE1C,CACI,wBAAA0/C,CAAyB1/C,IAEjBA,IAAM+1C,GAAUgF,IAAMnoD,KAAKqqD,cAAclH,GAAUgF,OACnDnoD,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKmpD,UAAY5F,GAAMxU,KACvB/uC,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EAE7C,CACI,wBAAAmiC,CAAyBr/C,GACjBA,IAAM+1C,GAAUgF,IAChBnoD,KAAKgpD,IAAI+D,aAAa/sD,KAAKsqB,OACvBtqB,KAAKopD,WACLppD,KAAK8nB,MAAQy7B,GAAMyJ,aACnBhtD,KAAKupD,cAAgB,GAGrBvpD,KAAK8nB,MAAQy7B,GAAMxU,KAEvB/uC,KAAKmpD,UAAYnpD,KAAK8nB,MACtB9nB,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,GAE5Bld,IAAM+1C,GAAU+E,MACrBloD,KAAK8nB,MAAQy7B,GAAM0J,iBAEbtF,GAAav6C,KACnBpN,KAAK8nB,MAAQy7B,GAAM2J,gBACnBltD,KAAKkpD,aAAelpD,KAAKsqB,MAErC,CACI,qBAAA6iC,CAAsB//C,GACdA,IAAM+1C,GAAUgF,IAChBnoD,KAAKgpD,IAAIoE,iBAAiBptD,KAAKsqB,OAC/BtqB,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKmpD,UAAY5F,GAAMxU,KACvB/uC,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EACjCtqB,KAAKopD,WAAY,GAEXzB,GAAav6C,KACnBpN,KAAK8nB,MAAQy7B,GAAMiJ,oBACnBxsD,KAAKysD,yBAAyBr/C,GAE1C,CACI,oBAAAigD,CAAqBjgD,IACbA,IAAM+1C,GAAUmK,IAAMrF,GAAkB76C,MACxCpN,KAAKgpD,IAAIuE,aAAavtD,KAAKkpD,aAAclpD,KAAKsqB,OAC9CtqB,KAAKkpD,cAAiB,EACtBlpD,KAAK8nB,MAAQy7B,GAAMiK,mBACnBxtD,KAAKytD,wBAAwBrgD,GAEzC,CACI,uBAAAqgD,CAAwBrgD,GAChBA,IAAM+1C,GAAUmK,GAChBttD,KAAK8nB,MAAQy7B,GAAMmK,qBAEdtgD,IAAM+1C,GAAU+E,OAAS96C,IAAM+1C,GAAUgF,IAC9CnoD,KAAKgpD,IAAI2E,YAAYnK,GAAUoK,QAAS5tD,KAAKsqB,OAC7CtqB,KAAK8nB,MAAQy7B,GAAMiJ,oBACnBxsD,KAAKysD,yBAAyBr/C,IAExBu6C,GAAav6C,KACnBpN,KAAKgpD,IAAI2E,YAAYnK,GAAUoK,QAAS5tD,KAAKsqB,OAC7CtqB,KAAK8nB,MAAQy7B,GAAM2J,gBACnBltD,KAAKkpD,aAAelpD,KAAKsqB,MAErC,CACI,yBAAAujC,CAA0BzgD,GAClBA,IAAM+1C,GAAU2K,aAChB9tD,KAAK8nB,MAAQy7B,GAAMwK,mBACnB/tD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,GAE5Bld,IAAM+1C,GAAU6K,aACrBhuD,KAAK8nB,MAAQy7B,GAAM0K,mBACnBjuD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,GAE3Bq9B,GAAav6C,KACnBpN,KAAKkpD,aAAelpD,KAAKsqB,MACzBtqB,KAAK8nB,MAAQy7B,GAAM2K,mBACnBluD,KAAKmuD,8BAA8B/gD,GAE/C,CACI,sBAAAghD,CAAuBhhD,EAAGihD,GAClBjhD,IAAMihD,IACJruD,KAAK+oD,gBAAkB/oD,KAAKqqD,cAAcgE,IAC5CruD,KAAKgpD,IAAIsF,aAAatuD,KAAKkpD,aAAclpD,KAAKsqB,OAC9CtqB,KAAKkpD,cAAiB,EACtBlpD,KAAKgpD,IAAI2E,YAAYU,IAAUlL,GAAU2K,YACnCtK,GAAU+K,OACV/K,GAAUgL,OAAQxuD,KAAKsqB,OAC7BtqB,KAAK8nB,MAAQy7B,GAAMiJ,qBAEdxsD,KAAK+oD,gBAAkB37C,IAAM+1C,GAAUoH,MAC5CvqD,KAAKmpD,UAAYnpD,KAAK8nB,MACtB9nB,KAAK8nB,MAAQy7B,GAAMiH,aAE/B,CACI,iCAAAiE,CAAkCrhD,GAC9BpN,KAAKouD,uBAAuBhhD,EAAG+1C,GAAU2K,YACjD,CACI,iCAAAY,CAAkCthD,GAC9BpN,KAAKouD,uBAAuBhhD,EAAG+1C,GAAU6K,YACjD,CACI,6BAAAG,CAA8B/gD,GACtBu6C,GAAav6C,IAAMA,IAAM+1C,GAAUgF,IACnCnoD,KAAKgpD,IAAIsF,aAAatuD,KAAKkpD,aAAclpD,KAAKsqB,OAC9CtqB,KAAKkpD,cAAiB,EACtBlpD,KAAKgpD,IAAI2E,YAAYnK,GAAUmL,SAAU3uD,KAAKsqB,OAC9CtqB,KAAK8nB,MAAQy7B,GAAMiJ,oBACnBxsD,KAAKysD,yBAAyBr/C,IAEzBpN,KAAK+oD,gBAAkB37C,IAAM+1C,GAAUoH,MAC5CvqD,KAAKmpD,UAAYnpD,KAAK8nB,MACtB9nB,KAAK8nB,MAAQy7B,GAAMiH,aAE/B,CACI,sBAAAoE,CAAuBxhD,GACfA,IAAM+1C,GAAU0L,sBAChB7uD,KAAK8nB,MAAQy7B,GAAMuL,cACnB9uD,KAAKupD,cAAgB,GAGrBvpD,KAAK8nB,MACD1a,IAAM+1C,GAAU4L,KACVxL,GAAMyL,cACNzL,GAAM4H,aAE5B,CACI,kBAAAC,CAAmBh+C,IACXA,IAAM+1C,GAAUgF,IAAMnoD,KAAKqqD,cAAclH,GAAUgF,OACnDnoD,KAAKgpD,IAAIiG,cAAcjvD,KAAKkpD,aAAclpD,KAAKsqB,OAC/CtqB,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EAE7C,CACI,4BAAA4kC,CAA6B9hD,IACrBA,IAAM+1C,GAAUgF,IAAMnoD,KAAKqqD,cAAclH,GAAUgF,OACnDnoD,KAAKgpD,IAAI9V,wBAAwBlzC,KAAKkpD,aAAclpD,KAAKsqB,OACzDtqB,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EAE7C,CACI,kBAAA6kC,CAAmB/hD,GACXA,IAAM+1C,GAAU4L,MAChB/uD,KAAK8nB,MAAQy7B,GAAM2H,cACnBlrD,KAAKspD,gBAAkBhB,GAAUI,WAEjC1oD,KAAKupD,cAAgB,EACrBvpD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,GAGjCtqB,KAAK8nB,MAAQy7B,GAAM4H,aAE/B,CACI,qBAAAiE,CAAsBhiD,IACdA,IAAM+1C,GAAUgF,IAAMnoD,KAAKqqD,cAAclH,GAAUgF,OACnDnoD,KAAKgpD,IAAIlW,UAAU9yC,KAAKkpD,aAAclpD,KAAKsqB,MAAO,GAClDtqB,KAAK8nB,MAAQy7B,GAAMxU,KACnB/uC,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EAE7C,CACI,mBAAA+kC,CAAoBjiD,GAChB,MAAM+yC,EAAY,GAAJ/yC,EACV+yC,IAAUmI,GAAUK,UAAU,GAC9B3oD,KAAK6rD,aAAavD,GAAUK,UAAW,GAElCxI,IAAUmI,GAAUM,SAAS,GAClC5oD,KAAK6rD,aAAavD,GAAUM,SAAU,IAGtC5oD,KAAK8nB,MAAQy7B,GAAMoH,UACnB3qD,KAAK4qD,eAAex9C,GAEhC,CACI,iBAAAkiD,CAAkBliD,GAEdpN,KAAK2pD,aAAe,EACpB3pD,KAAK0pD,aAAe,EAChBt8C,IAAM+1C,GAAU75C,OAChBtJ,KAAK8nB,MAAQy7B,GAAMgM,oBAEdniD,IAAM+1C,GAAUoH,MAIrBvqD,KAAKwpD,UAAY,EACjBxpD,KAAKypD,YAAczpD,KAAK4pD,WAAW,GACnC5pD,KAAK8nB,MAAQy7B,GAAMiM,cACnBxvD,KAAKyvD,mBAAmBriD,GAEpC,CACI,kBAAAqiD,CAAmBriD,GAGf,GAFApN,KAAK2pD,cAAgB,EACrB3pD,KAAKwpD,UAAY7C,GAAgB3mD,KAAK4pD,WAAY5pD,KAAKypD,YAAazpD,KAAKwpD,UAAY,EAAGp8C,GACpFpN,KAAKwpD,UAAY,EAGjB,OAFAxpD,KAAK0vD,uBACL1vD,KAAKsqB,QAGTtqB,KAAKypD,YAAczpD,KAAK4pD,WAAW5pD,KAAKwpD,WACxC,MAAMmG,EAAS3vD,KAAKypD,YAAcrG,GAAasD,aAE/C,GAAIiJ,EAAQ,CAER,MAAMlJ,GAAekJ,GAAU,IAAM,EAErC,GAAK3vD,KAAK4vD,qBAAuBxiD,IAAM+1C,GAAU0M,KAG5C,CAED,MAAMC,EAAc9vD,KAAKsqB,MAAQtqB,KAAK2pD,aAAe,EACjDmG,EAAc9vD,KAAKkpD,cACnBlpD,KAAK+vD,YAAY/vD,KAAKkpD,aAAc4G,GAGxC9vD,KAAK0pD,aAAe1pD,KAAKwpD,UACzBxpD,KAAKwpD,WAAa/C,EAClBzmD,KAAK2pD,aAAe,EACpB3pD,KAAKkpD,aAAelpD,KAAKsqB,MAAQ,EACb,IAAhBm8B,GACAzmD,KAAK0vD,iBAEzB,MAhBgB1vD,KAAKwpD,WAAa/C,CAiBlC,CACA,CACI,eAAAiJ,GAEI,GADA1vD,KAAK8nB,MAAQ9nB,KAAKmpD,UACQ,IAAtBnpD,KAAK0pD,aACL,OAIJ,QAFqB1pD,KAAK4pD,WAAW5pD,KAAK0pD,cAAgBtG,GAAasD,eACnE,IAEA,KAAK,EACD1mD,KAAKskD,cAActkD,KAAK4pD,WAAW5pD,KAAK0pD,eACnCtG,GAAasD,cAClB,MAEJ,KAAK,EACD1mD,KAAKskD,cAActkD,KAAK4pD,WAAW5pD,KAAK0pD,aAAe,IACvD,MAEJ,KAAK,EACD1pD,KAAKskD,cAActkD,KAAK4pD,WAAW5pD,KAAK0pD,aAAe,IACvD1pD,KAAKskD,cAActkD,KAAK4pD,WAAW5pD,KAAK0pD,aAAe,IAGvE,CACI,wBAAAsG,CAAyB5iD,IACZ,GAAJA,KAAc+1C,GAAU8M,QACzBjwD,KAAK2pD,eACL3pD,KAAK8nB,MAAQy7B,GAAM2M,cAGnBlwD,KAAK8nB,MAAQy7B,GAAM4M,gBACnBnwD,KAAKowD,qBAAqBhjD,GAEtC,CACI,iBAAA84C,CAAkBmK,GACd,MAAMP,EAAc9vD,KAAKsqB,MAAQtqB,KAAK2pD,aAAe,EACjCmG,EAAc,EAAIxmD,OAAOtJ,KAAK8nB,QAAUy7B,GAAM2M,eAC9ClwD,KAAKsqB,QAEjBwlC,EAAc9vD,KAAKkpD,cACnBlpD,KAAK+vD,YAAY/vD,KAAKkpD,aAAc4G,GAExC9vD,KAAKkpD,aAAelpD,KAAKsqB,MAAQhhB,OAAO+mD,GACxCrwD,KAAKskD,cAAcpB,GAAiBljD,KAAK0pD,gBAE7C1pD,KAAK8nB,MAAQ9nB,KAAKmpD,SAC1B,CACI,oBAAAiH,CAAqBhjD,GACbA,IAAM+1C,GAAU0M,KAChB7vD,KAAKkmD,mBAAkB,GAElBzC,GAASr2C,IACdpN,KAAK0pD,aAAmC,GAApB1pD,KAAK0pD,cAAqBt8C,EAAI+1C,GAAUiF,MAC5DpoD,KAAK2pD,iBAGD3pD,KAAK4vD,oBACL5vD,KAAKkmD,mBAAkB,GAGvBlmD,KAAK8nB,MAAQ9nB,KAAKmpD,UAEtBnpD,KAAKsqB,QAEjB,CACI,gBAAAgmC,CAAiBljD,GACTA,IAAM+1C,GAAU0M,KAChB7vD,KAAKkmD,mBAAkB,GAElBzC,GAASr2C,IACdpN,KAAK0pD,aAAmC,GAApB1pD,KAAK0pD,cAAqBt8C,EAAI+1C,GAAUiF,MAC5DpoD,KAAK2pD,iBA3lBjB,SAAoBv8C,GAChB,OAASA,GAAK+1C,GAAUuI,QAAUt+C,GAAK+1C,GAAUoN,QAC5CnjD,GAAK+1C,GAAUqI,QAAUp+C,GAAK+1C,GAAUqN,MACjD,CA0lBiBC,CAAWrjD,IAMZpN,KAAK4vD,oBACL5vD,KAAKkmD,mBAAkB,GAGvBlmD,KAAK8nB,MAAQ9nB,KAAKmpD,UAEtBnpD,KAAKsqB,UAXLtqB,KAAK0pD,aACmB,GAApB1pD,KAAK0pD,eAA0B,GAAJt8C,GAAY+1C,GAAUqI,OAAS,IAC9DxrD,KAAK2pD,eAWjB,CACI,iBAAAiG,GACI,OAAS5vD,KAAK4xC,UACT5xC,KAAKmpD,YAAc5F,GAAMxU,MACtB/uC,KAAKmpD,YAAc5F,GAAMyJ,aACzC,CAII,OAAA0D,GAEQ1wD,KAAKqpD,SAAWrpD,KAAKkpD,eAAiBlpD,KAAKsqB,QACvCtqB,KAAK8nB,QAAUy7B,GAAMxU,MACpB/uC,KAAK8nB,QAAUy7B,GAAMyJ,cAAuC,IAAvBhtD,KAAKupD,eAC3CvpD,KAAKgpD,IAAInW,OAAO7yC,KAAKkpD,aAAclpD,KAAKsqB,OACxCtqB,KAAKkpD,aAAelpD,KAAKsqB,OAEpBtqB,KAAK8nB,QAAUy7B,GAAMwK,oBAC1B/tD,KAAK8nB,QAAUy7B,GAAM0K,oBACrBjuD,KAAK8nB,QAAUy7B,GAAM2K,qBACrBluD,KAAKgpD,IAAIsF,aAAatuD,KAAKkpD,aAAclpD,KAAKsqB,OAC9CtqB,KAAKkpD,aAAelpD,KAAKsqB,OAGzC,CACI,cAAAqmC,GACI,OAAO3wD,KAAKsqB,MAAQtqB,KAAKipD,OAAOjwD,OAASgH,KAAKsY,QAAUtY,KAAKqpD,OACrE,CAMI,KAAAluB,GACI,KAAOn7B,KAAK2wD,kBAAkB,CAC1B,MAAMvjD,EAAIpN,KAAKipD,OAAOpG,WAAW7iD,KAAKsqB,MAAQtqB,KAAKsY,QACnD,OAAQtY,KAAK8nB,OACT,KAAKy7B,GAAMxU,KACP/uC,KAAKmqD,UAAU/8C,GACf,MAEJ,KAAKm2C,GAAMwI,qBACP/rD,KAAKyqD,0BAA0Br9C,GAC/B,MAEJ,KAAKm2C,GAAMyJ,aACPhtD,KAAK6qD,kBAAkBz9C,GACvB,MAEJ,KAAKm2C,GAAMuL,cACP9uD,KAAKirD,mBAAmB79C,GACxB,MAEJ,KAAKm2C,GAAMwK,mBACP/tD,KAAKyuD,kCAAkCrhD,GACvC,MAEJ,KAAKm2C,GAAM2J,gBACPltD,KAAKqtD,qBAAqBjgD,GAC1B,MAEJ,KAAKm2C,GAAM2H,cACPlrD,KAAKqrD,mBAAmBj+C,GACxB,MAEJ,KAAKm2C,GAAMqJ,iBACP5sD,KAAKovD,sBAAsBhiD,GAC3B,MAEJ,KAAKm2C,GAAMiJ,oBACPxsD,KAAKysD,yBAAyBr/C,GAC9B,MAEJ,KAAKm2C,GAAMoH,UACP3qD,KAAK4qD,eAAex9C,GACpB,MAEJ,KAAKm2C,GAAMoJ,iBACP3sD,KAAKgrD,sBAAsB59C,GAC3B,MAEJ,KAAKm2C,GAAM+G,cACPtqD,KAAKgsD,mBAAmB5+C,GACxB,MAEJ,KAAKm2C,GAAMiK,mBACPxtD,KAAKytD,wBAAwBrgD,GAC7B,MAEJ,KAAKm2C,GAAM0K,mBACPjuD,KAAK0uD,kCAAkCthD,GACvC,MAEJ,KAAKm2C,GAAMmK,qBACP1tD,KAAK6tD,0BAA0BzgD,GAC/B,MAEJ,KAAKm2C,GAAM+I,qBACPtsD,KAAK0sD,0BAA0Bt/C,GAC/B,MAEJ,KAAKm2C,GAAMsJ,oBACP7sD,KAAK8sD,yBAAyB1/C,GAC9B,MAEJ,KAAKm2C,GAAM8I,eACPrsD,KAAKqvD,oBAAoBjiD,GACzB,MAEJ,KAAKm2C,GAAM2K,mBACPluD,KAAKmuD,8BAA8B/gD,GACnC,MAEJ,KAAKm2C,GAAM0J,iBACPjtD,KAAKmtD,sBAAsB//C,GAC3B,MAEJ,KAAKm2C,GAAM4H,cACPnrD,KAAKorD,mBAAmBh+C,GACxB,MAEJ,KAAKm2C,GAAM2I,kBACPlsD,KAAK4uD,uBAAuBxhD,GAC5B,MAEJ,KAAKm2C,GAAMyL,cACPhvD,KAAKmvD,mBAAmB/hD,GACxB,MAEJ,KAAKm2C,GAAM6I,wBACPpsD,KAAKkvD,6BAA6B9hD,GAClC,MAEJ,KAAKm2C,GAAMiM,cACPxvD,KAAKyvD,mBAAmBriD,GACxB,MAEJ,KAAKm2C,GAAMiH,aACPxqD,KAAKsvD,kBAAkBliD,GACvB,MAEJ,KAAKm2C,GAAM2M,YACPlwD,KAAKswD,iBAAiBljD,GACtB,MAEJ,KAAKm2C,GAAM4M,gBACPnwD,KAAKowD,qBAAqBhjD,GAC1B,MAEJ,QAEIpN,KAAKgwD,yBAAyB5iD,GAGtCpN,KAAKsqB,OACjB,CACQtqB,KAAK0wD,SACb,CACI,MAAA5G,GACQ9pD,KAAK8nB,QAAUy7B,GAAMiM,eACrBxvD,KAAK0vD,kBAGL1vD,KAAKkpD,aAAelpD,KAAKsqB,OACzBtqB,KAAK4wD,qBAET5wD,KAAKgpD,IAAI1W,OACjB,CAEI,kBAAAse,GACI,MAAMjhB,EAAW3vC,KAAKipD,OAAOjwD,OAASgH,KAAKsY,OACvCtY,KAAK8nB,QAAUy7B,GAAM2H,cACjBlrD,KAAKspD,kBAAoBhB,GAAUG,SACnCzoD,KAAKgpD,IAAIsC,QAAQtrD,KAAKkpD,aAAcvZ,EAAU,GAG9C3vC,KAAKgpD,IAAIlW,UAAU9yC,KAAKkpD,aAAcvZ,EAAU,GAG/C3vC,KAAK8nB,QAAUy7B,GAAM4M,iBAC1BnwD,KAAK4vD,qBAIA5vD,KAAK8nB,QAAUy7B,GAAM2M,aAC1BlwD,KAAK4vD,oBAJL5vD,KAAKkmD,mBAAkB,GAQlBlmD,KAAK8nB,QAAUy7B,GAAMoH,WAC1B3qD,KAAK8nB,QAAUy7B,GAAMiJ,qBACrBxsD,KAAK8nB,QAAUy7B,GAAMmK,sBACrB1tD,KAAK8nB,QAAUy7B,GAAMiK,oBACrBxtD,KAAK8nB,QAAUy7B,GAAM2J,iBACrBltD,KAAK8nB,QAAUy7B,GAAM0K,oBACrBjuD,KAAK8nB,QAAUy7B,GAAMwK,oBACrB/tD,KAAK8nB,QAAUy7B,GAAM2K,oBACrBluD,KAAK8nB,QAAUy7B,GAAMoJ,kBAOrB3sD,KAAKgpD,IAAInW,OAAO7yC,KAAKkpD,aAAcvZ,EAE/C,CACI,WAAAogB,CAAYrK,EAAO/V,GACX3vC,KAAKmpD,YAAc5F,GAAMxU,MACzB/uC,KAAKmpD,YAAc5F,GAAMyJ,aACzBhtD,KAAKgpD,IAAIsF,aAAa5I,EAAO/V,GAG7B3vC,KAAKgpD,IAAInW,OAAO6S,EAAO/V,EAEnC,CACI,aAAA2U,CAAcuM,GACN7wD,KAAKmpD,YAAc5F,GAAMxU,MACzB/uC,KAAKmpD,YAAc5F,GAAMyJ,aACzBhtD,KAAKgpD,IAAI8H,eAAeD,GAGxB7wD,KAAKgpD,IAAI+H,aAAaF,EAElC,EC/5BA,MAAMG,GAAW,IAAIC,IAAI,CACrB,QACA,SACA,WACA,SACA,SACA,WACA,aAEEC,GAAO,IAAID,IAAI,CAAC,MAChBE,GAAmB,IAAIF,IAAI,CAAC,QAAS,UACrCG,GAAU,IAAIH,IAAI,CAAC,KAAM,OACzBI,GAAU,IAAIJ,IAAI,CAAC,KAAM,OACzBK,GAAmB,IAAIztD,IAAI,CAC7B,CAAC,KAAM,IAAIotD,IAAI,CAAC,KAAM,KAAM,QAC5B,CAAC,KAAM,IAAIA,IAAI,CAAC,QAChB,CAAC,KAAM,IAAIA,IAAI,CAAC,QAAS,KAAM,QAC/B,CAAC,OAAQ,IAAIA,IAAI,CAAC,OAAQ,OAAQ,YAClC,CAAC,KAAM,IAAIA,IAAI,CAAC,QAChB,CAAC,IAAKC,IACN,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,KAAMA,IACP,CAAC,SAAUF,IACX,CAAC,QAASA,IACV,CAAC,SAAUA,IACX,CAAC,SAAUA,IACX,CAAC,WAAYA,IACb,CAAC,WAAYA,IACb,CAAC,SAAU,IAAIC,IAAI,CAAC,YACpB,CAAC,WAAY,IAAIA,IAAI,CAAC,WAAY,YAClC,CAAC,KAAMG,IACP,CAAC,KAAMA,IACP,CAAC,UAAWF,IACZ,CAAC,UAAWA,IACZ,CAAC,QAASA,IACV,CAAC,aAAcA,IACf,CAAC,UAAWA,IACZ,CAAC,MAAOA,IACR,CAAC,KAAMA,IACP,CAAC,WAAYA,IACb,CAAC,aAAcA,IACf,CAAC,SAAUA,IACX,CAAC,SAAUA,IACX,CAAC,OAAQA,IACT,CAAC,SAAUA,IACX,CAAC,KAAMA,IACP,CAAC,OAAQA,IACT,CAAC,MAAOA,IACR,CAAC,KAAMA,IACP,CAAC,MAAOA,IACR,CAAC,UAAWA,IACZ,CAAC,QAASA,IACV,CAAC,KAAMA,IACP,CAAC,KAAMG,IACP,CAAC,KAAMA,IACP,CAAC,QAASF,IACV,CAAC,QAASA,MAERI,GAAe,IAAIN,IAAI,CACzB,OACA,OACA,WACA,KACA,MACA,UACA,QACA,QACA,KACA,MACA,QACA,UACA,SACA,OACA,OACA,QACA,SACA,QACA,QAEEO,GAAyB,IAAIP,IAAI,CAAC,OAAQ,QAC1CQ,GAA0B,IAAIR,IAAI,CACpC,KACA,KACA,KACA,KACA,QACA,iBACA,gBACA,OACA,UAEES,GAAY,QACX,MAAMC,GACT,WAAAn2D,CAAYwtD,EAAK5wC,EAAU,IACvB,IAAIpT,EAAIgD,EAAI4pD,EAAIC,EAAIC,EACpB9xD,KAAKoY,QAAUA,EAEfpY,KAAK0vC,WAAa,EAElB1vC,KAAK2vC,SAAW,EAKhB3vC,KAAK+xD,aAAe,EACpB/xD,KAAKgyD,QAAU,GACfhyD,KAAKiyD,WAAa,GAClBjyD,KAAKkyD,YAAc,GACnBlyD,KAAK0wC,QAAU,KACf1wC,KAAKjE,MAAQ,GACbiE,KAAKmyD,eAAiB,GACtBnyD,KAAKoyD,QAAU,GACfpyD,KAAKqyD,aAAe,EAEpBryD,KAAKsyD,WAAa,EAElBtyD,KAAKuyD,OAAQ,EACbvyD,KAAKgpD,IAAMA,QAAiCA,EAAM,CAAE,EACpDhpD,KAAKwyD,kBAAqD,QAAhCxtD,EAAKoT,EAAQq6C,qBAAkC92D,IAAPqJ,EAAgBA,GAAMoT,EAAQw5B,QAChG5xC,KAAK0yD,wBAC0C,QAA1C1qD,EAAKoQ,EAAQs6C,+BAA4C/2D,IAAPqM,EAAgBA,GAAMoQ,EAAQw5B,QACrF5xC,KAAK2yD,UAAY,IAAkC,QAA5Bf,EAAKx5C,EAAQ0wC,iBAA8BntD,IAAPi2D,EAAgBA,EAAK9I,IAAW9oD,KAAKoY,QAASpY,MACjE,QAAvC8xD,GAAMD,EAAK7xD,KAAKgpD,KAAK5W,oBAAiCz2C,IAAPm2D,GAAyBA,EAAGl5D,KAAKi5D,EAAI7xD,KAC7F,CAGI,MAAA6yC,CAAO6S,EAAO/V,GACV,IAAI3qC,EAAIgD,EACR,MAAM8N,EAAO9V,KAAK4yD,SAASlN,EAAO/V,GAClC3vC,KAAK2vC,SAAWA,EAAW,EACO,QAAjC3nC,GAAMhD,EAAKhF,KAAKgpD,KAAKnW,cAA2Bl3C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAI8Q,GAC/E9V,KAAK0vC,WAAaC,CAC1B,CAEI,YAAAohB,CAAaF,GACT,IAAI7rD,EAAIgD,EAKR,MAAMsiB,EAAQtqB,KAAK2yD,UAAUzI,kBAC7BlqD,KAAK2vC,SAAWrlB,EAAQ,EACU,QAAjCtiB,GAAMhD,EAAKhF,KAAKgpD,KAAKnW,cAA2Bl3C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIsyC,GAAcuZ,IAC7F7wD,KAAK0vC,WAAaplB,CAC1B,CACI,aAAAuoC,CAAcl5D,GACV,OAAQqG,KAAKoY,QAAQw5B,SAAW2f,GAAax/C,IAAIpY,EACzD,CAEI,aAAA4yD,CAAc7G,EAAO/V,GACjB3vC,KAAK2vC,SAAWA,EAChB,IAAIh2C,EAAOqG,KAAK4yD,SAASlN,EAAO/V,GAC5B3vC,KAAKwyD,oBACL74D,EAAOA,EAAK8yB,eAEhBzsB,KAAK8yD,YAAYn5D,EACzB,CACI,WAAAm5D,CAAYn5D,GACR,IAAIqL,EAAIgD,EAAI4pD,EAAIC,EAChB7xD,KAAK+xD,aAAe/xD,KAAK0vC,WACzB1vC,KAAKgyD,QAAUr4D,EACf,MAAMo5D,GAAgB/yD,KAAKoY,QAAQw5B,SAAW0f,GAAiB90D,IAAI7C,GACnE,GAAIo5D,EACA,KAAO/yD,KAAKjE,MAAM/C,OAAS,GACvB+5D,EAAahhD,IAAI/R,KAAKjE,MAAMiE,KAAKjE,MAAM/C,OAAS,KAAK,CACrD,MAAM8J,EAAU9C,KAAKjE,MAAM22C,MACW,QAArC1qC,GAAMhD,EAAKhF,KAAKgpD,KAAKvW,kBAA+B92C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIlC,GAAS,EAC5G,CAEa9C,KAAK6yD,cAAcl5D,KACpBqG,KAAKjE,MAAMga,KAAKpc,GACZ63D,GAAuBz/C,IAAIpY,GAC3BqG,KAAKmyD,eAAep8C,MAAK,GAEpB07C,GAAwB1/C,IAAIpY,IACjCqG,KAAKmyD,eAAep8C,MAAK,IAGQ,QAAxC87C,GAAMD,EAAK5xD,KAAKgpD,KAAKuD,qBAAkC5wD,IAAPk2D,GAAyBA,EAAGj5D,KAAKg5D,EAAIj4D,GAClFqG,KAAKgpD,IAAIrW,YACT3yC,KAAK0wC,QAAU,CAAE,EAC7B,CACI,UAAAsiB,CAAWC,GACP,IAAIjuD,EAAIgD,EACRhI,KAAK0vC,WAAa1vC,KAAK+xD,aACnB/xD,KAAK0wC,UACgC,QAApC1oC,GAAMhD,EAAKhF,KAAKgpD,KAAKrW,iBAA8Bh3C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIhF,KAAKgyD,QAAShyD,KAAK0wC,QAASuiB,GAC9GjzD,KAAK0wC,QAAU,MAEf1wC,KAAKgpD,IAAIvW,YAAczyC,KAAK6yD,cAAc7yD,KAAKgyD,UAC/ChyD,KAAKgpD,IAAIvW,WAAWzyC,KAAKgyD,SAAS,GAEtChyD,KAAKgyD,QAAU,EACvB,CAEI,YAAAjF,CAAapd,GACT3vC,KAAK2vC,SAAWA,EAChB3vC,KAAKgzD,YAAW,GAEhBhzD,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,UAAA8C,CAAWiT,EAAO/V,GACd,IAAI3qC,EAAIgD,EAAI4pD,EAAIC,EAAIC,EAAIoB,EACxBlzD,KAAK2vC,SAAWA,EAChB,IAAIh2C,EAAOqG,KAAK4yD,SAASlN,EAAO/V,GAQhC,GAPI3vC,KAAKwyD,oBACL74D,EAAOA,EAAK8yB,gBAEZ+kC,GAAuBz/C,IAAIpY,IAC3B83D,GAAwB1/C,IAAIpY,KAC5BqG,KAAKmyD,eAAezf,MAEnB1yC,KAAK6yD,cAAcl5D,GAmBdqG,KAAKoY,QAAQw5B,SAAoB,OAATj4C,IAEW,QAAxCqO,GAAMhD,EAAKhF,KAAKgpD,KAAKuD,qBAAkC5wD,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAI,MACjD,QAApC6sD,GAAMD,EAAK5xD,KAAKgpD,KAAKrW,iBAA8Bh3C,IAAPk2D,GAAyBA,EAAGj5D,KAAKg5D,EAAI,KAAM,CAAE,GAAE,GACtD,QAArCsB,GAAMpB,EAAK9xD,KAAKgpD,KAAKvW,kBAA+B92C,IAAPu3D,GAAyBA,EAAGt6D,KAAKk5D,EAAI,MAAM,QAvB9D,CAC3B,MAAMxW,EAAMt7C,KAAKjE,MAAMo3D,YAAYx5D,GACnC,IAAY,IAAR2hD,EACA,GAAIt7C,KAAKgpD,IAAIvW,WAAY,CACrB,IAAI2gB,EAAQpzD,KAAKjE,MAAM/C,OAASsiD,EAChC,KAAO8X,KAEHpzD,KAAKgpD,IAAIvW,WAAWzyC,KAAKjE,MAAM22C,MAAiB,IAAV0gB,EAE9D,MAEoBpzD,KAAKjE,MAAM/C,OAASsiD,OAElBt7C,KAAKoY,QAAQw5B,SAAoB,MAATj4C,IAE9BqG,KAAK8yD,YAAY,KACjB9yD,KAAKqzD,iBAAgB,GAErC,CAQQrzD,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,gBAAAyd,CAAiBzd,GACb3vC,KAAK2vC,SAAWA,EACZ3vC,KAAKoY,QAAQw5B,SACb5xC,KAAKoY,QAAQk7C,sBACbtzD,KAAKmyD,eAAenyD,KAAKmyD,eAAen5D,OAAS,IACjDgH,KAAKqzD,iBAAgB,GAErBrzD,KAAK0vC,WAAaC,EAAW,GAI7B3vC,KAAK+sD,aAAapd,EAE9B,CACI,eAAA0jB,CAAgBE,GACZ,IAAIvuD,EAAIgD,EACR,MAAMrO,EAAOqG,KAAKgyD,QAClBhyD,KAAKgzD,WAAWO,GAEZvzD,KAAKjE,MAAMiE,KAAKjE,MAAM/C,OAAS,KAAOW,IAEA,QAArCqO,GAAMhD,EAAKhF,KAAKgpD,KAAKvW,kBAA+B92C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIrL,GAAO45D,GAC1FvzD,KAAKjE,MAAM22C,MAEvB,CAEI,YAAA6a,CAAa7H,EAAO/V,GAChB3vC,KAAK0vC,WAAagW,EAClB,MAAM/rD,EAAOqG,KAAK4yD,SAASlN,EAAO/V,GAClC3vC,KAAKiyD,WAAajyD,KAAK0yD,wBACjB/4D,EAAK8yB,cACL9yB,CACd,CAEI,YAAA20D,CAAa5I,EAAO/V,GAChB3vC,KAAKkyD,aAAelyD,KAAK4yD,SAASlN,EAAO/V,EACjD,CAEI,cAAAmhB,CAAeD,GACX7wD,KAAKkyD,aAAe5a,GAAcuZ,EAC1C,CAEI,WAAAlD,CAAYU,EAAO1e,GACf,IAAI3qC,EAAIgD,EACRhI,KAAK2vC,SAAWA,EACuB,QAAtC3nC,GAAMhD,EAAKhF,KAAKgpD,KAAKwK,mBAAgC73D,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIhF,KAAKiyD,WAAYjyD,KAAKkyD,YAAa7D,IAAU7K,GAAU+K,OACrI,IACAF,IAAU7K,GAAUgL,OAChB,IACAH,IAAU7K,GAAUoK,aAChBjyD,EACA,MACVqE,KAAK0wC,UACJj4C,OAAOC,UAAUC,eAAeC,KAAKoH,KAAK0wC,QAAS1wC,KAAKiyD,cACzDjyD,KAAK0wC,QAAQ1wC,KAAKiyD,YAAcjyD,KAAKkyD,aAEzClyD,KAAKkyD,YAAc,EAC3B,CACI,kBAAAuB,CAAmBx4D,GACf,MAAMqvB,EAAQrvB,EAAMy4D,OAAOhC,IAC3B,IAAI/3D,EAAO2wB,EAAQ,EAAIrvB,EAAQA,EAAMid,OAAO,EAAGoS,GAI/C,OAHItqB,KAAKwyD,oBACL74D,EAAOA,EAAK8yB,eAET9yB,CACf,CAEI,aAAAs1D,CAAcvJ,EAAO/V,GACjB3vC,KAAK2vC,SAAWA,EAChB,MAAM10C,EAAQ+E,KAAK4yD,SAASlN,EAAO/V,GACnC,GAAI3vC,KAAKgpD,IAAI9V,wBAAyB,CAClC,MAAMv5C,EAAOqG,KAAKyzD,mBAAmBx4D,GACrC+E,KAAKgpD,IAAI9V,wBAAwB,IAAIv5C,IAAQ,IAAIsB,IAC7D,CAEQ+E,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,uBAAAuD,CAAwBwS,EAAO/V,GAC3B3vC,KAAK2vC,SAAWA,EAChB,MAAM10C,EAAQ+E,KAAK4yD,SAASlN,EAAO/V,GACnC,GAAI3vC,KAAKgpD,IAAI9V,wBAAyB,CAClC,MAAMv5C,EAAOqG,KAAKyzD,mBAAmBx4D,GACrC+E,KAAKgpD,IAAI9V,wBAAwB,IAAIv5C,IAAQ,IAAIsB,IAC7D,CAEQ+E,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,SAAAmD,CAAU4S,EAAO/V,EAAUr3B,GACvB,IAAItT,EAAIgD,EAAI4pD,EAAIC,EAChB7xD,KAAK2vC,SAAWA,EACqB,QAApC3nC,GAAMhD,EAAKhF,KAAKgpD,KAAKlW,iBAA8Bn3C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAIhF,KAAK4yD,SAASlN,EAAO/V,EAAWr3B,IAC1E,QAAvCu5C,GAAMD,EAAK5xD,KAAKgpD,KAAKjW,oBAAiCp3C,IAAPk2D,GAAyBA,EAAGj5D,KAAKg5D,GAEjF5xD,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,OAAA2b,CAAQ5F,EAAO/V,EAAUr3B,GACrB,IAAItT,EAAIgD,EAAI4pD,EAAIC,EAAIC,EAAIoB,EAAIS,EAAIC,EAAIC,EAAIC,EACxC9zD,KAAK2vC,SAAWA,EAChB,MAAM10C,EAAQ+E,KAAK4yD,SAASlN,EAAO/V,EAAWr3B,GAC1CtY,KAAKoY,QAAQw5B,SAAW5xC,KAAKoY,QAAQ27C,gBACG,QAAvC/rD,GAAMhD,EAAKhF,KAAKgpD,KAAKhW,oBAAiCr3C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,GAC/C,QAAjC6sD,GAAMD,EAAK5xD,KAAKgpD,KAAKnW,cAA2Bl3C,IAAPk2D,GAAyBA,EAAGj5D,KAAKg5D,EAAI32D,GACzC,QAArCi4D,GAAMpB,EAAK9xD,KAAKgpD,KAAK/V,kBAA+Bt3C,IAAPu3D,GAAyBA,EAAGt6D,KAAKk5D,KAG1C,QAApC8B,GAAMD,EAAK3zD,KAAKgpD,KAAKlW,iBAA8Bn3C,IAAPi4D,GAAyBA,EAAGh7D,KAAK+6D,EAAI,UAAU14D,OACpD,QAAvC64D,GAAMD,EAAK7zD,KAAKgpD,KAAKjW,oBAAiCp3C,IAAPm4D,GAAyBA,EAAGl7D,KAAKi7D,IAGrF7zD,KAAK0vC,WAAaC,EAAW,CACrC,CAEI,KAAA2C,GACI,IAAIttC,EAAIgD,EACR,GAAIhI,KAAKgpD,IAAIvW,WAAY,CAErBzyC,KAAK2vC,SAAW3vC,KAAK0vC,WACrB,IAAK,IAAIplB,EAAQtqB,KAAKjE,MAAM/C,OAAQsxB,EAAQ,EAAGtqB,KAAKgpD,IAAIvW,WAAWzyC,KAAKjE,QAAQuuB,IAAQ,IAEpG,CACyC,QAAhCtiB,GAAMhD,EAAKhF,KAAKgpD,KAAK1W,aAA0B32C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAClF,CAII,KAAAmC,GACI,IAAInC,EAAIgD,EAAI4pD,EAAIC,EACmB,QAAlC7pD,GAAMhD,EAAKhF,KAAKgpD,KAAK3W,eAA4B12C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,GAC5EhF,KAAK2yD,UAAUxrD,QACfnH,KAAKgyD,QAAU,GACfhyD,KAAKiyD,WAAa,GAClBjyD,KAAK0wC,QAAU,KACf1wC,KAAKjE,MAAM/C,OAAS,EACpBgH,KAAK0vC,WAAa,EAClB1vC,KAAK2vC,SAAW,EACwB,QAAvCkiB,GAAMD,EAAK5xD,KAAKgpD,KAAK5W,oBAAiCz2C,IAAPk2D,GAAyBA,EAAGj5D,KAAKg5D,EAAI5xD,MACrFA,KAAKoyD,QAAQp5D,OAAS,EACtBgH,KAAKqyD,aAAe,EACpBryD,KAAKsyD,WAAa,EAClBtyD,KAAKuyD,OAAQ,CACrB,CAOI,aAAAyB,CAAcl+C,GACV9V,KAAKmH,QACLnH,KAAK2lD,IAAI7vC,EACjB,CACI,QAAA88C,CAASlN,EAAOC,GACZ,KAAOD,EAAQ1lD,KAAKqyD,cAAgBryD,KAAKoyD,QAAQ,GAAGp5D,QAChDgH,KAAKi0D,cAET,IAAI94C,EAAQnb,KAAKoyD,QAAQ,GAAGj3C,MAAMuqC,EAAQ1lD,KAAKqyD,aAAc1M,EAAM3lD,KAAKqyD,cACxE,KAAO1M,EAAM3lD,KAAKqyD,aAAeryD,KAAKoyD,QAAQ,GAAGp5D,QAC7CgH,KAAKi0D,cACL94C,GAASnb,KAAKoyD,QAAQ,GAAGj3C,MAAM,EAAGwqC,EAAM3lD,KAAKqyD,cAEjD,OAAOl3C,CACf,CACI,WAAA84C,GACIj0D,KAAKqyD,cAAgBryD,KAAKoyD,QAAQ,GAAGp5D,OACrCgH,KAAKsyD,aACLtyD,KAAKoyD,QAAQ8B,OACrB,CAMI,KAAA/hC,CAAM03B,GACF,IAAI7kD,EAAIgD,EACJhI,KAAKuyD,MAC8B,QAAlCvqD,GAAMhD,EAAKhF,KAAKgpD,KAAKxW,eAA4B72C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAI,IAAInJ,MAAM,0BAG9FmE,KAAKoyD,QAAQr8C,KAAK8zC,GACd7pD,KAAK2yD,UAAUtJ,UACfrpD,KAAK2yD,UAAUxgC,MAAM03B,GACrB7pD,KAAKsyD,cAEjB,CAMI,GAAA3M,CAAIkE,GACA,IAAI7kD,EAAIgD,EACJhI,KAAKuyD,MAC8B,QAAlCvqD,GAAMhD,EAAKhF,KAAKgpD,KAAKxW,eAA4B72C,IAAPqM,GAAyBA,EAAGpP,KAAKoM,EAAI,IAAInJ,MAAM,wBAG1FguD,GACA7pD,KAAKmyB,MAAM03B,GACf7pD,KAAKuyD,OAAQ,EACbvyD,KAAK2yD,UAAUhN,MACvB,CAII,KAAAoE,GACI/pD,KAAK2yD,UAAU5I,OACvB,CAII,MAAAC,GAEI,IADAhqD,KAAK2yD,UAAU3I,SACRhqD,KAAK2yD,UAAUtJ,SAClBrpD,KAAKsyD,WAAatyD,KAAKoyD,QAAQp5D,QAC/BgH,KAAK2yD,UAAUxgC,MAAMnyB,KAAKoyD,QAAQpyD,KAAKsyD,eAEvCtyD,KAAKuyD,OACLvyD,KAAK2yD,UAAUhN,KAC3B,CAOI,UAAAwO,CAAWtK,GACP7pD,KAAKmyB,MAAM03B,EACnB,CAOI,IAAAjnD,CAAKinD,GACD7pD,KAAK2lD,IAAIkE,EACjB,ECteO,MAAMuK,GAAc,uBACrBC,GAAa,IAAIxwD,IAAI,CACvB,CAAC,GAAI,UACL,CAAC,GAAI,SACL,CAAC,GAAI,UACL,CAAC,GAAI,QACL,CAAC,GAAI,UAGIywD,GAEmB,MAAhC1jD,OAAOlY,UAAU6jD,YACX,CAACtI,EAAK3pB,IAAU2pB,EAAIsI,YAAYjyB,GAE9B,CAACld,EAAGkd,IAA6C,QAAZ,MAAtBld,EAAEy1C,WAAWv4B,IACW,MAAhCld,EAAEy1C,WAAWv4B,GAAS,OACrBld,EAAEy1C,WAAWv4B,EAAQ,GACrB,MACA,MACFld,EAAEy1C,WAAWv4B,GAQpB,SAASiqC,GAAUtgB,GACtB,IAEIn4C,EAFAkrD,EAAM,GACNwN,EAAU,EAEd,KAA2C,QAAnC14D,EAAQs4D,GAAYl4C,KAAK+3B,KAAgB,CAC7C,MAAMl7C,EAAI+C,EAAMwuB,MACVgyB,EAAOrI,EAAI4O,WAAW9pD,GACtB4J,EAAO0xD,GAAW73D,IAAI8/C,QACf3gD,IAATgH,GACAqkD,GAAO/S,EAAI2L,UAAU4U,EAASz7D,GAAK4J,EACnC6xD,EAAUz7D,EAAI,IAGdiuD,GAAO,GAAG/S,EAAI2L,UAAU4U,EAASz7D,QAAQu7D,GAAargB,EAAKl7C,GAAGkP,SAAS,OAEvEusD,EAAUJ,GAAYzgB,WAAarqC,OAA2B,QAAZ,MAAPgzC,IAEvD,CACI,OAAO0K,EAAM/S,EAAI/7B,OAAOs8C,EAC5B,CAqBA,SAASC,GAAW/gB,EAAOziC,GACvB,OAAO,SAAgB6E,GACnB,IAAIha,EACA04D,EAAU,EACVh6C,EAAS,GACb,KAAQ1e,EAAQ43C,EAAMx3B,KAAKpG,IACnB0+C,IAAY14D,EAAMwuB,QAClB9P,GAAU1E,EAAK8pC,UAAU4U,EAAS14D,EAAMwuB,QAG5C9P,GAAUvJ,EAAIzU,IAAIV,EAAM,GAAG+mD,WAAW,IAEtC2R,EAAU14D,EAAMwuB,MAAQ,EAE5B,OAAO9P,EAAS1E,EAAK8pC,UAAU4U,EAClC,CACL,CAeO,MAAME,GAAkBD,GAAW,cAAe,IAAI5wD,IAAI,CAC7D,CAAC,GAAI,UACL,CAAC,GAAI,SACL,CAAC,IAAK,aAQG8wD,GAAaF,GAAW,eAAgB,IAAI5wD,IAAI,CACzD,CAAC,GAAI,SACL,CAAC,GAAI,QACL,CAAC,GAAI,QACL,CAAC,IAAK,aCjHG+wD,GAAe,IAAI/wD,IAAI,CAChC,WACA,cACA,eACA,eACA,gBACA,mBACA,WACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,eACA,gBACA,WACA,iBACA,iBACA,YACFoN,KAAKS,GAAQ,CAACA,EAAI+a,cAAe/a,MACtBmjD,GAAiB,IAAIhxD,IAAI,CAClC,gBACA,gBACA,gBACA,gBACA,cACA,WACA,gBACA,kBACA,WACA,cACA,WACA,oBACA,gBACA,eACA,mBACA,YACA,aACA,WACA,eACA,oBACA,eACA,cACA,cACA,mBACA,YACA,aACA,aACA,sBACA,mBACA,eACA,YACA,YACA,YACA,gBACA,sBACA,iBACA,OACA,OACA,cACA,YACA,qBACA,mBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,mBACA,cACFoN,KAAKS,GAAQ,CAACA,EAAI+a,cAAe/a,MCvF7BojD,GAAoB,IAAI7D,IAAI,CAC9B,QACA,SACA,MACA,SACA,UACA,WACA,YACA,aAEJ,SAAS8D,GAAc95D,GACnB,OAAOA,EAAMqE,QAAQ,KAAM,SAC/B,CA+BA,MAAM01D,GAAY,IAAI/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","x_google_ignoreList":[0,1,2,3,23,24,25,26,27,28,29,30,31,32,33,34,35,36,40,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}
|