@govtechsg/sgds-web-component 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../../node_modules/tslib/tslib.es6.mjs","../../node_modules/@lit/reactive-element/css-tag.js","../../node_modules/@lit/reactive-element/reactive-element.js","../../node_modules/lit/node_modules/lit-html/lit-html.js","../../node_modules/lit-element/node_modules/lit-html/lit-html.js","../../node_modules/lit-element/lit-element.js","../../node_modules/@lit/reactive-element/decorators/property.js","../../node_modules/@lit/reactive-element/decorators/state.js","../../node_modules/@lit/reactive-element/decorators/base.js","../../node_modules/@lit/reactive-element/decorators/query.js","../../node_modules/@lit/reactive-element/decorators/query-async.js","../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js","../../node_modules/lit/node_modules/lit-html/directive.js","../../node_modules/lit/node_modules/lit-html/directives/class-map.js","../../node_modules/lit-element/index.js","../../src/base/sgds-element.ts","../../src/components/Accordion/sgds-accordion.ts","../../src/utils/animate.ts","../../src/utils/animation-registry.ts","../../src/utils/event.ts","../../src/utils/watch.ts","../../src/components/Accordion/sgds-accordion-item.ts","../../node_modules/@open-wc/dedupe-mixin/src/dedupeMixin.js","../../node_modules/@open-wc/scoped-elements/src/ScopedElementsMixin.js","../../node_modules/lit/node_modules/lit-html/directive-helpers.js","../../node_modules/lit/node_modules/lit-html/directives/live.js","../../node_modules/lit/node_modules/lit-html/async-directive.js","../../node_modules/lit/node_modules/lit-html/directives/ref.js","../../node_modules/lit/node_modules/lit-html/static.js","../../src/base/card-element.ts","../../src/utils/generateId.ts","../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../../src/utils/defaultvalue.ts","../../src/utils/form.ts","../../src/components/Checkbox/sgds-checkbox.ts","../../src/components/Radio/sgds-radio.ts","../../src/components/ActionCard/sgds-action-card.ts","../../src/components/Alert/sgds-alert.ts","../../src/components/Alert/sgds-alert-heading.ts","../../src/components/Alert/sgds-alert-link.ts","../../src/components/Badge/sgds-badge.ts","../../src/components/Breadcrumb/sgds-breadcrumb.ts","../../src/components/Breadcrumb/sgds-breadcrumb-item.ts","../../src/components/Button/sgds-button.ts","../../src/components/Card/sgds-card.ts","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../node_modules/bootstrap/js/src/dom/data.js","../../node_modules/bootstrap/js/src/util/index.js","../../node_modules/bootstrap/js/src/dom/event-handler.js","../../node_modules/bootstrap/js/src/dom/manipulator.js","../../node_modules/bootstrap/js/src/util/config.js","../../node_modules/bootstrap/js/src/base-component.js","../../node_modules/bootstrap/js/src/dom/selector-engine.js","../../node_modules/bootstrap/js/src/dropdown.js","../../src/utils/object.ts","../../src/utils/mergeDeep.ts","../../src/base/dropdown-element.ts","../../node_modules/lit/node_modules/lit-html/directives/unsafe-html.js","../../node_modules/lit/node_modules/lit-html/directives/unsafe-svg.js","../../src/components/Input/sgds-input.ts","../../src/base/dropdown-list-element.ts","../../src/components/ComboBox/sgds-combo-box.ts","../../node_modules/lit/node_modules/lit-html/directives/style-map.js","../../src/components/Datepicker/datepicker-calendar.ts","../../src/components/Datepicker/datepicker-header.ts","../../src/components/Datepicker/sgds-datepicker.ts","../../src/utils/scroll.ts","../../src/utils/slot.ts","../../src/components/Drawer/sgds-drawer.ts","../../src/components/Dropdown/sgds-dropdown.ts","../../src/base/link-element.ts","../../src/components/Dropdown/sgds-dropdown-item.ts","../../src/components/FileUpload/sgds-file-upload.ts","../../src/components/Footer/sgds-footer.ts","../../node_modules/bootstrap/js/src/collapse.js","../../src/utils/breakpoints.ts","../../src/components/Mainnav/sgds-mainnav.ts","../../src/components/Mainnav/sgds-mainnav-dropdown.ts","../../src/components/Mainnav/sgds-mainnav-item.ts","../../src/components/Masthead/sgds-masthead.ts","../../src/utils/tabbable.ts","../../src/utils/modal.ts","../../src/components/Modal/sgds-modal.ts","../../src/components/Pagination/sgds-pagination.ts","../../src/components/QuantityToggle/sgds-quantity-toggle.ts","../../src/components/Radio/sgds-radio-group.ts","../../src/components/Sidenav/sgds-sidenav.ts","../../src/components/Sidenav/sgds-sidenav-item.ts","../../src/components/Sidenav/sgds-sidenav-link.ts","../../src/components/Spinner/sgds-spinner.ts","../../src/components/Stepper/sgds-stepper.ts","../../src/components/Tab/sgds-tab.ts","../../src/components/Tab/sgds-tab-group.ts","../../src/components/Tab/sgds-tab-panel.ts","../../src/components/Table/sgds-table.ts","../../src/components/Textarea/sgds-textarea.ts","../../src/components/Toast/sgds-toast.ts","../../src/components/Toast/sgds-toast-container.ts","../../node_modules/bootstrap/js/src/util/sanitizer.js","../../node_modules/bootstrap/js/src/util/template-factory.js","../../node_modules/bootstrap/js/src/tooltip.js","../../src/components/Tooltip/sgds-tooltip.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.2\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,D:v,R:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.5\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,D:v,R:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.5\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.2\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,o)=>{Object.defineProperty(t,o,e)},t=(e,t)=>({kind:\"method\",placement:\"prototype\",key:t.key,descriptor:e}),o=({finisher:e,descriptor:t})=>(o,n)=>{var r;if(void 0===n){const n=null!==(r=o.originalKey)&&void 0!==r?r:o.key,i=null!=t?{kind:\"method\",placement:\"prototype\",key:n,descriptor:t(o.key)}:{...o,key:n};return null!=e&&(i.finisher=function(t){e(t,n)}),i}{const r=o.constructor;void 0!==t&&Object.defineProperty(o,n,t(n)),null==e||e(r,n)}};export{o as decorateProperty,e as legacyPrototypeMethod,t as standardPrototypeMethod};\n//# sourceMappingURL=base.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function i(i,n){return o({descriptor:o=>{const t={get(){var o,n;return null!==(n=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==n?n:null},enumerable:!0,configurable:!0};if(n){const n=\"symbol\"==typeof o?Symbol():\"__\"+o;t.get=function(){var o,t;return void 0===this[n]&&(this[n]=null!==(t=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==t?t:null),this[n]}}return t}})}export{i as query};\n//# sourceMappingURL=query.js.map\n","import{decorateProperty as r}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction e(e){return r({descriptor:r=>({async get(){var r;return await this.updateComplete,null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(e)},enumerable:!0,configurable:!0})})}export{e as queryAsync};\n//# sourceMappingURL=query-async.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import{decorateProperty as e}from\"./base.js\";import{queryAssignedElements as t}from\"./query-assigned-elements.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o,n,r){let l,s=o;return\"object\"==typeof o?(s=o.slot,l=o):l={flatten:n},r?t({slot:s,flatten:n,selector:r}):e({descriptor:e=>({get(){var e,t;const o=\"slot\"+(s?`[name=${s}]`:\":not([name])\"),n=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(o);return null!==(t=null==n?void 0:n.assignedNodes(l))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})}export{o as queryAssignedNodes};\n//# sourceMappingURL=query-assigned-nodes.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","export*from\"@lit/reactive-element\";export*from\"lit-html\";export{LitElement,UpdatingElement,_$LE}from\"./lit-element.js\";export*from\"@lit/reactive-element/decorators/base.js\";export*from\"@lit/reactive-element/decorators/custom-element.js\";export*from\"@lit/reactive-element/decorators/property.js\";export*from\"@lit/reactive-element/decorators/state.js\";export*from\"@lit/reactive-element/decorators/event-options.js\";export*from\"@lit/reactive-element/decorators/query.js\";export*from\"@lit/reactive-element/decorators/query-all.js\";export*from\"@lit/reactive-element/decorators/query-async.js\";export*from\"@lit/reactive-element/decorators/query-assigned-elements.js\";export*from\"@lit/reactive-element/decorators/query-assigned-nodes.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */console.warn(\"The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.\");\n//# sourceMappingURL=index.js.map\n","import { LitElement } from \"lit\";\nimport styles from \"./sgds-element.scss\";\n\n/**\n * @cssprop --sgds-{stateColor} - State colors in hexadecimal value\n * @cssprop --sgds-{stateColor}-rgb - State colors in rgb value\n * @cssprop --sgds-{stateColor}-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --sgds-gray-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --overlay-background-color - The drawer and modal component overlay background color\n * @cssprop --zindex-modal - The drawer and modal component z-index value\n */\n\nexport default class SgdsElement extends LitElement {\n static styles = styles;\n /** Emits a custom event with more convenient defaults. */\n emit(name: string, options?: CustomEventInit) {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event;\n }\n}\n","import { html } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsAccordionItem from \"./sgds-accordion-item\";\n\n/**\n * @summary A dropdown mechanism that allow users to either show or hide related content. `SgdsAccordion` is a wrapper to manage the behaviour for multiple `SgdsAccordionItems`\n * @slot default - slot for accordion-item\n */\n\nexport class SgdsAccordion extends SgdsElement {\n static styles = [SgdsElement.styles];\n\n /** Allows multiple accordion items to be opened at the same time */\n @property({ type: Boolean, reflect: true }) allowMultiple = false;\n\n /** Optional for accordion wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ reflect: true }) accordionClasses: string;\n\n /** @internal */\n @queryAssignedNodes()\n private defaultNodes!: NodeListOf<SgdsAccordionItem>;\n\n /** @internal */\n get items(): SgdsAccordionItem[] {\n return [...(this.defaultNodes || [])].filter(\n (node: HTMLElement) => typeof node.tagName !== \"undefined\"\n ) as SgdsAccordionItem[];\n }\n\n firstUpdated() {\n const items = [...this.items] as SgdsAccordionItem[];\n items.forEach((item, index) => {\n if (items.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case items.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n }\n\n async onToggle(event: Event): Promise<void> {\n const target = event.target as SgdsAccordionItem;\n // Let the event pass through the DOM so that it can be\n // prevented from the outside if a user so desires.\n if (this.allowMultiple || event.defaultPrevented) {\n // No toggling when `allowMultiple` or the user prevents it.\n return;\n }\n const items = [...this.items] as SgdsAccordionItem[];\n\n if (items && !items.length) {\n // no toggling when there aren't items.\n return;\n }\n items.forEach(item => {\n if (item !== target) {\n // Close all the items that didn't dispatch the event.\n item.open = false;\n }\n });\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"sgds accordion\": true,\n [`${this.accordionClasses}`]: this.accordionClasses\n })}\n >\n <slot @click=${this.onToggle}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsAccordion;\n","//\n// Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n//\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options?.duration\n });\n\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\n\n//\n// Parses a CSS duration and returns the number of milliseconds.\n//\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n//\n// Tells if the user has enabled the \"reduced motion\" setting in their browser or OS.\n//\nexport function prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\n\n// We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n// element's scrollHeight before the animation.\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n\n//\n// Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n//\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n const handleAnimationEvent = requestAnimationFrame(resolve);\n\n animation.addEventListener(\"cancel\", () => handleAnimationEvent, { once: true });\n animation.addEventListener(\"finish\", () => handleAnimationEvent, { once: true });\n animation.cancel();\n });\n })\n );\n}\n","export interface ElementAnimation {\n keyframes: Keyframe[];\n rtlKeyframes?: Keyframe[];\n options?: KeyframeAnimationOptions;\n}\n\nexport interface ElementAnimationMap {\n [animationName: string]: ElementAnimation;\n}\n\nexport interface GetAnimationOptions {\n /**\n * The component's directionality. When set to \"rtl\", `rtlKeyframes` will be preferred over `keyframes` where\n * available using getAnimation().\n */\n dir: string;\n}\n\nconst defaultAnimationRegistry = new Map<string, ElementAnimation>();\nconst customAnimationRegistry = new WeakMap<Element, ElementAnimationMap>();\n\nfunction ensureAnimation(animation: ElementAnimation | null) {\n return animation ?? { keyframes: [], options: { duration: 0 } };\n}\n\n//\n// Given an ElementAnimation, this function returns a new ElementAnimation where the keyframes property reflects either\n// keyframes or rtlKeyframes depending on the specified directionality.\n//\nfunction getLogicalAnimation(animation: ElementAnimation) {\n return animation;\n}\n\n//\n// Gets an element's animation. Falls back to the default if no animation is found.\n//\nexport function getAnimation(el: Element, animationName: string) {\n const customAnimation = customAnimationRegistry.get(el);\n\n // Check for a custom animation\n if (customAnimation?.[animationName]) {\n return getLogicalAnimation(customAnimation[animationName]);\n }\n\n // Check for a default animation\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation);\n }\n\n // Fall back to an empty animation\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n\n//\n// Sets a custom animation for the specified element.\n//\nexport function setAnimation(el: Element, animationName: string, animation: ElementAnimation | null) {\n customAnimationRegistry.set(el, { ...customAnimationRegistry.get(el), [animationName]: ensureAnimation(animation) });\n}\n\n//\n// Sets a default animation. Components should use the `name.animation` for primary animations and `name.part.animation`\n// for secondary animations, e.g. `dialog.show` and `dialog.overlay.show`. For modifiers, use `drawer.showTop`.\n//\nexport function setDefaultAnimation(animationName: string, animation: ElementAnimation | null) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\n","/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-accordion-item.scss\";\n\n/**\n *\n * @event sgds-show - Emitted on show.\n * @event sgds-after-show - Emitted on show after animation has completed.\n * @event sgds-hide - Emitted on hide.\n * @event sgds-after-hide - Emitted on hide after animation has completed.\n *\n * @csspart base - The accordion-item base wrapper.\n * @csspart header - The accordion-item button header.\n * @csspart content - The accordion-item content.\n *\n * @slot accordion-header - The accordion-item button header slot.\n * @slot accordion-content - The accordion-item content slot.\n *\n * @cssprop --accordion-item-padding-y - The top and bottom padding for the container of accordion item's content\n * @cssprop --accordion-item-padding-x - The right and left padding for the container of accordion item's content\n * @cssprop --accordion-item-border-radius - The border radius of the accordion item\n * @cssprop --accordion-item-font-weight - The font weight of accordion-button when it is not collapsed\n * @cssprop --accordion-item-line-height - The line height of accordion\n */\nexport class SgdsAccordionItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** @internal */\n @query(\".accordion-item\") accordion: HTMLElement;\n /** @internal */\n @query(\".accordion-button\") header: HTMLElement;\n /** @internal */\n @query(\".accordion-body\") body: HTMLElement;\n\n /** Controls whether accordion-item is open or close */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Optional for accordion item. Can be used to insert any utility classes such as `me-auto` */\n @property({ reflect: true }) accordionItemClasses: string;\n\n firstUpdated() {\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? \"auto\" : \"0\";\n }\n\n private handleSummaryClick() {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n\n this.header.focus();\n }\n\n private handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n this.show();\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n\n const { keyframes, options } = getAnimation(this, \"accordion.show\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n const slHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (slHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, \"accordion.hide\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.hidden = true;\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n /** Shows the accordion. */\n public async show() {\n if (this.open) {\n return;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the accordion */\n public async hide() {\n if (!this.open) {\n return;\n }\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n \"sgds accordion-item\": true,\n [`${this.accordionItemClasses}`]: this.accordionItemClasses\n })}\n >\n <button\n class=${classMap({\n \"accordion-button\": true,\n collapsed: !this.open\n })}\n part=\"header\"\n role=\"button\"\n aria-expanded=${this.open ? \"true\" : \"false\"}\n aria-controls=\"content\"\n tabindex=\"0\"\n @click=${this.handleSummaryClick}\n @keydown=${this.handleSummaryKeyDown}\n >\n <slot name=\"accordion-header\"></slot>\n </button>\n <div class=\"accordion-body\">\n <slot name=\"accordion-content\" class=\"accordion-content\" role=\"region\" aria-labelledby=\"header\"></slot>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"accordion.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"accordion.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nexport default SgdsAccordionItem;\n","const appliedClassMixins = new WeakMap();\n\n/** Vefify if the Mixin was previously applyed\n * @private\n * @param {function} mixin Mixin being applyed\n * @param {object} superClass Class receiving the new mixin\n * @returns {boolean}\n */\nfunction wasMixinPreviouslyApplied(mixin, superClass) {\n let klass = superClass;\n while (klass) {\n if (appliedClassMixins.get(klass) === mixin) {\n return true;\n }\n klass = Object.getPrototypeOf(klass);\n }\n return false;\n}\n\n/** Apply each mixin in the chain to make sure they are not applied more than once to the final class.\n * @export\n * @param {function} mixin Mixin to be applyed\n * @returns {object} Mixed class with mixin applied\n */\nexport function dedupeMixin(mixin) {\n return superClass => {\n if (wasMixinPreviouslyApplied(mixin, superClass)) {\n return superClass;\n }\n const mixedClass = mixin(superClass);\n appliedClassMixins.set(mixedClass, mixin);\n return mixedClass;\n };\n}\n","import { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { adoptStyles } from '@lit/reactive-element/css-tag.js';\n\n/**\n * @typedef {import('./types').RenderOptions} RenderOptions\n * @typedef {import('./types').ScopedElementsMixin} ScopedElementsMixin\n * @typedef {import('./types').ScopedElementsHost} ScopedElementsHost\n * @typedef {import('./types').ScopedElementsMap} ScopedElementsMap\n * @typedef {import('@lit/reactive-element').CSSResultOrNative} CSSResultOrNative\n */\n\n// @ts-ignore\nconst supportsScopedRegistry = !!ShadowRoot.prototype.createElement;\n\n/**\n * @template {import('./types').Constructor<HTMLElement>} T\n * @param {T} superclass\n * @return {T & import('./types').Constructor<ScopedElementsHost>}\n */\nconst ScopedElementsMixinImplementation = superclass =>\n /** @type {ScopedElementsHost} */\n class ScopedElementsHost extends superclass {\n /**\n * Obtains the scoped elements definitions map if specified.\n *\n * @returns {ScopedElementsMap}\n */\n static get scopedElements() {\n return {};\n }\n\n /**\n * Obtains the ShadowRoot options.\n *\n * @type {ShadowRootInit}\n */\n static get shadowRootOptions() {\n return this.__shadowRootOptions;\n }\n\n /**\n * Set the shadowRoot options.\n *\n * @param {ShadowRootInit} value\n */\n static set shadowRootOptions(value) {\n this.__shadowRootOptions = value;\n }\n\n /**\n * Obtains the element styles.\n *\n * @returns {CSSResultOrNative[]}\n */\n static get elementStyles() {\n return this.__elementStyles;\n }\n\n static set elementStyles(styles) {\n this.__elementStyles = styles;\n }\n\n // either TS or ESLint will complain here\n // eslint-disable-next-line no-unused-vars\n constructor(..._args) {\n super();\n /** @type {RenderOptions} */\n this.renderOptions = this.renderOptions || undefined;\n }\n\n /**\n * Obtains the CustomElementRegistry associated to the ShadowRoot.\n *\n * @returns {CustomElementRegistry}\n */\n get registry() {\n // @ts-ignore\n return this.constructor.__registry;\n }\n\n /**\n * Set the CustomElementRegistry associated to the ShadowRoot\n *\n * @param {CustomElementRegistry} registry\n */\n set registry(registry) {\n // @ts-ignore\n this.constructor.__registry = registry;\n }\n\n createRenderRoot() {\n const { scopedElements, shadowRootOptions, elementStyles } =\n /** @type {typeof ScopedElementsHost} */ (this.constructor);\n\n const shouldCreateRegistry =\n !this.registry ||\n // @ts-ignore\n (this.registry === this.constructor.__registry &&\n !Object.prototype.hasOwnProperty.call(this.constructor, '__registry'));\n\n /**\n * Create a new registry if:\n * - the registry is not defined\n * - this class doesn't have its own registry *AND* has no shared registry\n */\n if (shouldCreateRegistry) {\n this.registry = supportsScopedRegistry ? new CustomElementRegistry() : customElements;\n for (const [tagName, klass] of Object.entries(scopedElements)) {\n this.defineScopedElement(tagName, klass);\n }\n }\n\n /** @type {ShadowRootInit} */\n const options = {\n mode: 'open',\n ...shadowRootOptions,\n customElements: this.registry,\n };\n\n const createdRoot = this.attachShadow(options);\n if (supportsScopedRegistry) {\n this.renderOptions.creationScope = createdRoot;\n }\n\n if (createdRoot instanceof ShadowRoot) {\n adoptStyles(createdRoot, elementStyles);\n this.renderOptions.renderBefore = this.renderOptions.renderBefore || createdRoot.firstChild;\n }\n\n return createdRoot;\n }\n\n createScopedElement(tagName) {\n const root = supportsScopedRegistry ? this.shadowRoot : document;\n // @ts-ignore polyfill to support createElement on shadowRoot is loaded\n return root.createElement(tagName);\n }\n\n /**\n * Defines a scoped element.\n *\n * @param {string} tagName\n * @param {typeof HTMLElement} klass\n */\n defineScopedElement(tagName, klass) {\n const registeredClass = this.registry.get(tagName);\n if (registeredClass && supportsScopedRegistry === false && registeredClass !== klass) {\n // eslint-disable-next-line no-console\n console.error(\n [\n `You are trying to re-register the \"${tagName}\" custom element with a different class via ScopedElementsMixin.`,\n 'This is only possible with a CustomElementRegistry.',\n 'Your browser does not support this feature so you will need to load a polyfill for it.',\n 'Load \"@webcomponents/scoped-custom-element-registry\" before you register ANY web component to the global customElements registry.',\n 'e.g. add \"<script src=\"/node_modules/@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min.js\"></script>\" as your first script tag.',\n 'For more details you can visit https://open-wc.org/docs/development/scoped-elements/',\n ].join('\\n'),\n );\n }\n if (!registeredClass) {\n return this.registry.define(tagName, klass);\n }\n return this.registry.get(tagName);\n }\n\n /**\n * @deprecated use the native el.tagName instead\n *\n * @param {string} tagName\n * @returns {string} the tag name\n */\n // eslint-disable-next-line class-methods-use-this\n getScopedTagName(tagName) {\n // @ts-ignore\n return this.constructor.getScopedTagName(tagName);\n }\n\n /**\n * @deprecated use the native el.tagName instead\n *\n * @param {string} tagName\n * @returns {string} the tag name\n */\n // eslint-disable-next-line class-methods-use-this\n static getScopedTagName(tagName) {\n // @ts-ignore\n return this.__registry.get(tagName) ? tagName : undefined;\n }\n };\n\nexport const ScopedElementsMixin = dedupeMixin(ScopedElementsMixinImplementation);\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:l}=o,t=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,i={HTML:1,SVG:2},n=(o,l)=>void 0===l?void 0!==(null==o?void 0:o._$litType$):(null==o?void 0:o._$litType$)===l,d=o=>void 0!==(null==o?void 0:o._$litDirective$),v=o=>null==o?void 0:o._$litDirective$,e=o=>void 0===o.strings,c=()=>document.createComment(\"\"),r=(o,t,i)=>{var n;const d=o._$AA.parentNode,v=void 0===t?o._$AB:t._$AA;if(void 0===i){const t=d.insertBefore(c(),v),n=d.insertBefore(c(),v);i=new l(t,n,o,o.options)}else{const l=i._$AB.nextSibling,t=i._$AM,e=t!==o;if(e){let l;null===(n=i._$AQ)||void 0===n||n.call(i,o),i._$AM=o,void 0!==i._$AP&&(l=o._$AU)!==t._$AU&&i._$AP(l)}if(l!==v||e){let o=i._$AA;for(;o!==l;){const l=o.nextSibling;d.insertBefore(o,v),o=l}}}return i},u=(o,l,t=o)=>(o._$AI(l,t),o),f={},s=(o,l=f)=>o._$AH=l,m=o=>o._$AH,p=o=>{var l;null===(l=o._$AP)||void 0===l||l.call(o,!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},a=o=>{o._$AR()};export{i as TemplateResultType,a as clearPart,m as getCommittedValue,v as getDirectiveClass,r as insertPart,d as isDirectiveResult,t as isPrimitive,e as isSingleExpression,n as isTemplateResult,p as removePart,u as setChildPartValue,s as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{Directive,PartType,directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{var e,o;const r=i._$AN;if(void 0===r)return!1;for(const i of r)null===(o=(e=i)._$AO)||void 0===o||o.call(e,t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===(null==e?void 0:e.size))},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),l(t)}};function n(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function h(i,t=!1,e=0){const r=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const l=i=>{var t,s,o,r;i.type==e.CHILD&&(null!==(t=(o=i)._$AP)&&void 0!==t||(o._$AP=h),null!==(s=(r=i)._$AQ)&&void 0!==s||(r._$AQ=n))};class c extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){var e,r;i!==this.isConnected&&(this.isConnected=i,i?null===(e=this.reconnected)||void 0===e||e.call(this):null===(r=this.disconnected)||void 0===r||r.call(this)),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{c as AsyncDirective};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as i}from\"../lit-html.js\";import{AsyncDirective as t}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new o;class o{}const h=new WeakMap,n=s(class extends t{render(t){return i}update(t,[s]){var e;const o=s!==this.G;return o&&void 0!==this.G&&this.ot(void 0),(o||this.rt!==this.lt)&&(this.G=s,this.ct=null===(e=t.options)||void 0===e?void 0:e.host,this.ot(this.lt=t.element)),i}ot(i){var t;if(\"function\"==typeof this.G){const s=null!==(t=this.ct)&&void 0!==t?t:globalThis;let e=h.get(s);void 0===e&&(e=new WeakMap,h.set(s,e)),void 0!==e.get(this.G)&&this.G.call(this.ct,void 0),e.set(this.G,i),void 0!==i&&this.G.call(this.ct,i)}else this.G.value=i}get rt(){var i,t,s;return\"function\"==typeof this.G?null===(t=h.get(null!==(i=this.ct)&&void 0!==i?i:globalThis))||void 0===t?void 0:t.get(this.G):null===(s=this.G)||void 0===s?void 0:s.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import{html as t,svg as r}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=Symbol.for(\"\"),l=t=>{if((null==t?void 0:t.r)===e)return null==t?void 0:t._$litStatic$},o=t=>({_$litStatic$:t,r:e}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,l)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\\n take care to ensure page security.`)})(e)+t[l+1]),t[0]),r:e}),s=new Map,a=t=>(r,...e)=>{const o=e.length;let i,a;const n=[],u=[];let c,$=0,f=!1;for(;$<o;){for(c=r[$];$<o&&void 0!==(a=e[$],i=l(a));)c+=i+r[++$],f=!0;$!==o&&u.push(a),n.push(c),$++}if($===o&&n.push(r[o]),f){const t=n.join(\"$$lit$$\");void 0===(r=s.get(t))&&(n.raw=n,s.set(t,r=n)),e=u}return t(r,...e)},n=a(t),u=a(r);export{n as html,i as literal,u as svg,o as unsafeStatic,a as withStatic};\n//# sourceMappingURL=static.js.map\n","import { property } from \"lit/decorators.js\";\nimport SgdsElement from \"./sgds-element\";\n\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport class CardElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** The border's variant. */\n @property()\n borderColor: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor: CardTextVariant;\n}\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n","export default function (componentName = \"\", elementName = \"\"): string {\n return `id-${Math.random().toString().substring(2, 6)}-sgds-${componentName}-${elementName}`;\n}\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","// @defaultValue decorator\n//\n// Runs when the corresponding attribute of the observed property changes, e.g. after calling Element.setAttribute or after updating\n// the observed property.\n//\n// The decorator checks whether the value of the attribute is different from the value of the property and in that case\n// it saves the new value.\n//\n//\n// Usage:\n//\n// @property({ type: Boolean, reflect: true })\n// checked = false;\n//\n// @defaultValue('checked')\n// defaultChecked = false;\n//\n\nimport { defaultConverter } from \"lit\";\nimport type { ReactiveElement } from \"lit\";\n\nexport const defaultValue =\n (propertyName = \"value\") =>\n (proto: ReactiveElement, key: string) => {\n const ctor = proto.constructor as typeof ReactiveElement;\n\n const attributeChangedCallback = ctor.prototype.attributeChangedCallback;\n ctor.prototype.attributeChangedCallback = function (\n this: ReactiveElement & { [name: string]: unknown },\n name,\n old,\n value\n ) {\n const options = ctor.getPropertyOptions(propertyName);\n const attributeName = (typeof options.attribute === \"string\" ? options.attribute : propertyName).toLowerCase();\n if (name === attributeName) {\n const converter = options.converter || defaultConverter;\n const fromAttribute =\n typeof converter === \"function\" ? converter : converter?.fromAttribute ?? defaultConverter.fromAttribute;\n\n const newValue: unknown = fromAttribute(value, options.type);\n if (this[propertyName] !== newValue) {\n this[key] = newValue;\n }\n }\n attributeChangedCallback.call(this, name, old, value);\n };\n };\n","import type SgdsButton from \"../components/Button/sgds-button\";\nimport type { ReactiveController, ReactiveControllerHost } from \"lit\";\nimport SgdsElement from \"../base/sgds-element\";\nconst reportValidityOverloads: WeakMap<HTMLFormElement, () => boolean> = new WeakMap();\n\nexport class FormSubmitController implements ReactiveController {\n host?: ReactiveControllerHost & Element;\n form?: HTMLFormElement | null;\n options: FormSubmitControllerOptions;\n\n constructor(host: ReactiveControllerHost & Element, options?: Partial<FormSubmitControllerOptions>) {\n (this.host = host).addController(this);\n this.options = {\n form: (input: HTMLInputElement) => input.closest(\"form\"),\n name: (input: HTMLInputElement) => input.name,\n value: (input: HTMLInputElement) => input.value,\n defaultValue: (input: HTMLInputElement) => input.defaultValue,\n disabled: (input: HTMLInputElement) => input.disabled,\n reportValidity: (input: HTMLInputElement) => {\n return typeof input.reportValidity === \"function\" ? input.reportValidity() : true;\n },\n setValue: (input: HTMLInputElement, value: string) => {\n input.value = value;\n },\n ...options\n };\n this.handleFormData = this.handleFormData.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.handleFormReset = this.handleFormReset.bind(this);\n this.reportFormValidity = this.reportFormValidity.bind(this);\n }\n\n hostConnected() {\n this.form = this.options.form(this.host);\n\n if (this.form) {\n this.form.addEventListener(\"formdata\", this.handleFormData);\n this.form.addEventListener(\"submit\", this.handleFormSubmit);\n this.form.addEventListener(\"reset\", this.handleFormReset);\n\n // Overload the form's reportValidity() method so it looks at Shoelace form controls\n if (!reportValidityOverloads.has(this.form)) {\n reportValidityOverloads.set(this.form, this.form.reportValidity);\n this.form.reportValidity = () => this.reportFormValidity();\n }\n }\n }\n\n hostDisconnected() {\n if (this.form) {\n this.form.removeEventListener(\"formdata\", this.handleFormData);\n this.form.removeEventListener(\"submit\", this.handleFormSubmit);\n this.form.removeEventListener(\"reset\", this.handleFormReset);\n\n // Remove the overload and restore the original method\n if (reportValidityOverloads.has(this.form)) {\n this.form.reportValidity = reportValidityOverloads.get(this.form);\n reportValidityOverloads.delete(this.form);\n }\n\n this.form = undefined;\n }\n }\n\n handleFormData(event: FormDataEvent) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n\n if (!disabled && typeof name === \"string\" && typeof value !== \"undefined\") {\n if (Array.isArray(value)) {\n (value as unknown[]).forEach(val => {\n event.formData.append(name, (val as string | number | boolean).toString());\n });\n } else {\n event.formData.append(name, (value as string | number | boolean).toString());\n }\n }\n }\n\n handleFormSubmit(event: Event) {\n const disabled = this.options.disabled(this.host);\n const reportValidity = this.options.reportValidity;\n\n if (this.form && !this.form.noValidate && !disabled && !reportValidity(this.host)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n handleFormReset() {\n this.options.setValue(this.host, this.options.defaultValue(this.host));\n }\n\n reportFormValidity() {\n //\n // Shoelace form controls work hard to act like regular form controls. They support the Constraint Validation API\n // and its associated methods such as setCustomValidity() and reportValidity(). However, the HTMLFormElement also\n // has a reportValidity() method that will trigger validation on all child controls. Since we're not yet using\n // ElementInternals, we need to overload this method so it looks for any element with the reportValidity() method.\n //\n // We preserve the original method in a WeakMap, but we don't call it from the overload because that would trigger\n // validations in an unexpected order. When the element disconnects, we revert to the original behavior. This won't\n // be necessary once we can use ElementInternals.\n //\n // Note that we're also honoring the form's novalidate attribute.\n //\n if (this.form && !this.form.noValidate) {\n // This seems sloppy, but checking all elements will cover native inputs, Shoelace inputs, and other custom\n // elements that support the constraint validation API.\n const elements = this.form.querySelectorAll<HTMLInputElement>(\"*\");\n\n for (const element of elements) {\n if (typeof element.reportValidity === \"function\") {\n if (!element.reportValidity()) {\n return false;\n }\n }\n }\n }\n\n return true;\n }\n\n doAction(type: \"submit\" | \"reset\", invoker?: HTMLInputElement | SgdsButton) {\n if (this.form) {\n const button = document.createElement(\"button\");\n button.type = type;\n button.style.position = \"absolute\";\n button.style.width = \"0\";\n button.style.height = \"0\";\n button.style.clipPath = \"inset(50%)\";\n button.style.overflow = \"hidden\";\n button.style.whiteSpace = \"nowrap\";\n\n // Pass form attributes through to the temporary button\n if (invoker) {\n [\"formaction\", \"formmethod\", \"formnovalidate\", \"formtarget\"].forEach(attr => {\n if (invoker.hasAttribute(attr)) {\n button.setAttribute(attr, invoker.getAttribute(attr));\n }\n });\n }\n\n this.form.append(button);\n button.click();\n button.remove();\n }\n }\n\n /** Resets the form, restoring all the control to their default value */\n reset(invoker?: HTMLInputElement | SgdsButton) {\n this.doAction(\"reset\", invoker);\n }\n\n /** Submits the form, triggering validation and form data injection. */\n submit(invoker?: HTMLInputElement | SgdsButton) {\n // Calling form.submit() bypasses the submit event and constraint validation. To prevent this, we can inject a\n // native submit button into the form, \"click\" it, then remove it to simulate a standard form submission.\n this.doAction(\"submit\", invoker);\n }\n}\n\nexport interface FormSubmitControllerOptions {\n /** A function that returns the form containing the form control. */\n form: (input: unknown) => HTMLFormElement | null;\n /** A function that returns the form control's name, which will be submitted with the form data. */\n name: (input: unknown) => string;\n /** A function that returns the form control's current value. */\n value: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's default value. */\n defaultValue: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's current disabled state. If disabled, the value won't be submitted. */\n disabled: (input: unknown) => boolean;\n /**\n * A function that maps to the form control's reportValidity() function. When the control is invalid, this will\n * prevent submission and trigger the browser's constraint violation warning.\n */\n reportValidity: (input: unknown) => boolean;\n\n /** A function that sets the form control's value */\n setValue: (input: unknown, value: unknown) => void;\n}\n\nexport interface SgdsFormControl extends SgdsElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | \"any\";\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n}\n","import { html } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-checkbox.scss\";\n\n/**\n * @summary Checkbox component is used when you require users to select multiple items from a list.\n *\n * @slot default - The label of checkbox.\n *\n * @event sgds-change - Emitted when the checked state changes.\n */\nexport class SgdsCheckbox extends SgdsElement implements SgdsFormControl {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: SgdsCheckbox) => (control.checked ? control.value : undefined),\n defaultValue: (control: SgdsCheckbox) => control.defaultChecked,\n setValue: (control: SgdsCheckbox, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ reflect: true }) name: string;\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property() value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback?: string;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** @internal */\n @state() valid = false;\n\n /** @internal */\n @state() invalid = false;\n\n /** @internal For Id/For pair of the HTML form control and label. */\n private inputId: string = genId(\"checkbox\");\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n handleChange() {\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n if (this.required) this.valid = this.input.checkValidity();\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid\n })}\n type=\"checkbox\"\n id=${this.inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this.handleChange}\n @keydown=${this.handleKeyDown}\n @invalid=${(e: Event) => this.handleInvalid(e)}\n />\n <label for=\"${this.inputId}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.hasFeedback\n ? html`<div id=\"${this.inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n </div>\n `;\n }\n}\n\nexport default SgdsCheckbox;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-radio.scss\";\n/**\n * @summary Radio allows the user to select one option from a set while seeing all available options.\n *\n * @slot default - The label of the radio button\n *\n * @event sgds-focus - Emitted when the control gains focus.\n * @event sgds-blur - Emitted when the control loses focus.\n */\nexport class SgdsRadio extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**\n * Draws the radio in a checked state\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Aligns the radios horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** For aria-label */\n @property({ type: String, reflect: true }) ariaLabel = \"\";\n\n private radioId: string = genId(\"radio\");\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n class=${classMap({\n \"form-check-input\": true\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n tabindex=\"-1\"\n />\n <label for=\"${ifDefined(this.radioId)}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n </div>\n `;\n }\n}\n\nexport default SgdsRadio;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { SgdsRadio } from \"../Radio/sgds-radio\";\nimport styles from \"./sgds-action-card.scss\";\n\n/**\n * @summary Action Card are cards with built in checkbox or radio components. The ref of input is extended to the Card's body.\n * @slot icon - Icon content in the card-subtitile\n * @slot card-subtitle - The subtitle of the card\n * @slot card-title - The title of the card\n * @slot card-text - The paragrapher text of the card\n *\n * @event sgds-change - Emitted when the checked state of card's checkbox changes or when the selected card's radio has changed\n *\n * @csspart base - The action card base wrapper\n * @csspart body - The action card body\n * @csspart subtitle - The action card subtitle\n * @csspart title - The action card title\n * @csspart text - The action card text\n *\n */\nexport class SgdsActionCard extends ScopedElementsMixin(CardElement) {\n static styles = [CardElement.styles, styles];\n static get scopedElements() {\n return {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-radio\": SgdsRadio\n };\n }\n /** @internal */\n inputRef: Ref<SgdsCheckbox | SgdsRadio> = createRef();\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ reflect: true }) name: string;\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String }) value: string;\n /** Disables the input (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /** Draws the input in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The type of input of the action card */\n @property({ type: String, reflect: true }) type: TypeVariant = \"checkbox\";\n\n /** Controls the active styling of the action card */\n @property({ reflect: true, type: Boolean })\n active = false;\n\n /** Simulates a click on the input control*/\n public click() {\n this.inputRef.value.click();\n }\n /** @internal Declare the click event listener*/\n async handleInputChange() {\n this.inputRef.value.click();\n this.emit(\"sgds-change\");\n }\n /** @internal The input's id. */\n private inputId: string = genId(\"action-card\", \"input\");\n\n @watch(\"checked\")\n async handleRadioCheckedChange() {\n this.active = this.checked;\n }\n @watch(\"disabled\")\n async handleDisabledChange() {\n this.active = !this.disabled;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.handleInputChange();\n }\n }\n\n render() {\n const checkbox = html`<sgds-checkbox\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n id=${this.inputId}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n .value=${live(this.value)}\n ?checked=${live(this.checked)}\n @sgds-change=${(e: CustomEvent) => (this.checked = e.detail.checked)}\n ></sgds-checkbox>`;\n\n const radio = html`<sgds-radio\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n id=${this.inputId}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n .value=${live(this.value)}\n ?checked=${live(this.checked)}\n ></sgds-radio>`;\n\n return html`\n <div\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n variant=\"card-action\"\n class=\"sgds card\n ${classMap({\n [`text-${this.textColor}`]: this.textColor,\n [`bg-${this.bgColor}`]: this.bgColor,\n [`border-${this.borderColor}`]: this.borderColor,\n [\"is-active\"]: this.active\n })}\n \"\n part=\"base\"\n >\n <div class=\"card-body\" part=\"body\">\n <h6 class=\"text-muted card-subtitle\" part=\"subtitle\">\n <div>\n <slot name=\"icon\"></slot>\n <slot name=\"card-subtitle\"></slot>\n </div>\n <div class=\"card-input\">${this.type === \"checkbox\" ? checkbox : radio}</div>\n </h6>\n <h5 class=\"card-title\" part=\"title\"><slot name=\"card-title\"></slot></h5>\n <p class=\"card-text\" part=\"text\"><slot name=\"card-text\"></slot></p>\n </div>\n </div>\n `;\n }\n}\n\nexport type TypeVariant = \"checkbox\" | \"radio\";\n\nexport default SgdsActionCard;\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-alert.scss\";\n\nexport type AlertVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\";\n/**\n * @summary Alerts provide short, timely, and relevant information for your users. It can be a simple text message or customised HTML content with paragraphs, headings and links.\n *\n * @slot default - The alert's main content.\n * @slot icon - An icon to show in the alert. Pass in SVG elements.\n *\n * @event sgds-show - Emitted when the alert appears.\n * @event sgds-hide - Emitted after the alert closes.\n *\n * @cssproperty --alert-icon-margin-right - The margin-right css of icon slot, to position the gap between icon and alert message\n */\nexport class SgdsAlert extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Controls the appearance of the alert */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** Enables a close button that allows the user to dismiss the alert. */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** The alert's theme variant. */\n @property({ type: String, reflect: true }) variant: AlertVariant = \"primary\";\n\n /** Optional for alert wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ type: String, reflect: true }) alertClasses: string;\n\n /** Closes the alert */\n public close() {\n this.show = false;\n }\n /**@internal */\n @watch(\"show\")\n handleShowChange() {\n this.show ? this.emit(\"sgds-show\") : this.emit(\"sgds-hide\");\n }\n render() {\n return html`\n <div\n class=\"${classMap({\n sgds: true,\n alert: true,\n fade: true,\n show: this.show,\n [`alert-${this.variant}`]: this.variant,\n [`alert-dismissible`]: this.dismissible,\n [`${this.alertClasses}`]: this.alertClasses,\n \"d-flex\": true,\n \"align-items-center\": true\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n <i><slot name=\"icon\"></slot></i>\n <slot></slot>\n ${this.dismissible\n ? html`<button class=\"btn-close btn-sm\" aria-label=\"close the alert\" @click=${this.close}></button>`\n : null}\n </div>\n `;\n }\n}\n\nexport default SgdsAlert;\n","import { property } from \"lit/decorators.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\n/**\n * @summary Alert heading is the header of the Alert component. Use it in the default slot of `sgds-alert` when required\n *\n * @slot default - The text content of the anchor element\n */\nexport class SgdsAlertHeading extends SgdsElement {\n static styles = [SgdsElement.styles];\n\n /** The type of header tag style for alert's heading */\n @property({ type: String, reflect: true }) headerTag: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h4\";\n\n render() {\n return html`\n <span class=${this.headerTag}>\n <slot></slot>\n </span>\n `;\n }\n}\n\nexport default SgdsAlertHeading;\n","import { property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-alert-link.scss\";\n/**\n * @summary Alert link are used within the alert's message that is passed into the default slot of `<sgds-alert>`\n *\n * @slot default - The text content of the anchor element\n * @cssproperty --alert-link-anchor-color - The margin-right css of icon slot, to position the gap between icon and alert message\n */\nexport class SgdsAlertLink extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** Forwards to href attribute of anchor element */\n @property({ type: String, reflect: true }) href: string;\n /** Tells the browser where to open the link */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n render() {\n return html`\n <a class=\"alert-link\" href=${ifDefined(this.href)} target=${ifDefined(this.target)}><slot></slot> </a>\n `;\n }\n}\n\nexport default SgdsAlertLink;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-badge.scss\";\n\nexport type BadgeVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\" | \"dark\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n * @slot default - slot for badge\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `dark`, `light`, `link` */\n @property({ reflect: true }) variant: BadgeVariant = \"primary\";\n /** Visually set badge for lesser color emphasis. */\n @property({ type: Boolean, reflect: true }) isLight = false;\n /** Visually set badge with rounded corners. */\n @property({ type: Boolean, reflect: true }) roundedPill = false;\n /** Forwarded to the base wrapper of sgds-badge. Can be used to insert any utility classes such as `me-auto` or `text-dark` */\n @property({ type: String, reflect: true }) badgeClasses: string;\n render() {\n return html`\n <span\n class=\" \n ${classMap({\n \"sgds badge\": true,\n [`bg-${this.variant}`]: this.variant,\n \"badge-light\": this.isLight,\n \"rounded-pill\": this.roundedPill,\n [`${this.badgeClasses}`]: this.badgeClasses\n })}\n \"\n >\n <slot name=\"leftIcon\"></slot>\n <slot></slot>\n <slot name=\"rightIcon\"></slot>\n </span>\n `;\n }\n}\n\nexport default SgdsBadge;\n","import { property, query } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsBreadcrumbItem from \"./sgds-breadcrumb-item\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n/**\n * @summary Breadcrumbs help users to navigate and understand where they are on the current website or service.\n *\n * @slot default - The slot to pass in custom elements of `SgdsBreadcrumbItems`.\n * @slot separator - Defines all the separator of `SgdsBreadcrumbItems`. Defaults to \"/\"\n *\n * @csspart base - The nav element wrapper of `SgdsBreadcrumb`\n */\nexport class SgdsBreadcrumb extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** The aria-label of nav element within breadcrumb component. */\n @property({ type: String }) ariaLabel = \"breadcrumb\";\n /**@internal */\n @query(\"slot\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query('slot[name=\"separator\"]') separatorSlot: HTMLSlotElement;\n\n // Generates a clone of the separator element to use for each breadcrumb item\n private getSeparator() {\n const separator = this.separatorSlot.assignedElements({ flatten: true })[0] as HTMLElement;\n\n // Clone it, remove ids, and slot it\n const clone = separator.cloneNode(true) as HTMLElement;\n [clone, ...clone.querySelectorAll(\"[id]\")].forEach(el => el.removeAttribute(\"id\"));\n clone.setAttribute(\"data-default\", \"\");\n clone.slot = \"separator\";\n\n return clone;\n }\n\n private handleSlotChange() {\n const items = [...this.defaultSlot.assignedElements({ flatten: true })].filter(\n item => item.tagName.toLowerCase() === \"sgds-breadcrumb-item\"\n ) as SgdsBreadcrumbItem[];\n\n items.forEach((item, index) => {\n // Append separators to each item if they don't already have one\n const separator = item.querySelector('[slot=\"separator\"]');\n if (separator === null) {\n // No separator exists, add one\n item.append(this.getSeparator());\n } else if (separator.hasAttribute(\"data-default\")) {\n // A default separator exists, replace it\n separator.replaceWith(this.getSeparator());\n } else {\n // The user provided a custom separator, leave it alone\n }\n\n // The last breadcrumb item is the \"current page\"\n\n if (index === items.length - 1) {\n item.setAttribute(\"aria-current\", \"page\");\n } else {\n item.removeAttribute(\"aria-current\");\n }\n });\n }\n\n render() {\n return html`\n <nav aria-label=${ifDefined(this.ariaLabel)} part=\"base\">\n <ol class=\"breadcrumb\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n <slot name=\"separator\" hidden aria-hidden=\"true\">\n <span>/</span>\n </slot>\n </ol>\n </nav>\n `;\n }\n}\n\nexport default SgdsBreadcrumb;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n/**\n * @summary Breadcrumb Item are navigational links used in Breadcrumb component\n *\n * @slot default - The title of the item\n * @slot separator - The individual separator of breadcrumb item can be changed here.\n *\n * @csspart base - The base wrapper of breadcrumb item which is a HTMLListElement.\n * @csspart label -The label of the breadcrumb item. It is either a span or anchor element depending on href attribute\n */\nexport class SgdsBreadcrumbItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** Specifies the url path of the breadcrumb-item. When defined, the breadcrumb-items is a anchor element. When not defined, indicates that the breadcrumb item is active. In such cases, a span element is rendered. */\n @property({ type: String, reflect: true }) href: string;\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n /** The `rel` attribute to use on the link. Only used when `href` is set. */\n @property() rel = \"noreferrer noopener\";\n\n render() {\n const isLink = this.href ? true : false;\n return html`\n <li\n part=\"base\"\n class=${classMap({\n \"breadcrumb-item\": true,\n active: !isLink\n })}\n >\n ${isLink\n ? html`\n <a\n part=\"label\"\n href=\"${this.href}\"\n rel=${ifDefined(this.target ? this.rel : undefined)}\n target=${ifDefined(this.target)}\n ><slot></slot\n ></a>\n `\n : html`<span part=\"label\"><slot></slot></span>`}\n <slot name=\"separator\" class=\"breadcrumb-item__separator\" aria-hidden=\"true\"></slot>\n </li>\n `;\n }\n}\n\nexport default SgdsBreadcrumbItem;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport styles from \"./sgds-button.scss\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.\n *\n * @slot default - The button's label.\n *\n * @event sgds-blur - Emitted when the button is not focused.\n * @event sgds-focus - Emitted when the button is focused.\n */\nexport class SgdsButton extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query(\".btn\") private button: HTMLButtonElement | HTMLLinkElement;\n\n /** @internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n form: (input: HTMLInputElement) => {\n // Buttons support a form attribute that points to an arbitrary form, so if this attribute it set we need to query\n // the form from the same root using its id\n if (input.hasAttribute(\"form\")) {\n const doc = input.getRootNode() as Document | ShadowRoot;\n const formId = input.getAttribute(\"form\");\n return doc.getElementById(formId) as HTMLFormElement;\n }\n\n // Fall back to the closest containing form\n return input.closest(\"form\");\n }\n });\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `dark`, `light`, `link` as well as \"outline\" versions (prefixed by `outline-*`) */\n @property({ reflect: true }) variant: ButtonVariant = \"primary\";\n\n /** Optional for button. Can be used to insert any utility classes such as me-auto **/\n @property({ reflect: true }) buttonClasses: string;\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Manually set the visual state of the button to `:active` */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** The disabled state of the button */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The behavior of the button with default as `type='button', `reset` resets all the controls to their initial values and `submit` submits the form data to the server */\n @property() type: \"button\" | \"submit\" | \"reset\" = \"button\";\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href: string;\n\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is set. */\n @property({ reflect: true }) download: string;\n\n /**\n * The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\n * value of this attribute must be an id of a form in the same document or shadow root as the button.\n */\n @property() form: string;\n\n /** Used to override the form owner's `action` attribute. */\n @property({ attribute: \"formaction\" }) formAction: string;\n\n /** Used to override the form owner's `method` attribute. */\n @property({ attribute: \"formmethod\" }) formMethod: \"post\" | \"get\";\n\n /** Used to override the form owner's `novalidate` attribute. */\n @property({ attribute: \"formnovalidate\", type: Boolean })\n formNoValidate: boolean;\n\n /** Used to override the form owner's `target` attribute. */\n @property({ attribute: \"formtarget\" }) formTarget: \"_self\" | \"_blank\" | \"_parent\" | \"_top\" | string;\n\n /** Sets focus on the button. */\n public focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Simulates a click on the button. */\n public click() {\n this.button.click();\n }\n\n /** Removes focus from the button. */\n public blur() {\n this.button.blur();\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.removeEventListener(\"click\", this.clickHandler);\n this.addEventListener(\"click\", this.clickHandler);\n }\n\n /** @internal */\n clickHandler = () => {\n if (this.type === \"submit\") {\n this.formSubmitController.submit(this);\n }\n if (this.type === \"reset\") {\n this.formSubmitController.reset(this);\n }\n };\n\n render() {\n const isLink = this.href;\n const tag = isLink ? literal`a` : literal`button`;\n return html`\n <${tag}\n class=\"sgds btn ${classMap({\n disabled: isLink && this.disabled,\n active: this.active,\n [`btn-${this.variant}`]: this.variant,\n [`btn-${this.size}`]: this.size,\n [`${this.buttonClasses}`]: this.buttonClasses\n })}\"\n ?disabled=${ifDefined(isLink ? undefined : this.disabled)}\n type=${ifDefined(isLink ? undefined : this.type)}\n href=${ifDefined(isLink ? this.href : undefined)}\n target=${ifDefined(isLink ? this.target : undefined)}\n download=${ifDefined(isLink ? this.download : undefined)}\n rel=${ifDefined(isLink && this.target === \"_blank\" ? \"noreferrer noopener\" : undefined)}\n role=${ifDefined(isLink ? \"button\" : undefined)}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n <slot class=\"d-flex align-items-center gap-2\"></slot>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsButton;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\n\n/**\n * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot card-title - The title of the card\n * @slot card-text - The paragrapher text of the card\n * @slot card-image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot card-link - Accepts an anchor element. Only a single element is allowed to be passed in.\n *\n *\n * @csspart base - The card base wrapper\n * @csspart body - The card body\n * @csspart title - The card title\n * @csspart text - The card text\n *\n */\nexport class SgdsCard extends CardElement {\n static styles = CardElement.styles;\n\n /** Extends the link passed in slot[name=\"link\"] to the entire card */\n @property({ type: Boolean }) stretchedLink = false;\n\n handleLinkSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLLinkElement>;\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's link slot\");\n }\n if (this.stretchedLink) {\n childNodes[0].classList.add(\"stretched-link\");\n }\n childNodes[0].classList.add(\"fw-bold\");\n return;\n }\n\n handleImgSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLOrSVGImageElement>;\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's image slot\");\n }\n childNodes[0].classList.add(\"card-img-top\");\n }\n render() {\n return html`\n <div\n class=\"${classMap({\n sgds: true,\n card: true,\n [`text-${this.textColor}`]: this.textColor,\n [`bg-${this.bgColor}`]: this.bgColor,\n [`border-${this.borderColor}`]: this.borderColor\n })}\n \"\n part=\"base\"\n >\n <slot name=\"card-image\" @slotchange=${this.handleImgSlotChange}></slot>\n <div class=\"card-body\" part=\"body\">\n <h3 class=\"card-title\" part=\"title\"><slot name=\"card-title\"></slot></h3>\n <p class=\"card-text\" part=\"text\">\n <slot name=\"card-text\"></slot>\n </p>\n <slot name=\"card-link\" @slotchange=${this.handleLinkSlotChange}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsCard;\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.0'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const assign = (target: any, ...args: any[]) => Object.assign(target, ...args);\nexport const keys = (obj: any) => Object.keys(obj);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { assign, keys } from \"./object\";\nfunction _isObject(item: any) {\n return item && typeof item === \"object\" && item.constructor === Object;\n}\n\nconst mergeDeep = (target: any, source: any) => {\n if (_isObject(target) && _isObject(source)) {\n keys(source).forEach(key => {\n if (_isObject(source[key])) {\n if (!target[key] || !_isObject(target[key])) {\n target[key] = source[key];\n }\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, { [key]: source[key] });\n }\n });\n }\n return target;\n};\n\nexport default mergeDeep;\n","import type { StrictModifiers } from \"@popperjs/core\";\nimport * as Popper from \"@popperjs/core\";\nimport Dropdown from \"bootstrap/js/src/dropdown\";\nimport type { Dropdown as BsDropdown } from \"bootstrap\";\nimport { property, state } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport SgdsElement from \"./sgds-element\";\nimport generateId from \"../utils/generateId\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n * @event sgds-select - Emitted event when a slot item is selected\n */\n\nexport class DropdownElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n /** @internal */\n protected bsDropdown: BsDropdown = null;\n\n /** @internal Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"ul\");\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */\n @property({ type: Object })\n popperOpts = {};\n\n /** @internal */\n @state()\n dropdownConfig: Partial<Popper.Options>;\n /** @internal */\n @state()\n modifierOpt: StrictModifiers[] = [];\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n document.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-after-show\");\n });\n\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hide\");\n });\n\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-after-hide\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n /** When invoked, opens the dropdown menu */\n showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n hideMenu() {\n this.bsDropdown.hide();\n }\n\n toggleMenu() {\n this.bsDropdown.toggle();\n }\n\n private _handleKeyboardMenuEvent(e: KeyboardEvent) {\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ESC:\n return this.hideMenu();\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.hideMenu();\n }\n }\n}\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.et=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.et=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.et)return this.ft;this.et=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","import { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport type { SgdsFormControl } from \"../../utils/form\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\n\n/**\n * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when input is in focus.\n * @event sgds-blur - Emitted when input is not in focus.\n *\n */\nexport class SgdsInput extends SgdsElement implements SgdsFormControl {\n static styles = SgdsElement.styles;\n /**@internal */\n @query(\"input.form-control\") input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n /** The type of input which works the same as HTMLInputElement*/\n @property({ reflect: true }) type:\n | \"date\"\n | \"datetime-local\"\n | \"email\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"text\"\n | \"time\"\n | \"url\" = \"text\";\n /** The input's label */\n @property({ reflect: true }) label = \"\";\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n /**The input's name attribute */\n @property({ reflect: true }) name: string;\n /**Forwards classes to the native HTMLInputElement of the component. Can be used to insert any classes from bootstrap such as mt-2 */\n @property({ reflect: true }) inputClasses: string;\n /**Optional. Pass svg html of icons in string form*/\n @property({ type: String }) icon: string;\n /**Sets the minimum length of the input */\n @property({ type: Number, reflect: true }) minlength: number;\n /**Sets the maximum length of the input */\n @property({ type: Number, reflect: true }) maxlength: number;\n /**The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n /**A pattern to validate input against. */\n @property({ type: String }) pattern: string;\n /**Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /**Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /**@internal */\n @state() invalid = false;\n /**@internal */\n @state() valid = false;\n\n /**@internal */\n private inputId: string = genId(\"input\", this.type);\n\n /** Sets focus on the input. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n /** Sets blur on the input. */\n public blur() {\n this.input.blur();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n return this.input.reportValidity();\n }\n handleInvalid() {\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.input.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n // Prevent submission when enter is click on a submission in an Input Method Editor with isComposing\n if (!event.defaultPrevented && !event.isComposing) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.input.checkValidity();\n this.valid = this.input.checkValidity();\n // remove validation for input that is not required, is already dirty and has empty value\n if (!this.required && this.value === \"\") {\n this.valid = false;\n }\n }\n\n render() {\n const input = html`\n <input\n class=${classMap({\n \"form-control\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid,\n [`${this.inputClasses}`]: this.inputClasses\n })}\n type=${this.type}\n id=${this.inputId}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n pattern=${ifDefined(this.pattern)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .value=${live(this.value)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @keydown=${this.handleKeyDown}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${this.hasFeedback\n ? html`<div id=\"${this.inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n `;\n // if iconName is defined\n const inputWithIcon = html`\n <div class=\"sgds form-control-group ${this.inputClasses}\">\n <span class=\"form-control-icon\"> ${unsafeSVG(this.icon)} </span>\n ${input}\n </div>\n `;\n // if hintText is defined\n const withHintText = html` <small id=\"${this.inputId}Help\" class=\"text-muted form-text\">${this.hintText}</small> `;\n\n // if label is defined\n const withLabel = html` <label for=${this.inputId} class=\"form-label\">${this.label}</label> `;\n\n return html`\n <div class=\"d-flex flex-column w-100\">\n ${html`${this.label && withLabel} ${this.hintText && withHintText} ${this.icon ? inputWithIcon : input} `}\n </div>\n `;\n }\n}\n\nexport default SgdsInput;\n","import { query, state } from \"lit/decorators.js\";\nimport { DropdownElement } from \"./dropdown-element\";\nimport { SgdsDropdownItem } from \"../components\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ENTER = \"Enter\";\n\n/**\n * @event sgds-select - Emitted event when a slot item is selected\n */\nexport class DropdownListElement extends DropdownElement {\n static styles = DropdownElement.styles;\n\n /**@internal */\n @query(\"ul.dropdown-menu\")\n private menu: HTMLUListElement;\n\n /** @internal */\n @state()\n nextDropdownItemNo = 0;\n /** @internal */\n @state()\n prevDropdownItemNo = -1;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n firstUpdated() {\n super.firstUpdated();\n this.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent);\n }\n\n protected handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n /** Emitted event from SgdsDropdown element when a slot item is selected */\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n\n private _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n e.preventDefault();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this.handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n private _getMenuItems(): SgdsDropdownItem[] {\n // for case when default slot is used e.g. dropdown, mainnavdropdown\n if (this.shadowRoot.querySelector(\"slot#default\")) {\n return (this.shadowRoot.querySelector(\"slot#default\") as HTMLSlotElement)?.assignedElements({\n flatten: true\n }) as SgdsDropdownItem[];\n }\n\n // for case when there is no slot e.g. combobox\n if (this.menu.hasChildNodes()) {\n const menuItems = this.menu.children;\n\n return [...menuItems] as SgdsDropdownItem[];\n }\n }\n private _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n private _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem && i.focus();\n });\n }\n}\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { SgdsInput } from \"../Input/sgds-input\";\nimport styles from \"./sgds-combo-box.scss\";\nimport { watch } from \"../../utils/watch\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\n\ntype FilterFunction = (inputValue: string, menuItem: string) => boolean;\n\n/**\n * @summary ComboBox component is used for users to make one or more selections from a list.\n *\n * @slot icon - slot for form control icon to be displayed on the right of the input box.\n *\n * @event sgds-select - Emitted when the combo box's selected value changes.\n * @event sgds-input - Emitted when user input is received and its value changes.\n */\nexport class SgdsComboBox extends ScopedElementsMixin(DropdownListElement) {\n static styles = [DropdownElement.styles, styles];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-input\": SgdsInput\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n /** The input's label */\n @property({ reflect: true }) label = \"\";\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n /**The input's name attribute */\n @property({ reflect: true }) name: string;\n /**The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n /**Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /**Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n /**The list of items to display in the dropdown. */\n @property({ type: Array }) menuList: string[] = [];\n\n /**The function used to determine if a menu item should be shown in the menu list, given the user's input value. */\n @property({ type: Function })\n filterFunction: FilterFunction = (inputValue: string, menuItem: string) => {\n const itemLowerCase = menuItem.toLowerCase();\n const valueLower = inputValue.toLowerCase();\n return itemLowerCase.startsWith(valueLower);\n };\n\n /**@internal */\n @state()\n private filteredMenuList: string[] = [];\n\n /**@internal */\n @watch(\"value\")\n handleFilterMenu() {\n this.filteredMenuList = this.menuList.filter(item => this.filterFunction.call(null, this.value, item));\n\n if (!this.myDropdown || !this.bsDropdown) return;\n\n // To hide dropdown menu when filtered menuList is empty\n if (this.filteredMenuList.length === 0) {\n this.hideMenu();\n } else if (this.menuIsOpen) {\n this.showMenu();\n }\n }\n\n private _handleInputChange(e: CustomEvent) {\n this.showMenu();\n this.value = (e.target as SgdsInput).value;\n }\n\n private _handleSelectChange(e: KeyboardEvent | MouseEvent) {\n this.value = (e.target as HTMLButtonElement).innerText;\n this.handleSelectSlot(e);\n }\n\n render() {\n return html`\n <div class=\"sgds combobox dropdown\">\n <sgds-input\n class=\"dropdown-toggle w-100\"\n label=${this.label}\n hintText=${this.hintText}\n name=${this.name}\n ${ref(this.myDropdown)}\n @click=${() => (this.filteredMenuList.length > 0 ? this.showMenu() : this.hideMenu())}\n placeholder=${this.placeholder}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n .value=${this.value}\n @sgds-input=${this._handleInputChange}\n role=\"combobox\"\n aria-expanded=${this.menuIsOpen}\n aria-autocomplete=\"list\"\n aria-controls=${this.dropdownMenuId}\n >\n </sgds-input>\n <div class=\"form-control-icon\">\n <slot name=\"icon\"></slot>\n </div>\n <ul id=${this.dropdownMenuId} class=\"dropdown-menu\" part=\"menu\" tabindex=\"-1\">\n ${this.filteredMenuList.map(\n item => html`<button class=\"dropdown-item\" @click=${this._handleSelectChange}>${item}</button>`\n )}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsComboBox;\n","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const i=\"important\",n=\" !\"+i,o=e(class extends r{constructor(t){var e;if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ut){this.ut=new Set;for(const t in r)this.ut.add(t);return this.render(r)}this.ut.forEach((t=>{null==r[t]&&(this.ut.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=\"\")}));for(const t in r){const e=r[t];if(null!=e){this.ut.add(t);const r=\"string\"==typeof e&&e.endsWith(n);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?i:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","import { HTMLTemplateResult, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./datepicker-calendar.scss\";\n\nexport class DatepickerCalendar extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n static DAY_LABELS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\n /** @internal */\n static daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n /** @internal */\n static MONTHVIEW_LABELS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\n /** @internal */\n @property({ type: Array }) selectedDate: Date[] = [];\n\n /** @internal */\n @property({ attribute: false }) displayDate: Date = new Date();\n\n /** @internal */\n @property({ type: String }) minDate?: string;\n\n /** @internal */\n @property({ type: String }) maxDate?: string;\n\n /** @internal */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n /** @internal */\n @property({ attribute: false }) initialValue?: Date;\n\n /** @internal */\n @state() year: number = this.displayDate.getFullYear();\n\n /** @internal */\n @state() month: number = this.displayDate.getMonth();\n\n /** @internal */\n @state() view = \"days\";\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n /** @internal */\n private setTimeToNoon(date: Date) {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n }\n\n /** @internal */\n private generateIncrementDays(start: Date, end: Date) {\n const arr: Date[] = [];\n if (start.getTime() < end.getTime()) {\n for (let dt = start; dt <= end; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n } else {\n for (let dt = end; dt <= start; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n }\n return arr;\n }\n\n /** @internal */\n private onClickDay(event: MouseEvent) {\n const day = (event.currentTarget as HTMLTableCellElement).dataset.day;\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setDate(parseInt(day));\n\n if (this.mode === \"single\") {\n // Single mode: Select a single date\n\n this.selectedDate = [displayDateClone];\n\n // Emit event with selected date\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n } else if (this.mode === \"range\") {\n // Range mode: Select a range of dates\n const selectedDates = [...this.selectedDate];\n\n if (selectedDates.length === 0 || selectedDates.length === 2) {\n // No dates selected yet or both dates already selected,\n // start a new range by clearing the selected dates array\n selectedDates.length = 0;\n }\n\n // Add the selected date to the range\n selectedDates.push(displayDateClone);\n\n // Update the selectedDate property\n this.selectedDate = selectedDates;\n\n // Emit event with the range of selected dates\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n }\n\n // Check if the selected date is before minDate or after maxDate\n const minimumDate = this.minDate ? this.setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? this.setTimeToNoon(new Date(this.maxDate)) : null;\n\n const selectedDate = this.setTimeToNoon(displayDateClone);\n if ((minimumDate && selectedDate < minimumDate) || (maximumDate && selectedDate > maximumDate)) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n // clickhandler for month view buttons\n /** @internal */\n private onClickMonth(month: number) {\n this.month = month;\n const displayDateClone = new Date(this.displayDate);\n this.view = \"days\";\n displayDateClone.setMonth(this.month);\n this.displayDate = displayDateClone;\n this.emit(\"sgds-view\", { detail: this.view });\n //once clicked, should change view to days, and hold value and change view\n this.emit(\"sgds-selectmonth\", { detail: this.displayDate });\n }\n\n // clickhandler for year view buttons\n /** @internal */\n private onClickYear(year: number) {\n this.year = year;\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setFullYear(this.year);\n this.displayDate = displayDateClone;\n this.view = \"months\";\n this.emit(\"sgds-view\", { detail: this.view });\n\n this.emit(\"sgds-selectyear\", { detail: this.displayDate });\n }\n\n render() {\n const selectedDates = this.selectedDate.map(d => this.setTimeToNoon(d));\n\n const rangeSelectedDates = this.generateIncrementDays(new Date(selectedDates[0]), new Date(selectedDates[1]));\n\n const minimumDate = this.minDate ? this.setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? this.setTimeToNoon(new Date(this.maxDate)) : null;\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n const firstDay = new Date(year, month, 1);\n const startingDay = firstDay.getDay();\n let monthLength = DatepickerCalendar.daysInMonth[month];\n if (month == 1) {\n if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n monthLength = 29;\n }\n }\n\n const weeks = [];\n let day = 1;\n for (let i = 0; i < 9; i++) {\n const week = [];\n for (let j = 0; j <= 6; j++) {\n if (day <= monthLength && (i > 0 || j >= startingDay)) {\n const date = new Date(year, month, day, 12, 0, 0, 0).toISOString();\n const isCurrentDate = new Date();\n\n const beforeMinDate = minimumDate && Date.parse(date) < Date.parse(minimumDate.toISOString());\n const afterMinDate = maximumDate && Date.parse(date) > Date.parse(maximumDate.toISOString());\n const clickHandler = beforeMinDate || afterMinDate ? undefined : this.onClickDay;\n\n const isCurrentMonth = isCurrentDate.getMonth() === this.displayDate.getMonth();\n const isCurrentYear = isCurrentDate.getFullYear() === this.displayDate.getFullYear();\n const isCurrentDay = isCurrentDate.getDate() === day;\n\n const isSelected =\n selectedDates.length > 0 &&\n (rangeSelectedDates.some(d => Date.parse(date) === Date.parse(d.toISOString())) ||\n Date.parse(date) === Date.parse(selectedDates[0].toISOString()));\n\n const mutedButtonStyle = {\n cursor: \"not-allowed\"\n };\n const buttonStyles = {\n cursor: \"pointer\",\n borderRadius: \"0\"\n };\n week.push(\n html`<td\n key=${j}\n data-day=${day}\n class=${classMap({\n \"text-primary\": isCurrentDay && isCurrentMonth && isCurrentYear,\n active: isSelected,\n disabled: beforeMinDate || afterMinDate\n })}\n style=${styleMap(beforeMinDate || afterMinDate ? { ...buttonStyles, ...mutedButtonStyle } : buttonStyles)}\n @click=${clickHandler}\n >\n ${day}\n </td>`\n );\n day++;\n } else {\n week.push(html`<td key=${j}></td>`);\n }\n }\n\n weeks.push(\n html`<tr key=${i}>\n ${week}\n </tr>`\n );\n if (day > monthLength) {\n break;\n }\n }\n\n // monthView\n\n const displayMonth = DatepickerCalendar.MONTHVIEW_LABELS[this.displayDate.getMonth()];\n\n const monthView = html`\n <div class=\"sgds monthpicker\">\n ${DatepickerCalendar.MONTHVIEW_LABELS.map(\n (m, idx) => html`\n <button\n class=${classMap({ active: displayMonth === m, month: true })}\n @click=${() => this.onClickMonth(idx)}\n >\n ${m}\n </button>\n `\n )}\n </div>\n `;\n\n // yearView\n\n const displayYear = this.displayDate.getFullYear();\n const startLimit = displayYear - 5;\n const endLimit = displayYear + 6;\n const yearArray = [];\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n const yearView = html`\n <div class=\"sgds yearpicker\">\n ${yearArray.map(\n y => html`\n <button class=${classMap({ active: displayYear === y, year: true })} @click=${() => this.onClickYear(y)}>\n ${y}\n </button>\n `\n )}\n </div>\n `;\n\n // default - dayView\n\n const dayView = html`\n <table class=\"text-center\">\n <thead>\n <tr>\n ${DatepickerCalendar.DAY_LABELS.map(\n (label: string, index: number) =>\n html`\n <td key=${index}>\n <small>${label}</small>\n </td>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${weeks}\n </tbody>\n </table>\n `;\n\n let viewContent: HTMLTemplateResult;\n switch (this.view) {\n case \"days\":\n viewContent = html` ${dayView} `;\n break;\n case \"months\":\n viewContent = html` ${monthView} `;\n break;\n case \"years\":\n viewContent = html` ${yearView} `;\n break;\n default:\n viewContent = html` ${dayView} `; // Set a default view\n break;\n }\n\n return html` <div class=\"datepicker-body\">${viewContent}</div> `;\n }\n}\n\nexport default DatepickerCalendar;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./datepicker-header.scss\";\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nconst MONTH_LABELS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\n\nexport class DatepickerHeader extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n @property({ attribute: false })\n displayDate: Date;\n\n /** @internal */\n @state()\n view: string;\n\n connectedCallback() {\n super.connectedCallback();\n this.displayDate = new Date(); // Set the current date as the displayDate\n this.view = \"days\";\n }\n\n /** @internal */\n private changeView() {\n switch (this.view) {\n case \"days\":\n this.view = \"months\";\n break;\n case \"months\":\n this.view = \"years\";\n break;\n case \"years\":\n break;\n }\n this.emit(\"sgds-view\", { detail: this.view }); // emit event to render the correct view\n }\n\n /** @internal */\n private renderHeader() {\n const { view, displayDate } = this;\n\n if (view === \"months\") {\n return html` ${displayDate.getFullYear()} `;\n }\n if (view === \"years\") {\n return html` ${displayDate.getFullYear() - 5} - ${displayDate.getFullYear() + 6} `;\n }\n return html` ${MONTH_LABELS[displayDate.getMonth()]} ${displayDate.getFullYear()} `;\n }\n\n /** @internal */\n private handleClickPrevious() {\n const { view, displayDate } = this;\n const newDisplayDate = new Date(displayDate);\n newDisplayDate.setDate(1);\n if (view === \"months\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() - 1);\n } else if (this.view === \"years\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() - 10);\n } else {\n newDisplayDate.setMonth(newDisplayDate.getMonth() - 1);\n }\n this.displayDate = newDisplayDate; // Update the displayDate property\n // emit event to render correct view\n this.emit(\"sgds-view-date\", { detail: this.displayDate });\n }\n\n /** @internal */\n private handleClickNext() {\n const { view, displayDate } = this;\n const newDisplayDate = new Date(displayDate);\n newDisplayDate.setDate(1);\n\n newDisplayDate.setDate(1);\n if (view === \"months\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() + 1);\n } else if (this.view === \"years\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() + 10);\n } else {\n newDisplayDate.setMonth(newDisplayDate.getMonth() + 1);\n }\n this.displayDate = newDisplayDate; // Update the displayDate property\n //emit event to render correct view\n this.emit(\"sgds-view-date\", { detail: this.displayDate });\n }\n\n render() {\n const buttonYearStyle = {\n cursor: \"default\"\n };\n return html`\n <div class=\"datepicker-header dropdown-header\" role=\"heading\">\n <div class=\"text-center d-flex justify-content-between align-items-center\">\n <button @click=\"${this.handleClickPrevious}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n <button @click=${this.changeView} style=${styleMap(this.view === \"years\" ? buttonYearStyle : {})}>\n ${this.renderHeader()}\n </button>\n <button @click=\"${this.handleClickNext}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n </div>\n </div>\n `;\n }\n}\n\nexport default DatepickerHeader;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport styles from \"./sgds-datepicker.scss\";\nimport { live } from \"lit/directives/live.js\";\nimport { watch } from \"../../utils/watch\";\nimport { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { SgdsInput } from \"../Input/sgds-input\";\nimport { DatepickerCalendar } from \"./datepicker-calendar\";\nimport { DatepickerHeader } from \"./datepicker-header\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\n\nexport type DateFormat = \"MM/DD/YYYY\" | \"DD/MM/YYYY\" | \"YYYY/MM/DD\";\n\n/**\n * @summary The `DatePicker` Component is built using `Dropdown`, `Input` and `Button` components. By default, the Calendar points to current date and input has no value. The input is a read-only and users can only pick dates using the Calendar.\n *\n * @event sgds-change-date - Emitted when the state of datepicker's input changes during first load, close button reset click & date click. Date values can be accessed via event.target.value\n *\n * @cssproperty --datepicker-theme-color - Datepicker's overall theme color\n * @cssproperty --datepicker-hover-bg-color - Datepicker's calendar menu hover color\n * @cssproperty --datepicker-bg-color - Datepicker's menu background color\n * @cssproperty --datepicker-closebutton-bg-color - Datepicker's close button background color\n * @cssproperty --datepicker-closebutton-hover-bg-color - Datepicker's close button hover background color\n * @cssproperty --datepicker-closebutton-color - Datepicker's close button color\n */\n\nexport class SgdsDatepicker extends ScopedElementsMixin(DropdownElement) {\n static styles = [DropdownElement.styles, styles];\n\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-input\": SgdsInput,\n \"sgds-datepicker-calendar\": DatepickerCalendar,\n \"sgds-datepicker-header\": DatepickerHeader\n };\n }\n\n /** When true, adds required attribute to input element */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** When true, adds disabled attribute to input and button element */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The initial value of DatePicker on first load for single & range mode as array of string. eg.'[\"22/12/2023\"]' for single & '[\"22/12/2023\",\"25/12/2023\"]' for range respectively */\n @property({ type: Array, reflect: true }) initialValue: string[];\n\n /** Date format reflected on input */\n @property({ type: String }) dateFormat: DateFormat = \"DD/MM/YYYY\";\n\n /** ISO date string to set the lowest allowable date value. e.g. \"2016-05-19T12:00:00.000Z\" */\n @property({ type: String }) minDate: string;\n\n /** ISO date string to set the highest allowable date value. e.g. \"2016-05-19T12:00:00.000Z\" */\n @property({ type: String }) maxDate: string;\n\n /** Changes DatePicker to single date selection or range date selection */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n /** @internal */\n @state() private value: string;\n\n /** @internal */\n @state()\n private view: string;\n\n /** @internal */\n @state() private selectedDateRange: Date[] = [];\n\n /** @internal */\n @state() private displayDate: Date = new Date();\n\n constructor() {\n super();\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n\n /** @internal */\n private parseDateStringToDate(dateString: string): Date | null {\n let year: string, month: string, day: string;\n\n switch (this.dateFormat) {\n case \"MM/DD/YYYY\":\n [month, day, year] = dateString.split(\"/\");\n break;\n case \"DD/MM/YYYY\":\n [day, month, year] = dateString.split(\"/\");\n break;\n case \"YYYY/MM/DD\":\n [year, month, day] = dateString.split(\"/\");\n break;\n default:\n return null;\n }\n\n return new Date(`${year}-${month}-${day}`);\n }\n\n /** @internal */\n private getDateFormatRegex(): string {\n // validate date strings and adhere to the specified date format\n return (\n this.dateFormat\n // Replace any special characters with their escaped version using \"\\\\$&\"\n .replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n // Replace 'MM' with '\\\\d{2}', which matches two digits representing the month (e.g., 01, 12)\n .replace(\"MM\", \"\\\\d{2}\")\n // Replace 'DD' with '\\\\d{2}', which matches two digits representing the day (e.g., 01, 31)\n .replace(\"DD\", \"\\\\d{2}\")\n // Replace 'YYYY' with '\\\\d{4}', which matches four digits representing the year (e.g., 2021)\n .replace(\"YYYY\", \"\\\\d{4}\")\n // Replace '/' with '\\\\/', which matches the forward slash character\n .replace(\"/\", \"\\\\/\")\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-view\", this.handleViewChanged);\n this.addEventListener(\"sgds-view-date\", this.handleDateChanged);\n this.addEventListener(\"sgds-selectmonth\", this.handleSelectMonth);\n this.addEventListener(\"sgds-selectyear\", this.handleSelectYear);\n this.addEventListener(\"sgds-selectdates\", this.handleSelectDates);\n\n if (this.initialValue && this.initialValue.length > 0) {\n // Validate initialValue against the dateFormat regex\n const dateFormatRegex = new RegExp(this.getDateFormatRegex());\n const startDateString = this.initialValue[0];\n\n if (!dateFormatRegex.test(startDateString)) {\n // Handle invalid date format in initialValue\n console.error(\"Invalid date format in initialValue:\", startDateString);\n return;\n }\n\n const startDate = this.parseDateStringToDate(startDateString);\n\n if (this.mode === \"single\" && startDate) {\n // Single mode\n this.selectedDateRange = [startDate];\n this.displayDate = startDate;\n } else if (this.mode === \"range\" && this.initialValue.length === 2) {\n // Range mode\n const endDateString = this.initialValue[1];\n\n if (!dateFormatRegex.test(endDateString)) {\n // Handle invalid date format in initialValue\n console.error(\"Invalid date format in initialValue:\", endDateString);\n return;\n }\n\n const endDate = this.parseDateStringToDate(endDateString);\n\n if (startDate && endDate) {\n this.selectedDateRange = [startDate, endDate];\n this.selectedDateRange.sort((a, b) => a.getTime() - b.getTime());\n\n this.displayDate = startDate;\n }\n }\n }\n\n if (this.selectedDateRange && this.selectedDateRange.length > 0) {\n // Get the formattedDate value for the selected dates\n const formattedDate = this.makeInputValueString(\n this.selectedDateRange[0],\n this.selectedDateRange[1],\n this.dateFormat\n );\n\n this.value = formattedDate;\n } else {\n // If selectedDateRange is empty, emit sgds-change-date event with an empty string\n this.value = \"\";\n }\n }\n\n @watch(\"value\")\n handleValueChange() {\n this.emit(\"sgds-change-date\");\n }\n\n /** @internal */\n private makeInputValueString = (startDate: Date, endDate: Date, dateFormat: string) => {\n if (!startDate && !endDate) return \"\";\n\n const formatDate = (date: Date) => {\n if (!(date instanceof Date) || isNaN(date.getTime())) {\n return \"\"; // Return an empty string if the date is not a valid Date object\n }\n\n const month = date.getMonth() + 1;\n const day = date.getDate();\n const separator = \"/\";\n const formattedMonth = month > 9 ? month.toString() : `0${month}`;\n const formattedDay = day > 9 ? day.toString() : `0${day}`;\n\n return dateFormat === \"YYYY/MM/DD\"\n ? `${date.getFullYear()}${separator}${formattedMonth}${separator}${formattedDay}`\n : dateFormat === \"DD/MM/YYYY\"\n ? `${formattedDay}${separator}${formattedMonth}${separator}${date.getFullYear()}`\n : `${formattedMonth}${separator}${formattedDay}${separator}${date.getFullYear()}`;\n };\n\n if (startDate && endDate) {\n return `${formatDate(startDate)} - ${formatDate(endDate)}`;\n }\n\n if (startDate) {\n return formatDate(startDate);\n }\n\n return \"\";\n };\n\n /** @internal */\n private handleSelectDates(event: CustomEvent<Date[]>) {\n const newSelectedDates = event.detail;\n if (this.mode === \"range\") {\n // Sort the newSelectedDates array in ascending order\n newSelectedDates.sort((a: Date, b: Date) => a.getTime() - b.getTime());\n\n this.selectedDateRange = newSelectedDates;\n if (this.selectedDateRange.length === 2) {\n this.hideMenu();\n }\n } else if (this.mode === \"single\") {\n this.selectedDateRange = [newSelectedDates[0]];\n\n if (this.selectedDateRange.length === 1) {\n this.hideMenu();\n }\n }\n\n // Get the formattedDate value for the selected dates\n const formattedDate = this.makeInputValueString(\n this.selectedDateRange[0],\n this.selectedDateRange[1],\n this.dateFormat\n );\n\n // Set formattedDate value as the new value for sgds-input\n this.value = formattedDate;\n }\n\n /** @internal */\n private handleViewChanged(event: CustomEvent<string>) {\n this.view = event.detail;\n }\n\n /** @internal */\n private handleDateChanged(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleSelectMonth(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleSelectYear(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleButtonResetClick() {\n this.displayDate = new Date();\n this.selectedDateRange = [];\n\n this.value = \"\";\n\n this.hideMenu();\n }\n\n render() {\n let formattedDate = \"\";\n if (this.mode === \"single\") {\n formattedDate = this.makeInputValueString(this.selectedDateRange[0], undefined, this.dateFormat);\n } else if (this.mode === \"range\") {\n formattedDate = this.makeInputValueString(this.selectedDateRange[0], this.selectedDateRange[1], this.dateFormat);\n }\n\n const getPlaceholder = (): string => {\n const validDateFormats: DateFormat[] = [\"MM/DD/YYYY\", \"DD/MM/YYYY\", \"YYYY/MM/DD\"];\n\n if (this.mode === \"range\" && validDateFormats.includes(this.dateFormat)) {\n return `${this.dateFormat.toLowerCase()} - ${this.dateFormat.toLowerCase()}`;\n } else if (this.mode === \"single\" && validDateFormats.includes(this.dateFormat)) {\n return this.dateFormat.toLowerCase();\n }\n\n return \"\";\n };\n\n const svgEl = html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n\n const svgIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-calendar\" viewBox=\"0 0 16 16\">\n <path d=\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"/>\n </svg>\n `;\n return html`\n <div>\n <sgds-input\n id=\"myInput\"\n icon=${svgIcon}\n .value=${live(formattedDate)}\n inputClasses=\"rounded-0 rounded-start\"\n placeholder=\"${getPlaceholder()}\"\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n readonly\n ?required=${this.required}\n ?disabled=${this.disabled}\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-controls=${this.dropdownMenuId}\n ></sgds-input>\n <button\n ?disabled=${this.disabled}\n class=\"btn sgds rounded-0 d-flex align-items-center\"\n @click=${() => this.handleButtonResetClick()}\n >\n ${svgEl}\n </button>\n <ul\n id=${this.dropdownMenuId}\n class=\"sgds datepicker dropdown-menu\"\n role=\"dialog\"\n part=\"menu\"\n @click=${(event: MouseEvent) => event.stopPropagation()}\n >\n <sgds-datepicker-header .view=${this.view} .displayDate=${this.displayDate}></sgds-datepicker-header>\n <sgds-datepicker-calendar\n .view=${this.view}\n .displayDate=${this.displayDate}\n .mode=${this.mode}\n minDate=${this.minDate}\n maxDate=${this.maxDate}\n .selectedDate=${this.selectedDateRange}\n ></sgds-datepicker-calendar>\n </ul>\n </div>\n `;\n }\n}\nexport default SgdsDatepicker;\n","import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n","import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n","import { html, nothing } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, stopAnimations } from \"../../utils/animate.js\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry.js\";\nimport { waitForEvent } from \"../../utils/event.js\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll.js\";\nimport { HasSlotController } from \"../../utils/slot.js\";\nimport { watch } from \"../../utils/watch.js\";\nimport styles from \"./sgds-drawer.scss\";\n\n/**\n * @summary Drawers slide in from a container to expose additional options and information.\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event sgds-show - Emitted when the drawer opens.\n * @event sgds-after-show - Emitted after the drawer opens and all animations are complete.\n * @event sgds-hide - Emitted when the drawer closes.\n * @event sgds-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event sgds-initial-focus - Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} sgds-request-close - Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --sgds-drawer-size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty --sgds-drawer-padding - The amount of padding to use for the header.\n * @cssproperty --sgds-drawer-background-color - The drawer's background color.\n * @cssproperty --sgds-drawer-button-gap - The drawer's flex gap between buttons.\n */\nexport class SgdsDrawer extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n /** @internal */\n private originalTrigger: HTMLElement | null;\n /** @internal */\n @query(\".drawer\") drawer: HTMLElement;\n /** @internal */\n @query(\".drawer-panel\") panel: HTMLElement;\n /** @internal */\n @query(\".drawer-overlay\") overlay: HTMLElement;\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `noHeader`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.\n */\n @property({ reflect: true }) label = \"\";\n\n /** The direction from which the drawer will open. */\n @property({ reflect: true }) placement: \"top\" | \"end\" | \"bottom\" | \"start\" = \"end\";\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @property({ type: Boolean, reflect: true }) noHeader = false;\n\n firstUpdated() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n lockBodyScrolling(this);\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n private uppercaseFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const slRequestClose = this.emit(\"sgds-request-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (slRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"drawer.denyClose\");\n animateTo(this.panel, animation.keyframes, animation.options);\n return;\n }\n\n this.hide();\n }\n\n private addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (this.open && !this.contained && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n };\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n lockBodyScrolling(this);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/shoelace-style/shoelace/issues/693\n //\n const autoFocusTarget = this.querySelector(\"[autofocus]\");\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute(\"autofocus\");\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n this.drawer.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const slInitialFocus = this.emit(\"sgds-initial-focus\", { cancelable: true });\n\n if (!slInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({ preventScroll: true });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute(\"autofocus\", \"\");\n }\n });\n\n const panelAnimation = getAnimation(this, `drawer.show${this.uppercaseFirstLetter(this.placement)}`);\n const overlayAnimation = getAnimation(this, \"drawer.overlay.show\");\n await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]);\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n\n if (!this.contained) {\n unlockBodyScrolling(this);\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, `drawer.hide${this.uppercaseFirstLetter(this.placement)}`);\n const overlayAnimation = getAnimation(this, \"drawer.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]);\n\n this.drawer.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"contained\", { waitUntilFirstUpdate: true })\n handleNoModalChange() {\n if (this.open && !this.contained) {\n lockBodyScrolling(this);\n }\n\n if (this.open && this.contained) {\n unlockBodyScrolling(this);\n }\n }\n\n /** Shows the drawer. */\n public async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the drawer */\n public async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n drawer: true,\n \"drawer-open\": this.open,\n \"drawer-top\": this.placement === \"top\",\n \"drawer-end\": this.placement === \"end\",\n \"drawer-bottom\": this.placement === \"bottom\",\n \"drawer-start\": this.placement === \"start\",\n \"drawer-contained\": this.contained,\n \"drawer-fixed\": !this.contained,\n \"drawer-has-footer\": this.hasSlotController.test(\"footer\")\n })}\n >\n <div part=\"overlay\" class=\"drawer-overlay\" @click=${() => this.requestClose(\"overlay\")} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"drawer-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.label : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"0\"\n >\n ${!this.noHeader\n ? html`\n <header part=\"header\" class=\"drawer-header\">\n <h2 part=\"title\" class=\"drawer-title\" id=\"title\">\n <!-- If there's no label, use an invisible character to prevent the header from collapsing -->\n <slot name=\"label\"> ${this.label.length > 0 ? this.label : String.fromCharCode(65279)} </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer-header-actions\">\n <slot name=\"header-actions\"></slot>\n <button\n part=\"close-button\"\n class=${classMap({\n \"drawer-close\": true,\n \"btn-sm\": true,\n \"btn-close\": true\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n ></button>\n </div>\n </header>\n `\n : nothing}\n\n <slot part=\"body\" class=\"drawer-body\"></slot>\n\n <footer part=\"footer\" class=\"drawer-footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\n// Top\nsetDefaultAnimation(\"drawer.showTop\", {\n keyframes: [\n { opacity: 0, translate: \"0 -100%\" },\n { opacity: 1, translate: \"0 0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideTop\", {\n keyframes: [\n { opacity: 1, translate: \"0 0\" },\n { opacity: 0, translate: \"0 -100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// End\nsetDefaultAnimation(\"drawer.showEnd\", {\n keyframes: [\n { opacity: 0, translate: \"100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: \"-100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideEnd\", {\n keyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"100%\" }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"-100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Bottom\nsetDefaultAnimation(\"drawer.showBottom\", {\n keyframes: [\n { opacity: 0, translate: \"0 100%\" },\n { opacity: 1, translate: \"0 0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideBottom\", {\n keyframes: [\n { opacity: 1, translate: \"0 0\" },\n { opacity: 0, translate: \"0 100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Start\nsetDefaultAnimation(\"drawer.showStart\", {\n keyframes: [\n { opacity: 0, translate: \"-100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: \"100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideStart\", {\n keyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"-100%\" }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Deny close\nsetDefaultAnimation(\"drawer.denyClose\", {\n keyframes: [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }],\n options: { duration: 250 }\n});\n\n// Overlay\nsetDefaultAnimation(\"drawer.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation(\"drawer.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\n});\n\nexport default SgdsDrawer;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [DropdownElement.styles];\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n private togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n role=\"button\"\n variant=\"outline-${this.variant}\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n","import { html } from \"lit\";\nimport SgdsElement from \"./sgds-element\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n/**\n * @slot default - Default slot for SgdsMainnavItem anchor element\n */\n\nexport default class LinkElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** when true, sets the active stylings of .nav-link */\n @property({ type: Boolean })\n active = false;\n\n /** Href attribute for anchor element in SgdsMainnavItem */\n @property({ type: String })\n href = \"\";\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Where to display the linked URL, as the name for a browsing context. Forwards to the HTMLAnchor target attribute */\n @property({ type: String, reflect: true })\n target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\" = \"_self\";\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"nav-link ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n target=${this.target}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n","import { html } from \"lit\";\nimport { query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport LinkElement from \"../../base/link-element\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n */\nexport class SgdsDropdownItem extends LinkElement {\n static styles = [LinkElement.styles];\n\n /**@internal */\n @query(\"a\")\n private anchor: HTMLElement;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.anchor.click();\n }\n });\n }\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active\n })}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n role=\"menuitem\"\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n target=${this.target}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport styles from \"./sgds-file-upload.scss\";\n\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --fileupload-file-icon-fill - Left icon fill color\n * @cssproperty --fileupload-remove-icon-fill - Remove icon fill color\n * @cssproperty --fileupload-remove-icon-hover-fill - Remove icon mouse over fill color\n *\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [SgdsElement.styles, styles];\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n // /** Sets a unique id to the file input, required. */\n // @property({ type: String }) controlId = \"\";\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this.setFileList(files);\n this.requestUpdate();\n }\n\n /** @internal */\n removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this.setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"red\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item d-flex gap-2\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this.removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n class=\"d-none form-control\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n />\n <sgds-button size=${this.size} variant=${this.variant} ?disabled=${this.disabled} @click=${this.handleClick}>\n <slot></slot>\n </sgds-button>\n\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-footer.scss\";\n\nexport interface ColumnLinks {\n title: string;\n links: Links[];\n}\nexport interface Links {\n href: string;\n label: string;\n}\n\n/**\n * @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.\n *\n * @csspart footer-top - The component's footer-top section container.\n * @csspart footer-bottom - The component's footer-bottom section container.\n *\n * @cssproperty footer-top - The component's footer-top section container.\n * @cssproperty footer-bottom - The component's footer-bottom section container.\n */\nexport class SgdsFooter extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * \tSets title of SgdsFooter\n */\n @property({ type: String })\n title = \"\";\n\n /**\n * \tSets description of SgdsFooter\n */\n @property({ type: String })\n description = \"\";\n\n /**\n * \tSets copyrightLiner of SgdsFooter\n */\n @property({ type: String })\n copyrightLiner = \"Government of Singapore\";\n\n /**\n * Array of type\n *\n * `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`\n */\n @property({\n type: Array\n })\n links: ColumnLinks[] = [];\n\n /**\n * String date for last updated date\n */\n @property({ type: String })\n lastUpdatedDate = \"\";\n\n /**\n * \thref link for contacts\n */\n @property({ type: String })\n contactHref = \"#\";\n\n /**\n * \thref link for feedback\n */\n @property({ type: String })\n feedbackHref = \"#\";\n\n /**\n * \thref link for privacy statement\n */\n @property({ type: String })\n privacyHref = \"#\";\n\n /**\n * \thref link for terms of use\n */\n @property({ type: String })\n termsOfUseHref = \"#\";\n\n render() {\n // if description is defined\n const hasDescription = html` <div class=\"description\">${this.description}</div>`;\n\n return html`\n <footer class=\"sgds footer\">\n <section class=\"footer-top\" part=\"footer-top\">\n <div class=\"container-fluid\">\n <div class=\"row footer-header\">\n <div class=\"col col-lg-6 col-md-12\">\n <div class=\"title\">${this.title ? this.title : \"Footer title\"}</div>\n ${this.description ? hasDescription : undefined}\n </div>\n </div>\n <div class=\"row footer-items\">\n ${this.links.map(\n (item: ColumnLinks) =>\n html`\n <div class=\"col-xxl-2 col-md-4 mb-3\">\n <div class=\"title\">${item.title}</div>\n <ul class=\"links\">\n ${item.links.map((link: Links) => html` <li><a href=${link.href}>${link.label}</a></li> `)}\n </ul>\n </div>\n `\n )}\n </div>\n <div class=\"row footer-contact-links\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end\">\n <ul>\n <li><a href=${this.contactHref}>Contact</a></li>\n <li><a href=${this.feedbackHref}>Feedback</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section class=\"footer-bottom\" part=\"footer-bottom\">\n <div class=\"container-fluid\">\n <div class=\"row footer-mandatory-links\">\n <div class=\"col\">\n <ul>\n <li>\n <a href=\"https://tech.gov.sg/report_vulnerability\" target=\"_blank\" rel=\"noopener noreferrer\"\n >Report Vulnerability\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-box-arrow-up-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"\n />\n <path\n fill-rule=\"evenodd\"\n d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z\"\n /></svg\n ></a>\n </li>\n <li><a href=${this.privacyHref}>Privacy Statement</a></li>\n <li><a href=${this.termsOfUseHref}>Terms of use</a></li>\n </ul>\n </div>\n </div>\n <div class=\"row footer-copyrights\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end text-end\">\n © ${new Date().getFullYear()} ${this.copyrightLiner}<br />\n Last Updated ${this.lastUpdatedDate}\n </div>\n </div>\n </div>\n </div>\n </section>\n </footer>\n `;\n }\n}\n\nexport default SgdsFooter;\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export const LG_BREAKPOINT = 992;\nexport const MD_BREAKPOINT = 768;\nexport const SM_BREAKPOINT = 576;\nexport const XL_BREAKPOINT = 1200;\nexport const XXL_BREAKPOINT = 1400;\n","import Collapse from \"bootstrap/js/src/collapse\";\nimport type { Collapse as BsCollapse } from \"bootstrap\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { LG_BREAKPOINT, MD_BREAKPOINT, SM_BREAKPOINT, XL_BREAKPOINT, XXL_BREAKPOINT } from \"../../utils/breakpoints\";\nimport genId from \"../../utils/generateId\";\nimport styles from \"./sgds-mainnav.scss\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\nconst SIZES = {\n sm: SM_BREAKPOINT,\n md: MD_BREAKPOINT,\n lg: LG_BREAKPOINT,\n xl: XL_BREAKPOINT,\n XXL: XXL_BREAKPOINT,\n never: Infinity,\n always: -1\n};\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @slot - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n * @cssproperty --mainnav-background-color - Navbar's background color.\n * @cssproperty --mainnav-padding-x - left and right padding for browser width > 768px\n * @cssproperty --mainnav-padding-y - top and bottom padding for browser width > 768px\n * @cssproperty --mainnav-mobile-padding-x - left and right padding for browser width < 768px\n * @cssproperty --mainnav-mobile-padding-y - top and bottom padding for browser width < 768px\n * @cssproperty --mainnav-borderBottom-width - bottom border width\n * @cssproperty --mainnav-borderBottom-color - borderBottom width color\n */\nexport class SgdsMainnav extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n constructor() {\n super();\n window.addEventListener(\"resize\", () => {\n const newBreakpointReachedValue = window.innerWidth < SIZES[this.expand];\n if (newBreakpointReachedValue !== this.breakpointReached) {\n this.requestUpdate();\n }\n });\n }\n /** @internal */\n private myCollapse: Ref<HTMLElement> = createRef();\n /** @internal */\n private bsCollapse: BsCollapse = null;\n\n private _onClickButton() {\n this.bsCollapse.toggle();\n }\n\n /** The href link for brand logo */\n @property({ type: String })\n brandHref = \"\";\n\n private collapseId = genId(\"mainnav\", \"collapse\");\n\n /** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */\n @property({ type: String })\n expand: MainnavExpandSize = \"lg\";\n\n /** @internal */\n @state()\n breakpointReached = false;\n\n /** @internal */\n @state()\n expanded = false;\n\n firstUpdated() {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: false\n });\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.expanded = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.expanded = false;\n });\n }\n // assigning name attribute to elements added in slot=\"end\", to use wildcard css selector to assign styles only to *-mainnav-item\n _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n });\n }\n\n render() {\n this.breakpointReached = window.innerWidth < SIZES[this.expand];\n const collapseClass = \"collapse navbar-collapse order-2\";\n return html`\n <nav\n class=\"sgds navbar navbar-light\n ${this._expandClass()}\"\n >\n <a class=\"navbar-brand me-auto order-first\" href=${this.brandHref} aria-label=\"brand-link\">\n <slot name=\"brand\"></slot>\n </a>\n <slot name=\"non-collapsible\" class=\"${this.breakpointReached ? \"order-1\" : \"order-last\"}\"></slot>\n <button\n class=\"navbar-toggler order-1\"\n type=\"button\"\n @click=${() => this._onClickButton()}\n aria-controls=\"${this.collapseId}\"\n aria-expanded=\"${this.expanded}\"\n aria-label=\"Toggle navigation\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"currentColor\"\n class=\"bi bi-list\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"\n />\n </svg>\n </button>\n <div class=${collapseClass} ${ref(this.myCollapse)} id=${this.collapseId}>\n <ul class=\"navbar-nav\">\n <slot></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </ul>\n </div>\n </nav>\n `;\n }\n _expandClass() {\n switch (this.expand) {\n case \"always\":\n return \"navbar-expand\";\n case \"never\":\n break;\n default:\n return `navbar-expand-${this.expand}`;\n }\n }\n}\n\nexport default SgdsMainnav;\n","import { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport styles from \"./sgds-mainnav-dropdown.scss\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\n\n/**\n * @slot default - The menu items. Pass in sgds-dropdown-item as the menu items\n * @slot toggler - The content of the toggler to pass in html content. `togglerText` property takes precedence over this slot when both are defined.\n */\nexport class SgdsMainnavDropdown extends DropdownListElement {\n static styles = [DropdownElement.styles, styles];\n\n /**@internal */\n @queryAsync(\"a\")\n private dropdownRef: Promise<HTMLAnchorElement>;\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n private togglerText = \"\";\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n\n render() {\n return html`\n <li class=\"nav-item dropdown\">\n <a\n class=\"nav-link\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n >\n ${this.togglerText ? this.togglerText : html`<slot name=\"toggler\"></slot>`}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </a>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </ul>\n </li>\n `;\n }\n}\n\nexport default SgdsMainnavDropdown;\n","import LinkElement from \"../../base/link-element\";\nimport styles from \"./sgds-mainnav-item.scss\";\n\n/**\n * @slot default - slot for SgdsMainnavItem element.\n *\n * @cssproperty --mainnav-item-theme-color - Hover and active color for mainnav items.\n * @cssproperty --mainnav-item-color - Text color of nav item.\n * @cssproperty --mainnav-item-borderBottom-width - border bottom width for hover and active state for nav item\n */\nexport class SgdsMainnavItem extends LinkElement {\n static styles = [LinkElement.styles, styles];\n}\n\nexport default SgdsMainnavItem;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-masthead.scss\";\n\n/**\n * @summary All .gov.sg digital services shall adopt The Official Government Banner for every page in the digital service and be placed at the top of the page.\n *\n * @cssproperty --masthead-font-family - Sets font family for masthead\n * @cssproperty --masthead-text-color - Sets overall text color\n * @cssproperty --masthead-link-color - Sets link color for `How to identify?` and `Trusted Site`\n * @cssproperty --masthead-link-color-hover - Sets link hover color for `How to identify?` and `Trusted Site`\n * @cssproperty --masthead-mobile-font-size - Sets the padding left and right for viewport width 1024px and below\n * @cssproperty --masthead-mobile-padding-x - Sets the font size for viewport width 1024px and below\n * @cssproperty --masthead-fluid-padding-x - Sets the container-fluid padding left and right for viewport width 1024px and above\n * @cssproperty --masthead-crest-color - Sets the lion head crest color.\n */\nexport class SgdsMasthead extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * Sets the masthead container width to 100% for all breakpoints\n */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n /** @internal */\n @state()\n toggleVisibility = false;\n\n /** @internal */\n private _toggleVisibility() {\n this.toggleVisibility = !this.toggleVisibility;\n }\n\n render() {\n return html`\n <div id=\"sgds-masthead\" class=\"sgds-masthead\" aria-label=\"A Singapore Government Agency Website\">\n <div class=\"${this.fluid ? \"container-fluid\" : \"container\"}\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"masthead-layout\">\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n class=\"sg-crest\"\n >\n <path\n d=\"M5.896 11.185c0 0-0.949 1.341 0.294 3.075 0 0 0.196-0.883 2.159-0.883h2.356c2.225 0 3.893-2.126 2.846-4.319 0 0 1.57 0.164 2.095-0.818 0.523-0.981-0.033-1.374-0.818-1.374h-3.959c0 0.704-1.341 0.802-1.341 0h-2.225c0 0-1.669 0-1.701 1.407 0 0 0.377-0.229 0.752-0.261v0.375c0 0-0.458 0.082-0.671 0.197-0.212 0.114-0.523 0.425-0.228 1.227 0.294 0.801 0.409 1.079 0.409 1.079s0.475-0.41 1.244-0.41h0.9c1.602 0 1.308 1.554-0.295 1.554s-1.815-0.85-1.815-0.85z\"\n ></path>\n <path\n d=\"M14.255 9.566c0 0 0.54 0.033 0.932-0.31 0 0 3.55 2.765-1.717 8.326-5.268 5.562-1.195 9.162-1.195 9.162s-0.948 0.915-0.409 2.699c0 0-2.191-1.237-3.867-3.338-2.422-3.036-3.902-7.681 2.749-11.386 0 0 4.389-2.208 3.506-5.153z\"\n ></path>\n <path\n d=\"M8.829 6.343c0 0 0.709-1.265 2.355-1.265 1.298 0 1.594-0.666 1.594-0.666s0.566-1.079 3.424-1.079c2.619 0 4.384 0.873 5.812 2.039 0 0-3.85-2.388-7.645 0.971h-5.54z\"\n ></path>\n <path\n d=\"M24.839 14.348c-0.109-3.948-3.163-8.179-9.728-7.939 6.413-5.431 17.537 6.695 8.375 13.066 0 0 1.533-2.186 1.353-5.126z\"\n ></path>\n <path\n d=\"M16.093 6.845c8.005-0.24 10.863 9.357 5.693 13.676l-5.191 2.509c0 0-0.676-2.181 1.833-4.734 2.509-2.551 4.929-7.328-2.006-10.469 0 0 0.131-0.654-0.327-0.981z\"\n ></path>\n <path\n d=\"M15.678 9.004c0 0 0.393-0.371 0.524-0.676 5.954 2.486 5.017 6.697 1.461 10.23-2.181 2.246-1.505 4.668-1.505 4.668s-2.66 1.657-3.577 3.097c0 0-3.852-3.28 1.483-8.724 5.235-5.344 1.614-8.594 1.614-8.594z\"\n ></path>\n </svg>\n <span>A Singapore Government Agency Website</span>\n <div\n class=\"sgds-masthead-button\"\n id=\"sgds-masthead-identify\"\n role=\"button\"\n aria-expanded=\"${this.toggleVisibility}\"\n aria-controls=\"sgds-masthead-content\"\n @click=${() => this._toggleVisibility()}\n >\n <span class=\"sgds-masthead-button-text\">How to identify</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n class=\"sgds-masthead-identify-icon ${!this.toggleVisibility ? null : \"show\"}\"\n >\n <path\n d=\"M8.65188 6.85L8.64813 6.84625L10.0031 5.49125L17.0744 12.5625L15.7194 13.9175L10.0075 8.20562L4.2875 13.9256L2.9325 12.5706L8.6525 6.85062L8.65188 6.85Z\"\n fill=\"#2F60CE\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div\n id=\"sgds-masthead-content\"\n class=\"container sgds-masthead-content ${this.toggleVisibility ? \"show\" : null}\"\n >\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"content-grid\">\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Official website links end with .gov.sg</div>\n <article>\n Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open).<a\n href=\"https://www.gov.sg/trusted-sites#govsites\"\n class=\"trusted-websites-link\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >Trusted websites<svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 32 32\"\n class=\"trusted-websites-icon\"\n >\n <title>Trusted websites</title>\n <path\n d=\"M18.667 4v2.667h4c0.186-0.020 0.374-0.020 0.56 0l-2.667 2.667-6.973 6.987 1.88 1.88 9.733-9.667c0.092 0.257 0.137 0.528 0.133 0.8v4h2.667v-9.333h-9.333z\"\n ></path>\n <path\n d=\"M22.667 25.333h-16v-16h8v-2.667h-8c-1.473 0-2.667 1.194-2.667 2.667v16c0 1.473 1.194 2.667 2.667 2.667h16c1.473 0 2.667-1.194 2.667-2.667v-8h-2.667v8z\"\n ></path></svg\n ></a>\n </article>\n </div>\n </div>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Secure websites use HTTPS</div>\n <article>\n Look for a<b> lock </b>(<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon-inline\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path></svg\n >) or https:// as an added precaution. Share sensitive information only on official, secure\n websites.\n </article>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsMasthead;\n","/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n","import { getTabbableBoundary } from \"./tabbable\";\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: \"forward\" | \"backward\" = \"forward\";\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener(\"focusin\", this.handleFocusIn);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n\n deactivate() {\n activeModals = activeModals.filter(modal => modal !== this.element);\n document.removeEventListener(\"focusin\", this.handleFocusIn);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(\":focus-within\")) {\n const { start, end } = getTabbableBoundary(this.element);\n const target = this.tabDirection === \"forward\" ? start : end;\n\n if (typeof target?.focus === \"function\") {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n\n handleFocusIn() {\n this.checkFocus();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.tabDirection = \"backward\";\n\n // Ensure focus remains trapped after the key is pressed\n requestAnimationFrame(() => this.checkFocus());\n }\n }\n\n handleKeyUp() {\n this.tabDirection = \"forward\";\n }\n}\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport Modal from \"../../utils/modal\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-modal.scss\";\n\n/**\n * @summary The modal component inform users about a specific task and may contain critical information which users then have to make a decision.\n *\n * @slot default - The content of the Modal's body.\n * @slot footer - The content of the Modal's footer, typically used to pass in buttons for call to action.\n *\n * @event sgds-close - Emitted when the modal is called to close via mouseclick of close button, overlay or via keyboard esc key\n * @event sgds-show - Emitted when the modal opens\n * @event sgds-hide - Emitted when the modal closes\n * @event sgds-after-show - Emitted after modal opens and the animations has completed\n * @event sgds-after-hide - Emitted after modal closes and the animations has completed\n *\n * @csspart base - The component's base wrapper\n * @csspart overlay - The overlay that covers the screen behind the dialog\n * @csspart panel - The modal's dialog panel\n * @csspart header - The modal's header that wraps the title, titleIcon and close button\n * @csspart title - The h3 element wrapping title and titleIcon\n * @csspart body - The modal's body where the content lies\n * @csspart footers - The modal's footer\n *\n * @cssproperty --modal-padding - The general modal padding of modal component. Applied to body, footer and header.\n * @cssproperty --modal-panel-z-index - The z-index of modal panel\n * @cssproperty --modal-panel-width - The width of modal panel.\n * @cssproperty --modal-panel-height - The height of modal panel.\n * @cssproperty --modal-panel-background-color - The background color of modal panel\n * @cssproperty --modal-panel-border-radius - The border radius of modal panel\n * @cssproperty --modal-header-bottom-border-line-width - The line width of header's bottom border\n * @cssproperty --modal-overlay-background-color - The overlay's background color\n */\nexport class SgdsModal extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**@internal */\n @query(\".modal\") dialog: HTMLElement;\n /**@internal */\n @query(\".modal-panel\") panel: HTMLElement;\n /**@internal */\n @query(\".modal-overlay\") overlay: HTMLElement;\n /**@internal */\n @query(\".modal-title\") heading: HTMLElement;\n /**@internal */\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n /**@internal */\n private modal: Modal;\n /**@internal */\n private originalTrigger: HTMLElement | null;\n\n /**Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods. */\n @property({ type: Boolean, reflect: true }) open = false;\n // @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n /**The modal's title as displayed in the header */\n @property({ reflect: true }) title = \"\";\n /**The modal's icon as displayed in the header. Pass in SVG format icons as string directly */\n @property({ reflect: true }) titleIcon = \"\";\n /** Disables the header. This will also remove the default close button */\n @property({ type: Boolean, reflect: true }) noHeader = false;\n /** Centers the modal vertically in page */\n @property({ type: Boolean, reflect: true }) centered = false;\n /** Centers the contents inside the modal */\n @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n /** Removes the default animation when opening and closing of modal */\n @property({ type: Boolean, reflect: true }) noAnimation = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.modal = new Modal(this);\n }\n\n firstUpdated() {\n this.dialog.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n /** Shows the dialog. */\n public async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the dialog */\n public async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const sgdsRequestClose = this.emit(\"sgds-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (sgdsRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"modal.denyClose\");\n animateTo(this.panel, animation.keyframes);\n return;\n }\n\n this.hide();\n }\n\n addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n this.modal.activate();\n\n lockBodyScrolling(this);\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n this.dialog.hidden = false;\n\n const panelAnimation = getAnimation(this, \"modal.show\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.show\");\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]));\n\n this.emit(\"sgds-after-show\");\n\n // Add focus on modal heading after opening it\n this.heading.focus();\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n this.modal.deactivate();\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, \"modal.hide\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]));\n\n this.dialog.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n unlockBodyScrolling(this);\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n const withLabelIcon = html`${unsafeSVG(this.titleIcon)}`;\n return html`\n <div\n part=\"base\"\n class=${classMap({\n modal: true,\n \"modal--open\": this.open,\n \"modal--has-footer\": this.hasSlotController.test(\"footer\"),\n centered: this.centered\n })}\n >\n <div part=\"overlay\" class=\"modal-overlay\" @click=${() => this.requestClose(\"overlay\")}></div>\n\n <div\n part=\"panel\"\n class=\"modal-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.title : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"-1\"\n >\n ${!this.noHeader\n ? html`\n <div\n part=\"header\"\n class=${classMap({\n \"modal-header\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <h3\n part=\"title\"\n class=${classMap({\n \"modal-title\": true,\n centered: this.centeredAlignVariant\n })}\n id=\"title\"\n tabindex=\"-1\"\n >\n ${this.titleIcon ? withLabelIcon : \"\"} ${this.title}\n </h3>\n <button\n class=${classMap({\n \"modal-close\": true,\n \"btn-sm\": true,\n \"btn-close\": true,\n centered: this.centeredAlignVariant\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n aria-label=\"close modal\"\n ></button>\n </div>\n `\n : \"\"}\n\n <div\n part=\"body\"\n class=${classMap({\n \"modal-body\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot></slot>\n </div>\n\n <footer\n part=\"footer\"\n class=${classMap({\n \"modal-footer\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"modal.show\", {\n keyframes: [\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" },\n { opacity: 1, transform: \"scale(1) translate(0, 0%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.hide\", {\n keyframes: [\n { opacity: 1, transform: \"scale(1) translate(0, 0)\" },\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.denyClose\", {\n keyframes: [{ transform: \"scale(1)\" }, { transform: \"scale(1.02)\" }, { transform: \"scale(1)\" }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 400 }\n});\n\nexport default SgdsModal;\n","import { TemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-pagination.scss\";\nimport { watch } from \"../../utils/watch\";\n\n/**\n * @summary The Pagination component enables the user to select a specific page from a range of pages\n *\n * @event sgds-page-change - Event is emitted when `handleNextButton`, `handlePrevButton`, `handleNextEllipsisButton` and `handlePrevEllipsisButton` was called.\n *\n * @cssproperty --pagination-color Sets the pagination color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-bg-color Sets the pagination background color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-hover-bg-color Sets the pagination hover state background color. <br>Default value `--sgds-gray-200`\n * @cssproperty --pagination-hover-border-color Sets the pagination hover state border color. <br>Default value `--sgds-gray-300`\n * @cssproperty --pagination-active-color Sets the pagination hover state color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-active-bg-color Sets the pagination active state background color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-disabled-color Sets the pagination disabled state color. <br>Default value `--sgds-gray-600`\n * @cssproperty --pagination-disabled-bg-color Sets the pagination disabled state background color. <br>Default value `--sgds-white`\n *\n *\n **/\nexport class SgdsPagination extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Inserts the length value from a given sets of data objects*/\n @property({ type: Number }) dataLength = 0;\n\n /** Sets the starting active page upon render*/\n @property({ type: Number }) currentPage = 1;\n\n /** Sets the amount of data objects to be displayed per page */\n @property({ type: Number }) itemsPerPage = 5;\n\n /** Sets the page limit to be displayed at any given render. e.g 3, 5, 7, 9 */\n @property({ type: Number }) limit = 3;\n\n /** Sets the page direction button to contain text and/or icon */\n @property({ type: String }) directionVariant: directionVariant = \"icon-text\";\n\n /** Sets the size of all page items. */\n @property({ type: String }) size: sizeVariant = \"sm\";\n\n /** Toggles ellipsis buttons to be able to increment/decrement pages based on the ellipsisJump value set. By default, it will be false */\n @property({ type: Boolean }) ellipsisOn = false;\n\n /** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/\n @property({ type: Number }) ellipsisJump = 3;\n\n @watch(\"currentPage\")\n handleValueChange() {\n this.emit(\"sgds-page-change\", { detail: { currentPage: this.currentPage } });\n }\n\n /** @internal */\n private handlePageClick(event: MouseEvent) {\n const liTarget = event.target as HTMLElement;\n const clickedLi = liTarget.closest(\"li\");\n\n if (clickedLi) {\n const clickedPage = Number(clickedLi.getAttribute(\"key\"));\n if (clickedPage !== this.currentPage) {\n this.currentPage = clickedPage;\n }\n }\n }\n\n /** @internal */\n private handleNextButton() {\n this.currentPage = this.currentPage + 1;\n }\n\n /** @internal */\n private handlePrevButton() {\n this.currentPage = this.currentPage - 1;\n }\n\n /** @internal */\n private handleNextEllipsisButton() {\n this.currentPage = this.currentPage + this.ellipsisJump;\n if (this.currentPage >= this.pages.length) this.currentPage = this.pages.length;\n }\n\n /** @internal */\n private handlePrevEllipsisButton() {\n this.currentPage = this.currentPage - this.ellipsisJump;\n if (this.currentPage <= 1) this.currentPage = this.pages[0];\n }\n\n /** @internal */\n private get pages() {\n const pages = [];\n for (let i = 1; i <= Math.ceil(this.dataLength / this.itemsPerPage); i++) {\n pages.push(i);\n }\n return pages;\n }\n\n /** @internal */\n private get sanitizeLimit() {\n return this.limit >= this.pages.length ? this.pages.length : this.limit;\n }\n\n /**@internal */\n private _handleKeyDown(\n event: KeyboardEvent,\n action: string,\n number?: number,\n isFirstEllipsis?: boolean,\n isPrevButton?: boolean\n ) {\n if (event.key === \"Enter\") {\n switch (action) {\n case \"pageNumber\":\n this.currentPage = number;\n break;\n case \"ellipsis\":\n if (isFirstEllipsis) {\n this.handlePrevEllipsisButton();\n } else {\n this.handleNextEllipsisButton();\n }\n break;\n case \"directionButton\":\n if (isPrevButton) {\n this.handlePrevButton();\n } else {\n this.handleNextButton();\n }\n break;\n }\n }\n }\n\n /** @internal */\n private renderPgNumbers() {\n const pagesToShow = [];\n let sanitizeStartPage = 1;\n let endPage: number;\n\n if (this.limit < this.pages.length) {\n sanitizeStartPage = this.currentPage - Math.floor(this.sanitizeLimit / 2);\n }\n\n if (this.pages.length - sanitizeStartPage < this.limit) {\n sanitizeStartPage = this.pages.length + 1 - this.limit;\n }\n\n if (sanitizeStartPage <= 0) {\n sanitizeStartPage = 1;\n }\n\n endPage = sanitizeStartPage + this.sanitizeLimit - 1;\n\n if (endPage > this.pages.length) {\n endPage = this.pages.length;\n }\n\n if (this.currentPage === this.pages.length) {\n sanitizeStartPage = this.pages.length - this.sanitizeLimit + 1;\n }\n\n for (let i = sanitizeStartPage; i <= endPage; i++) {\n pagesToShow.push(i);\n }\n\n return pagesToShow.map(\n number => html`\n <li key=${number} class=\"page-item ${this.currentPage === number ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this.handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", number)}\n >${number}</span\n >\n </li>\n `\n );\n }\n\n private ellipsisContent = html`\n <span aria-hidden=\"true\">…</span>\n <span class=\"visually-hidden\">Ellipsis</span>\n `;\n\n /** @internal */\n private renderFirstEllipsis = () => {\n const isDisabled = !(\n this.pages.length !== this.sanitizeLimit && this.currentPage - Math.floor(this.sanitizeLimit / 2) > 1\n );\n\n if (isDisabled) {\n return null;\n }\n\n const tabIndex = isDisabled ? -1 : 0;\n\n return html`\n <li\n class=\"page-item\"\n @click=${this.handlePrevEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, true)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n };\n\n /** @internal */\n private renderLastEllipsis() {\n const isEvenLimit = this.sanitizeLimit % 2 === 0;\n const differentialLimitCondition = isEvenLimit\n ? this.currentPage + Math.floor(this.sanitizeLimit / 2) <= this.pages.length\n : this.currentPage + Math.floor(this.sanitizeLimit / 2) < this.pages.length;\n\n const shouldRenderEllipsis = this.pages.length !== this.limit && differentialLimitCondition;\n const tabIndex = shouldRenderEllipsis && this.ellipsisOn ? 0 : -1;\n if (!shouldRenderEllipsis || this.sanitizeLimit >= this.pages.length) {\n return null;\n }\n\n if (this.ellipsisOn) {\n return html`\n <li\n class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \"\n @click=${this.handleNextEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, false)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n } else {\n return html`\n <li class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \">\n <span class=\"page-link disabled\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n }\n }\n\n /** @internal */\n private getLeftChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private getRightChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private renderDirectionButton(\n directionLabel: string,\n iconClass: string,\n clickHandler: (event: MouseEvent) => void,\n keydownHandler: (event: KeyboardEvent) => void,\n directionVariant: string\n ): TemplateResult {\n const isDisabled = iconClass === \"left\" ? this.currentPage === 1 : this.currentPage === this.pages.length;\n\n const tabIndex = isDisabled ? -1 : 0;\n\n const keydownListener = (event: KeyboardEvent) => {\n if (!isDisabled && event.key === \"Enter\") {\n keydownHandler(event);\n }\n };\n\n return html`\n <li class=\"page-item ${isDisabled ? \"disabled\" : \"\"}\" @click=${isDisabled ? undefined : clickHandler}>\n <span class=\"page-link\" tabindex=${tabIndex} @keydown=${keydownListener}>\n ${directionVariant === \"icon-text\"\n ? html`\n ${iconClass === \"left\" ? this.getLeftChevronSVG() : \"\"} ${directionLabel}\n ${iconClass === \"right\" ? this.getRightChevronSVG() : \"\"}\n `\n : directionVariant === \"text\"\n ? html`${directionLabel}`\n : directionVariant === \"icon\"\n ? html`${iconClass === \"left\" ? this.getLeftChevronSVG() : this.getRightChevronSVG()}`\n : html``}\n </span>\n </li>\n `;\n }\n\n render() {\n return html`\n <nav aria-label=\"pagination\">\n <ul class=\"pagination pagination-${this.size} sgds\" directionVariant=${this.directionVariant}>\n ${this.renderDirectionButton(\n \"Previous\",\n \"left\",\n this.handlePrevButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, true),\n this.directionVariant\n )}\n ${this.ellipsisOn ? this.renderFirstEllipsis() : null} ${this.renderPgNumbers()} ${this.renderLastEllipsis()}\n ${this.renderDirectionButton(\n \"Next\",\n \"right\",\n this.handleNextButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, false),\n this.directionVariant\n )}\n </ul>\n </nav>\n `;\n }\n}\n\nexport type directionVariant = \"icon\" | \"icon-text\" | \"text\";\n\nexport type sizeVariant = \"sm\" | \"md\" | \"lg\";\n\nexport default SgdsPagination;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { ButtonVariant } from \"../Button/sgds-button\";\nimport styles from \"./sgds-quantity-toggle.scss\";\n\n/**\n * @summary The quantity toggle component is used to increase or decrease an incremental venue, best used when the user needs to enter or adjust the quantity of a selected item.\n *\n * @csspart base - The base wrapper of the quantity toggle component.\n * @csspart button - The plus and minus button of quantity toggle\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n *\n */\nexport class SgdsQuantityToggle extends SgdsElement implements SgdsFormControl {\n /**@internal */\n @query(\"input.form-control\") private input: HTMLInputElement;\n /**@internal */\n @query(\"button[aria-label^='increase by']\") private plusBtn: HTMLButtonElement;\n /**@internal */\n @query(\"button[aria-label^='decrease by']\") private minusBtn: HTMLButtonElement;\n\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n\n /** The name of the input */\n @property({ reflect: true }) name: string;\n\n /** The input's minimum value. */\n @property({ type: Number, reflect: true }) min: number;\n /** The input's maximum value. */\n @property({ type: Number, reflect: true }) max: number;\n\n /**Controls the size of the quantity toggle */\n @property() size: \"sm\" | \"lg\" = \"sm\";\n\n /**The input's value. Set to 0 by default */\n @property({ reflect: true, type: Number }) value = 0;\n\n /** Disables the entire quantity toggle */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The quantity toggle's button variants */\n @property({ type: String, reflect: true }) buttonVariant: ButtonVariant = \"primary\";\n\n /**\n * Controls the incremental / decremental value of the input\n */\n @property({ type: Number, reflect: true }) step = 1;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = 0;\n\n /** @internal The id forwarded to input element */\n private inputId: string = genId(\"quantity-toggle\", \"input\");\n\n handleChange(event: string) {\n this.value = parseInt(this.input.value);\n this.emit(event);\n }\n /** Simulates a click on the plus button */\n public plus() {\n this.plusBtn.click();\n }\n /** Simulates a click on the minus button */\n public minus() {\n this.minusBtn.click();\n }\n\n onPlus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.value = parseInt(this.input.value) + parseInt(this.input.step);\n }\n\n onMinus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.value < this.step) {\n this.value = 0;\n } else {\n this.value = parseInt(this.input.value) - parseInt(this.input.step);\n }\n }\n render() {\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n sgds: true,\n disabled: this.disabled,\n \"input-group\": true,\n [`input-group-${this.size}`]: this.size\n })}\"\n variant=\"quantity-toggle\"\n size=${this.size}\n >\n <button\n aria-label=${`decrease by ${this.step}`}\n part=\"button\"\n class=${classMap({\n sgds: true,\n btn: true,\n [`btn-${this.buttonVariant}`]: this.buttonVariant\n })}\n @click=${this.onMinus}\n ?disabled=${this.disabled}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-dash\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\" />\n </svg>\n </button>\n <input\n type=\"number\"\n class=\"form-control ${\"form-control-\" + this.size} text-center\"\n name=${ifDefined(this.name)}\n step=${ifDefined(this.step)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n .value=${live(this.value.toString())}\n @change=${() => this.handleChange(\"sgds-change\")}\n @input=${() => this.handleChange(\"sgds-input\")}\n ?disabled=${this.disabled}\n id=${this.inputId}\n aria-label=\"quantity\"\n />\n <button\n aria-label=${`increase by ${this.step}`}\n part=\"button\"\n class=${classMap({\n sgds: true,\n btn: true,\n [`btn-${this.buttonVariant}`]: this.buttonVariant\n })}\n @click=${this.onPlus}\n ?disabled=${this.disabled}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-plus\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"\n />\n </svg>\n </button>\n <div id=\"announcer\" role=\"region\" aria-live=\"assertive\" class=\"visually-hidden\">${this.value}</div>\n </div>\n `;\n }\n}\n\nexport default SgdsQuantityToggle;\n","import { html } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsRadio from \"./sgds-radio\";\nimport styles from \"./sgds-radio-group.scss\";\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n */\nexport class SgdsRadioGroup extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n protected readonly formSubmitController = new FormSubmitController(this, {\n defaultValue: (control: SgdsRadioGroup) => control.defaultValue\n });\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query(\".radio-group__validation-input\") input: HTMLInputElement;\n /**@internal */\n @state() defaultValue = \"\";\n /**@internal */\n @state() private customErrorMessage = \"\";\n /** @internal This will be true when the control is in an invalid state. */\n @state() invalid = false;\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /** The name assigned to the radio controls. */\n @property({ reflect: true }) name = \"option\";\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n @watch(\"value\")\n handleValueChange() {\n if (this.hasUpdated) {\n this.emit(\"sgds-change\", { detail: { value: this.value } });\n this.updateCheckedRadio();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n }\n\n /** Gets and return the ValidityState object. */\n get validity(): ValidityState {\n const hasMissingData = !((this.value && this.required) || !this.required);\n const hasCustomError = this.customErrorMessage !== \"\";\n return {\n badInput: false,\n customError: hasCustomError,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: hasMissingData ? false : true,\n valueMissing: !hasMissingData\n };\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity(): boolean {\n const validity = this.validity;\n\n // this.errorMessage = this.customErrorMessage || validity.valid ? '' : this.input.validationMessage;\n // this.invalid = !this.input.checkValidity();\n this.invalid = !validity.valid;\n\n if (!validity.valid) {\n this.showNativeErrorMessage();\n }\n\n return !this.invalid;\n }\n /**@internal */\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n handleRadioClick(event: MouseEvent) {\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio === target));\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n radios[index].focus();\n\n event.preventDefault();\n }\n\n handleLabelClick() {\n const radios = this._radios;\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n showNativeErrorMessage() {\n this.input.hidden = false;\n this.input.reportValidity();\n setTimeout(() => (this.input.hidden = true), 10000);\n }\n\n updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n this.invalid = !this.validity.valid;\n }\n\n render() {\n const defaultSlot = html`\n <div>\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n </div>\n `;\n return html`\n <fieldset role=\"radio-group\" name=${this.name}>\n <label @click=${this.handleLabelClick} class=\"form-label\">\n <slot name=\"label\"></slot>\n </label>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group__validation-input visually-hidden ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @invalid=${(e: Event) => this.handleInvalid(e)}\n hidden\n />\n ${this.hasFeedback ? html`<div class=\"invalid-feedback\">${this.invalidFeedback}</div>` : \"\"}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsSidenavItem from \"./sgds-sidenav-item\";\nimport styles from \"./sgds-sidenav.scss\";\n\n/**\n * @summary The side navigation is used to display a list of links to move between pages within a related category.\n * It is used as a secondary form of navigation where the primary navigation is located hierachically above the page frame.\n * Maximum two levels of navigations are allowed.\n *\n * @slot default - Default slot for SgdsSidenavItem element.\n *\n * @cssproperty --sidenav-theme-color - overall sidenav theme color\n */\nexport class SgdsSidenav extends SgdsElement {\n static styles = styles;\n\n /** Allow sidenav items to stay open when another item is opened */\n @property({ type: Boolean, attribute: true })\n alwaysOpen = false;\n\n render() {\n this.alwaysOpen\n ? null\n : this.addEventListener(\"sgds-toggle\", (e: CustomEvent) => {\n const children = this.shadowRoot.querySelector(\"slot\").assignedElements({ flatten: true });\n for (let i = 0; i < children.length; i++) {\n if (e.detail.index != i) {\n (children[i] as SgdsSidenavItem).closeItem();\n }\n }\n });\n\n return html`\n <nav class=\"sidenav\">\n <ul>\n <slot></slot>\n </ul>\n </nav>\n `;\n }\n}\n\nexport default SgdsSidenav;\n","import Collapse from \"bootstrap/js/src/collapse\";\nimport type { Collapse as BsCollapse } from \"bootstrap\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport genId from \"../../utils/generateId\";\nimport styles from \"./sgds-sidenav-item.scss\";\n\n/**\n *\n * @event sgds-toggle - Emitted when the dropdown is clicked.\n *\n * @slot - default slot for SgdsSidenavLink element.\n * @slot title - title slot for the content of SgdsSidenavItem's button / anchor element.\n * @slot icon - icon slot for the content of SgdsSidenavItem's button / anchor element.\n *\n * @cssproperty --sidenav-item-button-border-left-width - sidenav item left border width\n * @cssproperty --sidenav-item-padding-x - sidenav item padding left and right\n * @cssproperty --sidenav-item-padding-y - sidenav item padding top and bottom\n * @cssproperty --sidenav-item-icon-title-gap - the flex gap between sidenav item icon and title\n */\n\nexport class SgdsSidenavItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n private myCollapse: Ref<HTMLElement> = createRef();\n /** @internal */\n private bsCollapse: BsCollapse = null;\n\n /**\n * when true, toggles the sidenav-item to open on first load and set the active stylings.\n */\n @property({ type: Boolean })\n active = false;\n\n /**\n * When defined, converts SgdsSidenavItem from a button element to an Anchor element. In this case, only one level of navigation is allowed\n */\n @property({ type: String })\n href = \"\";\n\n /**\n * Disables the SgdsSidenavItem\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * @internal Forwards to id attribute of div.collapse and aria-controls attribute of button in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own\n */\n\n private collapseId: string = genId(\"sidenav\", \"collapse\");\n\n /**\n * @internal Forwards to id attribute of button and aria-labelledby attribute of ul.sidenav-list in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own\n */\n private buttonId: string = genId(\"sidenav\", \"button\");\n\n /** @internal */\n private index = \"-1\";\n\n private _onClick() {\n this.emit(\"sgds-toggle\", { detail: { index: this.index } });\n }\n\n private _onClickButton() {\n this._onClick();\n if (this.bsCollapse) {\n this.bsCollapse.toggle();\n }\n }\n private _onClickLink() {\n this._onClick();\n this.active = true;\n }\n\n /**\n * When invoked, closes the SgdsSidenavItem\n */\n public closeItem() {\n this.active = false;\n if (this.bsCollapse) this.bsCollapse.hide();\n }\n /**\n * When invoked, opens the SgdsSidenavItem\n */\n public openItem() {\n this.active = true;\n if (this.bsCollapse) this.bsCollapse.show();\n }\n\n firstUpdated() {\n // if sidenav has menu, initialise bootstrap collapse\n if (!this.href) {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: this.active\n });\n\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.active = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.active = false;\n });\n }\n }\n\n render() {\n const withMenuTemplate = html` <button\n @click=${() => this._onClickButton()}\n class=\"collapsed sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-expanded=\"${this.active}\"\n aria-controls=\"${this.collapseId}\"\n aria-selected=\"${this.active}\"\n id=\"${this.buttonId}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"icon\"></slot>\n <slot name=\"title\"></slot>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n <div class=\"collapse\" ${ref(this.myCollapse)} id=\"${this.collapseId}\">\n <ul class=\"sidenav-list\" aria-labelledby=\"${this.buttonId}\">\n <slot></slot>\n </ul>\n </div>`;\n\n const noMenuTemplate = html`\n <a\n href=${this.href}\n @click=${() => this._onClickLink()}\n class=\"sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-selected=\"${this.active}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"icon\"></slot>\n <slot name=\"title\"></slot>\n </a>\n `;\n return html`\n <li class=\"sidenav-item\" aria-haspopup=\"${!this.href}\">${this.href ? noMenuTemplate : withMenuTemplate}</li>\n `;\n }\n}\n\nexport default SgdsSidenavItem;\n","import LinkElement from \"../../base/link-element\";\nimport styles from \"./sgds-sidenav-link.scss\";\n\n/**\n * @slot default - slot for label of anchor tag.\n *\n * @cssproperty --sidenav-link-font-size - sidenav link font size, default to `--sgds-body-font-size`\n * @cssproperty --sidenav-link-padding-x - sidenav link padding left and right\n * @cssproperty --sidenav-link-padding-y - sidenav link padding top and bottom\n * @cssproperty --sidenav-link-disabled-color - sidenav link disabled color, default to `--sgds-gray-600`\n */\nexport class SgdsSidenavLink extends LinkElement {\n static styles = styles;\n}\n\nexport default SgdsSidenavLink;\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-spinner.scss\";\n\n/**\n * @summary Spinners notify the users that their request is being processed.\n */\nexport class SgdsSpinner extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** The type of spinner */\n @property({ type: String, reflect: true }) type: SpinnerType = \"border\";\n /** The color of spinner */\n @property({ type: String, reflect: true }) color: SpinnerColor = \"primary\";\n /** Optional for spinner wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ type: String, reflect: true }) spinnerClasses: string;\n render() {\n return html`\n <div\n class=\"\n ${classMap({\n [`spinner-${this.type}`]: this.type,\n [`text-${this.color}`]: this.color,\n [`${this.spinnerClasses}`]: this.spinnerClasses\n })}\"\n role=\"status\"\n >\n <span class=\"sr-only\">Loading...</span>\n </div>\n `;\n }\n}\n\nexport type SpinnerColor = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\" | \"dark\";\n\nexport type SpinnerType = \"border\" | \"grow\";\n\nexport default SgdsSpinner;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-stepper.scss\";\n\nexport interface IStepMetaData {\n component: unknown;\n stepHeader: string;\n}\n/**\n * @summary Steppers are used to inform users which step they are at in a form or a process\n *\n * @event sgds-next-step - Emitted right before the next step is reached. Event is fired when nextStep method is called.\n * @event sgds-previous-step - Emitted right before the previous step is reached. Event is fired when previousStep method is called.\n * @event sgds-last-step - Emitted right before the last step is reached. Event is fired when lastStep method is called.\n * @event sgds-first-step - Emitted on hide after animation has completed. Event is fired when firstStep method is called.\n * @event sgds-arrived - Emitted right after the activeStep has updated its state, when upcoming step has arrived. Call `getMethod()` on this event to get the current step's component.\n * @event sgds-reset - Emitted right before the step is reset to its defaultActiveStep. Event is fired when reset method is called.\n *\n * @cssproperty --stepper-default-color - Sets the theme color for default stepper marker. <br>Default value `--sgds-gray-400`\n * @cssproperty --stepper-theme-color - Sets the theme color for active, completed and clickable stepper marker. <br>Default value `--sgds-primary`\n * @cssproperty --stepper-theme-hover-color - Sets the theme hover color for clickable stepper marker. <br>Default value `--sgds-primary-600`\n *\n */\nexport class SgdsStepper extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** The metadata of stepper, type `IStepMetaData`, that consist of `stepHeader: string` and `component:unknown`. `stepHeader` is the name of the step and `component` is the content that should appear at the each step. `component` is set to `unknown` to allow users to pass in their desired component based on the framework of choice. e.g. pass in your own react/angular/vue component or it can also be a text content.\n */\n @property({ type: Array })\n steps: IStepMetaData[] = [];\n\n /** The current state of active step. Defaults to 0 */\n @property({ type: Number, reflect: true })\n activeStep = 0;\n\n /**Gets or sets the default activeStep used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"activeStep\")\n defaultActiveStep = 0;\n\n /** By default, it returns the corresponding component of the current activeStep as defined in the steps metadata. To get other components, pass in your desired step number as the parameter*/\n public getComponent(step: number = this.activeStep) {\n return this.steps[step].component;\n }\n /** Moves the active step forward one step */\n public nextStep() {\n this.emit(\"sgds-next-step\");\n if (this.activeStep < this.steps.length - 1) {\n this.activeStep++;\n }\n }\n\n /** Moves the active step back one step */\n public previousStep() {\n this.emit(\"sgds-previous-step\");\n\n if (this.activeStep > 0) {\n this.activeStep--;\n }\n }\n\n /** Changes the active step to the last step */\n public lastStep() {\n this.emit(\"sgds-last-step\");\n if (this.activeStep !== this.steps.length - 1) {\n this.activeStep = this.steps.length - 1;\n }\n }\n\n /** Changes active step to the first step */\n public firstStep() {\n this.emit(\"sgds-first-step\");\n if (this.activeStep > 0) {\n this.activeStep = 0;\n }\n }\n\n /** Resets the Stepper to its initial active step state */\n public reset() {\n this.emit(\"sgds-reset\");\n this.activeStep = this.defaultActiveStep;\n }\n\n /**@internal */\n _onStepperItemClick(index: number) {\n //emit an event before moving to next step\n if (this.activeStep > index) {\n this.activeStep = index;\n }\n }\n\n /**@internal */\n @watch(\"activeStep\", { waitUntilFirstUpdate: true })\n _handleActiveStepChange() {\n this.emit(\"sgds-arrived\");\n }\n\n /**@internal */\n _handleKeyDown(event: KeyboardEvent, index: number) {\n if (event.key === \"Enter\") {\n this._onStepperItemClick(index);\n }\n }\n\n render() {\n return html`\n <div class=\"sgds stepper\">\n ${this.steps.map(({ stepHeader: step }, index) => {\n return html`\n <div\n class=\"stepper-item ${classMap({\n \"is-active\": this.activeStep === index,\n \"is-completed\": this.activeStep > index,\n \"is-clickable\": this.activeStep > index\n })}\"\n tabindex=\"0\"\n aria-current=${this.activeStep === index ? \"step\" : \"false\"}\n aria-disabled=${this.activeStep <= index ? \"true\" : \"false\"}\n @click=\"${() => this._onStepperItemClick(index)}\"\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, index)}\n >\n <div class=\"stepper-marker\">${index + 1}</div>\n <div class=\"stepper-detail\">\n <p><b>${step}</b></p>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n}\n\nexport default SgdsStepper;\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tab.scss\";\n\nlet id = 0;\n/**\n * @summary Tabs are used within tab group to activate the tab panels\n *\n * @slot default - The content of the tab. This is available when variant attribute of `sgds-tab-group` is not specified or when it is `tabs-basic-toggle`\n *\n * @slot icon - The slot to place svg icons. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot count - The slot for count. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot label - The slot for label of tab. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n *\n * @csspart base - The base wrapper of tab\n * @cssproperty --tab-theme-color - The theme colour for tab. Defaults to `--sgds-primary`\n */\nexport class SgdsTab extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\".nav-item\") tab: HTMLElement;\n /**@internal */\n private readonly attrId = ++id;\n /**@internal */\n private readonly componentId = `sgds-tab-${this.attrId}`;\n\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = \"\";\n\n /** Draws the tab in an active state. When used with tab group, this state is already managed. Use it to set the initial active tab on first load of page */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"tab\");\n }\n\n /** Sets focus to the tab. */\n public focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n public blur() {\n this.tab.blur();\n }\n /**@internal */\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-selected\", this.active ? \"true\" : \"false\");\n }\n /**@internal */\n @watch(\"disabled\")\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n if (this.disabled) this.active = false;\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n const parentVariantAttr = this.closest(\"sgds-tab-group\").getAttribute(\"variant\");\n const tabsInfo = html`\n <div class=\"tabs-info-label\">\n <div><slot name=\"icon\"></slot></div>\n <div><slot name=\"label\"></slot></div>\n </div>\n <div class=\"tabs-info-count\"><slot name=\"count\"></slot></div>\n `;\n return html`\n <ul class=\"list-unstyled\">\n <li part=\"base\" class=\"nav-item\" tabindex=${this.disabled ? \"-1\" : \"0\"}>\n <div\n class=\"${classMap({\n \"nav-link\": true,\n [`${parentVariantAttr}`]: parentVariantAttr,\n active: this.active,\n disabled: this.disabled\n })}\"\n >\n ${parentVariantAttr === \"tabs-info-toggle\" ? tabsInfo : html`<slot></slot>`}\n </div>\n </li>\n </ul>\n `;\n }\n}\n\nexport default SgdsTab;\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsTab } from \"./sgds-tab\";\nimport styles from \"./sgds-tab-group.scss\";\nimport { SgdsTabPanel } from \"./sgds-tab-panel\";\n/**\n * @summary Tab Group organizes content into a container with the syncing of tab and their corresponding panels.\n * Each tab must be slotted into the nav slot and its `panel` must refer to a tab panel of the same name.\n *\n * @slot default - The slot for `sgds-tab-panel`\n * @slot nav - The slot for `sgds-tab`\n *\n * @event sgds-tab-show Emitted when a tab and its panels are shown\n * @event sgds-tab-hide Emitted when a tab and its panels are hidden.\n *\n * @csspart body - The container wrapping the default slot where all `sgds-tab-panel`s are slotted.\n * @csspart nav - The container wrapping the default slot where all `sgds-tab`s are slotted.\n */\nexport class SgdsTabGroup extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\".tab-group\") tabGroup: HTMLElement;\n /**@internal */\n @query(\".tab-group__body\") body: HTMLSlotElement;\n /**@internal */\n @query(\".tab-group__nav\") nav: HTMLElement;\n /**@internal */\n private activeTab?: SgdsTab;\n /**@internal */\n private mutationObserver: MutationObserver;\n /**@internal */\n private resizeObserver: ResizeObserver;\n /**@internal */\n private tabs: SgdsTab[] = [];\n /**@internal */\n private panels: SgdsTabPanel[] = [];\n /** The variant types of tabs. Controls the visual stylesof all `sgds-tabs` in its slot. It also dynamically changes the slots of `sgds-tab` */\n @property({ reflect: true, attribute: true }) variant: \"tabs-basic-toggle\" | \"tabs-info-toggle\";\n /** Forwards css tokens to the container div of slot[name=nav] where all `sgds-tab` are slotted in */\n @property({ type: String, reflect: true }) tabsClasses: string;\n /** Forwards css tokens to the container div of slot where all `sgds-tab-panel` are slotted in */\n @property({ type: String, reflect: true }) bodyClasses: string;\n\n connectedCallback() {\n const whenAllDefined = Promise.all([\n customElements.whenDefined(\"sgds-tab\"),\n customElements.whenDefined(\"sgds-tab-panel\")\n ]);\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => {\n return;\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => ![\"aria-labelledby\", \"aria-controls\"].includes(m.attributeName))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === \"disabled\")) {\n this.syncTabsAndPanels();\n }\n });\n\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs first become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n // this.setTabVariant();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n public show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab);\n }\n }\n /** @internal */\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"nav\"]');\n\n return [...(slot.assignedElements() as SgdsTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === \"sgds-tab\"\n : el.tagName.toLowerCase() === \"sgds-tab\" && !el.disabled;\n });\n }\n /** @internal */\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === \"sgds-tab-panel\") as [\n SgdsTabPanel\n ];\n }\n /** @internal */\n private getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n /** @internal */\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab);\n }\n }\n /** @internal */\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if ([\"Enter\", \" \"].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if ([\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const activeEl = this.tabs.find(t => t.matches(\":focus\"));\n\n if (activeEl?.tagName.toLowerCase() === \"sgds-tab\") {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = this.tabs.length - 1;\n } else if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n index--;\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n this.setActiveTab(this.tabs[index] /** , { scrollBehavior: \"smooth\" }*/);\n\n event.preventDefault();\n }\n }\n }\n /** @internal */\n private setActiveTab(tab: SgdsTab, options?: { emitEvents?: boolean }) {\n options = {\n emitEvents: true,\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit(\"sgds-tab-hide\", { detail: { name: previousTab.panel } });\n }\n\n this.emit(\"sgds-tab-show\", { detail: { name: this.activeTab.panel } });\n }\n }\n }\n /** @internal */\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute(\"aria-controls\", panel.getAttribute(\"id\"));\n panel.setAttribute(\"aria-labelledby\", tab.getAttribute(\"id\"));\n }\n });\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n /** @internal */\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n }\n\n render() {\n return html`\n <div\n class=\"tab-group\"\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n variant=${ifDefined(this.variant)}\n >\n <div\n part=\"nav\"\n class=${classMap({\n \"tab-group__nav\": true,\n [`${this.tabsClasses}`]: this.tabsClasses\n })}\n role=\"tablist\"\n >\n <slot\n name=\"nav\"\n class=${classMap({\n sgds: true,\n \"nav-tabs\": true,\n nav: true\n })}\n variant=${ifDefined(this.variant)}\n @slotchange=${this.syncTabsAndPanels}\n ></slot>\n </div>\n <div\n part=\"body\"\n class=${classMap({\n [`${this.bodyClasses}`]: this.bodyClasses\n })}\n >\n <slot class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsTabGroup;\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tab-panel.scss\";\n\nlet id = 0;\n\n/**\n * @summary Tab panels are used inside tab groups to display tabbed content.\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --tab-panel-padding-y - The tab panel's padding.\n */\nexport class SgdsTabPanel extends LitElement {\n static styles = styles;\n /**@internal */\n private readonly attrId = ++id;\n /**@internal */\n private readonly componentId = `sgds-tab-panel-${this.attrId}`;\n /** The tab panel's name. */\n @property({ reflect: true }) name = \"\";\n\n /** When true, the tab panel will be shown. When used with tab-group, this property is already being managed */\n @property({ type: Boolean, reflect: true }) active = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.id = this.id.length > 0 ? this.id : this.componentId;\n this.setAttribute(\"role\", \"tabpanel\");\n }\n\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-hidden\", this.active ? \"false\" : \"true\");\n }\n\n render() {\n return html`\n <slot\n part=\"base\"\n class=${classMap({\n \"tab-panel\": true,\n \"tab-panel--active\": this.active\n })}\n ></slot>\n `;\n }\n}\n\nexport default SgdsTabPanel;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-table.scss\";\n\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n *\n * @cssproperty --table-bg - Table's background color\n * @cssproperty --table-accent-bg - Table's accent background color\n * @cssproperty --table-striped-color - Text color for striped table\n * @cssproperty --table-striped-bg - Background color for striped table\n * @cssproperty --table-active-color - Active text color for hovered row\n * @cssproperty --table-active-bg - Active background color for hovered row\n * @cssproperty --table-hover-color - Hovered text color for hover table\n * @cssproperty --table-hover-bg - Hovered background color for hover table\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * Adds zebra-striping using striped to table row within the <tbody>\n */\n @property({ type: Boolean, reflect: true }) striped = false;\n\n /**\n * Add borders to all sides of table and cells\n */\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /**\n * Remove all borders to table and cells\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Add hoverable state on table rows\n */\n @property({ type: Boolean, reflect: true }) hover = false;\n\n /**\n * Add <code>.table-sm</code> to make table more compact\n */\n @property({ type: String, reflect: true }) size: string;\n\n /**\n * Use contextual classes to add colors to table\n */\n @property({ type: String, reflect: true }) variant: string;\n\n /**\n * Sorting on a column is enabled by adding the sort property. The sorting algorithm is based on javascript array.sort() method. In ascending order from bottom, alphabets come first, followed by numbers, and then symbols. Similarly, in descending order from bottom, symbols come first, followed by numbers, and then alphabets.\n */\n @property({ type: Boolean, reflect: true }) sort = false;\n\n /**\n * When removableSort is present, the third click removes the sorting from the column.\n */\n @property({ type: Boolean, reflect: true }) removableSort = false;\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate header cells using Arrays\n */\n @property({ type: Array }) tableHeaders: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /** @internal */\n @state() sortColumn: number | null = null;\n\n /** @internal */\n @state() sortAsc = true;\n\n //TODO aria-sort\n\n /** @internal */\n @state() activeColumn: number | null = null;\n\n /** @internal */\n @state() sortClickCount = 0;\n\n /** @internal */\n @state() clickCount = 0;\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n handleHeaderClick(columnIndex: number) {\n if (this.sort) {\n if (this.sortColumn === columnIndex) {\n this.sortAsc = !this.sortAsc;\n } else {\n this.sortColumn = columnIndex;\n this.sortAsc = true;\n }\n\n this.tableData = [...this.tableData].sort((a, b) => {\n const aValue = a[columnIndex];\n const bValue = b[columnIndex];\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n } else {\n return this.sortAsc ? (aValue as number) - (bValue as number) : (bValue as number) - (aValue as number);\n }\n });\n\n // update the active column\n if (this.activeColumn === columnIndex) {\n this.clickCount++;\n if (this.clickCount === 3 && this.removableSort) {\n this.activeColumn = null;\n this.clickCount = 0;\n this.tableData = [...this.originalTableData];\n }\n } else {\n this.activeColumn = columnIndex;\n this.clickCount = 1;\n }\n\n // add the .active class to the clicked header cell\n const thElements = this.shadowRoot?.querySelectorAll(\"th\");\n thElements.forEach((thElement, index) => {\n if (index === columnIndex) {\n thElement.classList.add(\"active\");\n } else {\n thElement.classList.remove(\"active\");\n }\n });\n }\n }\n\n getIcon(columnIndex: number) {\n if (this.activeColumn !== columnIndex) {\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-up ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"\n />\n </svg>`;\n } else {\n return this.sortAsc\n ? html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-up-alt ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"\n />\n </svg>`\n : html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-down ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"\n />\n </svg>`;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table\n class=\"table sgds ${classMap({\n [`table-striped`]: this.striped,\n [`table-bordered`]: this.bordered,\n [`table-borderless`]: this.borderless,\n [`table-hover`]: this.hover,\n [`table-${this.size}`]: this.size,\n [`table-${this.variant}`]: this.variant\n })}\"\n >\n <thead>\n <tr>\n ${this.tableHeaders.map(\n (header: string, index: number) => html`\n <th\n class=\"${classMap({\n \"sortable-header\": this.sort,\n active: this.activeColumn === index\n })}\"\n @click=${() => this.handleHeaderClick(index)}\n //TODO aria-sort \n >\n ${header} ${this.sort ? this.getIcon(index) : null}\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n","import { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-textarea.scss\";\n\n/**\n * @summary Text areas allow for the collection of input longer than a single line.\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when textarea is in focus.\n * @event sgds-blur - Emitted when textarea loses focus.\n */\nexport class SgdsTextarea extends SgdsElement implements SgdsFormControl {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\"textarea.form-control\") textarea: HTMLTextAreaElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n /**@internal */\n private resizeObserver: ResizeObserver;\n /**The textarea's label */\n @property({ type: String, reflect: true }) label = \"label\";\n /**The textarea's name attribute */\n @property({ type: String, reflect: true }) name: string;\n /**Forwarded to the HTML native textarea element. Can be used to insert any bootstrap classes such as mt-2 */\n @property({ type: String, reflect: true }) textareaClasses?: string;\n /**The textarea's value attribute. */\n @property({ type: String, reflect: true }) value = \"\";\n /**Sets the minimum length of the textarea */\n @property({ type: Number, reflect: true }) minlength: number;\n /**Sets the maximum length of the textarea */\n @property({ type: Number, reflect: true }) maxlength: number;\n /**Enables spell checking on the textarea */\n @property({ type: Boolean, reflect: true }) spellcheck = false;\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n /**The textarea's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"Placeholder\";\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /**Autofocus the textarea */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Controls how the textarea can be resized. */\n @property() resize: \"none\" | \"vertical\" | \"auto\" = \"vertical\";\n /** The native textarea's inputmode attribute. It hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard. */\n @property() inputmode: \"none\" | \"text\" | \"decimal\" | \"numeric\" | \"tel\" | \"search\" | \"email\" | \"url\";\n /** The native textarea's autocorrect attribute. */\n @property() autocorrect: string;\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**@internal */\n @state() invalid = false;\n /**@internal */\n @state() valid = false;\n\n /** @internal The textarea's unique id */\n private textareaId = genId(\"textarea\", \"input\");\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.textarea);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this.textarea);\n }\n\n /** Sets focus on the textarea. */\n public focus(options?: FocusOptions) {\n this.textarea.focus(options);\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n return this.textarea.reportValidity();\n }\n /** Selects all the text in the textarea. */\n public select() {\n this.textarea.select();\n }\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.textarea.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"rows\", { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n setTextareaHeight() {\n if (this.resize === \"auto\") {\n this.textarea.style.height = \"auto\";\n this.textarea.style.height = `${this.textarea.scrollHeight}px`;\n } else {\n (this.textarea.style.height as string | undefined) = undefined;\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.textarea.disabled = this.disabled;\n this.invalid = !this.textarea.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.textarea.checkValidity();\n this.valid = this.textarea.checkValidity();\n this.updateComplete.then(() => this.setTextareaHeight());\n if (!this.required && this.value === \"\") {\n this.valid = false;\n }\n }\n\n render() {\n // if maxlength is defined\n const wordCount = html` <div class=\"form-text\">${this.value.length}/${this.maxlength}</div> `;\n\n return html`\n <div class=\"text-area-label-wrapper d-flex justify-content-between\">\n <label for=${this.textareaId} class=\"form-label\">${this.label}</label>\n ${this.maxlength > 0 ? wordCount : undefined}\n </div>\n\n <textarea\n class=${classMap({\n \"form-control\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid,\n \"textarea-resize-none\": this.resize === \"none\",\n \"textarea-resize-vertical\": this.resize === \"vertical\",\n \"textarea-resize-auto\": this.resize === \"auto\",\n [`${this.textareaClasses}`]: this.textareaClasses\n })}\n id=${this.textareaId}\n name=${ifDefined(this.name)}\n rows=${ifDefined(this.rows)}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n .value=${live(this.value)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n spellcheck=${ifDefined(this.spellcheck)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n autocorrect=${ifDefined(this.autocorrect)}\n inputmode=${ifDefined(this.inputmode)}\n @keyup=${this.handleValueChange}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @invalid=${(e: Event) => this.handleInvalid(e)}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n </textarea>\n\n ${this.hasFeedback\n ? html`<div id=\"${this.textareaId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n `;\n }\n}\n\nexport default SgdsTextarea;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-toast.scss\";\n\n/**\n * @summary Toast allows you to convey quick messaging notifications to the user.\n *\n * @slot default - The content to pass into toast's body\n * @slot icon - The slot to pass in icon to toast's header\n * @slot duration - When required, pass in the duration since toast appeared to this slot\n *\n * @event sgds-show - Emitted on show.\n * @event sgds-after-show - Emitted on show after animation has completed.\n * @event sgds-hide - Emitted on hide.\n * @event sgds-after-hide - Emitted on hide after animation has completed.\n *\n * @cssproperty --toast-icon-margin-right - The margin-right between toast's icon and title in its header. Defaults to 0.5rem\n */\nexport class SgdsToast extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\"div.toast\") toast: HTMLElement;\n /** Controls the appearance of toast */\n @property({ type: Boolean, reflect: true }) show = false;\n /** The header title of toast. It is required to assign a title to toast */\n @property({ type: String, reflect: true }) title = \"Title\";\n /** Controls whether the toast has fade animation during its appearance/disappearance */\n @property({ type: Boolean, reflect: true }) noAnimation = false;\n /** Controls if the toast will hide itself after the delay time. Works with delay property */\n @property({ type: Boolean, reflect: true }) autohide = false;\n /** The amount of time taken for toast to disappear after its first render. It takes effect only when autohide is set to true */\n @property({ type: Number, reflect: true }) delay = 5000;\n /** The colour variant of toast */\n @property({ type: String, reflect: true }) variant: ToastVariant;\n /** Optional for toast. Forwards to the base div wrapper of toast. Can be used to insert any utility classes such as `me-auto` */\n @property({ type: String, reflect: true }) toastClasses: string;\n /** The toast variant. */\n @property({ type: String, reflect: true }) bg:\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\";\n /**Adds CSS styling to `<Toast />` based on the defined status */\n @property({ type: String, reflect: true }) status: \"success\" | \"warning\" | \"danger\";\n\n /** Shows the toast */\n public async showToast() {\n if (this.show) {\n return;\n }\n\n this.show = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the toast */\n public async hideToast() {\n if (!this.show) {\n return;\n }\n this.show = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal */\n handleCloseClick() {\n this.show = false;\n this.emit(\"sgds-close\");\n }\n /**@internal */\n @watch(\"show\", { waitUntilFirstUpdate: true })\n async handleShowChange() {\n if (this.show) {\n this.emit(\"sgds-show\");\n this.toast.hidden = !this.show;\n\n const toastAnimation = getAnimation(this, \"toast.show\");\n !this.noAnimation && (await animateTo(this.toast, toastAnimation.keyframes, toastAnimation.options));\n\n this.emit(\"sgds-after-show\");\n } else {\n this.emit(\"sgds-hide\");\n const toastAnimation = getAnimation(this, \"toast.hide\");\n\n !this.noAnimation && (await animateTo(this.toast, toastAnimation.keyframes, toastAnimation.options));\n this.emit(\"sgds-after-hide\");\n this.toast.hidden = !this.show;\n }\n }\n protected firstUpdated(): void {\n this.toast.hidden = !this.show;\n }\n\n render() {\n if (this.autohide && this.show) {\n setTimeout(() => {\n this.show = false;\n }, this.delay);\n }\n return html`\n <div\n class=\"toast sgds show ${classMap({\n [`is-${this.variant}`]: this.variant,\n [`bg-${this.bg}`]: this.bg,\n [`is-${this.status}`]: this.status,\n [`${this.toastClasses}`]: this.toastClasses\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n >\n <div class=\"toast-header\">\n <slot name=\"icon\"></slot>\n <strong class=\"me-auto\">${this.title}</strong>\n <small class=\"text-muted me-2\"><slot name=\"duration\"></slot></small>\n <button\n class=\"btn-sm btn-close\"\n aria-label=\"close toast\"\n @click=${this.handleCloseClick}\n data-dismiss=\"toast\"\n ></button>\n </div>\n <div class=\"toast-body\"><slot></slot></div>\n </div>\n `;\n }\n}\n\nexport type ToastVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport default SgdsToast;\n\nsetDefaultAnimation(\"toast.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 400, easing: \"ease\" }\n});\nsetDefaultAnimation(\"toast.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 400, easing: \"ease\" }\n});\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport mergeDeep from \"../../utils/mergeDeep\";\nimport styles from \"./sgds-toast-container.scss\";\n/**\n * @summary ToastContainer is the container component to position `sgds-toast` in screen. When there is multiple toasts in the container, the toast components are stacked vertically.\n *\n * @slot default - The slot for `sgds-toast` elements\n *\n * @cssproperty --toast-container-slot-elements-gap - The gap between multiple `sgds-toast` elements. Defaults to 0.5rem\n */\nexport class SgdsToastContainer extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Controls the position of `sgds-toast` within itself. When specified, toast container becomes position-absolute */\n @property({ type: String, reflect: true }) position: ToastPosition;\n\n render() {\n const generatePositionCssTokenObj = (position: ToastPosition) => {\n if (!position) return {};\n const arrayOfCssTokensObj = [\n positionClasses[position].top,\n positionClasses[position].start,\n positionClasses[position].translate\n ]\n .filter(cssToken => !!cssToken)\n .map(truthyCssToken => ({ [`${truthyCssToken}`]: true }));\n return Object.assign({}, ...arrayOfCssTokensObj);\n };\n return html`\n <div\n class=${classMap(\n mergeDeep(\n {\n \"sgds toast-container\": true,\n [`position-absolute`]: this.position\n },\n generatePositionCssTokenObj(this.position)\n )\n )}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nconst positionClasses = {\n \"top-start\": {\n top: \"top-0\",\n start: \"start-50\",\n translate: \"translate-middle-x\"\n },\n \"top-center\": {\n top: \"top-0\",\n start: \"start-50\",\n translate: \"translate-middle-x\"\n },\n \"top-end\": { top: \"top-0\", start: \"end-0\", translate: null },\n \"middle-start\": { top: \"top-50\", start: \"start-0\", translate: \"translate-middle-y\" },\n \"middle-center\": { top: \"top-50\", start: \"start-50\", translate: \"translate-middle\" },\n \"middle-end\": { top: \"top-50\", start: \"end-0\", translate: \"translate-middle-y\" },\n \"bottom-start\": { top: \"bottom-0\", start: \"start-0\", translate: null },\n \"bottom-center\": { top: \"bottom-0\", start: \"start-50\", translate: \"translate-middle-x\" },\n \"bottom-end\": { top: \"bottom-0\", start: \"end-0\", translate: null }\n};\n\nexport type ToastPosition =\n | \"top-start\"\n | \"top-center\"\n | \"top-end\"\n | \"middle-start\"\n | \"middle-center\"\n | \"middle-end\"\n | \"bottom-start\"\n | \"bottom-center\"\n | \"bottom-end\";\n\nexport default SgdsToastContainer;\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","import * as Popper from \"@popperjs/core\";\nimport Tooltip from \"bootstrap/js/src/tooltip\";\nimport type { Tooltip as BsTooltip } from \"bootstrap\";\n\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-tooltip.scss\";\n\n/**\n * @summary Tooltips display more information when users hover over, focus on, or interact with an element.\n * @slot default - The element to target the tooltip to.\n *\n * @cssproperty --tooltip-max-width - Sets the tooltips max width. Default to 20rem.\n */\nexport class SgdsTooltip extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n myTooltip: Ref<HTMLElement> = createRef();\n /**@internal */\n bsTooltip: BsTooltip = null;\n\n /** The tooltip's content. Content has to be textual */\n @property({ type: String })\n content = \"\";\n /** The placement of tooltip relative to its target */\n @property({ type: String })\n placement: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\n /** The method to invoke the tooltip. `hover focus` is the default value which allows tooltip to be triggered via mouse hover and keyboard focus. Add `tabindex=0 `for HTMLelements that are not tabbable. For `click` method, the tooltip is trigger via mouse clicking and it instantiates with a close button */\n @property({ type: String })\n trigger: \"click\" | \"hover\" | \"focus\" | \"hover focus\" = \"hover focus\";\n /**@internal */\n private closableContainer: HTMLElement;\n /**@internal */\n @state()\n private popperConfig: Partial<Popper.Options>;\n /**@internal */\n @state()\n private tooltipConfig: Partial<BsTooltip.Options>;\n /**@internal */\n @queryAssignedElements()\n private tooltipTargetElements: Array<HTMLElement>;\n\n private _handleSlotChange(): void {\n // For a11y purpose\n this.tooltipTargetElements.forEach(el => el.setAttribute(\"data-sgds-tooltip\", this.content));\n }\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (this.hasUpdated) {\n this.bsTooltip.dispose();\n this.initializeTooltip();\n }\n }\n private initializeTooltip() {\n // refer to Bootstrap's Tooltip options\n // Feature: Add close button when prop trigger === 'click'\n //useless to modify the \"template\" as BsTooltip \"title\" option will override anything that is within .tooltip-inner\n //HTML method insertAdjacentText() is use to add the text content before close button but it requires a parent\n // Only way is to modify BsTooltip's title with \"sanitize: false\" to add the close button\n // When trigger is a \"click\", tooltipContainer will be created and modify BsTooltip's \"title\", adding a close button\n if (this.trigger === \"click\") {\n this.closableContainer = document.createElement(\"div\");\n this.closableContainer.classList.add(\"d-flex\");\n this.closableContainer.classList.add(\"gap-4\");\n this.closableContainer.classList.add(\"text-start\");\n const closeBtn: HTMLButtonElement = document.createElement(\"button\");\n closeBtn.classList.add(\"btn-close\");\n closeBtn.classList.add(\"btn-close-white\");\n closeBtn.classList.add(\"mt-1\");\n closeBtn.setAttribute(\"aria-label\", \"Close\");\n this.closableContainer.appendChild(closeBtn);\n this.closableContainer.insertAdjacentText(\"afterbegin\", this.content);\n this.shadowRoot.querySelector(\".btn-close\")?.addEventListener(\"click\", () => this.hide());\n }\n this.tooltipConfig = {\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n this.popperConfig = defaultConfig;\n const defaultModifiers = defaultConfig.modifiers;\n const newModifiers = defaultModifiers.map(mod => {\n if (mod.name === \"flip\") {\n mod.options.fallbackPlacements = [];\n }\n return mod;\n });\n this.popperConfig.modifiers = newModifiers;\n return this.popperConfig;\n },\n placement: this.placement,\n trigger: this.trigger,\n title: this.trigger === \"click\" ? this.closableContainer : this.content,\n html: true,\n sanitize: false, // to allow button element,\n container: this.shadowRoot.querySelector(\"div\") // tooltip to appear inside the shadow root of sgds-tooltip instead of anywhere in the DOM, so that scoped styles can apply\n } as Partial<BsTooltip.Options>;\n this.bsTooltip = new Tooltip(this.myTooltip.value, this.tooltipConfig);\n }\n firstUpdated() {\n this.initializeTooltip();\n this.myTooltip.value.addEventListener(\"show.bs.tooltip\", () => {\n this.emit(\"sgds-show\");\n });\n this.myTooltip.value.addEventListener(\"shown.bs.tooltip\", () => {\n this.emit(\"sgds-after-show\");\n });\n this.myTooltip.value.addEventListener(\"hide.bs.tooltip\", () => {\n this.emit(\"sgds-hide\");\n });\n this.myTooltip.value.addEventListener(\"hidden.bs.tooltip\", () => {\n this.emit(\"sgds-after-hide\");\n });\n }\n /** Hides the Tooltip */\n public hide() {\n this.bsTooltip.hide();\n }\n /** Shows the Tooltip */\n public show() {\n this.bsTooltip.show();\n }\n\n render() {\n return html`\n <div ${ref(this.myTooltip)}>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsTooltip;\n"],"names":["t","e","s","n","o","r","i","S","c","h","a","l","d","u","v","f","_","m","p","g","$","y","w","x","T","A","E","C","P","V","N","H","L","z","k","M","R","Z","I","B","LitElement","styles","html","classMap","property","queryAssignedNodes","query","adoptStyles","defaultConverter","ifDefined","live","state","createRef","ref","literal","isElement","effect","getComputedStyle","min","max","mathMax","mathMin","hash","allPlacements","placements","createPopper","defaultModifiers","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","hide","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","SELECTOR_DATA_TOGGLE","Default","DefaultType","Popper.createPopper","ARROW_DOWN","ARROW_UP","generateId","unsafeSVG","styleMap","nothing","queryAsync","queryAssignedElements","id"],"mappings":";;;;;;EAAA;EACA;AACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAwCA;EACO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;EAC1D,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;EAC/H,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;EACjI,OAAO,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;EACpJ,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChE,CAAC;AA+PD;EACuB,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;EACvH,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC7B,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;EACnF;;EC9TA;EACA;EACA;EACA;EACA;EACA,MAAMA,GAAC,CAAC,MAAM,CAACC,GAAC,CAACD,GAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAGA,GAAC,CAAC,QAAQ,EAAEA,GAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,CAACE,GAAC,CAAC,MAAM,EAAE,CAACC,GAAC,CAAC,IAAI,OAAO,CAAC,MAAMC,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGF,GAAC,CAAC,MAAM,KAAK,CAAC,mEAAmE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAGD,GAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAACE,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,MAAME,GAAC,CAAC,CAAC,EAAE,IAAID,GAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAACF,GAAC,CAAC,CAACI,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,kEAAkE,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAIF,GAAC,CAAC,CAAC,CAAC,CAAC,CAACF,GAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACN,GAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAACQ,GAAC,CAACP,GAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAOI,GAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;ECJ/yC;EACA;EACA;EACA;EACA,GAAG,IAAIH,GAAC,CAAC,MAAMD,GAAC,CAAC,MAAM,CAACI,GAAC,CAACJ,GAAC,CAAC,YAAY,CAACQ,GAAC,CAACJ,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAACD,GAAC,CAACH,GAAC,CAAC,8BAA8B,CAACE,GAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAACM,GAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACC,GAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAACR,GAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAACO,GAAC,CAAC,CAACE,GAAC,CAAC,WAAW,CAAC,MAAMC,GAAC,SAAS,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAE,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,WAAW,kBAAkB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAACF,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,OAAO,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAACC,GAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,IAAI,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAACZ,GAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAOM,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAACR,GAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAACA,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAEO,GAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,IAAI,cAAc,EAAE,CAAC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAACG,GAAC,CAACD,GAAC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAACA,GAAC,CAAC,aAAa,CAAC,EAAE,CAACA,GAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAET,GAAC,EAAEA,GAAC,CAAC,CAAC,eAAe,CAACS,GAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAIX,GAAC,CAACD,GAAC,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC,GAAGC,GAAC,CAACA,GAAC,CAACD,GAAC,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;;ECL/hL;EACA;EACA;EACA;EACA;EACA,IAAID,GAAC,CAAM,MAACM,GAAC,CAAC,MAAM,CAACJ,GAAC,CAACI,GAAC,CAAC,YAAY,CAACL,GAAC,CAACC,GAAC,CAACA,GAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAACE,GAAC,CAAC,OAAO,CAACD,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACQ,GAAC,CAAC,GAAG,CAACR,GAAC,CAACM,GAAC,CAAC,CAAC,CAAC,EAAEE,GAAC,CAAC,CAAC,CAAC,CAACN,GAAC,CAAC,QAAQ,CAACQ,GAAC,CAAC,IAAIR,GAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAACO,GAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAACJ,GAAC,CAAC,KAAK,CAAC,OAAO,CAACM,GAAC,CAAC,CAAC,EAAEN,GAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAACE,GAAC,CAAC,aAAa,CAACK,GAAC,CAAC,qDAAqD,CAACC,GAAC,CAAC,MAAM,CAACC,GAAC,CAAC,IAAI,CAACC,GAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAER,GAAC,CAAC,kBAAkB,EAAEA,GAAC,CAAC,EAAE,EAAEA,GAAC,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAACS,GAAC,CAAC,IAAI,CAACC,GAAC,CAAC,IAAI,CAACC,GAAC,CAAC,oCAAoC,CAACC,GAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAACD,GAAC,CAAC,CAAC,CAAC,CAAQE,GAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAACC,GAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAACC,GAAC,CAAC,IAAI,OAAO,CAACC,GAAC,CAACtB,GAAC,CAAC,gBAAgB,CAACA,GAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAASuB,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG3B,GAAC,CAACA,GAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM4B,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAACd,GAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAGA,GAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAEI,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACH,GAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAACA,GAAC,CAAC,CAAC,CAAC,GAAGA,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAACH,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACG,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAACE,GAAC,CAACD,GAAC,CAAC,CAAC,CAAC,GAAGC,GAAC,EAAE,CAAC,GAAGD,GAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,GAAGF,GAAC,EAAE,CAAC,GAAGC,GAAC,CAAC,CAAC,CAACF,GAAC,EAAE,CAAC,CAACG,GAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAGA,GAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAGH,GAAC,CAAC,CAAC,CAACN,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAACL,GAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,EAAE,CAAC,CAACA,GAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,OAAM,CAACyB,GAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAME,GAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAACC,GAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAACH,GAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAACA,GAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAACvB,GAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAACD,GAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAACC,GAAC,CAAC,CAAC,KAAK,CAACD,GAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC4B,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAACC,GAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,GAAGb,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAClB,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAACD,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAACW,GAAC,EAAE,CAAC,CAACc,GAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAACd,GAAC,EAAE,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAGF,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAACR,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,GAAE,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAACE,GAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASE,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGiB,GAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAACZ,GAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAACL,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM4B,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,UAAU,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC9B,GAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACsB,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAACA,GAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAIS,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAIC,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAACV,GAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,OAAOA,GAAC,CAAC,WAAW,CAACtB,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,MAAM+B,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAACX,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAClB,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGa,GAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAGA,GAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAACA,GAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAGD,GAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAACV,GAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAGW,GAAC,EAAEb,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAACP,GAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAACyB,GAAC,CAAC,aAAa,CAACF,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,IAAIO,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAACT,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAEA,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAII,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACtB,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI4B,GAAC,CAAC,IAAI,CAAC,CAAC,CAACvB,GAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAACA,GAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAMqB,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAACT,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAACA,IAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAClB,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAGY,GAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAACjB,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGiB,GAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAACZ,GAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGa,GAAC,CAAC,CAAC,CAACA,GAAC,CAAC,CAAC,GAAGA,GAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,GAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,MAAMM,GAAC,SAASG,GAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAGT,GAAC,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,MAAMa,GAAC,CAACpC,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM8B,GAAC,SAASE,GAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAGT,GAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAACa,GAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,MAAML,GAAC,SAASC,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC3B,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAACkB,GAAC,IAAID,GAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGC,GAAC,EAAE,CAAC,GAAGA,GAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGA,GAAC,GAAG,CAAC,GAAGA,GAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,MAAMY,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC9B,GAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAM,MAA6DgC,GAAC,CAACjC,GAAC,CAAC,uBAAuB,IAAI,EAAEiC,GAAC,EAAEA,GAAC,CAACT,GAAC,CAACM,GAAC,CAAC,CAAC,CAAC,IAAI,IAAIpC,GAAC,CAACM,GAAC,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAGN,GAAC,CAACA,GAAC,CAACM,GAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;;ECL58O;EACA;EACA;EACA;EACA;EACA,IAAIN,GAAC,CAAM,MAACM,GAAC,CAAC,MAAM,CAACJ,GAAC,CAACI,GAAC,CAAC,YAAY,CAACL,GAAC,CAACC,GAAC,CAACA,GAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAACE,GAAC,CAAC,OAAO,CAACD,GAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACQ,GAAC,CAAC,GAAG,CAACR,GAAC,CAACM,GAAC,CAAC,CAAC,CAAC,EAAEE,GAAC,CAAC,CAAC,CAAC,CAACN,GAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAIA,GAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAACG,GAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAACE,GAAC,CAAC,aAAa,CAACK,GAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAEL,GAAC,CAAC,kBAAkB,EAAEA,GAAC,CAAC,EAAE,EAAEA,GAAC,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAACL,GAAC,CAAC,gBAAgB,CAACA,GAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAGJ,GAAC,CAACA,GAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAACc,GAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAGA,GAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAACA,GAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAGA,GAAC,CAAC,CAAC,CAACN,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAACL,GAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAACD,GAAC,CAAC,CAAC,EAAE,CAAC,CAACA,GAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAACC,GAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAACD,GAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAACC,GAAC,CAAC,CAAC,KAAK,CAACD,GAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAACD,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,GAAGS,GAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAACR,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEA,GAAC,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,GAAE,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAACE,GAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,OAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,UAAU,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAACA,GAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAACA,GAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACG,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAACN,GAAC,CAACA,GAAC,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAM,MAA6D,CAAC,CAACI,GAAC,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAIN,GAAC,CAACM,GAAC,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAGN,GAAC,CAACA,GAAC,CAACM,GAAC,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECJnuP;EACA;EACA;EACA;EACA,GAAG,IAAIK,GAAC,CAACP,GAAC,CAAW,MAAMF,GAAC,SAASF,GAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAACC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,EAAE,CAAC,OAAOK,CAAC,CAAC,CAACJ,GAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAACA,GAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAIS,GAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,GAAGA,GAAC,EAAEA,GAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAACT,GAAC,CAAC,CAAC,CAAC,MAAMC,GAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,IAAI,EAAEA,GAAC,EAAEA,GAAC,CAAC,CAAC,UAAU,CAACD,GAAC,CAAC,CAAC,CAAsD,CAAC,IAAI,IAAIE,GAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,GAAGA,GAAC,CAACA,GAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;;ECL5gC;EACA;EACA;EACA;EACA;EACA,MAAME,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAACL,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAASE,GAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAACF,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECJva;EACA;EACA;EACA;EACA,GAAG,SAASN,GAAC,CAAC,CAAC,CAAC,CAAC,OAAOK,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;ECL1C;EACA;EACA;EACA;EACA;AACK,QAAmHD,GAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC;;ECJtc;EACA;EACA;EACA;EACA,GAAG,SAASE,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOF,GAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;ECJza;EACA;EACA;EACA;EACA;EACA,SAASH,GAAC,CAAC,CAAC,CAAC,CAAC,OAAOI,GAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECL9L;EACA;EACA;EACA;EACA,GAAG,IAAIF,GAAC,CAAC,MAAMF,GAAC,CAAC,IAAI,GAAG,IAAI,IAAIE,GAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,GAAGA,GAAC,CAAC,KAAK,CAAC,CAACA,GAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,SAASQ,GAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAOP,GAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAACH,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECJxf;EACA;EACA;EACA;EACA,GAAG,SAASG,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAACJ,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECLnX;EACA;EACA;EACA;EACA;EACA,MAAMD,GAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAMK,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;;ECJ3S;EACA;EACA;EACA;EACA,GAAG,MAAMF,GAAC,CAACE,GAAC,CAAC,cAAcJ,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAGG,GAAC,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,oGAAoG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAOL,GAAC,CAAC,CAAC,CAAC;;ECJj2B;EACA;EACA;EACA;EACA,GAAG,OAAO,CAAC,IAAI,CAAC,8PAA8P,CAAC;;;;ECF/Q;;;;;;;EAOG;EAEH,MAAqB,WAAY,SAAQwC,GAAU,CAAA;;MAGjD,IAAI,CAAC,IAAY,EAAE,OAAyB,EAAA;UAC1C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,EAChC,MAAA,CAAA,MAAA,CAAA,EAAA,OAAO,EAAE,IAAI,EACb,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,EAAE,EAAA,EACP,OAAO,CAAA,CACV,CAAC;EAEH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EAE1B,QAAA,OAAO,KAAK,CAAC;OACd;;EAdM,WAAM,CAAA,MAAA,GAAGC,UAAM;;ECPxB;;;EAGG;EAEG,MAAO,aAAc,SAAQ,WAAW,CAAA;EAA9C,IAAA,WAAA,GAAA;;;UAI8C,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;OAsEnE;;EA5DC,IAAA,IAAI,KAAK,GAAA;UACP,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAC1C,CAAC,IAAiB,KAAK,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CACpC,CAAC;OAC1B;MAED,YAAY,GAAA;UACV,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAwB,CAAC;UACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;EAC5B,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;EACpB,gBAAA,QAAQ,KAAK;EACX,oBAAA,KAAK,CAAC;EACJ,wBAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;0BACvC,MAAM;EAER,oBAAA,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;EACnB,wBAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;0BACtC,MAAM;EAER,oBAAA;EACE,wBAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;EACxC,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;MAED,MAAM,QAAQ,CAAC,KAAY,EAAA;EACzB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2B,CAAC;;;EAGjD,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,gBAAgB,EAAE;;cAEhD,OAAO;EACR,SAAA;UACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAwB,CAAC;EAErD,QAAA,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;cAE1B,OAAO;EACR,SAAA;EACD,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;cACnB,IAAI,IAAI,KAAK,MAAM,EAAE;;EAEnB,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EACnB,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;MAED,MAAM,GAAA;EACJ,QAAA,OAAOC,CAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,gBAAgB,EAAE,IAAI;YACtB,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,gBAAgB;SACpD,CAAC,CAAA;;AAEa,qBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;KAE/B,CAAC;OACH;;EAxEM,aAAA,CAAA,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAGO,UAAA,CAAA;MAA3CC,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAuB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGrC,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA0B,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI9C,UAAA,CAAA;EADP,IAAAC,GAAkB,EAAE;EACgC,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;ECtBvD;EACA;EACA;WACgB,SAAS,CAAC,EAAe,EAAE,SAAqB,EAAE,OAAkC,EAAA;EAClG,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;UAC3B,IAAI,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,QAAQ,MAAK,QAAQ,EAAE;EAClC,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;EAC7D,SAAA;EAED,QAAA,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACjC,OAAO,CAAA,EAAA,EACV,QAAQ,EAAE,oBAAoB,EAAE,GAAG,CAAC,GAAG,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ,IACxD,CAAC;EAEH,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAC9D,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAChE,KAAC,CAAC,CAAC;EACL,CAAC;EAmBD;EACA;EACA;WACgB,oBAAoB,GAAA;MAClC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;MACpE,OAAO,KAAK,CAAC,OAAO,CAAC;EACvB,CAAC;EAED;EACA;EACgB,SAAA,uBAAuB,CAAC,SAAqB,EAAE,gBAAwB,EAAA;EACrF,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,KAAI,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC5B,QAAQ,CAAA,EAAA,EACX,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,MAAM,GAAG,CAAA,EAAG,gBAAgB,CAAI,EAAA,CAAA,GAAG,QAAQ,CAAC,MAAM,EAAA,CAAA,CAC9E,CAAC,CAAC;EACN,CAAC;EAED;EACA;EACA;EACM,SAAU,cAAc,CAAC,EAAe,EAAA;EAC5C,IAAA,OAAO,OAAO,CAAC,GAAG,CAChB,EAAE,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,IAAG;EACjC,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;EAC3B,YAAA,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;EAE5D,YAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EACjF,YAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,oBAAoB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;cACjF,SAAS,CAAC,MAAM,EAAE,CAAC;EACrB,SAAC,CAAC,CAAC;OACJ,CAAC,CACH,CAAC;EACJ;;EClDA,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAA4B,CAAC;EACrE,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAAgC,CAAC;EAE5E,SAAS,eAAe,CAAC,SAAkC,EAAA;EACzD,IAAA,OAAO,SAAS,KAAT,IAAA,IAAA,SAAS,cAAT,SAAS,GAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;EAClE,CAAC;EAED;EACA;EACA;EACA;EACA,SAAS,mBAAmB,CAAC,SAA2B,EAAA;EACtD,IAAA,OAAO,SAAS,CAAC;EACnB,CAAC;EAED;EACA;EACA;EACgB,SAAA,YAAY,CAAC,EAAW,EAAE,aAAqB,EAAA;MAC7D,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;;MAGxD,IAAI,eAAe,aAAf,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAf,eAAe,CAAG,aAAa,CAAC,EAAE;EACpC,QAAA,OAAO,mBAAmB,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;EAC5D,KAAA;;MAGD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;EACrE,IAAA,IAAI,gBAAgB,EAAE;EACpB,QAAA,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;EAC9C,KAAA;;MAGD,OAAO;EACL,QAAA,SAAS,EAAE,EAAE;EACb,QAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;OACzB,CAAC;EACJ,CAAC;EASD;EACA;EACA;EACA;EACgB,SAAA,mBAAmB,CAAC,aAAqB,EAAE,SAAkC,EAAA;MAC3F,wBAAwB,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;EAC1E;;ECtEA;EACgB,SAAA,YAAY,CAAC,EAAe,EAAE,SAAiB,EAAA;EAC7D,IAAA,OAAO,IAAI,OAAO,CAAO,OAAO,IAAG;UACjC,SAAS,IAAI,CAAC,KAAY,EAAA;EACxB,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;EACvB,gBAAA,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EACxC,gBAAA,OAAO,EAAE,CAAC;EACX,aAAA;WACF;EAED,QAAA,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EACvC,KAAC,CAAC,CAAC;EACL;;ECZA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;MAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;EACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;EAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;UACzB,IAAI,QAAQ,IAAI,KAAK,EAAE;cACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;EAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;EACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;sBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;EAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;sBAEnC,IAAI,QAAQ,KAAK,QAAQ,EAAE;0BACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;8BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;EACzE,yBAAA;EACF,qBAAA;EACF,iBAAA;EAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;EAClC,aAAC,CAAC;EACH,SAAA;EACH,KAAC,CAAC;EACJ;;;;ECnDA;;;;;;;;;;;;;;;;;;;EAmBG;EACG,MAAO,iBAAkB,SAAQ,WAAW,CAAA;EAAlD,IAAA,WAAA,GAAA;;;UAU8C,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;OAgI1D;MA3HC,YAAY,GAAA;UACV,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC;OACnD;MAEO,kBAAkB,GAAA;UACxB,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,SAAA;EAED,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;OACrB;EAEO,IAAA,oBAAoB,CAAC,KAAoB,EAAA;UAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;cAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;cAEvB,IAAI,IAAI,CAAC,IAAI,EAAE;kBACb,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,aAAA;EAAM,iBAAA;kBACL,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,aAAA;EACF,SAAA;UAED,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;cACxD,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,SAAA;UAED,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,EAAE;cAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,IAAI,CAAC,IAAI,EAAE,CAAC;EACb,SAAA;OACF;MAGK,MAAA,gBAAgB,GAAA;UACpB,IAAI,IAAI,CAAC,IAAI,EAAE;;EAEb,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;cAC9D,IAAI,QAAQ,CAAC,gBAAgB,EAAE;EAC7B,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;kBAClB,OAAO;EACR,aAAA;EAED,YAAA,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAChC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EAEzB,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;EACpE,YAAA,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;cAChG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;EAEhC,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA;;EAEL,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;cAC5D,IAAI,MAAM,CAAC,gBAAgB,EAAE;EAC3B,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;kBACjB,OAAO;EACR,aAAA;EAED,YAAA,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAEhC,YAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;EACpE,YAAA,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;EAChG,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;cACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;EAEhC,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;OACF;;EAGM,IAAA,MAAM,IAAI,GAAA;UACf,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,OAAO;EACR,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;;EAGM,IAAA,MAAM,IAAI,GAAA;EACf,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;cACd,OAAO;EACR,SAAA;EACD,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EAClB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;MAED,MAAM,GAAA;EACJ,QAAA,OAAOH,CAAI,CAAA,CAAA;;;AAGC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,qBAAqB,EAAE,IAAI;YAC3B,CAAC,CAAA,EAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,oBAAoB;SAC5D,CAAC,CAAA;;;AAGQ,gBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI;SACtB,CAAC,CAAA;;;0BAGc,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;;;AAGnC,iBAAA,EAAA,IAAI,CAAC,kBAAkB,CAAA;AACrB,mBAAA,EAAA,IAAI,CAAC,oBAAoB,CAAA;;;;;;;;KAQzC,CAAC;OACH;;EAxIM,iBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAEnB,UAAA,CAAA;MAAzBK,GAAK,CAAC,iBAAiB,CAAC;EAAwB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAErB,UAAA,CAAA;MAA3BA,GAAK,CAAC,mBAAmB,CAAC;EAAqB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEtB,UAAA,CAAA;MAAzBA,GAAK,CAAC,iBAAiB,CAAC;EAAmB,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGA,UAAA,CAAA;MAA3CF,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG5B,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA8B,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAwCpD,UAAA,CAAA;MADL,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAmC7C,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;EAqDH,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;EAC7B,QAAA,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;EACjC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE;EAClD,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;EAChC,QAAA,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;EAC9B,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE;EAClD,CAAA,CAAC;;ECxLF,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAE,CAAC;AACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE;EACtD,EAAE,IAAI,KAAK,GAAG,UAAU,CAAC;EACzB,EAAE,OAAO,KAAK,EAAE;EAChB,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;EACjD,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EACzC,GAAG;EACH,EAAE,OAAO,KAAK,CAAC;EACf,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACO,SAAS,WAAW,CAAC,KAAK,EAAE;EACnC,EAAE,OAAO,UAAU,IAAI;EACvB,IAAI,IAAI,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;EACtD,MAAM,OAAO,UAAU,CAAC;EACxB,KAAK;EACL,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;EACzC,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;EAC9C,IAAI,OAAO,UAAU,CAAC;EACtB,GAAG,CAAC;EACJ;;EC9BA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA,MAAM,sBAAsB,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC;AACpE;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,iCAAiC,GAAG,UAAU;EACpD;EACA,EAAE,MAAM,kBAAkB,SAAS,UAAU,CAAC;EAC9C;EACA;EACA;EACA;EACA;EACA,IAAI,WAAW,cAAc,GAAG;EAChC,MAAM,OAAO,EAAE,CAAC;EAChB,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,WAAW,iBAAiB,GAAG;EACnC,MAAM,OAAO,IAAI,CAAC,mBAAmB,CAAC;EACtC,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,WAAW,iBAAiB,CAAC,KAAK,EAAE;EACxC,MAAM,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;EACvC,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,WAAW,aAAa,GAAG;EAC/B,MAAM,OAAO,IAAI,CAAC,eAAe,CAAC;EAClC,KAAK;AACL;EACA,IAAI,WAAW,aAAa,CAAC,MAAM,EAAE;EACrC,MAAM,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;EACpC,KAAK;AACL;EACA;EACA;EACA,IAAI,WAAW,CAAC,GAAG,KAAK,EAAE;EAC1B,MAAM,KAAK,EAAE,CAAC;EACd;EACA,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;EAC3D,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,QAAQ,GAAG;EACnB;EACA,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;EACzC,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE;EAC3B;EACA,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC;EAC7C,KAAK;AACL;EACA,IAAI,gBAAgB,GAAG;EACvB,MAAM,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE;EAChE,kDAAkD,IAAI,CAAC,WAAW,CAAC,CAAC;AACpE;EACA,MAAM,MAAM,oBAAoB;EAChC,QAAQ,CAAC,IAAI,CAAC,QAAQ;EACtB;EACA,SAAS,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU;EACtD,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,IAAI,oBAAoB,EAAE;EAChC,QAAQ,IAAI,CAAC,QAAQ,GAAG,sBAAsB,GAAG,IAAI,qBAAqB,EAAE,GAAG,cAAc,CAAC;EAC9F,QAAQ,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;EACvE,UAAU,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EACnD,SAAS;EACT,OAAO;AACP;EACA;EACA,MAAM,MAAM,OAAO,GAAG;EACtB,QAAQ,IAAI,EAAE,MAAM;EACpB,QAAQ,GAAG,iBAAiB;EAC5B,QAAQ,cAAc,EAAE,IAAI,CAAC,QAAQ;EACrC,OAAO,CAAC;AACR;EACA,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;EACrD,MAAM,IAAI,sBAAsB,EAAE;EAClC,QAAQ,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC;EACvD,OAAO;AACP;EACA,MAAM,IAAI,WAAW,YAAY,UAAU,EAAE;EAC7C,QAAQG,GAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EAChD,QAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,WAAW,CAAC,UAAU,CAAC;EACpG,OAAO;AACP;EACA,MAAM,OAAO,WAAW,CAAC;EACzB,KAAK;AACL;EACA,IAAI,mBAAmB,CAAC,OAAO,EAAE;EACjC,MAAM,MAAM,IAAI,GAAG,sBAAsB,GAAG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;EACvE;EACA,MAAM,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;EACzC,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE;EACxC,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACzD,MAAM,IAAI,eAAe,IAAI,sBAAsB,KAAK,KAAK,IAAI,eAAe,KAAK,KAAK,EAAE;EAC5F;EACA,QAAQ,OAAO,CAAC,KAAK;EACrB,UAAU;EACV,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,gEAAgE,CAAC;EAC3H,YAAY,qDAAqD;EACjE,YAAY,wFAAwF;EACpG,YAAY,mIAAmI;EAC/I,YAAY,gKAAgK;EAC5K,YAAY,sFAAsF;EAClG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;EACtB,SAAS,CAAC;EACV,OAAO;EACP,MAAM,IAAI,CAAC,eAAe,EAAE;EAC5B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EACpD,OAAO;EACP,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EACxC,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,gBAAgB,CAAC,OAAO,EAAE;EAC9B;EACA,MAAM,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;EACxD,KAAK;AACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,gBAAgB,CAAC,OAAO,EAAE;EACrC;EACA,MAAM,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC;EAChE,KAAK;EACL,GAAG,CAAC;AACJ;EACO,MAAM,mBAAmB,GAAG,WAAW,CAAC,iCAAiC,CAAC;;EC7LjF;EACA;EACA;EACA;EACA,GAAO,MAAsQ9C,GAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAse,CAAC,CAAC,EAAE,CAACC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;;ECJlyB;EACA;EACA;EACA;EACA,GAAG,MAAMS,GAAC,CAACL,GAAC,CAAC,cAAcN,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAGG,GAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,GAAGA,GAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,GAAGA,GAAC,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAACC,GAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGC,GAAC,EAAE,CAAC,GAAGJ,GAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAGE,GAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOE,GAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAGF,GAAC,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAOE,GAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAGF,GAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAOE,GAAC,CAAC,OAAOH,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;ECJvjB;EACA;EACA;EACA;EACA,GAAG,MAAMA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAACE,GAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAACO,GAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,SAASR,GAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,EAAEC,GAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,SAASK,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAACP,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAGF,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACE,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKF,GAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,MAAMS,GAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAEV,GAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAACQ,GAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAACN,GAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,SAASH,GAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGE,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAACE,GAAC,CAAC,IAAI,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAGE,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE;;ECJ3uC;EACA;EACA;EACA;EACA,GAAG,MAAML,GAAC,CAAC,IAAI,IAAIG,GAAC,CAAC,MAAMA,GAAC,EAAE,MAAM,CAAC,CAAC,IAAI,OAAO,CAACD,GAAC,CAACD,GAAC,CAAC,cAAcF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAOM,GAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAACA,GAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;;ECJn0B;EACA;EACA;EACA;EACA,GAAQ,MAACL,GAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAACU,GAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIV,GAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAA6BK,GAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,+DAA+D,EAAE,CAAC,CAAC,oGAAoG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACL,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACU,GAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAACR,GAAC,CAAC,CAAC,CAACH,GAAC,CAAC;;ECAnuB,MAAO,WAAY,SAAQ,WAAW,CAAA;;EACnC,WAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;EAInC,UAAA,CAAA;EADC,IAAA4C,GAAQ,EAAE;EACoB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnB,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG3B,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAA4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;EChBhB,cAAA,EAAA,aAAa,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAA;MAC3D,OAAO,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,MAAA,EAAS,aAAa,CAAI,CAAA,EAAA,WAAW,EAAE,CAAC;EAC/F;;ECDA;EACA;EACA;EACA;EACA,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC5C,GAAC;;ECLzB;EAqBO,MAAM,YAAY,GACvB,CAAC,YAAY,GAAG,OAAO,KACvB,CAAC,KAAsB,EAAE,GAAW,KAAI;EACtC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,WAAqC,CAAC;EAEzD,IAAA,MAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;MACzE,IAAI,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAExC,IAAI,EACJ,GAAG,EACH,KAAK,EAAA;;UAEL,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;UACtD,MAAM,aAAa,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,EAAE,WAAW,EAAE,CAAC;UAC/G,IAAI,IAAI,KAAK,aAAa,EAAE;EAC1B,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAIgD,GAAgB,CAAC;cACxD,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,UAAU,GAAG,SAAS,GAAG,CAAA,EAAA,GAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,aAAa,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAAA,GAAgB,CAAC,aAAa,CAAC;cAE3G,MAAM,QAAQ,GAAY,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;EAC7D,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE;EACnC,gBAAA,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;EACtB,aAAA;EACF,SAAA;UACD,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;EACxD,KAAC,CAAC;EACJ,CAAC;;EC5CH,MAAM,uBAAuB,GAA4C,IAAI,OAAO,EAAE,CAAC;QAE1E,oBAAoB,CAAA;MAK/B,WAAY,CAAA,IAAsC,EAAE,OAA8C,EAAA;UAChG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;EACvC,QAAA,IAAI,CAAC,OAAO,GACV,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAE,CAAC,KAAuB,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACxD,IAAI,EAAE,CAAC,KAAuB,KAAK,KAAK,CAAC,IAAI,EAC7C,KAAK,EAAE,CAAC,KAAuB,KAAK,KAAK,CAAC,KAAK,EAC/C,YAAY,EAAE,CAAC,KAAuB,KAAK,KAAK,CAAC,YAAY,EAC7D,QAAQ,EAAE,CAAC,KAAuB,KAAK,KAAK,CAAC,QAAQ,EACrD,cAAc,EAAE,CAAC,KAAuB,KAAI;EAC1C,gBAAA,OAAO,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;eACnF,EACD,QAAQ,EAAE,CAAC,KAAuB,EAAE,KAAa,KAAI;EACnD,gBAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;eACrB,EAAA,EACE,OAAO,CACX,CAAC;UACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OAC9D;MAED,aAAa,GAAA;EACX,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UAEzC,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;cAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;cAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;;cAG1D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EAC3C,gBAAA,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;EACjE,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC5D,aAAA;EACF,SAAA;OACF;MAED,gBAAgB,GAAA;UACd,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;cAC/D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;cAC/D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;;cAG7D,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EAC1C,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClE,gBAAA,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3C,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;EACvB,SAAA;OACF;EAED,IAAA,cAAc,CAAC,KAAoB,EAAA;EACjC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAE5C,QAAA,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;EACzE,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACvB,gBAAA,KAAmB,CAAC,OAAO,CAAC,GAAG,IAAG;EACjC,oBAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAG,GAAiC,CAAC,QAAQ,EAAE,CAAC,CAAC;EAC7E,iBAAC,CAAC,CAAC;EACJ,aAAA;EAAM,iBAAA;EACL,gBAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAG,KAAmC,CAAC,QAAQ,EAAE,CAAC,CAAC;EAC9E,aAAA;EACF,SAAA;OACF;EAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;EAC3B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClD,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;UAEnD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;cACjF,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;EAClC,SAAA;OACF;MAED,eAAe,GAAA;UACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;OACxE;MAED,kBAAkB,GAAA;;;;;;;;;;;;;UAahB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;;;cAGtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAmB,GAAG,CAAC,CAAC;EAEnE,YAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;EAC9B,gBAAA,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE;EAChD,oBAAA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE;EAC7B,wBAAA,OAAO,KAAK,CAAC;EACd,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb;MAED,QAAQ,CAAC,IAAwB,EAAE,OAAuC,EAAA;UACxE,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EAChD,YAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;EACnB,YAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;EACnC,YAAA,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;EACzB,YAAA,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;EAC1B,YAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC;EACrC,YAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACjC,YAAA,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;;EAGnC,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;EAC1E,oBAAA,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;EAC9B,wBAAA,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;EACvD,qBAAA;EACH,iBAAC,CAAC,CAAC;EACJ,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;cACzB,MAAM,CAAC,KAAK,EAAE,CAAC;cACf,MAAM,CAAC,MAAM,EAAE,CAAC;EACjB,SAAA;OACF;;EAGD,IAAA,KAAK,CAAC,OAAuC,EAAA;EAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;OACjC;;EAGD,IAAA,MAAM,CAAC,OAAuC,EAAA;;;EAG5C,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;OAClC;EACF;;;;ECrJD;;;;;;EAMG;EACG,MAAO,YAAa,SAAQ,WAAW,CAAA;EAA7C,IAAA,WAAA,GAAA;;;EAKmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE;cACrE,KAAK,EAAE,CAAC,OAAqB,MAAM,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;cAC/E,YAAY,EAAE,CAAC,OAAqB,KAAK,OAAO,CAAC,cAAc;EAC/D,YAAA,QAAQ,EAAE,CAAC,OAAqB,EAAE,OAAgB,MAAM,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;EACnF,SAAA,CAAC,CAAC;;UAMwC,IAAS,CAAA,SAAA,GAAG,UAAU,CAAC;;UAMtB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAGhB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;UAOhE,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;UAGd,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;UAGd,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;EAGjB,QAAA,IAAA,CAAA,OAAO,GAAW,KAAK,CAAC,UAAU,CAAC,CAAC;OAsF7C;;MAnFQ,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;OACpB;;EAEM,IAAA,KAAK,CAAC,OAAsB,EAAA;EACjC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;OAC3B;;MAGM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;OACnB;;MAEM,cAAc,GAAA;EACnB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE;cAChC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;EAC5C,SAAA;EACD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;OACpC;MAED,YAAY,GAAA;EACV,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;UAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;UAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;OACpF;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;EAChC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;UACrF,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE;cACzC,IAAI,CAAC,KAAK,EAAE,CAAC;EACd,SAAA;OACF;EAED,IAAA,aAAa,CAAC,CAAQ,EAAA;UACpB,CAAC,CAAC,cAAc,EAAE,CAAC;EACnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;MAGD,oBAAoB,GAAA;;UAElB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UACpC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;OAC5C;MAGD,iBAAiB,GAAA;UACf,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;UAC3C,IAAI,IAAI,CAAC,QAAQ;cAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;OAC5D;MAED,MAAM,GAAA;EACJ,QAAA,OAAON,CAAI,CAAA,CAAA;;;AAGG,gBAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;AAC9C,YAAA,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;SAC3C,CAAC,CAAA;;AAEG,aAAA,EAAA,IAAI,CAAC,OAAO,CAAA;yBACF,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACvC,eAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,gBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClB,mBAAA,EAAAC,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjB,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;0BACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;yBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACpC,kBAAA,EAAA,IAAI,CAAC,YAAY,CAAA;AAChB,mBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;qBAClB,CAAC,CAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;;sBAElC,IAAI,CAAC,OAAO,CAAgB,aAAA,EAAAD,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;;;AAGjE,QAAA,EAAA,IAAI,CAAC,WAAW;cACdP,CAAI,CAAA,CAAY,SAAA,EAAA,IAAI,CAAC,OAAO,CAAsC,mCAAA,EAAA,IAAI,CAAC,eAAe,CAAQ,MAAA,CAAA;AAChG,cAAE,EAAE,CAAA;;KAET,CAAC;OACH;;EAlIM,YAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAEZ,UAAA,CAAA;MAAhCK,GAAK,CAAC,wBAAwB,CAAC;EAAyB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAS5B,UAAA,CAAA;EAA5B,IAAAF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAwB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGtD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGkB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGrB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA0B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIpE,UAAA,CAAA;MADC,YAAY,CAAC,SAAS,CAAC;EACD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGd,UAAA,CAAA;EAAR,IAAAO,GAAK,EAAE;EAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGd,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EA6CzB,UAAA,CAAA;MADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAKjD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,SAAS,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAIhD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;EC5GH;;;;;;;EAOG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;EAEE;;EAEG;UACyC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAMhB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGlB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;EAElD,QAAA,IAAA,CAAA,OAAO,GAAW,KAAK,CAAC,OAAO,CAAC,CAAC;OAyE1C;MAvEC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;UAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;MAGD,mBAAmB,GAAA;EACjB,QAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;EACnE,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;OAC1D;MAGD,oBAAoB,GAAA;EAClB,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;OACtE;MAEO,UAAU,GAAA;EAChB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OACxB;MAEO,WAAW,GAAA;EACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;EAClB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;EACrB,SAAA;OACF;MAEO,WAAW,GAAA;EACjB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACzB;MAEO,iBAAiB,GAAA;EACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;EACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;EACzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;OAC1D;MAEO,oBAAoB,GAAA;EAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACnC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;EACpC,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;OACtE;MAED,MAAM,GAAA;EACJ,QAAA,OAAOT,CAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI,CAAC,QAAQ;SACnC,CAAC,CAAA;;;AAGQ,gBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAA;;AAEG,aAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpB,gBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClB,mBAAA,EAAAC,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACjB,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;0BACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;yBACjC,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACrC,iBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;;;sBAGbD,CAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAgB,aAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;;;;KAIjF,CAAC;OACH;;EA1FM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAER,UAAM,CAA9B,CAAgC;EAID,UAAA,CAAA;MAA3CG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGkB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGlB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAW1D,UAAA,CAAA;MADC,KAAK,CAAC,SAAS,CAAC;EAIhB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAGjD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA;;;;ECxCH;;;;;;;;;;;;;;;EAeG;QACU,cAAe,SAAQ,mBAAmB,CAAC,WAAW,CAAC,CAAA;EAApE,IAAA,WAAA,GAAA;;;UASE,IAAQ,CAAA,QAAA,GAAkCQ,GAAS,EAAE,CAAC;;UAMV,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAGjB,IAAI,CAAA,IAAA,GAAgB,UAAU,CAAC;;UAI1E,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;EAYP,QAAA,IAAA,CAAA,OAAO,GAAW,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;OAsEzD;EAxGC,IAAA,WAAW,cAAc,GAAA;UACvB,OAAO;EACL,YAAA,eAAe,EAAE,YAAY;EAC7B,YAAA,YAAY,EAAE,SAAS;WACxB,CAAC;OACH;;MAoBM,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;OAC7B;;EAED,IAAA,MAAM,iBAAiB,GAAA;EACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;EAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;OAC1B;MAKK,MAAA,wBAAwB,GAAA;EAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;OAC5B;MAEK,MAAA,oBAAoB,GAAA;EACxB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;OAC9B;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;EAChC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;UACrF,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE;cACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;EAC1B,SAAA;OACF;MAED,MAAM,GAAA;UACJ,MAAM,QAAQ,GAAGV,GAAI,CAAA,CAAA;AACjB,MAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACR,gBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACpB,SAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACR,aAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACpB,eAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AACpB,aAAA,EAAAH,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACd,eAAA,EAAAA,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACd,mBAAA,EAAA,CAAC,CAAc,MAAM,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;sBACpD,CAAC;UAEnB,MAAM,KAAK,GAAGR,GAAI,CAAA,CAAA;AACd,MAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACR,gBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACpB,SAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACR,aAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACpB,eAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AACpB,aAAA,EAAAH,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACd,eAAA,EAAAA,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;mBAChB,CAAC;EAEhB,QAAA,OAAOR,GAAI,CAAA,CAAA;;mBAEI,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;AAC5B,eAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACpB,iBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;;;AAG3B,QAAA,EAAAC,GAAQ,CAAC;YACT,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS;YAC1C,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;YACpC,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;AAChD,YAAA,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM;SAC3B,CAAC,CAAA;;;;;;;;;;sCAU4B,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAA;;;;;;KAM5E,CAAC;OACH;;EAxGM,cAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAUhB,UAAA,CAAA;EAA5B,IAAAG,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAe,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEE,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI1E,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EAC5B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAeT,UAAA,CAAA;MADL,KAAK,CAAC,SAAS,CAAC;EAGhB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,IAAA,CAAA,CAAA;EAEK,UAAA,CAAA;MADL,KAAK,CAAC,UAAU,CAAC;EAGjB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA;;;;EClEH;;;;;;;;;;EAUG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;;UAI8C,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;;UAGb,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;UAGrB,IAAO,CAAA,OAAA,GAAiB,SAAS,CAAC;OAuC9E;;MAjCQ,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;OACnB;;MAGD,gBAAgB,GAAA;UACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OAC7D;MACD,MAAM,GAAA;EACJ,QAAA,OAAOF,GAAI,CAAA,CAAA;;AAEE,eAAA,EAAAC,GAAQ,CAAC;AAChB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;AACvC,YAAA,CAAC,CAAmB,iBAAA,CAAA,GAAG,IAAI,CAAC,WAAW;YACvC,CAAC,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY;AAC3C,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAA;;sBAEY,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;;;;AAIxC,QAAA,EAAA,IAAI,CAAC,WAAW;AAChB,cAAED,GAAI,CAAA,wEAAwE,IAAI,CAAC,KAAK,CAAY,UAAA,CAAA;AACpG,cAAE,IAAI,CAAA;;KAEX,CAAC;OACH;;EA/CM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAGD,UAAA,CAAA;MAA3CG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGb,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGrB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGlC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAQhE,UAAA,CAAA;MADC,KAAK,CAAC,MAAM,CAAC;EAGb,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;;ECvCH;;;;EAIG;EACG,MAAO,gBAAiB,SAAQ,WAAW,CAAA;EAAjD,IAAA,WAAA,GAAA;;;UAI6C,IAAS,CAAA,SAAA,GAA4C,IAAI,CAAC;OAStG;MAPC,MAAM,GAAA;EACJ,QAAA,OAAOF,GAAI,CAAA,CAAA;AACK,kBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;;;KAG7B,CAAC;OACH;;EAXM,gBAAA,CAAA,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAGM,UAAA,CAAA;MAA1CE,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA2D,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;ECPvG;;;;;EAKG;EACG,MAAO,aAAc,SAAQ,WAAW,CAAA;MAO5C,MAAM,GAAA;EACJ,QAAA,OAAOF,GAAI,CAAA,CAAA;mCACoBO,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAW,QAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACnF,CAAC;OACH;;EAVM,aAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAER,UAAM,CAAC,CAAC;EAEF,UAAA,CAAA;MAA1CG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE5C,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAiD,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;;;ECR9D;;;EAGG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;;UAI+B,IAAO,CAAA,OAAA,GAAiB,SAAS,CAAC;;UAEnB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAEhB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;OAsBjE;MAnBC,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;;AAGH,UAAA,EAAAC,GAAQ,CAAC;AACX,YAAA,YAAY,EAAE,IAAI;YAClB,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;YACpC,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,CAAC,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY;SAC5C,CAAC,CAAA;;;;;;;KAOL,CAAC;OACH;;EA5BM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAGhB,UAAA,CAAA;EAA5B,IAAAG,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEnB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAErB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;ECflE;;;;;;;EAOG;EACG,MAAO,cAAe,SAAQ,WAAW,CAAA;EAA/C,IAAA,WAAA,GAAA;;;UAG8B,IAAS,CAAA,SAAA,GAAG,YAAY,CAAC;OA2DtD;;MApDS,YAAY,GAAA;EAClB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAgB,CAAC;;UAG3F,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;UACvD,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;EACnF,QAAA,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;EACvC,QAAA,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;EAEzB,QAAA,OAAO,KAAK,CAAC;OACd;MAEO,gBAAgB,GAAA;EACtB,QAAA,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAC5E,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,sBAAsB,CACtC,CAAC;UAE1B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;;cAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;cAC3D,IAAI,SAAS,KAAK,IAAI,EAAE;;kBAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;EAClC,aAAA;EAAM,iBAAA,IAAI,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;;kBAEjD,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;EAC5C,aAAA;EAAM,iBAAA,CAEN;;EAID,YAAA,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;EAC9B,gBAAA,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;EAC3C,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;EACtC,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;MAED,MAAM,GAAA;EACJ,QAAA,OAAOF,GAAI,CAAA,CAAA;AACS,sBAAA,EAAAO,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;;AAEnB,4BAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;;;;KAM9C,CAAC;OACH;;EA5DM,cAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAER,UAAM,CAA9B,CAAgC;EAEjB,UAAA,CAAA;EAA3B,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAA0B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEtC,UAAA,CAAA;MAAdE,GAAK,CAAC,MAAM,CAAC;EAA8B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEX,UAAA,CAAA;MAAhCA,GAAK,CAAC,wBAAwB,CAAC;EAAgC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;;ECflE;;;;;;;;EAQG;EACG,MAAO,kBAAmB,SAAQ,WAAW,CAAA;EAAnD,IAAA,WAAA,GAAA;;;UAQc,IAAG,CAAA,GAAA,GAAG,qBAAqB,CAAC;OA2BzC;MAzBC,MAAM,GAAA;EACJ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;EACxC,QAAA,OAAOJ,CAAI,CAAA,CAAA;;;AAGC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,CAAC,MAAM;SAChB,CAAC,CAAA;;UAEA,MAAM;cACJD,CAAI,CAAA,CAAA;;;AAGQ,sBAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACX,oBAAA,EAAAO,CAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;AAC1C,uBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;;;AAGlC,YAAA,CAAA;cACDP,CAAI,CAAA,CAAyC,uCAAA,CAAA,CAAA;;;KAGpD,CAAC;OACH;;EAjCM,kBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAEF,UAAA,CAAA;MAA1CG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE5C,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAiD,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAA6B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA;;;;ECG1C;;;;;;;EAOG;EACG,MAAO,UAAW,SAAQ,WAAW,CAAA;EAA3C,IAAA,WAAA,GAAA;;;EAMmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE;EACrE,YAAA,IAAI,EAAE,CAAC,KAAuB,KAAI;;;EAGhC,gBAAA,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;EAC9B,oBAAA,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAA2B,CAAC;sBACzD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;EAC1C,oBAAA,OAAO,GAAG,CAAC,cAAc,CAAC,MAAM,CAAoB,CAAC;EACtD,iBAAA;;EAGD,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;eAC9B;EACF,SAAA,CAAC,CAAC;;UAG0B,IAAO,CAAA,OAAA,GAAkB,SAAS,CAAC;;UASpB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;UAGf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjD,IAAI,CAAA,IAAA,GAAkC,QAAQ,CAAC;;UAiE3D,IAAY,CAAA,YAAA,GAAG,MAAK;EAClB,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;EAC1B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;EACxC,aAAA;EACD,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;EACzB,gBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EACvC,aAAA;EACH,SAAC,CAAC;OA+BH;;EAxEQ,IAAA,KAAK,CAAC,OAAsB,EAAA;EACjC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;OAC5B;;MAGM,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;OACrB;;MAGM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;OACpB;MAED,UAAU,GAAA;EACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OACxB;MAED,WAAW,GAAA;EACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACzB;EAED,IAAA,WAAW,CAAC,KAAiB,EAAA;UAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,eAAe,EAAE,CAAC;cACxB,OAAO;EACR,SAAA;UAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;UACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;OACnD;MAYD,MAAM,GAAA;EACJ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;EACzB,QAAA,MAAM,GAAG,GAAG,MAAM,GAAGU,GAAO,CAAA,CAAA,CAAA,CAAG,GAAGA,GAAO,CAAA,QAAQ,CAAC;EAClD,QAAA,OAAOZ,GAAI,CAAA,CAAA;SACN,GAAG,CAAA;AACc,wBAAA,EAAAC,GAAQ,CAAC;AACzB,YAAA,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,QAAQ;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;YACrC,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;YAC/B,CAAC,CAAA,EAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa;SAC9C,CAAC,CAAA;AACU,kBAAA,EAAAM,CAAS,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClD,aAAA,EAAAA,CAAS,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;AACzC,aAAA,EAAAA,CAAS,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;AACvC,eAAA,EAAAA,CAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AACzC,iBAAA,EAAAA,CAAS,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;AAClD,YAAA,EAAAA,CAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,qBAAqB,GAAG,SAAS,CAAC,CAAA;eAChFA,CAAS,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAA;wBAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;mBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;AAC5B,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AAChB,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,cAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;;UAGrB,GAAG,CAAA;KACR,CAAC;OACH;;EA1IM,UAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAER,UAAM,CAA9B,CAAgC;EAEtB,UAAA,CAAA;MAAtBK,GAAK,CAAC,MAAM,CAAC;EAAqD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAmBtC,UAAA,CAAA;EAA5B,IAAAF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAoC,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnC,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAuB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGtB,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGH,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGf,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAgD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG/C,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAc,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGb,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAiD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG/B,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMlC,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAc,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGc,UAAA,CAAA;EAAtC,IAAAA,GAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;EAAoB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnB,UAAA,CAAA;EAAtC,IAAAA,GAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;EAA4B,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIlE,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EACjC,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGe,UAAA,CAAA;EAAtC,IAAAA,GAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;EAA8D,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;;EC/FtG;;;;;;;;;;;;;EAaG;EACG,MAAO,QAAS,SAAQ,WAAW,CAAA;EAAzC,IAAA,WAAA,GAAA;;;UAI+B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;OA6CpD;EA3CC,IAAA,oBAAoB,CAAC,CAAQ,EAAA;EAC3B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAA2B,CAAC;EAC5G,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EACzB,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;EAC5E,SAAA;UACD,IAAI,IAAI,CAAC,aAAa,EAAE;cACtB,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;EAC/C,SAAA;UACD,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;UACvC,OAAO;OACR;EAED,IAAA,mBAAmB,CAAC,CAAQ,EAAA;EAC1B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA0B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAiC,CAAC;EAClH,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EACzB,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;EAC7E,SAAA;UACD,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;OAC7C;MACD,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;AAEE,eAAA,EAAAC,GAAQ,CAAC;AAChB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS;YAC1C,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;YACpC,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;SACjD,CAAC,CAAA;;;;AAIoC,4CAAA,EAAA,IAAI,CAAC,mBAAmB,CAAA;;;;;;AAMvB,6CAAA,EAAA,IAAI,CAAC,oBAAoB,CAAA;;;KAGnE,CAAC;OACH;;EA/CM,QAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;EAGN,UAAA,CAAA;EAA5B,IAAAC,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EAAuB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;;ECvB9C,IAAI,GAAG,GAAG,KAAK,CAAC;EAChB,IAAI,MAAM,GAAG,QAAQ,CAAC;EACtB,IAAI,KAAK,GAAG,OAAO,CAAC;EACpB,IAAI,IAAI,GAAG,MAAM,CAAC;EAClB,IAAI,IAAI,GAAG,MAAM,CAAC;EAClB,IAAI,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;EAChD,IAAI,KAAK,GAAG,OAAO,CAAC;EACpB,IAAI,GAAG,GAAG,KAAK,CAAC;EAChB,IAAI,eAAe,GAAG,iBAAiB,CAAC;EACxC,IAAI,QAAQ,GAAG,UAAU,CAAC;EAC1B,IAAI,MAAM,GAAG,QAAQ,CAAC;EACtB,IAAI,SAAS,GAAG,WAAW,CAAC;EAC5B,IAAI,mBAAmB,gBAAgB,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE;EAC9F,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,KAAK,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;EACtE,CAAC,EAAE,EAAE,CAAC,CAAC;EACA,IAAI,UAAU,gBAAgB,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE;EACxG,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,GAAG,KAAK,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;EACjF,CAAC,EAAE,EAAE,CAAC,CAAC;AACP;EACO,IAAI,UAAU,GAAG,YAAY,CAAC;EAC9B,IAAI,IAAI,GAAG,MAAM,CAAC;EAClB,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC;EACO,IAAI,UAAU,GAAG,YAAY,CAAC;EAC9B,IAAI,IAAI,GAAG,MAAM,CAAC;EAClB,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC;EACO,IAAI,WAAW,GAAG,aAAa,CAAC;EAChC,IAAI,KAAK,GAAG,OAAO,CAAC;EACpB,IAAI,UAAU,GAAG,YAAY,CAAC;EAC9B,IAAI,cAAc,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC;;EC9BvG,SAAS,WAAW,CAAC,OAAO,EAAE;EAC7C,EAAE,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;EACjE;;ECFe,SAAS,SAAS,CAAC,IAAI,EAAE;EACxC,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE;EACpB,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;AACH;EACA,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,iBAAiB,EAAE;EAC7C,IAAI,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;EAC3C,IAAI,OAAO,aAAa,GAAG,aAAa,CAAC,WAAW,IAAI,MAAM,GAAG,MAAM,CAAC;EACxE,GAAG;AACH;EACA,EAAE,OAAO,IAAI,CAAC;EACd;;ECTA,SAASW,WAAS,CAAC,IAAI,EAAE;EACzB,EAAE,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;EAC3C,EAAE,OAAO,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,OAAO,CAAC;EAC/D,CAAC;AACD;EACA,SAAS,aAAa,CAAC,IAAI,EAAE;EAC7B,EAAE,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;EAC/C,EAAE,OAAO,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,WAAW,CAAC;EACnE,CAAC;AACD;EACA,SAAS,YAAY,CAAC,IAAI,EAAE;EAC5B;EACA,EAAE,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;EACzC,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;AACH;EACA,EAAE,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;EAC9C,EAAE,OAAO,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,UAAU,CAAC;EAClE;;EClBA;AACA;EACA,SAAS,WAAW,CAAC,IAAI,EAAE;EAC3B,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;EACzB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACtD,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;EACzC,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;EAClD,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC;EACA,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;EAC1D,MAAM,OAAO;EACb,KAAK;EACL;EACA;AACA;AACA;EACA,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACxC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACpD,MAAM,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACnC;EACA,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;EAC3B,QAAQ,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;EACtC,OAAO,MAAM;EACb,QAAQ,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;EAChE,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,SAASC,QAAM,CAAC,KAAK,EAAE;EACvB,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;EAC1B,EAAE,IAAI,aAAa,GAAG;EACtB,IAAI,MAAM,EAAE;EACZ,MAAM,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;EACtC,MAAM,IAAI,EAAE,GAAG;EACf,MAAM,GAAG,EAAE,GAAG;EACd,MAAM,MAAM,EAAE,GAAG;EACjB,KAAK;EACL,IAAI,KAAK,EAAE;EACX,MAAM,QAAQ,EAAE,UAAU;EAC1B,KAAK;EACL,IAAI,SAAS,EAAE,EAAE;EACjB,GAAG,CAAC;EACJ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;EACnE,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;AAC/B;EACA,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;EAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;EACnE,GAAG;AACH;EACA,EAAE,OAAO,YAAY;EACrB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACxD,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;EACzC,MAAM,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;EACpD,MAAM,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACtH;EACA,MAAM,IAAI,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,QAAQ,EAAE;EACpE,QAAQ,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;EAC7B,QAAQ,OAAO,KAAK,CAAC;EACrB,OAAO,EAAE,EAAE,CAAC,CAAC;AACb;EACA,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;EAC5D,QAAQ,OAAO;EACf,OAAO;AACP;EACA,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EAC1C,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;EAC3D,QAAQ,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;EAC3C,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;EACJ,CAAC;AACD;AACA;AACA,sBAAe;EACf,EAAE,IAAI,EAAE,aAAa;EACrB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,OAAO;EAChB,EAAE,EAAE,EAAE,WAAW;EACjB,EAAE,MAAM,EAAEA,QAAM;EAChB,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC;EAC7B,CAAC;;EClFc,SAAS,gBAAgB,CAAC,SAAS,EAAE;EACpD,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACjC;;ECHO,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;EACnB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;EACnB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;;ECFd,SAAS,WAAW,GAAG;EACtC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC;AACvC;EACA,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;EACvE,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;EAC7C,MAAM,OAAO,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;EAC7C,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACjB,GAAG;AACH;EACA,EAAE,OAAO,SAAS,CAAC,SAAS,CAAC;EAC7B;;ECTe,SAAS,gBAAgB,GAAG;EAC3C,EAAE,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;EAC/D;;ECCe,SAAS,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE;EACtF,EAAE,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE;EAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;EACzB,GAAG;AACH;EACA,EAAE,IAAI,eAAe,KAAK,KAAK,CAAC,EAAE;EAClC,IAAI,eAAe,GAAG,KAAK,CAAC;EAC5B,GAAG;AACH;EACA,EAAE,IAAI,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;EACnD,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;EACjB,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC;AACjB;EACA,EAAE,IAAI,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;EAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC;EAC9F,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC;EACjG,GAAG;AACH;EACA,EAAE,IAAI,IAAI,GAAGD,WAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,MAAM;EAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC3C;EACA,EAAE,IAAI,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,IAAI,eAAe,CAAC;EAChE,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,gBAAgB,IAAI,cAAc,GAAG,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;EAC5G,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,gBAAgB,IAAI,cAAc,GAAG,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC;EAC1G,EAAE,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC;EACxC,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;EAC1C,EAAE,OAAO;EACT,IAAI,KAAK,EAAE,KAAK;EAChB,IAAI,MAAM,EAAE,MAAM;EAClB,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK;EACpB,IAAI,MAAM,EAAE,CAAC,GAAG,MAAM;EACtB,IAAI,IAAI,EAAE,CAAC;EACX,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;EACJ;;ECvCA;AACA;EACe,SAAS,aAAa,CAAC,OAAO,EAAE;EAC/C,EAAE,IAAI,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;EAClD;AACA;EACA,EAAE,IAAI,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;EAClC,EAAE,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;AACpC;EACA,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;EAC/C,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;EAC7B,GAAG;AACH;EACA,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE;EACjD,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;EAC/B,GAAG;AACH;EACA,EAAE,OAAO;EACT,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU;EACzB,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS;EACxB,IAAI,KAAK,EAAE,KAAK;EAChB,IAAI,MAAM,EAAE,MAAM;EAClB,GAAG,CAAC;EACJ;;ECvBe,SAAS,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE;EAChD,EAAE,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;AAC1D;EACA,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;EAC9B,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;EACH,OAAO,IAAI,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;EAC/C,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC;AACvB;EACA,MAAM,GAAG;EACT,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;EAC7C,UAAU,OAAO,IAAI,CAAC;EACtB,SAAS;AACT;AACA;EACA,QAAQ,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;EAC5C,OAAO,QAAQ,IAAI,EAAE;EACrB,KAAK;AACL;AACA;EACA,EAAE,OAAO,KAAK,CAAC;EACf;;ECrBe,SAASE,kBAAgB,CAAC,OAAO,EAAE;EAClD,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;EACtD;;ECFe,SAAS,cAAc,CAAC,OAAO,EAAE;EAChD,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;EAClE;;ECFe,SAAS,kBAAkB,CAAC,OAAO,EAAE;EACpD;EACA,EAAE,OAAO,CAAC,CAACF,WAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa;EACrD,EAAE,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;EACxD;;ECFe,SAAS,aAAa,CAAC,OAAO,EAAE;EAC/C,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE;EACvC,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG;AACH;EACA,EAAE;EACF;EACA;EACA,IAAI,OAAO,CAAC,YAAY;EACxB,IAAI,OAAO,CAAC,UAAU;EACtB,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;EAChD;EACA,IAAI,kBAAkB,CAAC,OAAO,CAAC;AAC/B;EACA,IAAI;EACJ;;ECVA,SAAS,mBAAmB,CAAC,OAAO,EAAE;EACtC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;EAC7B,EAAEE,kBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,EAAE;EAClD,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;AACH;EACA,EAAE,OAAO,OAAO,CAAC,YAAY,CAAC;EAC9B,CAAC;EACD;AACA;AACA;EACA,SAAS,kBAAkB,CAAC,OAAO,EAAE;EACrC,EAAE,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;EACjD,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C;EACA,EAAE,IAAI,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;EACtC;EACA,IAAI,IAAI,UAAU,GAAGA,kBAAgB,CAAC,OAAO,CAAC,CAAC;AAC/C;EACA,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,EAAE;EACzC,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAC3C;EACA,EAAE,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE;EACjC,IAAI,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;EACnC,GAAG;AACH;EACA,EAAE,OAAO,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE;EAC/F,IAAI,IAAI,GAAG,GAAGA,kBAAgB,CAAC,WAAW,CAAC,CAAC;EAC5C;EACA;AACA;EACA,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;EAC1P,MAAM,OAAO,WAAW,CAAC;EACzB,KAAK,MAAM;EACX,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;EAC3C,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;EACD;AACA;AACA;EACe,SAAS,eAAe,CAAC,OAAO,EAAE;EACjD,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;EAClC,EAAE,IAAI,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAClD;EACA,EAAE,OAAO,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,IAAIA,kBAAgB,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;EAC/G,IAAI,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;EACrD,GAAG;AACH;EACA,EAAE,IAAI,YAAY,KAAK,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM,IAAIA,kBAAgB,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;EAC9J,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG;AACH;EACA,EAAE,OAAO,YAAY,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;EAC/D;;ECpEe,SAAS,wBAAwB,CAAC,SAAS,EAAE;EAC5D,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;EAC/D;;ECDO,SAAS,MAAM,CAACC,KAAG,EAAE,KAAK,EAAEC,KAAG,EAAE;EACxC,EAAE,OAAOC,GAAO,CAACF,KAAG,EAAEG,GAAO,CAAC,KAAK,EAAEF,KAAG,CAAC,CAAC,CAAC;EAC3C,CAAC;EACM,SAAS,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;EAChD,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;EAClC,EAAE,OAAO,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;EAC3B;;ECPe,SAAS,kBAAkB,GAAG;EAC7C,EAAE,OAAO;EACT,IAAI,GAAG,EAAE,CAAC;EACV,IAAI,KAAK,EAAE,CAAC;EACZ,IAAI,MAAM,EAAE,CAAC;EACb,IAAI,IAAI,EAAE,CAAC;EACX,GAAG,CAAC;EACJ;;ECNe,SAAS,kBAAkB,CAAC,aAAa,EAAE;EAC1D,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,kBAAkB,EAAE,EAAE,aAAa,CAAC,CAAC;EAChE;;ECHe,SAAS,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;EACrD,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,GAAG,EAAE;EAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;EACzB,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG,EAAE,EAAE,CAAC,CAAC;EACT;;ECKA,IAAI,eAAe,GAAG,SAAS,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE;EAC/D,EAAE,OAAO,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;EACnF,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS;EAC9B,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;EAChB,EAAE,OAAO,kBAAkB,CAAC,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;EAC9G,CAAC,CAAC;AACF;EACA,SAAS,KAAK,CAAC,IAAI,EAAE;EACrB,EAAE,IAAI,qBAAqB,CAAC;AAC5B;EACA,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;EACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;EAC7B,EAAE,IAAI,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;EAC1C,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;EACxD,EAAE,IAAI,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACxD,EAAE,IAAI,IAAI,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;EACrD,EAAE,IAAI,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;EAC7D,EAAE,IAAI,GAAG,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC5C;EACA,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE;EACvC,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,IAAI,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EAC9D,EAAE,IAAI,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;EAC9C,EAAE,IAAI,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;EAC1C,EAAE,IAAI,OAAO,GAAG,IAAI,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;EAC9C,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;EACzH,EAAE,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EACpE,EAAE,IAAI,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;EACxD,EAAE,IAAI,UAAU,GAAG,iBAAiB,GAAG,IAAI,KAAK,GAAG,GAAG,iBAAiB,CAAC,YAAY,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC;EACnI,EAAE,IAAI,iBAAiB,GAAG,OAAO,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;EACtD;AACA;EACA,EAAE,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;EACnC,EAAE,IAAI,GAAG,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;EACjE,EAAE,IAAI,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC;EACvE,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACxC;EACA,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC;EACtB,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,qBAAqB,GAAG,EAAE,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,qBAAqB,CAAC,YAAY,GAAG,MAAM,GAAG,MAAM,EAAE,qBAAqB,CAAC,CAAC;EAClL,CAAC;AACD;EACA,SAASH,QAAM,CAAC,KAAK,EAAE;EACvB,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK;EACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;EAC9B,EAAE,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO;EACxC,MAAM,YAAY,GAAG,gBAAgB,KAAK,KAAK,CAAC,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAC5F;EACA,EAAE,IAAI,YAAY,IAAI,IAAI,EAAE;EAC5B,IAAI,OAAO;EACX,GAAG;AACH;AACA;EACA,EAAE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;EACxC,IAAI,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AACrE;EACA,IAAI,IAAI,CAAC,YAAY,EAAE;EACvB,MAAM,OAAO;EACb,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;EACtD,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;EACtC,CAAC;AACD;AACA;AACA,gBAAe;EACf,EAAE,IAAI,EAAE,OAAO;EACf,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,EAAE,EAAE,KAAK;EACX,EAAE,MAAM,EAAEA,QAAM;EAChB,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC;EAC7B,EAAE,gBAAgB,EAAE,CAAC,iBAAiB,CAAC;EACvC,CAAC;;ECzFc,SAAS,YAAY,CAAC,SAAS,EAAE;EAChD,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACjC;;ECOA,IAAI,UAAU,GAAG;EACjB,EAAE,GAAG,EAAE,MAAM;EACb,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,MAAM,EAAE,MAAM;EAChB,EAAE,IAAI,EAAE,MAAM;EACd,CAAC,CAAC;EACF;EACA;AACA;EACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;EACtC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;EAChB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;EACjB,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC;EACtC,EAAE,OAAO;EACT,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;EAChC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;EAChC,GAAG,CAAC;EACJ,CAAC;AACD;EACO,SAAS,WAAW,CAAC,KAAK,EAAE;EACnC,EAAE,IAAI,eAAe,CAAC;AACtB;EACA,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM;EAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU;EACnC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;EACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;EACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;EAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;EAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe;EAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;EAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY;EACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;EAC9B,EAAE,IAAI,UAAU,GAAG,OAAO,CAAC,CAAC;EAC5B,MAAM,CAAC,GAAG,UAAU,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU;EAChD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC;EAC5B,MAAM,CAAC,GAAG,UAAU,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AACjD;EACA,EAAE,IAAI,KAAK,GAAG,OAAO,YAAY,KAAK,UAAU,GAAG,YAAY,CAAC;EAChE,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC,GAAG;EACP,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;AACJ;EACA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;EACd,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;EACd,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;EACzC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;EACzC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;EACnB,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC;EAClB,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC;AACnB;EACA,EAAE,IAAI,QAAQ,EAAE;EAChB,IAAI,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;EAC/C,IAAI,IAAI,UAAU,GAAG,cAAc,CAAC;EACpC,IAAI,IAAI,SAAS,GAAG,aAAa,CAAC;AAClC;EACA,IAAI,IAAI,YAAY,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE;EAC5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAChD;EACA,MAAM,IAAIC,kBAAgB,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,UAAU,EAAE;EAC3F,QAAQ,UAAU,GAAG,cAAc,CAAC;EACpC,QAAQ,SAAS,GAAG,aAAa,CAAC;EAClC,OAAO;EACP,KAAK;AACL;AACA;EACA,IAAI,YAAY,GAAG,YAAY,CAAC;AAChC;EACA,IAAI,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,KAAK,SAAS,KAAK,GAAG,EAAE;EAC/F,MAAM,KAAK,GAAG,MAAM,CAAC;EACrB,MAAM,IAAI,OAAO,GAAG,OAAO,IAAI,YAAY,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM;EACrG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;EAC/B,MAAM,CAAC,IAAI,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;EACvC,MAAM,CAAC,IAAI,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACpC,KAAK;AACL;EACA,IAAI,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,MAAM,KAAK,SAAS,KAAK,GAAG,EAAE;EAChG,MAAM,KAAK,GAAG,KAAK,CAAC;EACpB,MAAM,IAAI,OAAO,GAAG,OAAO,IAAI,YAAY,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK;EACpG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;EAC9B,MAAM,CAAC,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;EACtC,MAAM,CAAC,IAAI,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACpC,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;EACnC,IAAI,QAAQ,EAAE,QAAQ;EACtB,GAAG,EAAE,QAAQ,IAAI,UAAU,CAAC,CAAC;AAC7B;EACA,EAAE,IAAI,KAAK,GAAG,YAAY,KAAK,IAAI,GAAG,iBAAiB,CAAC;EACxD,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG;EAC1B,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;AACJ;EACA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;EACd,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACd;EACA,EAAE,IAAI,eAAe,EAAE;EACvB,IAAI,IAAI,cAAc,CAAC;AACvB;EACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,cAAc,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,cAAc,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,cAAc,EAAE,CAAC;EACtT,GAAG;AACH;EACA,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,eAAe,GAAG,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,eAAe,CAAC,SAAS,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC;EAChN,CAAC;AACD;EACA,SAAS,aAAa,CAAC,KAAK,EAAE;EAC9B,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK;EACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;EAC9B,EAAE,IAAI,qBAAqB,GAAG,OAAO,CAAC,eAAe;EACrD,MAAM,eAAe,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,qBAAqB;EACvF,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ;EAC1C,MAAM,QAAQ,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,iBAAiB;EACxE,MAAM,qBAAqB,GAAG,OAAO,CAAC,YAAY;EAClD,MAAM,YAAY,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,qBAAqB,CAAC;EACrF,EAAE,IAAI,YAAY,GAAG;EACrB,IAAI,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;EAChD,IAAI,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;EAC5C,IAAI,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;EACjC,IAAI,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;EAClC,IAAI,eAAe,EAAE,eAAe;EACpC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;EAC/C,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,EAAE;EACjD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;EAC7G,MAAM,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa;EAChD,MAAM,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;EACtC,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,YAAY,EAAE,YAAY;EAChC,KAAK,CAAC,CAAC,CAAC,CAAC;EACT,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,EAAE;EACzC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;EAC3G,MAAM,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;EACxC,MAAM,QAAQ,EAAE,UAAU;EAC1B,MAAM,QAAQ,EAAE,KAAK;EACrB,MAAM,YAAY,EAAE,YAAY;EAChC,KAAK,CAAC,CAAC,CAAC,CAAC;EACT,GAAG;AACH;EACA,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;EACvE,IAAI,uBAAuB,EAAE,KAAK,CAAC,SAAS;EAC5C,GAAG,CAAC,CAAC;EACL,CAAC;AACD;AACA;AACA,wBAAe;EACf,EAAE,IAAI,EAAE,eAAe;EACvB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,aAAa;EACtB,EAAE,EAAE,EAAE,aAAa;EACnB,EAAE,IAAI,EAAE,EAAE;EACV,CAAC;;ECtKD,IAAI,OAAO,GAAG;EACd,EAAE,OAAO,EAAE,IAAI;EACf,CAAC,CAAC;AACF;EACA,SAAS,MAAM,CAAC,IAAI,EAAE;EACtB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;EAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;EAC7B,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM;EACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,eAAe;EAClE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;EACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,eAAe,CAAC;EACnE,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EAChD,EAAE,IAAI,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC3F;EACA,EAAE,IAAI,MAAM,EAAE;EACd,IAAI,aAAa,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE;EAClD,MAAM,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACxE,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA,EAAE,IAAI,MAAM,EAAE;EACd,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAChE,GAAG;AACH;EACA,EAAE,OAAO,YAAY;EACrB,IAAI,IAAI,MAAM,EAAE;EAChB,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE;EACpD,QAAQ,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAC7E,OAAO,CAAC,CAAC;EACT,KAAK;AACL;EACA,IAAI,IAAI,MAAM,EAAE;EAChB,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACrE,KAAK;EACL,GAAG,CAAC;EACJ,CAAC;AACD;AACA;AACA,uBAAe;EACf,EAAE,IAAI,EAAE,gBAAgB;EACxB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,OAAO;EAChB,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;EACtB,EAAE,MAAM,EAAE,MAAM;EAChB,EAAE,IAAI,EAAE,EAAE;EACV,CAAC;;EChDD,IAAIK,MAAI,GAAG;EACX,EAAE,IAAI,EAAE,OAAO;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,MAAM,EAAE,KAAK;EACf,EAAE,GAAG,EAAE,QAAQ;EACf,CAAC,CAAC;EACa,SAAS,oBAAoB,CAAC,SAAS,EAAE;EACxD,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,wBAAwB,EAAE,UAAU,OAAO,EAAE;EACxE,IAAI,OAAOA,MAAI,CAAC,OAAO,CAAC,CAAC;EACzB,GAAG,CAAC,CAAC;EACL;;ECVA,IAAI,IAAI,GAAG;EACX,EAAE,KAAK,EAAE,KAAK;EACd,EAAE,GAAG,EAAE,OAAO;EACd,CAAC,CAAC;EACa,SAAS,6BAA6B,CAAC,SAAS,EAAE;EACjE,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,OAAO,EAAE;EAC5D,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;EACzB,GAAG,CAAC,CAAC;EACL;;ECPe,SAAS,eAAe,CAAC,IAAI,EAAE;EAC9C,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;EAC5B,EAAE,IAAI,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC;EACnC,EAAE,IAAI,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC;EAClC,EAAE,OAAO;EACT,IAAI,UAAU,EAAE,UAAU;EAC1B,IAAI,SAAS,EAAE,SAAS;EACxB,GAAG,CAAC;EACJ;;ECNe,SAAS,mBAAmB,CAAC,OAAO,EAAE;EACrD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,OAAO,qBAAqB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;EACvG;;ECRe,SAAS,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC3D,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;EAC/B,EAAE,IAAI,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;EACzC,EAAE,IAAI,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;EAC1C,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;EAC/B,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;EACjC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;EACZ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ;EACA,EAAE,IAAI,cAAc,EAAE;EACtB,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;EACjC,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;EACnC,IAAI,IAAI,cAAc,GAAG,gBAAgB,EAAE,CAAC;AAC5C;EACA,IAAI,IAAI,cAAc,IAAI,CAAC,cAAc,IAAI,QAAQ,KAAK,OAAO,EAAE;EACnE,MAAM,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC;EACpC,MAAM,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC;EACnC,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO;EACT,IAAI,KAAK,EAAE,KAAK;EAChB,IAAI,MAAM,EAAE,MAAM;EAClB,IAAI,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC;EACvC,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;EACJ;;ECzBA;AACA;EACe,SAAS,eAAe,CAAC,OAAO,EAAE;EACjD,EAAE,IAAI,qBAAqB,CAAC;AAC5B;EACA,EAAE,IAAI,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;EACzC,EAAE,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;EAC3C,EAAE,IAAI,IAAI,GAAG,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC;EAC3G,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;EAChH,EAAE,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;EACrH,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;EAC/D,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;AAC/B;EACA,EAAE,IAAIL,kBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;EAC1D,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;EACpE,GAAG;AACH;EACA,EAAE,OAAO;EACT,IAAI,KAAK,EAAE,KAAK;EAChB,IAAI,MAAM,EAAE,MAAM;EAClB,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;EACJ;;EC3Be,SAAS,cAAc,CAAC,OAAO,EAAE;EAChD;EACA,EAAE,IAAI,iBAAiB,GAAGA,kBAAgB,CAAC,OAAO,CAAC;EACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ;EAC3C,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS;EAC7C,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAC9C;EACA,EAAE,OAAO,4BAA4B,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;EAC7E;;ECLe,SAAS,eAAe,CAAC,IAAI,EAAE;EAC9C,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;EACrE;EACA,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;EACnC,GAAG;AACH;EACA,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;EACnD,IAAI,OAAO,IAAI,CAAC;EAChB,GAAG;AACH;EACA,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;EAC9C;;ECXA;EACA;EACA;EACA;EACA;EACA;AACA;EACe,SAAS,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE;EACzD,EAAE,IAAI,qBAAqB,CAAC;AAC5B;EACA,EAAE,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE;EACvB,IAAI,IAAI,GAAG,EAAE,CAAC;EACd,GAAG;AACH;EACA,EAAE,IAAI,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;EAC9C,EAAE,IAAI,MAAM,GAAG,YAAY,MAAM,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;EAChI,EAAE,IAAI,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;EACpC,EAAE,IAAI,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC;EAChI,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EACxC,EAAE,OAAO,MAAM,GAAG,WAAW;EAC7B,EAAE,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAC/D;;ECzBe,SAAS,gBAAgB,CAAC,IAAI,EAAE;EAC/C,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;EACjC,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC;EAChB,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC;EACf,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;EAC9B,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM;EAChC,GAAG,CAAC,CAAC;EACL;;ECQA,SAAS,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE;EACvD,EAAE,IAAI,IAAI,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;EACzE,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;EAC1C,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;EAC7C,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;EAChD,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;EAC/C,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;EACnC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;EACrC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;EACrB,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;EACpB,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;AACD;EACA,SAAS,0BAA0B,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE;EACvE,EAAE,OAAO,cAAc,KAAK,QAAQ,GAAG,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAGF,WAAS,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAChP,CAAC;EACD;EACA;AACA;AACA;EACA,SAAS,kBAAkB,CAAC,OAAO,EAAE;EACrC,EAAE,IAAI,eAAe,GAAG,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;EAClE,EAAE,IAAI,iBAAiB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAACE,kBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;EACjG,EAAE,IAAI,cAAc,GAAG,iBAAiB,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACxG;EACA,EAAE,IAAI,CAACF,WAAS,CAAC,cAAc,CAAC,EAAE;EAClC,IAAI,OAAO,EAAE,CAAC;EACd,GAAG;AACH;AACA;EACA,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC,UAAU,cAAc,EAAE;EAC1D,IAAI,OAAOA,WAAS,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;EAC3H,GAAG,CAAC,CAAC;EACL,CAAC;EACD;AACA;AACA;EACe,SAAS,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;EACnF,EAAE,IAAI,mBAAmB,GAAG,QAAQ,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC/G,EAAE,IAAI,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;EACvE,EAAE,IAAI,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;EAC/C,EAAE,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,cAAc,EAAE;EAC/E,IAAI,IAAI,IAAI,GAAG,0BAA0B,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;EAC7E,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;EAC7C,IAAI,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;EACnD,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;EACtD,IAAI,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;EAChD,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG,EAAE,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;EACzE,EAAE,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;EAC9D,EAAE,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;EAC/D,EAAE,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;EACrC,EAAE,YAAY,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;EACpC,EAAE,OAAO,YAAY,CAAC;EACtB;;ECjEe,SAAS,cAAc,CAAC,IAAI,EAAE;EAC7C,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS;EAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;EAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EACjC,EAAE,IAAI,aAAa,GAAG,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;EACrE,EAAE,IAAI,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;EAC7D,EAAE,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;EACtE,EAAE,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;EACxE,EAAE,IAAI,OAAO,CAAC;AACd;EACA,EAAE,QAAQ,aAAa;EACvB,IAAI,KAAK,GAAG;EACZ,MAAM,OAAO,GAAG;EAChB,QAAQ,CAAC,EAAE,OAAO;EAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;EACvC,OAAO,CAAC;EACR,MAAM,MAAM;AACZ;EACA,IAAI,KAAK,MAAM;EACf,MAAM,OAAO,GAAG;EAChB,QAAQ,CAAC,EAAE,OAAO;EAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;EACzC,OAAO,CAAC;EACR,MAAM,MAAM;AACZ;EACA,IAAI,KAAK,KAAK;EACd,MAAM,OAAO,GAAG;EAChB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK;EACxC,QAAQ,CAAC,EAAE,OAAO;EAClB,OAAO,CAAC;EACR,MAAM,MAAM;AACZ;EACA,IAAI,KAAK,IAAI;EACb,MAAM,OAAO,GAAG;EAChB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK;EACtC,QAAQ,CAAC,EAAE,OAAO;EAClB,OAAO,CAAC;EACR,MAAM,MAAM;AACZ;EACA,IAAI;EACJ,MAAM,OAAO,GAAG;EAChB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;EACtB,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;EACtB,OAAO,CAAC;EACR,GAAG;AACH;EACA,EAAE,IAAI,QAAQ,GAAG,aAAa,GAAG,wBAAwB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAChF;EACA,EAAE,IAAI,QAAQ,IAAI,IAAI,EAAE;EACxB,IAAI,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD;EACA,IAAI,QAAQ,SAAS;EACrB,MAAM,KAAK,KAAK;EAChB,QAAQ,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACxF,QAAQ,MAAM;AACd;EACA,MAAM,KAAK,GAAG;EACd,QAAQ,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACxF,QAAQ,MAAM;EAGd,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,OAAO,CAAC;EACjB;;EC3De,SAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;EACvD,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;EAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;EACjB,GAAG;AACH;EACA,EAAE,IAAI,QAAQ,GAAG,OAAO;EACxB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS;EAC7C,MAAM,SAAS,GAAG,kBAAkB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,GAAG,kBAAkB;EACtF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ;EAC3C,MAAM,QAAQ,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,iBAAiB;EAClF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ;EAC3C,MAAM,QAAQ,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,eAAe,GAAG,iBAAiB;EACnF,MAAM,qBAAqB,GAAG,QAAQ,CAAC,YAAY;EACnD,MAAM,YAAY,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,QAAQ,GAAG,qBAAqB;EACxF,MAAM,qBAAqB,GAAG,QAAQ,CAAC,cAAc;EACrD,MAAM,cAAc,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,qBAAqB;EACxF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,WAAW;EACjD,MAAM,WAAW,GAAG,oBAAoB,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,oBAAoB;EAClF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO;EACzC,MAAM,OAAO,GAAG,gBAAgB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;EACnE,EAAE,IAAI,aAAa,GAAG,kBAAkB,CAAC,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;EAC3H,EAAE,IAAI,UAAU,GAAG,cAAc,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;EAClE,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;EACtC,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC;EAC1E,EAAE,IAAI,kBAAkB,GAAG,eAAe,CAACA,WAAS,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;EACjL,EAAE,IAAI,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;EAC5E,EAAE,IAAI,aAAa,GAAG,cAAc,CAAC;EACrC,IAAI,SAAS,EAAE,mBAAmB;EAClC,IAAI,OAAO,EAAE,UAAU;EACvB,IAAI,QAAQ,EAAE,UAAU;EACxB,IAAI,SAAS,EAAE,SAAS;EACxB,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;EACxF,EAAE,IAAI,iBAAiB,GAAG,cAAc,KAAK,MAAM,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;EAC7F;AACA;EACA,EAAE,IAAI,eAAe,GAAG;EACxB,IAAI,GAAG,EAAE,kBAAkB,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG;EAC3E,IAAI,MAAM,EAAE,iBAAiB,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;EACvF,IAAI,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI;EAC/E,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK;EACnF,GAAG,CAAC;EACJ,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;AAC9C;EACA,EAAE,IAAI,cAAc,KAAK,MAAM,IAAI,UAAU,EAAE;EAC/C,IAAI,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;EACvC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;EACxD,MAAM,IAAI,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EAChE,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;EAC7D,MAAM,eAAe,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;EACtD,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA,EAAE,OAAO,eAAe,CAAC;EACzB;;EC5De,SAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE;EAC7D,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;EAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;EACjB,GAAG;AACH;EACA,EAAE,IAAI,QAAQ,GAAG,OAAO;EACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS;EACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ;EAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY;EAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;EAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc;EAC9C,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB;EAC5D,MAAM,qBAAqB,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAGQ,UAAa,GAAG,qBAAqB,CAAC;EACvG,EAAE,IAAI,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;EAC1C,EAAE,IAAIC,YAAU,GAAG,SAAS,GAAG,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE;EACtH,IAAI,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;EACjD,GAAG,CAAC,GAAG,cAAc,CAAC;EACtB,EAAE,IAAI,iBAAiB,GAAGA,YAAU,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE;EACjE,IAAI,OAAO,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EACzD,GAAG,CAAC,CAAC;AACL;EACA,EAAE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;EACtC,IAAI,iBAAiB,GAAGA,YAAU,CAAC;EACnC,GAAG;AACH;AACA;EACA,EAAE,IAAI,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE;EACrE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE;EAC3C,MAAM,SAAS,EAAE,SAAS;EAC1B,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,YAAY,EAAE,YAAY;EAChC,MAAM,OAAO,EAAE,OAAO;EACtB,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;EACpC,IAAI,OAAO,GAAG,CAAC;EACf,GAAG,EAAE,EAAE,CAAC,CAAC;EACT,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;EACrD,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;EACvC,GAAG,CAAC,CAAC;EACL;;EClCA,SAAS,6BAA6B,CAAC,SAAS,EAAE;EAClD,EAAE,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;EAC5C,IAAI,OAAO,EAAE,CAAC;EACd,GAAG;AACH;EACA,EAAE,IAAI,iBAAiB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;EAC1D,EAAE,OAAO,CAAC,6BAA6B,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,iBAAiB,CAAC,CAAC,CAAC;EACzH,CAAC;AACD;EACA,SAAS,IAAI,CAAC,IAAI,EAAE;EACpB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;EAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACvB;EACA,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;EACvC,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,IAAI,iBAAiB,GAAG,OAAO,CAAC,QAAQ;EAC1C,MAAM,aAAa,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,iBAAiB;EAC7E,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO;EACxC,MAAM,YAAY,GAAG,gBAAgB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,gBAAgB;EAC1E,MAAM,2BAA2B,GAAG,OAAO,CAAC,kBAAkB;EAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;EAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;EACjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY;EACzC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;EACvC,MAAM,qBAAqB,GAAG,OAAO,CAAC,cAAc;EACpD,MAAM,cAAc,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,qBAAqB;EACtF,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;EAC5D,EAAE,IAAI,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;EACnD,EAAE,IAAI,aAAa,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;EAC3D,EAAE,IAAI,eAAe,GAAG,aAAa,KAAK,kBAAkB,CAAC;EAC7D,EAAE,IAAI,kBAAkB,GAAG,2BAA2B,KAAK,eAAe,IAAI,CAAC,cAAc,GAAG,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,GAAG,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,CAAC;EAChM,EAAE,IAAI,UAAU,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE;EACpG,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE;EACzF,MAAM,SAAS,EAAE,SAAS;EAC1B,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,YAAY,EAAE,YAAY;EAChC,MAAM,OAAO,EAAE,OAAO;EACtB,MAAM,cAAc,EAAE,cAAc;EACpC,MAAM,qBAAqB,EAAE,qBAAqB;EAClD,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;EACpB,GAAG,EAAE,EAAE,CAAC,CAAC;EACT,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;EAC5C,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;EACtC,EAAE,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;EAC5B,EAAE,IAAI,kBAAkB,GAAG,IAAI,CAAC;EAChC,EAAE,IAAI,qBAAqB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5C;EACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC9C,IAAI,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAClC;EACA,IAAI,IAAI,cAAc,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACrD;EACA,IAAI,IAAI,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC;EAC7D,IAAI,IAAI,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;EAChE,IAAI,IAAI,GAAG,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;EAC9C,IAAI,IAAI,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE;EACzC,MAAM,SAAS,EAAE,SAAS;EAC1B,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,YAAY,EAAE,YAAY;EAChC,MAAM,WAAW,EAAE,WAAW;EAC9B,MAAM,OAAO,EAAE,OAAO;EACtB,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,iBAAiB,GAAG,UAAU,GAAG,gBAAgB,GAAG,KAAK,GAAG,IAAI,GAAG,gBAAgB,GAAG,MAAM,GAAG,GAAG,CAAC;AAC3G;EACA,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE;EAC9C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;EAClE,KAAK;AACL;EACA,IAAI,IAAI,gBAAgB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;EACnE,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;AACpB;EACA,IAAI,IAAI,aAAa,EAAE;EACvB,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;EACjD,KAAK;AACL;EACA,IAAI,IAAI,YAAY,EAAE;EACtB,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;EACrF,KAAK;AACL;EACA,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE;EACtC,MAAM,OAAO,KAAK,CAAC;EACnB,KAAK,CAAC,EAAE;EACR,MAAM,qBAAqB,GAAG,SAAS,CAAC;EACxC,MAAM,kBAAkB,GAAG,KAAK,CAAC;EACjC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;EACrC,GAAG;AACH;EACA,EAAE,IAAI,kBAAkB,EAAE;EAC1B;EACA,IAAI,IAAI,cAAc,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD;EACA,IAAI,IAAI,KAAK,GAAG,SAAS,KAAK,CAAC,EAAE,EAAE;EACnC,MAAM,IAAI,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,SAAS,EAAE;EAClE,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9C;EACA,QAAQ,IAAI,MAAM,EAAE;EACpB,UAAU,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE;EAC5D,YAAY,OAAO,KAAK,CAAC;EACzB,WAAW,CAAC,CAAC;EACb,SAAS;EACT,OAAO,CAAC,CAAC;AACT;EACA,MAAM,IAAI,gBAAgB,EAAE;EAC5B,QAAQ,qBAAqB,GAAG,gBAAgB,CAAC;EACjD,QAAQ,OAAO,OAAO,CAAC;EACvB,OAAO;EACP,KAAK,CAAC;AACN;EACA,IAAI,KAAK,IAAI,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE;EAChD,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B;EACA,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,MAAM;EAClC,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,KAAK,CAAC,SAAS,KAAK,qBAAqB,EAAE;EACjD,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;EAC3C,IAAI,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC;EAC5C,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;EACvB,GAAG;EACH,CAAC;AACD;AACA;AACA,eAAe;EACf,EAAE,IAAI,EAAE,MAAM;EACd,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,EAAE,EAAE,IAAI;EACV,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CAAC;EAC9B,EAAE,IAAI,EAAE;EACR,IAAI,KAAK,EAAE,KAAK;EAChB,GAAG;EACH,CAAC;;EC/ID,SAAS,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE;EAC1D,EAAE,IAAI,gBAAgB,KAAK,KAAK,CAAC,EAAE;EACnC,IAAI,gBAAgB,GAAG;EACvB,MAAM,CAAC,EAAE,CAAC;EACV,MAAM,CAAC,EAAE,CAAC;EACV,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,OAAO;EACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;EACxD,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC;EAC3D,IAAI,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;EAC9D,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC;EACzD,GAAG,CAAC;EACJ,CAAC;AACD;EACA,SAAS,qBAAqB,CAAC,QAAQ,EAAE;EACzC,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;EACzD,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,SAAS,IAAI,CAAC,IAAI,EAAE;EACpB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EACvB,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;EAC5C,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;EACtC,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC;EAC7D,EAAE,IAAI,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE;EAChD,IAAI,cAAc,EAAE,WAAW;EAC/B,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE;EAChD,IAAI,WAAW,EAAE,IAAI;EACrB,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,wBAAwB,GAAG,cAAc,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;EAClF,EAAE,IAAI,mBAAmB,GAAG,cAAc,CAAC,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;EAC5F,EAAE,IAAI,iBAAiB,GAAG,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;EAC1E,EAAE,IAAI,gBAAgB,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;EACpE,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG;EAC9B,IAAI,wBAAwB,EAAE,wBAAwB;EACtD,IAAI,mBAAmB,EAAE,mBAAmB;EAC5C,IAAI,iBAAiB,EAAE,iBAAiB;EACxC,IAAI,gBAAgB,EAAE,gBAAgB;EACtC,GAAG,CAAC;EACJ,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;EACvE,IAAI,8BAA8B,EAAE,iBAAiB;EACrD,IAAI,qBAAqB,EAAE,gBAAgB;EAC3C,GAAG,CAAC,CAAC;EACL,CAAC;AACD;AACA;AACA,eAAe;EACf,EAAE,IAAI,EAAE,MAAM;EACd,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,gBAAgB,EAAE,CAAC,iBAAiB,CAAC;EACvC,EAAE,EAAE,EAAE,IAAI;EACV,CAAC;;ECzDM,SAAS,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;EAClE,EAAE,IAAI,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;EAClD,EAAE,IAAI,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACxE;EACA,EAAE,IAAI,IAAI,GAAG,OAAO,MAAM,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;EAC5E,IAAI,SAAS,EAAE,SAAS;EACxB,GAAG,CAAC,CAAC,GAAG,MAAM;EACd,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;EACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB;EACA,EAAE,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;EAC3B,EAAE,QAAQ,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,cAAc,CAAC;EAC9C,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG;EACrD,IAAI,CAAC,EAAE,QAAQ;EACf,IAAI,CAAC,EAAE,QAAQ;EACf,GAAG,GAAG;EACN,IAAI,CAAC,EAAE,QAAQ;EACf,IAAI,CAAC,EAAE,QAAQ;EACf,GAAG,CAAC;EACJ,CAAC;AACD;EACA,SAAS,MAAM,CAAC,KAAK,EAAE;EACvB,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK;EACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;EAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;EACxB,EAAE,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM;EACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC;EACrE,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,SAAS,EAAE;EACzD,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;EAC7E,IAAI,OAAO,GAAG,CAAC;EACf,GAAG,EAAE,EAAE,CAAC,CAAC;EACT,EAAE,IAAI,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;EACnD,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC;EACjC,MAAM,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;AAClC;EACA,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,EAAE;EACjD,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;EAC7C,GAAG;AACH;EACA,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;EACnC,CAAC;AACD;AACA;AACA,iBAAe;EACf,EAAE,IAAI,EAAE,QAAQ;EAChB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC;EAC7B,EAAE,EAAE,EAAE,MAAM;EACZ,CAAC;;ECnDD,SAAS,aAAa,CAAC,IAAI,EAAE;EAC7B,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EACvB;EACA;EACA;EACA;EACA,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;EAC7C,IAAI,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;EACpC,IAAI,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;EAC/B,IAAI,QAAQ,EAAE,UAAU;EACxB,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS;EAC9B,GAAG,CAAC,CAAC;EACL,CAAC;AACD;AACA;AACA,wBAAe;EACf,EAAE,IAAI,EAAE,eAAe;EACvB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,EAAE,EAAE,aAAa;EACnB,EAAE,IAAI,EAAE,EAAE;EACV,CAAC;;ECxBc,SAAS,UAAU,CAAC,IAAI,EAAE;EACzC,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;EAClC;;ECUA,SAAS,eAAe,CAAC,IAAI,EAAE;EAC/B,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;EAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EACvB,EAAE,IAAI,iBAAiB,GAAG,OAAO,CAAC,QAAQ;EAC1C,MAAM,aAAa,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,iBAAiB;EAC7E,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO;EACxC,MAAM,YAAY,GAAG,gBAAgB,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,gBAAgB;EAC3E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;EACjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY;EACzC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;EACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;EAC/B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;EACtC,MAAM,MAAM,GAAG,eAAe,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,eAAe;EAClE,MAAM,qBAAqB,GAAG,OAAO,CAAC,YAAY;EAClD,MAAM,YAAY,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC;EAClF,EAAE,IAAI,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE;EACvC,IAAI,QAAQ,EAAE,QAAQ;EACtB,IAAI,YAAY,EAAE,YAAY;EAC9B,IAAI,OAAO,EAAE,OAAO;EACpB,IAAI,WAAW,EAAE,WAAW;EAC5B,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACxD,EAAE,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EAChD,EAAE,IAAI,eAAe,GAAG,CAAC,SAAS,CAAC;EACnC,EAAE,IAAI,QAAQ,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC;EACzD,EAAE,IAAI,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;EACrC,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;EACxD,EAAE,IAAI,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;EAC5C,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;EACtC,EAAE,IAAI,iBAAiB,GAAG,OAAO,YAAY,KAAK,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;EAC3G,IAAI,SAAS,EAAE,KAAK,CAAC,SAAS;EAC9B,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;EACrB,EAAE,IAAI,2BAA2B,GAAG,OAAO,iBAAiB,KAAK,QAAQ,GAAG;EAC5E,IAAI,QAAQ,EAAE,iBAAiB;EAC/B,IAAI,OAAO,EAAE,iBAAiB;EAC9B,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;EACpB,IAAI,QAAQ,EAAE,CAAC;EACf,IAAI,OAAO,EAAE,CAAC;EACd,GAAG,EAAE,iBAAiB,CAAC,CAAC;EACxB,EAAE,IAAI,mBAAmB,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;EAC5G,EAAE,IAAI,IAAI,GAAG;EACb,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,CAAC,aAAa,EAAE;EACtB,IAAI,OAAO;EACX,GAAG;AACH;EACA,EAAE,IAAI,aAAa,EAAE;EACrB,IAAI,IAAI,qBAAqB,CAAC;AAC9B;EACA,IAAI,IAAI,QAAQ,GAAG,QAAQ,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;EACjD,IAAI,IAAI,OAAO,GAAG,QAAQ,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;EACpD,IAAI,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC;EACpD,IAAI,IAAI,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;EACzC,IAAI,IAAIN,KAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;EAC1C,IAAI,IAAIC,KAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;EACzC,IAAI,IAAI,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACrD,IAAI,IAAI,MAAM,GAAG,SAAS,KAAK,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;EAC5E,IAAI,IAAI,MAAM,GAAG,SAAS,KAAK,KAAK,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;EAC9E;AACA;EACA,IAAI,IAAI,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;EAC5C,IAAI,IAAI,SAAS,GAAG,MAAM,IAAI,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,GAAG;EAC3E,MAAM,KAAK,EAAE,CAAC;EACd,MAAM,MAAM,EAAE,CAAC;EACf,KAAK,CAAC;EACN,IAAI,IAAI,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,GAAG,kBAAkB,EAAE,CAAC;EAC9I,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;EACvD,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;EACtD;EACA;EACA;EACA;AACA;EACA,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;EACjE,IAAI,IAAI,SAAS,GAAG,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,2BAA2B,CAAC,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,2BAA2B,CAAC,QAAQ,CAAC;EACzN,IAAI,IAAI,SAAS,GAAG,eAAe,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,2BAA2B,CAAC,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,2BAA2B,CAAC,QAAQ,CAAC;EAC1N,IAAI,IAAI,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC1F,IAAI,IAAI,YAAY,GAAG,iBAAiB,GAAG,QAAQ,KAAK,GAAG,GAAG,iBAAiB,CAAC,SAAS,IAAI,CAAC,GAAG,iBAAiB,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC;EACvI,IAAI,IAAI,mBAAmB,GAAG,CAAC,qBAAqB,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,qBAAqB,GAAG,CAAC,CAAC;EACjK,IAAI,IAAI,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,mBAAmB,GAAG,YAAY,CAAC;EAC5E,IAAI,IAAI,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAAC;EAC7D,IAAI,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,GAAGE,GAAO,CAACH,KAAG,EAAE,SAAS,CAAC,GAAGA,KAAG,EAAE,MAAM,EAAE,MAAM,GAAGE,GAAO,CAACD,KAAG,EAAE,SAAS,CAAC,GAAGA,KAAG,CAAC,CAAC;EACzH,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;EAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC;EAC9C,GAAG;AACH;EACA,EAAE,IAAI,YAAY,EAAE;EACpB,IAAI,IAAI,sBAAsB,CAAC;AAC/B;EACA,IAAI,IAAI,SAAS,GAAG,QAAQ,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAClD;EACA,IAAI,IAAI,QAAQ,GAAG,QAAQ,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;AACrD;EACA,IAAI,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AACzC;EACA,IAAI,IAAI,IAAI,GAAG,OAAO,KAAK,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD;EACA,IAAI,IAAI,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7C;EACA,IAAI,IAAI,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC5C;EACA,IAAI,IAAI,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE;EACA,IAAI,IAAI,oBAAoB,GAAG,CAAC,sBAAsB,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,sBAAsB,GAAG,CAAC,CAAC;AACnK;EACA,IAAI,IAAI,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,CAAC;AACzJ;EACA,IAAI,IAAI,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,GAAG,IAAI,CAAC;AACzJ;EACA,IAAI,IAAI,gBAAgB,GAAG,MAAM,IAAI,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;AAC9K;EACA,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;EAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC;EAC/C,GAAG;AACH;EACA,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;EACnC,CAAC;AACD;AACA;AACA,0BAAe;EACf,EAAE,IAAI,EAAE,iBAAiB;EACzB,EAAE,OAAO,EAAE,IAAI;EACf,EAAE,KAAK,EAAE,MAAM;EACf,EAAE,EAAE,EAAE,eAAe;EACrB,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CAAC;EAC9B,CAAC;;EC7Ic,SAAS,oBAAoB,CAAC,OAAO,EAAE;EACtD,EAAE,OAAO;EACT,IAAI,UAAU,EAAE,OAAO,CAAC,UAAU;EAClC,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;EAChC,GAAG,CAAC;EACJ;;ECDe,SAAS,aAAa,CAAC,IAAI,EAAE;EAC5C,EAAE,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;EACxD,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;EACjC,GAAG,MAAM;EACT,IAAI,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACtC,GAAG;EACH;;ECDA,SAAS,eAAe,CAAC,OAAO,EAAE;EAClC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;EAC7C,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;EAC5D,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;EAC9D,EAAE,OAAO,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;EACtC,CAAC;EACD;AACA;AACA;EACe,SAAS,gBAAgB,CAAC,uBAAuB,EAAE,YAAY,EAAE,OAAO,EAAE;EACzF,EAAE,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;EAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;EACpB,GAAG;AACH;EACA,EAAE,IAAI,uBAAuB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;EAC5D,EAAE,IAAI,oBAAoB,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;EAC1F,EAAE,IAAI,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;EACzD,EAAE,IAAI,IAAI,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;EAC3F,EAAE,IAAI,MAAM,GAAG;EACf,IAAI,UAAU,EAAE,CAAC;EACjB,IAAI,SAAS,EAAE,CAAC;EAChB,GAAG,CAAC;EACJ,EAAE,IAAI,OAAO,GAAG;EAChB,IAAI,CAAC,EAAE,CAAC;EACR,IAAI,CAAC,EAAE,CAAC;EACR,GAAG,CAAC;AACJ;EACA,EAAE,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,IAAI,CAAC,OAAO,EAAE;EACvE,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,MAAM;EAC5C,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;EACrC,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;EAC3C,KAAK;AACL;EACA,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;EACrC,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;EAC1D,MAAM,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC;EAC3C,MAAM,OAAO,CAAC,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC;EAC1C,KAAK,MAAM,IAAI,eAAe,EAAE;EAChC,MAAM,OAAO,CAAC,CAAC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;EACvD,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO;EACT,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;EAChD,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;EAC9C,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK;EACrB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;EACvB,GAAG,CAAC;EACJ;;ECvDA,SAAS,KAAK,CAAC,SAAS,EAAE;EAC1B,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;EACtB,EAAE,IAAI,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;EAC1B,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;EAClB,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;EACxC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;EACrC,GAAG,CAAC,CAAC;AACL;EACA,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE;EAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC/B,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;EACvF,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;EACpC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;EAC7B,QAAQ,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC;EACA,QAAQ,IAAI,WAAW,EAAE;EACzB,UAAU,IAAI,CAAC,WAAW,CAAC,CAAC;EAC5B,SAAS;EACT,OAAO;EACP,KAAK,CAAC,CAAC;EACP,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC1B,GAAG;AACH;EACA,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;EACxC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;EACrC;EACA,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;EACrB,KAAK;EACL,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,MAAM,CAAC;EAChB,CAAC;AACD;EACe,SAAS,cAAc,CAAC,SAAS,EAAE;EAClD;EACA,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1C;EACA,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE;EACrD,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE;EAClE,MAAM,OAAO,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC;EACtC,KAAK,CAAC,CAAC,CAAC;EACR,GAAG,EAAE,EAAE,CAAC,CAAC;EACT;;EC3Ce,SAAS,QAAQ,CAAC,EAAE,EAAE;EACrC,EAAE,IAAI,OAAO,CAAC;EACd,EAAE,OAAO,YAAY;EACrB,IAAI,IAAI,CAAC,OAAO,EAAE;EAClB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE;EAC/C,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY;EAC3C,UAAU,OAAO,GAAG,SAAS,CAAC;EAC9B,UAAU,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;EACxB,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,KAAK;AACL;EACA,IAAI,OAAO,OAAO,CAAC;EACnB,GAAG,CAAC;EACJ;;ECde,SAAS,WAAW,CAAC,SAAS,EAAE;EAC/C,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,OAAO,EAAE;EAC3D,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACxC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;EAC3E,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;EACnE,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;EAC1D,KAAK,CAAC,GAAG,OAAO,CAAC;EACjB,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT;EACA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;EAChD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;EACvB,GAAG,CAAC,CAAC;EACL;;ECJA,IAAI,eAAe,GAAG;EACtB,EAAE,SAAS,EAAE,QAAQ;EACrB,EAAE,SAAS,EAAE,EAAE;EACf,EAAE,QAAQ,EAAE,UAAU;EACtB,CAAC,CAAC;AACF;EACA,SAAS,gBAAgB,GAAG;EAC5B,EAAE,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;EAC3F,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;EACjC,GAAG;AACH;EACA,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE;EACvC,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,qBAAqB,KAAK,UAAU,CAAC,CAAC;EAC7E,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACO,SAAS,eAAe,CAAC,gBAAgB,EAAE;EAClD,EAAE,IAAI,gBAAgB,KAAK,KAAK,CAAC,EAAE;EACnC,IAAI,gBAAgB,GAAG,EAAE,CAAC;EAC1B,GAAG;AACH;EACA,EAAE,IAAI,iBAAiB,GAAG,gBAAgB;EAC1C,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,gBAAgB;EAChE,MAAM,gBAAgB,GAAG,qBAAqB,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,qBAAqB;EACtF,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,cAAc;EAC/D,MAAM,cAAc,GAAG,sBAAsB,KAAK,KAAK,CAAC,GAAG,eAAe,GAAG,sBAAsB,CAAC;EACpG,EAAE,OAAO,SAAS,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;EAC3D,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;EAC5B,MAAM,OAAO,GAAG,cAAc,CAAC;EAC/B,KAAK;AACL;EACA,IAAI,IAAI,KAAK,GAAG;EAChB,MAAM,SAAS,EAAE,QAAQ;EACzB,MAAM,gBAAgB,EAAE,EAAE;EAC1B,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,CAAC;EACjE,MAAM,aAAa,EAAE,EAAE;EACvB,MAAM,QAAQ,EAAE;EAChB,QAAQ,SAAS,EAAE,SAAS;EAC5B,QAAQ,MAAM,EAAE,MAAM;EACtB,OAAO;EACP,MAAM,UAAU,EAAE,EAAE;EACpB,MAAM,MAAM,EAAE,EAAE;EAChB,KAAK,CAAC;EACN,IAAI,IAAI,gBAAgB,GAAG,EAAE,CAAC;EAC9B,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC;EAC5B,IAAI,IAAI,QAAQ,GAAG;EACnB,MAAM,KAAK,EAAE,KAAK;EAClB,MAAM,UAAU,EAAE,SAAS,UAAU,CAAC,gBAAgB,EAAE;EACxD,QAAQ,IAAI,OAAO,GAAG,OAAO,gBAAgB,KAAK,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;EAClH,QAAQ,sBAAsB,EAAE,CAAC;EACjC,QAAQ,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EAClF,QAAQ,KAAK,CAAC,aAAa,GAAG;EAC9B,UAAU,SAAS,EAAEJ,WAAS,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE;EACtJ,UAAU,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;EAC3C,SAAS,CAAC;EACV;AACA;EACA,QAAQ,IAAI,gBAAgB,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjH;EACA,QAAQ,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;EACtE,UAAU,OAAO,CAAC,CAAC,OAAO,CAAC;EAC3B,SAAS,CAAC,CAAC;EACX,QAAQ,kBAAkB,EAAE,CAAC;EAC7B,QAAQ,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;EACjC,OAAO;EACP;EACA;EACA;EACA;EACA;EACA,MAAM,WAAW,EAAE,SAAS,WAAW,GAAG;EAC1C,QAAQ,IAAI,WAAW,EAAE;EACzB,UAAU,OAAO;EACjB,SAAS;AACT;EACA,QAAQ,IAAI,eAAe,GAAG,KAAK,CAAC,QAAQ;EAC5C,YAAY,SAAS,GAAG,eAAe,CAAC,SAAS;EACjD,YAAY,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;EAC5C;AACA;EACA,QAAQ,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;EAClD,UAAU,OAAO;EACjB,SAAS;AACT;AACA;EACA,QAAQ,KAAK,CAAC,KAAK,GAAG;EACtB,UAAU,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;EAC7G,UAAU,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;EACvC,SAAS,CAAC;EACV;EACA;EACA;EACA;AACA;EACA,QAAQ,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;EAC5B,QAAQ,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;EAClD;EACA;EACA;AACA;EACA,QAAQ,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;EAC3D,UAAU,OAAO,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;EACvF,SAAS,CAAC,CAAC;AACX;EACA,QAAQ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;EAC5E,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE;EACpC,YAAY,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;EAChC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC;EACvB,YAAY,SAAS;EACrB,WAAW;AACX;EACA,UAAU,IAAI,qBAAqB,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC;EACnE,cAAc,EAAE,GAAG,qBAAqB,CAAC,EAAE;EAC3C,cAAc,sBAAsB,GAAG,qBAAqB,CAAC,OAAO;EACpE,cAAc,QAAQ,GAAG,sBAAsB,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,sBAAsB;EACxF,cAAc,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAChD;EACA,UAAU,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;EACxC,YAAY,KAAK,GAAG,EAAE,CAAC;EACvB,cAAc,KAAK,EAAE,KAAK;EAC1B,cAAc,OAAO,EAAE,QAAQ;EAC/B,cAAc,IAAI,EAAE,IAAI;EACxB,cAAc,QAAQ,EAAE,QAAQ;EAChC,aAAa,CAAC,IAAI,KAAK,CAAC;EACxB,WAAW;EACX,SAAS;EACT,OAAO;EACP;EACA;EACA,MAAM,MAAM,EAAE,QAAQ,CAAC,YAAY;EACnC,QAAQ,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE;EAC9C,UAAU,QAAQ,CAAC,WAAW,EAAE,CAAC;EACjC,UAAU,OAAO,CAAC,KAAK,CAAC,CAAC;EACzB,SAAS,CAAC,CAAC;EACX,OAAO,CAAC;EACR,MAAM,OAAO,EAAE,SAAS,OAAO,GAAG;EAClC,QAAQ,sBAAsB,EAAE,CAAC;EACjC,QAAQ,WAAW,GAAG,IAAI,CAAC;EAC3B,OAAO;EACP,KAAK,CAAC;AACN;EACA,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE;EAC9C,MAAM,OAAO,QAAQ,CAAC;EACtB,KAAK;AACL;EACA,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE;EACvD,MAAM,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE;EACjD,QAAQ,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACrC,OAAO;EACP,KAAK,CAAC,CAAC;EACP;EACA;EACA;EACA;AACA;EACA,IAAI,SAAS,kBAAkB,GAAG;EAClC,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACrD,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;EAC5B,YAAY,YAAY,GAAG,IAAI,CAAC,OAAO;EACvC,YAAY,OAAO,GAAG,YAAY,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,YAAY;EACjE,YAAY,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AACjC;EACA,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;EAC1C,UAAU,IAAI,SAAS,GAAG,MAAM,CAAC;EACjC,YAAY,KAAK,EAAE,KAAK;EACxB,YAAY,IAAI,EAAE,IAAI;EACtB,YAAY,QAAQ,EAAE,QAAQ;EAC9B,YAAY,OAAO,EAAE,OAAO;EAC5B,WAAW,CAAC,CAAC;AACb;EACA,UAAU,IAAI,MAAM,GAAG,SAAS,MAAM,GAAG,EAAE,CAAC;AAC5C;EACA,UAAU,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;EACrD,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK;AACL;EACA,IAAI,SAAS,sBAAsB,GAAG;EACtC,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;EAC7C,QAAQ,OAAO,EAAE,EAAE,CAAC;EACpB,OAAO,CAAC,CAAC;EACT,MAAM,gBAAgB,GAAG,EAAE,CAAC;EAC5B,KAAK;AACL;EACA,IAAI,OAAO,QAAQ,CAAC;EACpB,GAAG,CAAC;EACJ,CAAC;EACM,IAAIU,cAAY,gBAAgB,eAAe,EAAE,CAAC;;EC/LzD,IAAIC,kBAAgB,GAAG,CAAC,cAAc,EAAEC,eAAa,EAAEC,eAAa,EAAEC,aAAW,CAAC,CAAC;EACnF,IAAIJ,cAAY,gBAAgB,eAAe,CAAC;EAChD,EAAE,gBAAgB,EAAEC,kBAAgB;EACpC,CAAC,CAAC,CAAC;;ECEH,IAAI,gBAAgB,GAAG,CAAC,cAAc,EAAEC,eAAa,EAAEC,eAAa,EAAEC,aAAW,EAAEC,QAAM,EAAEC,MAAI,EAAEC,iBAAe,EAAEC,OAAK,EAAEC,MAAI,CAAC,CAAC;EAC/H,IAAI,YAAY,gBAAgB,eAAe,CAAC;EAChD,EAAE,gBAAgB,EAAE,gBAAgB;EACpC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECbH;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;AACA;EACA,MAAM,UAAU,GAAG,IAAI,GAAG,GAAE;AAC5B;AACA,aAAe;EACf,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE;EAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;EAClC,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAC;EACxC,KAAK;AACL;EACA,IAAI,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAC;AAC/C;EACA;EACA;EACA,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;EACzD;EACA,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,4EAA4E,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;EACxI,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAC;EAClC,GAAG;AACH;EACA,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE;EACpB,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;EACjC,MAAM,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;EACrD,KAAK;AACL;EACA,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE;EACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;EAClC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAC;AAC/C;EACA,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,EAAC;AAC3B;EACA;EACA,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;EAChC,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAC;EAChC,KAAK;EACL,GAAG;EACH;;ECtDA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,MAAM,OAAO,GAAG,UAAS;EACzB,MAAM,uBAAuB,GAAG,KAAI;EACpC,MAAM,cAAc,GAAG,gBAAe;AACtC;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,aAAa,GAAG,QAAQ,IAAI;EAClC,EAAE,IAAI,QAAQ,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;EACnD;EACA,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC;EACrF,GAAG;AACH;EACA,EAAE,OAAO,QAAQ;EACjB,EAAC;AACD;EACA;EACA,MAAM,MAAM,GAAG,MAAM,IAAI;EACzB,EAAE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;EAC/C,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;EACtB,GAAG;AACH;EACA,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;EACrF,EAAC;AACD;EACA;EACA;EACA;AACA;EACA,MAAM,MAAM,GAAG,MAAM,IAAI;EACzB,EAAE,GAAG;EACL,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,EAAC;EACjD,GAAG,QAAQ,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC3C;EACA,EAAE,OAAO,MAAM;EACf,EAAC;AACD;EACA,MAAM,gCAAgC,GAAG,OAAO,IAAI;EACpD,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO,CAAC;EACZ,GAAG;AACH;EACA;EACA,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC;AAChF;EACA,EAAE,MAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAC;EACvE,EAAE,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,EAAC;AACjE;EACA;EACA,EAAE,IAAI,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,EAAE;EACzD,IAAI,OAAO,CAAC;EACZ,GAAG;AACH;EACA;EACA,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;EACvD,EAAE,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;AACjD;EACA,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,uBAAuB;EAC/G,EAAC;AACD;EACA,MAAM,oBAAoB,GAAG,OAAO,IAAI;EACxC,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAC;EAClD,EAAC;AACD;EACA,MAAM,SAAS,GAAG,MAAM,IAAI;EAC5B,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EAC7C,IAAI,OAAO,KAAK;EAChB,GAAG;AACH;EACA,EAAE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE;EAC5C,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,EAAC;EACtB,GAAG;AACH;EACA,EAAE,OAAO,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW;EAC/C,EAAC;AACD;EACA,MAAM,UAAU,GAAG,MAAM,IAAI;EAC7B;EACA,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;EACzB,IAAI,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;EAC7C,GAAG;AACH;EACA,EAAE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;EACvD,IAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EACxD,GAAG;AACH;EACA,EAAE,OAAO,IAAI;EACb,EAAC;AACD;EACA,MAAM,SAAS,GAAG,OAAO,IAAI;EAC7B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;EACpE,IAAI,OAAO,KAAK;EAChB,GAAG;AACH;EACA,EAAE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,UAAS;EACjG;EACA,EAAE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAC;AAC9D;EACA,EAAE,IAAI,CAAC,aAAa,EAAE;EACtB,IAAI,OAAO,gBAAgB;EAC3B,GAAG;AACH;EACA,EAAE,IAAI,aAAa,KAAK,OAAO,EAAE;EACjC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAC;EAC9C,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,aAAa,EAAE;EACzD,MAAM,OAAO,KAAK;EAClB,KAAK;AACL;EACA,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE;EAC1B,MAAM,OAAO,KAAK;EAClB,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,gBAAgB;EACzB,EAAC;AACD;EACA,MAAM,UAAU,GAAG,OAAO,IAAI;EAC9B,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;EAC1D,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;EAC9C,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW,EAAE;EAC/C,IAAI,OAAO,OAAO,CAAC,QAAQ;EAC3B,GAAG;AACH;EACA,EAAE,OAAO,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,OAAO;EACzF,EAAC;AACD;EACA,MAAM,cAAc,GAAG,OAAO,IAAI;EAClC,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE;EAC9C,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,EAAE;EACjD,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,GAAE;EACtC,IAAI,OAAO,IAAI,YAAY,UAAU,GAAG,IAAI,GAAG,IAAI;EACnD,GAAG;AACH;EACA,EAAE,IAAI,OAAO,YAAY,UAAU,EAAE;EACrC,IAAI,OAAO,OAAO;EAClB,GAAG;AACH;EACA;EACA,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;EAC3B,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,OAAO,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC;EAC3C,EAAC;AACD;EACA,MAAM,IAAI,GAAG,MAAM,GAAE;AACrB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,MAAM,GAAG,OAAO,IAAI;EAC1B,EAAE,OAAO,CAAC,aAAY;EACtB,EAAC;AACD;EACA,MAAM,SAAS,GAAG,MAAM;EACxB,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE;EACzE,IAAI,OAAO,MAAM,CAAC,MAAM;EACxB,GAAG;AACH;EACA,EAAE,OAAO,IAAI;EACb,EAAC;AACD;EACA,MAAM,yBAAyB,GAAG,GAAE;AACpC;EACA,MAAM,kBAAkB,GAAG,QAAQ,IAAI;EACvC,EAAE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;EACzC;EACA,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE;EAC3C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;EAC1D,QAAQ,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE;EAC1D,UAAU,QAAQ,GAAE;EACpB,SAAS;EACT,OAAO,EAAC;EACR,KAAK;AACL;EACA,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,EAAC;EAC5C,GAAG,MAAM;EACT,IAAI,QAAQ,GAAE;EACd,GAAG;EACH,EAAC;AACD;EACA,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,KAAK,MAAK;AAC1D;EACA,MAAM,kBAAkB,GAAG,MAAM,IAAI;EACrC,EAAE,kBAAkB,CAAC,MAAM;EAC3B,IAAI,MAAM,CAAC,GAAG,SAAS,GAAE;EACzB;EACA,IAAI,IAAI,CAAC,EAAE;EACX,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,KAAI;EAC9B,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAC;EAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAe;EACzC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,OAAM;EACrC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,MAAM;EACpC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,mBAAkB;EACvC,QAAQ,OAAO,MAAM,CAAC,eAAe;EACrC,QAAO;EACP,KAAK;EACL,GAAG,EAAC;EACJ,EAAC;AACD;EACA,MAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,GAAG,gBAAgB,KAAK;EAClF,EAAE,OAAO,OAAO,gBAAgB,KAAK,UAAU,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,YAAY;EAC1F,EAAC;AACD;EACA,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,KAAK;EAC1F,EAAE,IAAI,CAAC,iBAAiB,EAAE;EAC1B,IAAI,OAAO,CAAC,QAAQ,EAAC;EACrB,IAAI,MAAM;EACV,GAAG;AACH;EACA,EAAE,MAAM,eAAe,GAAG,EAAC;EAC3B,EAAE,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,GAAG,gBAAe;AAChG;EACA,EAAE,IAAI,MAAM,GAAG,MAAK;AACpB;EACA,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK;EAClC,IAAI,IAAI,MAAM,KAAK,iBAAiB,EAAE;EACtC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,GAAG,KAAI;EACjB,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,EAAC;EAClE,IAAI,OAAO,CAAC,QAAQ,EAAC;EACrB,IAAG;AACH;EACA,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,EAAC;EAC7D,EAAE,UAAU,CAAC,MAAM;EACnB,IAAI,IAAI,CAAC,MAAM,EAAE;EACjB,MAAM,oBAAoB,CAAC,iBAAiB,EAAC;EAC7C,KAAK;EACL,GAAG,EAAE,gBAAgB,EAAC;EACtB,EAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,KAAK;EACrF,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAM;EAChC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAC;AACzC;EACA;EACA;EACA,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;EACpB,IAAI,OAAO,CAAC,aAAa,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;EAC5E,GAAG;AACH;EACA,EAAE,KAAK,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,EAAC;AACjC;EACA,EAAE,IAAI,cAAc,EAAE;EACtB,IAAI,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,IAAI,WAAU;EAC7C,GAAG;AACH;EACA,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;EAC3D;;EC3RA;EACA;EACA;EACA;EACA;EACA;AAGA;EACA;EACA;EACA;AACA;EACA,MAAM,cAAc,GAAG,qBAAoB;EAC3C,MAAM,cAAc,GAAG,OAAM;EAC7B,MAAM,aAAa,GAAG,SAAQ;EAC9B,MAAM,aAAa,GAAG,GAAE;EACxB,IAAI,QAAQ,GAAG,EAAC;EAChB,MAAM,YAAY,GAAG;EACrB,EAAE,UAAU,EAAE,WAAW;EACzB,EAAE,UAAU,EAAE,UAAU;EACxB,EAAC;AACD;EACA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;EAC7B,EAAE,OAAO;EACT,EAAE,UAAU;EACZ,EAAE,SAAS;EACX,EAAE,WAAW;EACb,EAAE,aAAa;EACf,EAAE,YAAY;EACd,EAAE,gBAAgB;EAClB,EAAE,WAAW;EACb,EAAE,UAAU;EACZ,EAAE,WAAW;EACb,EAAE,aAAa;EACf,EAAE,WAAW;EACb,EAAE,SAAS;EACX,EAAE,UAAU;EACZ,EAAE,OAAO;EACT,EAAE,mBAAmB;EACrB,EAAE,YAAY;EACd,EAAE,WAAW;EACb,EAAE,UAAU;EACZ,EAAE,aAAa;EACf,EAAE,aAAa;EACf,EAAE,aAAa;EACf,EAAE,WAAW;EACb,EAAE,cAAc;EAChB,EAAE,eAAe;EACjB,EAAE,cAAc;EAChB,EAAE,eAAe;EACjB,EAAE,YAAY;EACd,EAAE,OAAO;EACT,EAAE,MAAM;EACR,EAAE,QAAQ;EACV,EAAE,OAAO;EACT,EAAE,QAAQ;EACV,EAAE,QAAQ;EACV,EAAE,SAAS;EACX,EAAE,UAAU;EACZ,EAAE,MAAM;EACR,EAAE,QAAQ;EACV,EAAE,cAAc;EAChB,EAAE,QAAQ;EACV,EAAE,MAAM;EACR,EAAE,kBAAkB;EACpB,EAAE,kBAAkB;EACpB,EAAE,OAAO;EACT,EAAE,OAAO;EACT,EAAE,QAAQ;EACV,CAAC,EAAC;AACF;EACA;EACA;EACA;AACA;EACA,SAAS,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE;EACpC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,IAAI,QAAQ,EAAE;EAC3E,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,OAAO,EAAE;EACnC,EAAE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAC;AACnC;EACA,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAG;EACxB,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,GAAE;AAC/C;EACA,EAAE,OAAO,aAAa,CAAC,GAAG,CAAC;EAC3B,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE;EACvC,EAAE,OAAO,SAAS,OAAO,CAAC,KAAK,EAAE;EACjC,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,EAAC;AAClD;EACA,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE;EACxB,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAC;EAC/C,KAAK;AACL;EACA,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;EACrC,GAAG;EACH,CAAC;AACD;EACA,SAAS,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;EAC3D,EAAE,OAAO,SAAS,OAAO,CAAC,KAAK,EAAE;EACjC,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAC;AAC1D;EACA,IAAI,KAAK,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE;EACxF,MAAM,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;EAC5C,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE;EACnC,UAAU,QAAQ;EAClB,SAAS;AACT;EACA,QAAQ,UAAU,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAC;AACrD;EACA,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE;EAC5B,UAAU,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAC;EAC7D,SAAS;AACT;EACA,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;EACxC,OAAO;EACP,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACA,SAAS,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EAAE;EAClE,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9B,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;EAClG,CAAC;AACD;EACA,SAAS,mBAAmB,CAAC,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;EAC7E,EAAE,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,SAAQ;EACjD;EACA,EAAE,MAAM,QAAQ,GAAG,WAAW,GAAG,kBAAkB,IAAI,OAAO,IAAI,kBAAkB,EAAC;EACrF,EAAE,IAAI,SAAS,GAAG,YAAY,CAAC,iBAAiB,EAAC;AACjD;EACA,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;EACpC,IAAI,SAAS,GAAG,kBAAiB;EACjC,GAAG;AACH;EACA,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;EAC3C,CAAC;AACD;EACA,SAAS,UAAU,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE;EACrF,EAAE,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE;EACzD,IAAI,MAAM;EACV,GAAG;AACH;EACA,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAC;AAC9G;EACA;EACA;EACA,EAAE,IAAI,iBAAiB,IAAI,YAAY,EAAE;EACzC,IAAI,MAAM,YAAY,GAAG,EAAE,IAAI;EAC/B,MAAM,OAAO,UAAU,KAAK,EAAE;EAC9B,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE;EAC3I,UAAU,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;EACrC,SAAS;EACT,OAAO;EACP,MAAK;AACL;EACA,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAC;EACrC,GAAG;AACH;EACA,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAC;EAC1C,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC;EAChE,EAAE,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,EAAC;AACxF;EACA,EAAE,IAAI,gBAAgB,EAAE;EACxB,IAAI,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,IAAI,OAAM;AAC/D;EACA,IAAI,MAAM;EACV,GAAG;AACH;EACA,EAAE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAC;EACnF,EAAE,MAAM,EAAE,GAAG,WAAW;EACxB,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;EAC1D,IAAI,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAC;AACvC;EACA,EAAE,EAAE,CAAC,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,KAAI;EACtD,EAAE,EAAE,CAAC,QAAQ,GAAG,SAAQ;EACxB,EAAE,EAAE,CAAC,MAAM,GAAG,OAAM;EACpB,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAG;EACnB,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAE;AACpB;EACA,EAAE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,EAAC;EACtD,CAAC;AACD;EACA,SAAS,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE;EAChF,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAC;AACxE;EACA,EAAE,IAAI,CAAC,EAAE,EAAE;EACX,IAAI,MAAM;EACV,GAAG;AACH;EACA,EAAE,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAC;EACzE,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAC;EACvC,CAAC;AACD;EACA,SAAS,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE;EACzE,EAAE,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,GAAE;AACnD;EACA,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;EACvE,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;EACxC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAC;EACzF,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACA,SAAS,YAAY,CAAC,KAAK,EAAE;EAC7B;EACA,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAC;EAC3C,EAAE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK;EACrC,CAAC;AACD;EACA,MAAM,YAAY,GAAG;EACrB,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;EAClD,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAC;EAClE,GAAG;AACH;EACA,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;EACnD,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAC;EACjE,GAAG;AACH;EACA,EAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;EAC/D,IAAI,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE;EAC3D,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAC;EAClH,IAAI,MAAM,WAAW,GAAG,SAAS,KAAK,kBAAiB;EACvD,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAC;EAC5C,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,GAAE;EACrD,IAAI,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAC;AACzD;EACA,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;EACzC;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE;EAClD,QAAQ,MAAM;EACd,OAAO;AACP;EACA,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,EAAC;EACvF,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,WAAW,EAAE;EACrB,MAAM,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;EACtD,QAAQ,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;EAC3F,OAAO;EACP,KAAK;AACL;EACA,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;EAC1E,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAC;AAC/D;EACA,MAAM,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;EAClE,QAAQ,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,EAAC;EAC3F,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;EAChC,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,EAAE;EAC/C,MAAM,OAAO,IAAI;EACjB,KAAK;AACL;EACA,IAAI,MAAM,CAAC,GAAG,SAAS,GAAE;EACzB,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAC;EACzC,IAAI,MAAM,WAAW,GAAG,KAAK,KAAK,UAAS;AAC3C;EACA,IAAI,IAAI,WAAW,GAAG,KAAI;EAC1B,IAAI,IAAI,OAAO,GAAG,KAAI;EACtB,IAAI,IAAI,cAAc,GAAG,KAAI;EAC7B,IAAI,IAAI,gBAAgB,GAAG,MAAK;AAChC;EACA,IAAI,IAAI,WAAW,IAAI,CAAC,EAAE;EAC1B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC;AACxC;EACA,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAC;EACrC,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,oBAAoB,GAAE;EACnD,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,6BAA6B,GAAE;EACnE,MAAM,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,GAAE;EACzD,KAAK;AACL;EACA,IAAI,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC;AACjF;EACA,IAAI,IAAI,gBAAgB,EAAE;EAC1B,MAAM,GAAG,CAAC,cAAc,GAAE;EAC1B,KAAK;AACL;EACA,IAAI,IAAI,cAAc,EAAE;EACxB,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAC;EAChC,KAAK;AACL;EACA,IAAI,IAAI,GAAG,CAAC,gBAAgB,IAAI,WAAW,EAAE;EAC7C,MAAM,WAAW,CAAC,cAAc,GAAE;EAClC,KAAK;AACL;EACA,IAAI,OAAO,GAAG;EACd,GAAG;EACH,EAAC;AACD;EACA,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE;EACpC,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;EACnD,IAAI,IAAI;EACR,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,MAAK;EACtB,KAAK,CAAC,MAAM;EACZ,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;EACtC,QAAQ,YAAY,EAAE,IAAI;EAC1B,QAAQ,GAAG,GAAG;EACd,UAAU,OAAO,KAAK;EACtB,SAAS;EACT,OAAO,EAAC;EACR,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,GAAG;EACZ;;EC1TA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,SAAS,aAAa,CAAC,KAAK,EAAE;EAC9B,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE;EACxB,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,IAAI,KAAK,KAAK,OAAO,EAAE;EACzB,IAAI,OAAO,KAAK;EAChB,GAAG;AACH;EACA,EAAE,IAAI,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;EAC1C,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC;EACxB,GAAG;AACH;EACA,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE;EACxC,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;EACjC,IAAI,OAAO,KAAK;EAChB,GAAG;AACH;EACA,EAAE,IAAI;EACN,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;EAChD,GAAG,CAAC,MAAM;EACV,IAAI,OAAO,KAAK;EAChB,GAAG;EACH,CAAC;AACD;EACA,SAAS,gBAAgB,CAAC,GAAG,EAAE;EAC/B,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;EAC9D,CAAC;AACD;EACA,MAAM,WAAW,GAAG;EACpB,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;EACxC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC;EACnE,GAAG;AACH;EACA,EAAE,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE;EACpC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;EAC/D,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,OAAO,EAAE;EAC7B,IAAI,IAAI,CAAC,OAAO,EAAE;EAClB,MAAM,OAAO,EAAE;EACf,KAAK;AACL;EACA,IAAI,MAAM,UAAU,GAAG,GAAE;EACzB,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAC;AAClH;EACA,IAAI,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;EAC9B,MAAM,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAC;EAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,EAAC;EAClF,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;EAC/D,KAAK;AACL;EACA,IAAI,OAAO,UAAU;EACrB,GAAG;AACH;EACA,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;EACjC,IAAI,OAAO,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAClF,GAAG;EACH;;ECpEA;EACA;EACA;EACA;EACA;EACA;AAIA;EACA;EACA;EACA;AACA;EACA,MAAM,MAAM,CAAC;EACb;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAO,EAAE;EACb,GAAG;AACH;EACA,EAAE,WAAW,WAAW,GAAG;EAC3B,IAAI,OAAO,EAAE;EACb,GAAG;AACH;EACA,EAAE,WAAW,IAAI,GAAG;EACpB,IAAI,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC;EAC1F,GAAG;AACH;EACA,EAAE,UAAU,CAAC,MAAM,EAAE;EACrB,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAC;EACzC,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;EAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAC;EACjC,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,MAAM,EAAE;EAC5B,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE;EACnC,IAAI,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,GAAE;AAChG;EACA,IAAI,OAAO;EACX,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO;EACjC,MAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC;EAC3D,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;EAC3E,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;EACnD,KAAK;EACL,GAAG;AACH;EACA,EAAE,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;EACvE,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;EACzE,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAC;EACpC,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,KAAK,EAAC;AACpE;EACA,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;EACtD,QAAQ,MAAM,IAAI,SAAS;EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAAE,CAAC;EAC3I,SAAS;EACT,OAAO;EACP,KAAK;EACL,GAAG;EACH;;EC9DA;EACA;EACA;EACA;EACA;EACA;AAMA;EACA;EACA;EACA;AACA;EACA,MAAM,OAAO,GAAG,QAAO;AACvB;EACA;EACA;EACA;AACA;EACA,MAAM,aAAa,SAAS,MAAM,CAAC;EACnC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,IAAI,KAAK,GAAE;AACX;EACA,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,EAAC;EACjC,IAAI,IAAI,CAAC,OAAO,EAAE;EAClB,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAO;EAC3B,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;AAC1C;EACA,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAC;EAC5D,GAAG;AACH;EACA;EACA,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAC;EACzD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAC;AAC/D;EACA,IAAI,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EACjE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,KAAI;EAC/B,KAAK;EACL,GAAG;AACH;EACA,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE;EACvD,IAAI,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAC;EACzD,GAAG;AACH;EACA,EAAE,UAAU,CAAC,MAAM,EAAE;EACrB,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAC;EACxD,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;EAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAC;EACjC,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA;EACA,EAAE,OAAO,WAAW,CAAC,OAAO,EAAE;EAC9B,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;EACvD,GAAG;AACH;EACA,EAAE,OAAO,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,EAAE;EACnD,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;EACrG,GAAG;AACH;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAO,OAAO;EAClB,GAAG;AACH;EACA,EAAE,WAAW,QAAQ,GAAG;EACxB,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EAC5B,GAAG;AACH;EACA,EAAE,WAAW,SAAS,GAAG;EACzB,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC9B,GAAG;AACH;EACA,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE;EACzB,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;EACrC,GAAG;EACH;;EClFA;EACA;EACA;EACA;EACA;EACA;AAGA;EACA,MAAM,WAAW,GAAG,OAAO,IAAI;EAC/B,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAC;AACvD;EACA,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;EACrC,IAAI,IAAI,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAC;AACpD;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;EAC5F,MAAM,OAAO,IAAI;EACjB,KAAK;AACL;EACA;EACA,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;EACvE,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;EACvD,KAAK;AACL;EACA,IAAI,QAAQ,GAAG,aAAa,IAAI,aAAa,KAAK,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,KAAI;EACnF,GAAG;AACH;EACA,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAC;EAChC,EAAC;AACD;EACA,MAAM,cAAc,GAAG;EACvB,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE;EACrD,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;EACnF,GAAG;AACH;EACA,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC,eAAe,EAAE;EACxD,IAAI,OAAO,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;EAClE,GAAG;AACH;EACA,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC9B,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EAClF,GAAG;AACH;EACA,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC7B,IAAI,MAAM,OAAO,GAAG,GAAE;EACtB,IAAI,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAC;AACvD;EACA,IAAI,OAAO,QAAQ,EAAE;EACrB,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAC;EAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAC;EACtD,KAAK;AACL;EACA,IAAI,OAAO,OAAO;EAClB,GAAG;AACH;EACA,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC1B,IAAI,IAAI,QAAQ,GAAG,OAAO,CAAC,uBAAsB;AACjD;EACA,IAAI,OAAO,QAAQ,EAAE;EACrB,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;EACtC,QAAQ,OAAO,CAAC,QAAQ,CAAC;EACzB,OAAO;AACP;EACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,uBAAsB;EAChD,KAAK;AACL;EACA,IAAI,OAAO,EAAE;EACb,GAAG;EACH;EACA,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;EAC1B,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,mBAAkB;AACzC;EACA,IAAI,OAAO,IAAI,EAAE;EACjB,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;EAClC,QAAQ,OAAO,CAAC,IAAI,CAAC;EACrB,OAAO;AACP;EACA,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAkB;EACpC,KAAK;AACL;EACA,IAAI,OAAO,EAAE;EACb,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,OAAO,EAAE;EAC7B,IAAI,MAAM,UAAU,GAAG;EACvB,MAAM,GAAG;EACT,MAAM,QAAQ;EACd,MAAM,OAAO;EACb,MAAM,UAAU;EAChB,MAAM,QAAQ;EACd,MAAM,SAAS;EACf,MAAM,YAAY;EAClB,MAAM,0BAA0B;EAChC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAC;AACnE;EACA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;EACxF,GAAG;AACH;EACA,EAAE,sBAAsB,CAAC,OAAO,EAAE;EAClC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAC;AACzC;EACA,IAAI,IAAI,QAAQ,EAAE;EAClB,MAAM,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI;EAC/D,KAAK;AACL;EACA,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,sBAAsB,CAAC,OAAO,EAAE;EAClC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAC;AACzC;EACA,IAAI,OAAO,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;EAC7D,GAAG;AACH;EACA,EAAE,+BAA+B,CAAC,OAAO,EAAE;EAC3C,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAC;AACzC;EACA,IAAI,OAAO,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;EACxD,GAAG;EACH;;EC3HA;EACA;EACA;EACA;EACA;EACA;AAkBA;EACA;EACA;EACA;AACA;EACA,MAAMC,MAAI,GAAG,WAAU;EACvB,MAAMC,UAAQ,GAAG,cAAa;EAC9B,MAAMC,WAAS,GAAG,CAAC,CAAC,EAAED,UAAQ,CAAC,EAAC;EAChC,MAAME,cAAY,GAAG,YAAW;AAChC;EACA,MAAM,UAAU,GAAG,SAAQ;EAC3B,MAAM,OAAO,GAAG,MAAK;EACrB,MAAM,YAAY,GAAG,UAAS;EAC9B,MAAM,cAAc,GAAG,YAAW;EAClC,MAAM,kBAAkB,GAAG,EAAC;AAC5B;EACA,MAAMC,YAAU,GAAG,CAAC,IAAI,EAAEF,WAAS,CAAC,EAAC;EACrC,MAAMG,cAAY,GAAG,CAAC,MAAM,EAAEH,WAAS,CAAC,EAAC;EACzC,MAAMI,YAAU,GAAG,CAAC,IAAI,EAAEJ,WAAS,CAAC,EAAC;EACrC,MAAMK,aAAW,GAAG,CAAC,KAAK,EAAEL,WAAS,CAAC,EAAC;EACvC,MAAMM,sBAAoB,GAAG,CAAC,KAAK,EAAEN,WAAS,CAAC,EAAEC,cAAY,CAAC,EAAC;EAC/D,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAED,WAAS,CAAC,EAAEC,cAAY,CAAC,EAAC;EACnE,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAED,WAAS,CAAC,EAAEC,cAAY,CAAC,EAAC;AAC/D;EACA,MAAMM,iBAAe,GAAG,OAAM;EAC9B,MAAM,iBAAiB,GAAG,SAAQ;EAClC,MAAM,kBAAkB,GAAG,UAAS;EACpC,MAAM,oBAAoB,GAAG,YAAW;EACxC,MAAM,wBAAwB,GAAG,gBAAe;EAChD,MAAM,0BAA0B,GAAG,kBAAiB;AACpD;EACA,MAAMC,sBAAoB,GAAG,4DAA2D;EACxF,MAAM,0BAA0B,GAAG,CAAC,EAAEA,sBAAoB,CAAC,CAAC,EAAED,iBAAe,CAAC,EAAC;EAC/E,MAAM,aAAa,GAAG,iBAAgB;EACtC,MAAM,eAAe,GAAG,UAAS;EACjC,MAAM,mBAAmB,GAAG,cAAa;EACzC,MAAM,sBAAsB,GAAG,8DAA6D;AAC5F;EACA,MAAM,aAAa,GAAG,KAAK,EAAE,GAAG,SAAS,GAAG,YAAW;EACvD,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,WAAW,GAAG,UAAS;EAC1D,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,YAAY,GAAG,eAAc;EAChE,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAG,cAAc,GAAG,aAAY;EACnE,MAAM,eAAe,GAAG,KAAK,EAAE,GAAG,YAAY,GAAG,cAAa;EAC9D,MAAM,cAAc,GAAG,KAAK,EAAE,GAAG,aAAa,GAAG,aAAY;EAC7D,MAAM,mBAAmB,GAAG,MAAK;EACjC,MAAM,sBAAsB,GAAG,SAAQ;AACvC;EACA,MAAME,SAAO,GAAG;EAChB,EAAE,SAAS,EAAE,IAAI;EACjB,EAAE,QAAQ,EAAE,iBAAiB;EAC7B,EAAE,OAAO,EAAE,SAAS;EACpB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChB,EAAE,YAAY,EAAE,IAAI;EACpB,EAAE,SAAS,EAAE,QAAQ;EACrB,EAAC;AACD;EACA,MAAMC,aAAW,GAAG;EACpB,EAAE,SAAS,EAAE,kBAAkB;EAC/B,EAAE,QAAQ,EAAE,kBAAkB;EAC9B,EAAE,OAAO,EAAE,QAAQ;EACnB,EAAE,MAAM,EAAE,yBAAyB;EACnC,EAAE,YAAY,EAAE,wBAAwB;EACxC,EAAE,SAAS,EAAE,yBAAyB;EACtC,EAAC;AACD;EACA;EACA;EACA;AACA;EACA,MAAM,QAAQ,SAAS,aAAa,CAAC;EACrC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAC;AAC1B;EACA,IAAI,IAAI,CAAC,OAAO,GAAG,KAAI;EACvB,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAU;EAC3C;EACA,IAAI,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;EACrE,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;EAC1D,MAAM,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAC;EACzD,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAE;EACzC,GAAG;AACH;EACA;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAOD,SAAO;EAClB,GAAG;AACH;EACA,EAAE,WAAW,WAAW,GAAG;EAC3B,IAAI,OAAOC,aAAW;EACtB,GAAG;AACH;EACA,EAAE,WAAW,IAAI,GAAG;EACpB,IAAI,OAAOZ,MAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;EACtD,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;EACtD,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,aAAa,GAAG;EAC1B,MAAM,aAAa,EAAE,IAAI,CAAC,QAAQ;EAClC,MAAK;AACL;EACA,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEM,YAAU,EAAE,aAAa,EAAC;AACpF;EACA,IAAI,IAAI,SAAS,CAAC,gBAAgB,EAAE;EACpC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,aAAa,GAAE;AACxB;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,cAAc,IAAI,QAAQ,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;EAClG,MAAM,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EAClE,QAAQ,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC;EACnD,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAE;EACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,EAAC;AACrD;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAACG,iBAAe,EAAC;EAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAACA,iBAAe,EAAC;EAChD,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEF,aAAW,EAAE,aAAa,EAAC;EACnE,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;EACvD,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,aAAa,GAAG;EAC1B,MAAM,aAAa,EAAE,IAAI,CAAC,QAAQ;EAClC,MAAK;AACL;EACA,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAC;EACrC,GAAG;AACH;EACA,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAE;EAC5B,KAAK;AACL;EACA,IAAI,KAAK,CAAC,OAAO,GAAE;EACnB,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,GAAE;EACzC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAE;EAC3B,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,aAAa,CAAC,aAAa,EAAE;EAC/B,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEH,YAAU,EAAE,aAAa,EAAC;EACpF,IAAI,IAAI,SAAS,CAAC,gBAAgB,EAAE;EACpC,MAAM,MAAM;EACZ,KAAK;AACL;EACA;EACA;EACA,IAAI,IAAI,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE;EACpD,MAAM,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EAClE,QAAQ,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC;EACpD,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAE;EAC5B,KAAK;AACL;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAACK,iBAAe,EAAC;EAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAACA,iBAAe,EAAC;EACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,EAAC;EACxD,IAAI,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAC;EACzD,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEJ,cAAY,EAAE,aAAa,EAAC;EACpE,GAAG;AACH;EACA,EAAE,UAAU,CAAC,MAAM,EAAE;EACrB,IAAI,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAC;AACrC;EACA,IAAI,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;EAC5E,MAAM,OAAO,MAAM,CAAC,SAAS,CAAC,qBAAqB,KAAK,UAAU;EAClE,MAAM;EACN;EACA,MAAM,MAAM,IAAI,SAAS,CAAC,CAAC,EAAEL,MAAI,CAAC,WAAW,EAAE,CAAC,8FAA8F,CAAC,CAAC;EAChJ,KAAK;AACL;EACA,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EACvC,MAAM,MAAM,IAAI,SAAS,CAAC,+DAA+D,CAAC;EAC1F,KAAK;AACL;EACA,IAAI,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAQ;AACxC;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;EAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAO;EACrC,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;EAClD,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC;EAC3D,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;EAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAS;EAC/C,KAAK;AACL;EACA,IAAI,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,GAAE;EAChD,IAAI,IAAI,CAAC,OAAO,GAAGa,YAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAC;EAClF,GAAG;AACH;EACA,EAAE,QAAQ,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAACJ,iBAAe,CAAC;EACzD,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,QAAO;AACvC;EACA,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;EAC/D,MAAM,OAAO,eAAe;EAC5B,KAAK;AACL;EACA,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;EACjE,MAAM,OAAO,cAAc;EAC3B,KAAK;AACL;EACA,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;EACrE,MAAM,OAAO,mBAAmB;EAChC,KAAK;AACL;EACA,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;EACvE,MAAM,OAAO,sBAAsB;EACnC,KAAK;AACL;EACA;EACA,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,KAAK,MAAK;AACjG;EACA,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;EAC9D,MAAM,OAAO,KAAK,GAAG,gBAAgB,GAAG,aAAa;EACrD,KAAK;AACL;EACA,IAAI,OAAO,KAAK,GAAG,mBAAmB,GAAG,gBAAgB;EACzD,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI;EAC1D,GAAG;AACH;EACA,EAAE,UAAU,GAAG;EACf,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAO;AACnC;EACA,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EACpC,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EACvE,KAAK;AACL;EACA,IAAI,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;EACtC,MAAM,OAAO,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;EAC5D,KAAK;AACL;EACA,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,gBAAgB,GAAG;EACrB,IAAI,MAAM,qBAAqB,GAAG;EAClC,MAAM,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;EACrC,MAAM,SAAS,EAAE,CAAC;EAClB,QAAQ,IAAI,EAAE,iBAAiB;EAC/B,QAAQ,OAAO,EAAE;EACjB,UAAU,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;EACzC,SAAS;EACT,OAAO;EACP,MAAM;EACN,QAAQ,IAAI,EAAE,QAAQ;EACtB,QAAQ,OAAO,EAAE;EACjB,UAAU,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;EACnC,SAAS;EACT,OAAO,CAAC;EACR,MAAK;AACL;EACA;EACA,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;EAC7D,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAC;EAClE,MAAM,qBAAqB,CAAC,SAAS,GAAG,CAAC;EACzC,QAAQ,IAAI,EAAE,aAAa;EAC3B,QAAQ,OAAO,EAAE,KAAK;EACtB,OAAO,EAAC;EACR,KAAK;AACL;EACA,IAAI,OAAO;EACX,MAAM,GAAG,qBAAqB;EAC9B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,qBAAqB,CAAC,CAAC;EACpE,KAAK;EACL,GAAG;AACH;EACA,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;EACnC,IAAI,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,EAAC;AAC/G;EACA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EACvB,MAAM,MAAM;EACZ,KAAK;AACL;EACA;EACA;EACA,IAAI,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAE;EAChG,GAAG;AACH;EACA;EACA,EAAE,OAAO,eAAe,CAAC,MAAM,EAAE;EACjC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY;EACjC,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAC;AAC7D;EACA,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EACtC,QAAQ,MAAM;EACd,OAAO;AACP;EACA,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;EAC/C,QAAQ,MAAM,IAAI,SAAS,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1D,OAAO;AACP;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAE;EACpB,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,OAAO,UAAU,CAAC,KAAK,EAAE;EAC3B,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,KAAK,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE;EAClG,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAC;AACvE;EACA,IAAI,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;EACtC,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAC;EAClD,MAAM,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;EAC3D,QAAQ,QAAQ;EAChB,OAAO;AACP;EACA,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,GAAE;EAC/C,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAC;EAC/D,MAAM;EACN,QAAQ,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;EAC/C,SAAS,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC;EACjE,SAAS,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,YAAY,CAAC;EACjE,QAAQ;EACR,QAAQ,QAAQ;EAChB,OAAO;AACP;EACA;EACA,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,KAAK,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;EAC1K,QAAQ,QAAQ;EAChB,OAAO;AACP;EACA,MAAM,MAAM,aAAa,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,QAAQ,GAAE;AAC/D;EACA,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;EAClC,QAAQ,aAAa,CAAC,UAAU,GAAG,MAAK;EACxC,OAAO;AACP;EACA,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,EAAC;EAC1C,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,qBAAqB,CAAC,KAAK,EAAE;EACtC;EACA;AACA;EACA,IAAI,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAC;EAChE,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,KAAK,WAAU;EAClD,IAAI,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAC;AAC9E;EACA,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,EAAE;EAC5C,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE;EACnC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,KAAK,CAAC,cAAc,GAAE;AAC1B;EACA;EACA,IAAI,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAACC,sBAAoB,CAAC;EAC9D,MAAM,IAAI;EACV,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAEA,sBAAoB,CAAC,CAAC,CAAC,CAAC;EACzD,QAAQ,cAAc,CAAC,IAAI,CAAC,IAAI,EAAEA,sBAAoB,CAAC,CAAC,CAAC,CAAC;EAC1D,QAAQ,cAAc,CAAC,OAAO,CAACA,sBAAoB,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAC;AACtF;EACA,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,eAAe,EAAC;AAClE;EACA,IAAI,IAAI,eAAe,EAAE;EACzB,MAAM,KAAK,CAAC,eAAe,GAAE;EAC7B,MAAM,QAAQ,CAAC,IAAI,GAAE;EACrB,MAAM,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAC;EACrC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE;EAC7B,MAAM,KAAK,CAAC,eAAe,GAAE;EAC7B,MAAM,QAAQ,CAAC,IAAI,GAAE;EACrB,MAAM,eAAe,CAAC,KAAK,GAAE;EAC7B,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACA;EACA;EACA;AACA;EACA,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,EAAEA,sBAAoB,EAAE,QAAQ,CAAC,qBAAqB,EAAC;EACvG,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,CAAC,qBAAqB,EAAC;EAChG,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAEF,sBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAC;EACpE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAC;EACpE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAEA,sBAAoB,EAAEE,sBAAoB,EAAE,UAAU,KAAK,EAAE;EACvF,EAAE,KAAK,CAAC,cAAc,GAAE;EACxB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAE;EAC7C,CAAC,EAAC;AACF;EACA;EACA;EACA;AACA;EACA,kBAAkB,CAAC,QAAQ;;ECpc3B;EACO,MAAM,MAAM,GAAG,CAAC,MAAW,EAAE,GAAG,IAAW,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;EAC/E,MAAM,IAAI,GAAG,CAAC,GAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;ECFlD;EAEA,SAAS,SAAS,CAAC,IAAS,EAAA;EAC1B,IAAA,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC;EACzE,CAAC;EAED,MAAM,SAAS,GAAG,CAAC,MAAW,EAAE,MAAW,KAAI;MAC7C,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;UAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;EACzB,YAAA,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;EAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;sBAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;EAC3B,iBAAA;kBACD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EACrC,aAAA;EAAM,iBAAA;EACL,gBAAA,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;EACxC,aAAA;EACH,SAAC,CAAC,CAAC;EACJ,KAAA;EACD,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;;ECVD,MAAMI,YAAU,GAAG,WAAW,CAAC;EAC/B,MAAMC,UAAQ,GAAG,SAAS,CAAC;EAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC;EAIrB;;;;;;EAMG;EAEG,MAAO,eAAgB,SAAQ,WAAW,CAAA;EAAhD,IAAA,WAAA,GAAA;;;UAIY,IAAU,CAAA,UAAA,GAAqBtC,GAAS,EAAE,CAAC;;UAE3C,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;;EAG9B,QAAA,IAAA,CAAA,cAAc,GAAWuC,KAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;;UAI3D,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;UAIf,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;UAIvB,IAAI,CAAA,IAAA,GAAkB,MAAM,CAAC;;UAIvC,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;;UAOhB,IAAW,CAAA,WAAA,GAAsB,EAAE,CAAC;;UAIpC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;UAInB,IAAK,CAAA,KAAA,GAAqC,SAAS,CAAC;;UAIpD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;OAmHlB;MAjHC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;EAE1B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;EAC3B,YAAA,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAiB,KAAK,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;EACvG,SAAA;OACF;MAED,oBAAoB,GAAA;UAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;EAE7B,QAAA,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAiB,KAAK,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;OAC1G;MAED,YAAY,GAAA;UACV,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;;EAEpD,YAAA,SAAS,EAAE,QAAQ;EACnB,YAAA,YAAY,EAAE,CAAC,aAAuC,KAAI;;kBAExD,IAAI,CAAC,cAAc,GAAG;EACpB,oBAAA,SAAS,EAAE,cAAc;EACzB,oBAAA,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM;4BACnB,IAAI,CAAC,WAAW;EAClB,0BAAE;8BACE,GAAG,IAAI,CAAC,WAAW;EACnB,4BAAA;EACE,gCAAA,IAAI,EAAE,MAAM;EACZ,gCAAA,OAAO,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;EACpC,6BAAA;EACF,yBAAA;mBACN,CAAC;kBAEF,QAAQ,IAAI,CAAC,IAAI;EACf,oBAAA,KAAK,IAAI;EACP,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;0BAC9E,MAAM;EACR,oBAAA,KAAK,OAAO;EACV,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,aAAa,CAAC;0BAC9C,MAAM;EACR,oBAAA,KAAK,MAAM;EACT,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC;0BAC7C,MAAM;EACR,oBAAA,KAAK,MAAM;EACT,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;0BACpF,MAAM;EACR,oBAAA;EACE,wBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;0BAC1C,MAAM;EACT,iBAAA;EACD,gBAAA,OAAO,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;eAClF;EACF,SAAA,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EACvB,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACzB,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;EAC/D,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EACvB,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC/B,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EACxB,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACzB,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,MAAK;EAChE,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EACxB,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC/B,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;OACjE;;MAGD,QAAQ,GAAA;EACN,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OACxB;;MAGD,QAAQ,GAAA;EACN,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OACxB;MAED,UAAU,GAAA;EACR,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;OAC1B;EAEO,IAAA,wBAAwB,CAAC,CAAgB,EAAA;UAC/C,QAAQ,CAAC,CAAC,GAAG;EACX,YAAA,KAAKF,YAAU;kBACb,CAAC,CAAC,cAAc,EAAE,CAAC;kBACnB,IAAI,CAAC,IAAI,CAAC,UAAU;EAAE,oBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;kBAC7C,MAAM;EACR,YAAA,KAAKC,UAAQ;kBACX,CAAC,CAAC,cAAc,EAAE,CAAC;kBACnB,IAAI,CAAC,IAAI,CAAC,UAAU;EAAE,oBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;kBAC7C,MAAM;EACR,YAAA,KAAK,GAAG;EACN,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;EAG1B,SAAA;OACF;MAEO,wBAAwB,CAAC,CAAa,EAAE,IAAqB,EAAA;UACnE,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;cACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,SAAA;OACF;;EA7JM,eAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;EAYzB,UAAA,CAAA;MADT9C,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EAChB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIf,UAAA,CAAA;EADT,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EACvB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvB,UAAA,CAAA;EADT,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EAChB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvC,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACX,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIhB,UAAA,CAAA;EADC,IAAAO,GAAK,EAAE;EACgC,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGxC,UAAA,CAAA;EADC,IAAAA,GAAK,EAAE;EAC4B,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIpC,UAAA,CAAA;MADCP,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EACxB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAInB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACyB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIpD,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;;ECnEnB;EACA;EACA;EACA;EACA,GAAG,MAAM,CAAC,SAASvC,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAACL,GAAC,CAAC,CAAC,CAAC,IAAI,GAAGE,GAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGF,GAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGM,GAAC,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;;ECJvgB;EACA;EACA;EACA;EACA,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAMF,GAAC,CAACF,GAAC,CAAC,CAAC,CAAC;;ECQ7E;;;;;;;;EAQG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;;EAKmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;;UAE1C,IAAI,CAAA,IAAA,GAUrB,MAAM,CAAC;;UAEU,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAEX,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;;UAYA,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;UAI3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;UAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGhC,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAGxC,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;UAG0B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;UAErB,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;UAGvD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAEhB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;UAGf,IAAO,CAAA,OAAA,GAAW,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;OAoHrD;;EAjHQ,IAAA,KAAK,CAAC,OAAsB,EAAA;EACjC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;OAC3B;;MAEM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;OACnB;;MAGM,cAAc,GAAA;EACnB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;OACpC;MACD,aAAa,GAAA;EACX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;EAED,IAAA,YAAY,CAAC,KAAa,EAAA;UACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;EAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OAClB;MAED,WAAW,GAAA;EACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACzB;MAED,UAAU,GAAA;EACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OACxB;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;EAChC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;;;UAIrF,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE;cACzC,UAAU,CAAC,MAAK;;kBAEd,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;EACjD,oBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;EACpC,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;OACF;MAGD,oBAAoB,GAAA;;UAElB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UACpC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;OAC5C;MAGD,iBAAiB,GAAA;UACf,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;UAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;;UAExC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE;EACvC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACpB,SAAA;OACF;MAED,MAAM,GAAA;UACJ,MAAM,KAAK,GAAGwC,GAAI,CAAA,CAAA;;AAEN,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;AAC9C,YAAA,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;YAC1C,CAAC,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY;SAC5C,CAAC,CAAA;AACK,aAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACX,WAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACV,aAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,oBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;uBAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACpC,gBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpB,mBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACf,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AAChB,eAAA,EAAAC,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACb,kBAAA,EAAAD,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzB,kBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC5B,eAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;AACpC,gBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;AACrC,iBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AAClB,iBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AACpB,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,cAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;AAEvB,MAAA,EAAA,IAAI,CAAC,WAAW;cACdP,GAAI,CAAA,CAAY,SAAA,EAAA,IAAI,CAAC,OAAO,CAAsC,mCAAA,EAAA,IAAI,CAAC,eAAe,CAAQ,MAAA,CAAA;AAChG,cAAE,EAAE,CAAA;KACP,CAAC;;UAEF,MAAM,aAAa,GAAGA,GAAI,CAAA,CAAA;AACc,0CAAA,EAAA,IAAI,CAAC,YAAY,CAAA;AAClB,yCAAA,EAAAkD,GAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;UACrD,KAAK,CAAA;;KAEV,CAAC;;EAEF,QAAA,MAAM,YAAY,GAAGlD,GAAI,CAAA,CAAe,YAAA,EAAA,IAAI,CAAC,OAAO,CAAsC,mCAAA,EAAA,IAAI,CAAC,QAAQ,WAAW,CAAC;;EAGnH,QAAA,MAAM,SAAS,GAAGA,GAAI,CAAA,CAAe,YAAA,EAAA,IAAI,CAAC,OAAO,CAAuB,oBAAA,EAAA,IAAI,CAAC,KAAK,WAAW,CAAC;EAE9F,QAAA,OAAOA,GAAI,CAAA,CAAA;;UAELA,GAAI,CAAA,CAAG,EAAA,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,GAAG,aAAa,GAAG,KAAK,CAAG,CAAA,CAAA,CAAA;;KAE5G,CAAC;OACH;;EAhLM,SAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;EAEN,UAAA,CAAA;MAA5BI,GAAK,CAAC,oBAAoB,CAAC;EAAyB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIxB,UAAA,CAAA;EAA5B,IAAAF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAUT,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEU,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEX,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEb,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEtB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEE,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA6B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE3C,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEA,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhC,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGxC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;EACG,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG0B,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAErB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGvD,UAAA,CAAA;EAAR,IAAAO,GAAK,EAAE;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhB,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAmDvB,UAAA,CAAA;MADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAKjD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAQ9C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;EC9IH,MAAM,UAAU,GAAG,WAAW,CAAC;EAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC;EAC3B,MAAM,KAAK,GAAG,OAAO,CAAC;EAEtB;;EAEG;EACG,MAAO,mBAAoB,SAAQ,eAAe,CAAA;EAAxD,IAAA,WAAA,GAAA;;;UASE,IAAkB,CAAA,kBAAA,GAAG,CAAC,CAAC;;UAGvB,IAAkB,CAAA,kBAAA,GAAG,CAAC,CAAC,CAAC;OA0GzB;MAxGC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAE1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;OACrD;MAED,oBAAoB,GAAA;UAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;UAE7B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;OACxD;MAED,YAAY,GAAA;UACV,KAAK,CAAC,YAAY,EAAE,CAAC;UACrB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;OACtE;EAES,IAAA,gBAAgB,CAAC,CAA6B,EAAA;EACtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;UACzC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAA0B,CAAC,CAAC;EAClE,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa,GAAG,CAAC,CAAC;UAC5C,IAAI,CAAC,kBAAkB,GAAG,aAAa,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;;EAGpF,QAAA,MAAM,YAAY,GAAG,CAAC,CAAC,MAA0B,CAAC;EAClD,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;EAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;cACzB,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EACpD,SAAA;;cAAM,OAAO;OACf;MAEO,UAAU,GAAA;EAChB,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;EAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;;EAE7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;EACnC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;EAChB,YAAA,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;EAChC,SAAC,CAAC,CAAC;OACJ;EAEO,IAAA,6BAA6B,CAAC,CAAgB,EAAA;EACpD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;UAC7C,QAAQ,CAAC,CAAC,GAAG;EACX,YAAA,KAAK,UAAU;kBACb,CAAC,CAAC,cAAc,EAAE,CAAC;EACnB,gBAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC,MAAM,EAAE;EAChD,oBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;EAC7B,iBAAA;EAAM,qBAAA;sBACL,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;EACrF,iBAAA;EACH,YAAA,KAAK,QAAQ;kBACX,CAAC,CAAC,cAAc,EAAE,CAAC;EACnB,gBAAA,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE;EAC/B,oBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;EACvD,iBAAA;EAAM,qBAAA;sBACL,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;EAC1D,iBAAA;EACH,YAAA,KAAK,KAAK;kBACR,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAA0B,CAAC,EAAE;EACpD,oBAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;EACjC,iBAAA;kBACD,MAAM;EAGT,SAAA;OACF;MAEO,aAAa,GAAA;;;UAEnB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;cACjD,OAAO,CAAA,EAAA,GAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAqB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC;EAC1F,gBAAA,OAAO,EAAE,IAAI;EACd,aAAA,CAAuB,CAAC;EAC1B,SAAA;;EAGD,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;EAC7B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;EAErC,YAAA,OAAO,CAAC,GAAG,SAAS,CAAuB,CAAC;EAC7C,SAAA;OACF;MACO,mBAAmB,GAAA;EACzB,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;OAC5D;EAEO,IAAA,YAAY,CAAC,cAAsB,EAAE,WAAW,GAAG,IAAI,EAAA;EAC7D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;EACzC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;cAAE,OAAO;EAC/B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;EACnC,QAAA,IAAI,CAAC,kBAAkB,GAAG,cAAc,GAAG,CAAC,CAAC;UAC7C,IAAI,CAAC,kBAAkB,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,CAAC;EACzF,QAAA,IAAI,UAA4B,CAAC;UACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;EAC3F,SAAA;;cAAM,UAAU,GAAG,IAAI,CAAC;;EAGzB,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;EAChB,YAAA,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;EAC1D,YAAA,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;EAChC,SAAC,CAAC,CAAC;OACJ;;EApHM,mBAAA,CAAA,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;EAI/B,UAAA,CAAA;MADPL,GAAK,CAAC,kBAAkB,CAAC;EACK,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI/B,UAAA,CAAA;EADC,IAAAK,GAAK,EAAE;EACe,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGvB,UAAA,CAAA;EADC,IAAAA,GAAK,EAAE;EACgB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA;;ECV1B;;;;;;;EAOG;QACU,YAAa,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;;EAGxE,IAAA,WAAW,cAAc,GAAA;UACvB,OAAO;EACL,YAAA,YAAY,EAAE,SAAS;WACxB,CAAC;OACH;EACD,IAAA,WAAA,GAAA;EACE,QAAA,KAAK,EAAE,CAAC;;UAYmB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAEX,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;;UAIA,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;UAE3B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;UAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEhC,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAGxC,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;UAES,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;;EAInD,QAAA,IAAA,CAAA,cAAc,GAAmB,CAAC,UAAkB,EAAE,QAAgB,KAAI;EACxE,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;EAC7C,YAAA,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;EAC5C,YAAA,OAAO,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;EAC9C,SAAC,CAAC;;UAIM,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;;UA3CtC,IAAI,CAAC,WAAW,GAAG;EACjB,YAAA;EACE,gBAAA,IAAI,EAAE,QAAQ;EACd,gBAAA,OAAO,EAAE;EACP,oBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAChB,iBAAA;EACF,aAAA;WACF,CAAC;OACH;;MAuCD,gBAAgB,GAAA;EACd,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;UAEvG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU;cAAE,OAAO;;EAGjD,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;cACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,SAAA;eAAM,IAAI,IAAI,CAAC,UAAU,EAAE;cAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,SAAA;OACF;EAEO,IAAA,kBAAkB,CAAC,CAAc,EAAA;UACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;UAChB,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAAoB,CAAC,KAAK,CAAC;OAC5C;EAEO,IAAA,mBAAmB,CAAC,CAA6B,EAAA;UACvD,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAA4B,CAAC,SAAS,CAAC;EACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;OAC1B;MAED,MAAM,GAAA;EACJ,QAAA,OAAOT,CAAI,CAAA,CAAA;;;;AAIG,gBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACP,mBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACjB,eAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACd,UAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;mBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;AACvE,sBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,qBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACf,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AAChB,iBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;AACL,sBAAA,EAAA,IAAI,CAAC,kBAAkB,CAAA;;AAErB,wBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;AAEf,wBAAA,EAAA,IAAI,CAAC,cAAc,CAAA;;;;;;AAM5B,eAAA,EAAA,IAAI,CAAC,cAAc,CAAA;AACxB,UAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACzB,IAAI,IAAIX,CAAI,CAAA,wCAAwC,IAAI,CAAC,mBAAmB,CAAI,CAAA,EAAA,IAAI,WAAW,CAChG,CAAA;;;KAGN,CAAC;OACH;;EAjHM,YAAM,CAAA,MAAA,GAAG,CAAC,eAAe,CAAC,MAAM,EAAED,UAAM,CAAlC,CAAoC;EAoBpB,UAAA,CAAA;EAA5B,IAAAG,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEX,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA6B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE3B,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhC,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGxC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;EACG,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAES,UAAA,CAAA;EAA1B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EAAyB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAInD,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;EAK3B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIM,UAAA,CAAA;EADP,IAAAO,GAAK,EAAE;EACgC,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIxC,UAAA,CAAA;MADC,KAAK,CAAC,OAAO,CAAC;EAYd,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA;;;;ECzFH;EACA;EACA;EACA;EACA,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAClD,GAAC,CAAC,cAAcI,GAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAGH,GAAC,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,4GAA4G,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,OAAOF,GAAC,CAAC,CAAC,CAAC;;;;ECEz3B,MAAO,kBAAmB,SAAQ,WAAW,CAAA;EAAnD,IAAA,WAAA,GAAA;;;UAa6B,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;;EAGrB,QAAA,IAAA,CAAA,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;;UASpB,IAAI,CAAA,IAAA,GAAuB,QAAQ,CAAC;;EAMtE,QAAA,IAAA,CAAA,IAAI,GAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;;EAG9C,QAAA,IAAA,CAAA,KAAK,GAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;;UAG5C,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;OAqQxB;MAnQC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;OAC3B;;EAGO,IAAA,aAAa,CAAC,IAAU,EAAA;EAC9B,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,QAAA,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;EACrB,QAAA,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;EACtB,QAAA,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;EACtB,QAAA,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;EAC3B,QAAA,OAAO,OAAO,CAAC;OAChB;;MAGO,qBAAqB,CAAC,KAAW,EAAE,GAAS,EAAA;UAClD,MAAM,GAAG,GAAW,EAAE,CAAC;UACvB,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE;cACnC,KAAK,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;kBAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EACxB,aAAA;EACF,SAAA;EAAM,aAAA;cACL,KAAK,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;kBAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EACxB,aAAA;EACF,SAAA;EACD,QAAA,OAAO,GAAG,CAAC;OACZ;;EAGO,IAAA,UAAU,CAAC,KAAiB,EAAA;UAClC,MAAM,GAAG,GAAI,KAAK,CAAC,aAAsC,CAAC,OAAO,CAAC,GAAG,CAAC;UACtE,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;UACpD,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;EAExC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;;EAG1B,YAAA,IAAI,CAAC,YAAY,GAAG,CAAC,gBAAgB,CAAC,CAAC;;EAGvC,YAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;EAC9D,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;;cAEhC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;cAE7C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;;;EAG5D,gBAAA,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;EAC1B,aAAA;;EAGD,YAAA,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;EAGrC,YAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;;EAGlC,YAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;EAC9D,SAAA;;UAGD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UACrF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UAErF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;EAC1D,QAAA,IAAI,CAAC,WAAW,IAAI,YAAY,GAAG,WAAW,MAAM,WAAW,IAAI,YAAY,GAAG,WAAW,CAAC,EAAE;cAC9F,KAAK,CAAC,eAAe,EAAE,CAAC;cACxB,KAAK,CAAC,cAAc,EAAE,CAAC;EACxB,SAAA;OACF;;;EAIO,IAAA,YAAY,CAAC,KAAa,EAAA;EAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;UACnB,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACpD,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;EACnB,QAAA,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACtC,QAAA,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;EACpC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;EAE9C,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;OAC7D;;;EAIO,IAAA,WAAW,CAAC,IAAY,EAAA;EAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;UACjB,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACpD,QAAA,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACxC,QAAA,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;EACpC,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;EACrB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;EAE9C,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;OAC5D;MAED,MAAM,GAAA;EACJ,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;UAExE,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAE9G,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UACrF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UACrF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;UAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;UAC1C,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;EAC1C,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;UACtC,IAAI,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;UACxD,IAAI,KAAK,IAAI,CAAC,EAAE;EACd,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE;kBACzD,WAAW,GAAG,EAAE,CAAC;EAClB,aAAA;EACF,SAAA;UAED,MAAM,KAAK,GAAG,EAAE,CAAC;UACjB,IAAI,GAAG,GAAG,CAAC,CAAC;UACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cAC1B,MAAM,IAAI,GAAG,EAAE,CAAC;cAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;EAC3B,gBAAA,IAAI,GAAG,IAAI,WAAW,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE;sBACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;EACnE,oBAAA,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;sBAEjC,MAAM,aAAa,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;sBAC9F,MAAM,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;EAC7F,oBAAA,MAAM,YAAY,GAAG,aAAa,IAAI,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;EAEjF,oBAAA,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;EAChF,oBAAA,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;sBACrF,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC;EAErD,oBAAA,MAAM,UAAU,GACd,aAAa,CAAC,MAAM,GAAG,CAAC;2BACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;EAC7E,4BAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;EAErE,oBAAA,MAAM,gBAAgB,GAAG;EACvB,wBAAA,MAAM,EAAE,aAAa;uBACtB,CAAC;EACF,oBAAA,MAAM,YAAY,GAAG;EACnB,wBAAA,MAAM,EAAE,SAAS;EACjB,wBAAA,YAAY,EAAE,GAAG;uBAClB,CAAC;EACF,oBAAA,IAAI,CAAC,IAAI,CACP0C,CAAI,CAAA,CAAA;oBACI,CAAC,CAAA;yBACI,GAAG,CAAA;AACN,oBAAA,EAAAC,GAAQ,CAAC;AACf,wBAAA,cAAc,EAAE,YAAY,IAAI,cAAc,IAAI,aAAa;AAC/D,wBAAA,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,aAAa,IAAI,YAAY;qBACxC,CAAC,CAAA;AACM,oBAAA,EAAAkD,CAAQ,CAAC,aAAa,IAAI,YAAY,GAAE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,YAAY,CAAA,EAAK,gBAAgB,CAAA,GAAK,YAAY,CAAC,CAAA;uBAChG,YAAY,CAAA;;gBAEnB,GAAG,CAAA;AACD,iBAAA,CAAA,CACP,CAAC;EACF,oBAAA,GAAG,EAAE,CAAC;EACP,iBAAA;EAAM,qBAAA;sBACL,IAAI,CAAC,IAAI,CAACnD,CAAI,CAAA,CAAW,QAAA,EAAA,CAAC,CAAQ,MAAA,CAAA,CAAC,CAAC;EACrC,iBAAA;EACF,aAAA;EAED,YAAA,KAAK,CAAC,IAAI,CACRA,CAAI,CAAA,WAAW,CAAC,CAAA;YACZ,IAAI,CAAA;AACF,aAAA,CAAA,CACP,CAAC;cACF,IAAI,GAAG,GAAG,WAAW,EAAE;kBACrB,MAAM;EACP,aAAA;EACF,SAAA;;EAID,QAAA,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;UAEtF,MAAM,SAAS,GAAGA,CAAI,CAAA,CAAA;;AAEhB,QAAA,EAAA,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CACvC,CAAC,CAAC,EAAE,GAAG,KAAKA,CAAI,CAAA,CAAA;;AAEJ,oBAAA,EAAAC,GAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACpD,qBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;;gBAEnC,CAAC,CAAA;;WAEN,CACF,CAAA;;KAEJ,CAAC;;UAIF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;EACnD,QAAA,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC;EACnC,QAAA,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC;UACjC,MAAM,SAAS,GAAG,EAAE,CAAC;EAErB,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EAC9C,YAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACnB,SAAA;UAED,MAAM,QAAQ,GAAGD,CAAI,CAAA,CAAA;;UAEf,SAAS,CAAC,GAAG,CACb,CAAC,IAAIA,CAAI,CAAA,CAAA;4BACSC,GAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA,QAAA,EAAW,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBACnG,CAAC,CAAA;;WAEN,CACF,CAAA;;KAEJ,CAAC;;UAIF,MAAM,OAAO,GAAGD,CAAI,CAAA,CAAA;;;;AAIV,YAAA,EAAA,kBAAkB,CAAC,UAAU,CAAC,GAAG,CACjC,CAAC,KAAa,EAAE,KAAa,KAC3BA,CAAI,CAAA,CAAA;4BACQ,KAAK,CAAA;6BACJ,KAAK,CAAA;;iBAEjB,CACJ,CAAA;;;;YAID,KAAK,CAAA;;;KAGZ,CAAC;EAEF,QAAA,IAAI,WAA+B,CAAC;UACpC,QAAQ,IAAI,CAAC,IAAI;EACf,YAAA,KAAK,MAAM;EACT,gBAAA,WAAW,GAAGA,CAAI,CAAA,CAAI,CAAA,EAAA,OAAO,GAAG,CAAC;kBACjC,MAAM;EACR,YAAA,KAAK,QAAQ;EACX,gBAAA,WAAW,GAAGA,CAAI,CAAA,CAAI,CAAA,EAAA,SAAS,GAAG,CAAC;kBACnC,MAAM;EACR,YAAA,KAAK,OAAO;EACV,gBAAA,WAAW,GAAGA,CAAI,CAAA,CAAI,CAAA,EAAA,QAAQ,GAAG,CAAC;kBAClC,MAAM;EACR,YAAA;kBACE,WAAW,GAAGA,CAAI,CAAA,CAAA,CAAA,EAAI,OAAO,CAAG,CAAA,CAAA,CAAC;kBACjC,MAAM;EACT,SAAA;EAED,QAAA,OAAOA,CAAI,CAAA,CAAiC,8BAAA,EAAA,WAAW,SAAS,CAAC;OAClE;;EAxSM,kBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAE7C;EACO,kBAAA,CAAA,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;EAEtE;EACO,kBAAW,CAAA,WAAA,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAlD,CAAoD;EAEtE;EACO,kBAAgB,CAAA,gBAAA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAtF,CAAwF;EAGpF,UAAA,CAAA;EAA1B,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EAA2B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGrB,UAAA,CAAA;EAA/B,IAAAA,GAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;EAAgC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnC,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAkB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAkB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGF,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG/C,UAAA,CAAA;EAA/B,IAAAA,GAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;EAAqB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG3C,UAAA,CAAA;EAAR,IAAAO,GAAK,EAAE;EAA+C,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG9C,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAA6C,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG5C,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAe,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;;;;ECtCzB,MAAM,YAAY,GAAG;MACnB,SAAS;MACT,UAAU;MACV,OAAO;MACP,OAAO;MACP,KAAK;MACL,MAAM;MACN,MAAM;MACN,QAAQ;MACR,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;GACX,CAAC;EAEI,MAAO,gBAAiB,SAAQ,WAAW,CAAA;MAW/C,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;EAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;OACpB;;MAGO,UAAU,GAAA;UAChB,QAAQ,IAAI,CAAC,IAAI;EACf,YAAA,KAAK,MAAM;EACT,gBAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;kBACrB,MAAM;EACR,YAAA,KAAK,QAAQ;EACX,gBAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;kBACpB,MAAM;EAGT,SAAA;EACD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;OAC/C;;MAGO,YAAY,GAAA;EAClB,QAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;UAEnC,IAAI,IAAI,KAAK,QAAQ,EAAE;cACrB,OAAOT,CAAI,CAAA,CAAI,CAAA,EAAA,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;EAC7C,SAAA;UACD,IAAI,IAAI,KAAK,OAAO,EAAE;EACpB,YAAA,OAAOA,CAAI,CAAA,CAAA,CAAA,EAAI,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA,GAAA,EAAM,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC;EACpF,SAAA;EACD,QAAA,OAAOA,CAAI,CAAA,CAAA,CAAA,EAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;OACrF;;MAGO,mBAAmB,GAAA;EACzB,QAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;EACnC,QAAA,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;EAC7C,QAAA,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;UAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE;cACrB,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;EAC9D,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;cAChC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;EAC/D,SAAA;EAAM,aAAA;cACL,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACxD,SAAA;EACD,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;;EAElC,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;OAC3D;;MAGO,eAAe,GAAA;EACrB,QAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;EACnC,QAAA,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;EAC7C,QAAA,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAE1B,QAAA,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;UAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE;cACrB,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;EAC9D,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;cAChC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;EAC/D,SAAA;EAAM,aAAA;cACL,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACxD,SAAA;EACD,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;;EAElC,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;OAC3D;MAED,MAAM,GAAA;EACJ,QAAA,MAAM,eAAe,GAAG;EACtB,YAAA,MAAM,EAAE,SAAS;WAClB,CAAC;EACF,QAAA,OAAOA,CAAI,CAAA,CAAA;;;AAGa,0BAAA,EAAA,IAAI,CAAC,mBAAmB,CAAA;;;;;;;;;;;;;;;AAezB,yBAAA,EAAA,IAAI,CAAC,UAAU,CAAA,OAAA,EAAUmD,CAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,GAAG,eAAe,GAAG,EAAE,CAAC,CAAA;cAC5F,IAAI,CAAC,YAAY,EAAE,CAAA;;AAEL,0BAAA,EAAA,IAAI,CAAC,eAAe,CAAA;;;;;;;;;;;;;;;;;KAiB3C,CAAC;OACH;;EA3HM,gBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEpD,UAAM,CAAC,CAAC;EAI7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;EACb,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIlB,UAAA,CAAA;EADC,IAAAO,GAAK,EAAE;EACK,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;;EChBf;;;;;;;;;;;EAWG;QAEU,cAAe,SAAQ,mBAAmB,CAAC,eAAe,CAAC,CAAA;;EAItE,IAAA,WAAW,cAAc,GAAA;UACvB,OAAO;EACL,YAAA,YAAY,EAAE,SAAS;EACvB,YAAA,0BAA0B,EAAE,kBAAkB;EAC9C,YAAA,wBAAwB,EAAE,gBAAgB;WAC3C,CAAC;OACH;EAoCD,IAAA,WAAA,GAAA;EACE,QAAA,KAAK,EAAE,CAAC;;UAlCkC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAMjC,IAAU,CAAA,UAAA,GAAe,YAAY,CAAC;;UASvB,IAAI,CAAA,IAAA,GAAuB,QAAQ,CAAC;;UAU9D,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;;EAG/B,QAAA,IAAA,CAAA,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;;UAyHxC,IAAoB,CAAA,oBAAA,GAAG,CAAC,SAAe,EAAE,OAAa,EAAE,UAAkB,KAAI;EACpF,YAAA,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;EAAE,gBAAA,OAAO,EAAE,CAAC;EAEtC,YAAA,MAAM,UAAU,GAAG,CAAC,IAAU,KAAI;EAChC,gBAAA,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;sBACpD,OAAO,EAAE,CAAC;EACX,iBAAA;kBAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;EAClC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;kBAC3B,MAAM,SAAS,GAAG,GAAG,CAAC;EACtB,gBAAA,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAI,CAAA,EAAA,KAAK,EAAE,CAAC;EAClE,gBAAA,MAAM,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;kBAE1D,OAAO,UAAU,KAAK,YAAY;EAChC,sBAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,cAAc,CAAA,EAAG,SAAS,CAAA,EAAG,YAAY,CAAE,CAAA;wBAC/E,UAAU,KAAK,YAAY;EAC7B,0BAAE,CAAA,EAAG,YAAY,CAAA,EAAG,SAAS,CAAG,EAAA,cAAc,CAAG,EAAA,SAAS,CAAG,EAAA,IAAI,CAAC,WAAW,EAAE,CAAE,CAAA;EACjF,0BAAE,CAAA,EAAG,cAAc,CAAA,EAAG,SAAS,CAAG,EAAA,YAAY,CAAG,EAAA,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;EACtF,aAAC,CAAC;cAEF,IAAI,SAAS,IAAI,OAAO,EAAE;kBACxB,OAAO,CAAA,EAAG,UAAU,CAAC,SAAS,CAAC,CAAM,GAAA,EAAA,UAAU,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;EAC5D,aAAA;EAED,YAAA,IAAI,SAAS,EAAE;EACb,gBAAA,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;EAC9B,aAAA;EAED,YAAA,OAAO,EAAE,CAAC;EACZ,SAAC,CAAC;UAnJA,IAAI,CAAC,WAAW,GAAG;EACjB,YAAA;EACE,gBAAA,IAAI,EAAE,QAAQ;EACd,gBAAA,OAAO,EAAE;EACP,oBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAChB,iBAAA;EACF,aAAA;WACF,CAAC;OACH;;EAGO,IAAA,qBAAqB,CAAC,UAAkB,EAAA;EAC9C,QAAA,IAAI,IAAY,EAAE,KAAa,EAAE,GAAW,CAAC;UAE7C,QAAQ,IAAI,CAAC,UAAU;EACrB,YAAA,KAAK,YAAY;EACf,gBAAA,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;kBAC3C,MAAM;EACR,YAAA,KAAK,YAAY;EACf,gBAAA,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;kBAC3C,MAAM;EACR,YAAA,KAAK,YAAY;EACf,gBAAA,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;kBAC3C,MAAM;EACR,YAAA;EACE,gBAAA,OAAO,IAAI,CAAC;EACf,SAAA;UAED,OAAO,IAAI,IAAI,CAAC,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAE,CAAA,CAAC,CAAC;OAC5C;;MAGO,kBAAkB,GAAA;;UAExB,QACE,IAAI,CAAC,UAAU;;EAEZ,aAAA,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;;EAEtC,aAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;EAEvB,aAAA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;;EAEvB,aAAA,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;;EAEzB,aAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EACtB;OACH;MAED,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAE1B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;UAC3D,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;UAChE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;UAClE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;UAChE,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;UAElE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;;cAErD,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;cAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;EAE7C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;;EAE1C,gBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;kBACvE,OAAO;EACR,aAAA;cAED,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;EAE9D,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE;;EAEvC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,CAAC,CAAC;EACrC,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;EAC9B,aAAA;EAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;;kBAElE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;EAE3C,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;;EAExC,oBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,aAAa,CAAC,CAAC;sBACrE,OAAO;EACR,iBAAA;kBAED,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;kBAE1D,IAAI,SAAS,IAAI,OAAO,EAAE;sBACxB,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;sBAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;EAEjE,oBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;EAC9B,iBAAA;EACF,aAAA;EACF,SAAA;UAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;;cAE/D,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAC7C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,UAAU,CAChB,CAAC;EAEF,YAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;EAC5B,SAAA;EAAM,aAAA;;EAEL,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;EACjB,SAAA;OACF;MAGD,iBAAiB,GAAA;EACf,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;OAC/B;;EAoCO,IAAA,iBAAiB,CAAC,KAA0B,EAAA;EAClD,QAAA,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;EACtC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;;cAEzB,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,CAAO,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;EAEvE,YAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;EAC1C,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;kBACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,aAAA;EACF,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;cACjC,IAAI,CAAC,iBAAiB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;EAE/C,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;kBACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,aAAA;EACF,SAAA;;UAGD,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAC7C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,UAAU,CAChB,CAAC;;EAGF,QAAA,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;OAC5B;;EAGO,IAAA,iBAAiB,CAAC,KAA0B,EAAA;EAClD,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;OAC1B;;EAGO,IAAA,iBAAiB,CAAC,KAAwB,EAAA;EAChD,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;OACjC;;EAGO,IAAA,iBAAiB,CAAC,KAAwB,EAAA;EAChD,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;OACjC;;EAGO,IAAA,gBAAgB,CAAC,KAAwB,EAAA;EAC/C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;OACjC;;MAGO,sBAAsB,GAAA;EAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;EAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;EAE5B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;UAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;OACjB;MAED,MAAM,GAAA;UACJ,IAAI,aAAa,GAAG,EAAE,CAAC;EACvB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;EAC1B,YAAA,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;EAClG,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;cAChC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;EAClH,SAAA;UAED,MAAM,cAAc,GAAG,MAAa;cAClC,MAAM,gBAAgB,GAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;EAElF,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EACvE,gBAAA,OAAO,CAAG,EAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAM,GAAA,EAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;EAC9E,aAAA;EAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EAC/E,gBAAA,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;EACtC,aAAA;EAED,YAAA,OAAO,EAAE,CAAC;EACZ,SAAC,CAAC;UAEF,MAAM,KAAK,GAAGT,CAAI,CAAA,CAAA;;;;;;;;;;;;;KAajB,CAAC;EAEF,QAAA,MAAM,OAAO,GAAG,CAAA;;;KAGf,CAAC;EACF,QAAA,OAAOA,CAAI,CAAA,CAAA;;;;iBAIE,OAAO,CAAA;mBACLQ,GAAI,CAAC,aAAa,CAAC,CAAA;;AAEb,uBAAA,EAAA,cAAc,EAAE,CAAA;AACd,yBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AAC9B,UAAA,EAAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACb,iBAAA,EAAA,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;;AAEpB,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;AAGT,wBAAA,EAAA,IAAI,CAAC,cAAc,CAAA;;;AAGvB,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;AAEhB,iBAAA,EAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;;YAE1C,KAAK,CAAA;;;AAGF,aAAA,EAAA,IAAI,CAAC,cAAc,CAAA;;;;AAIf,iBAAA,EAAA,CAAC,KAAiB,KAAK,KAAK,CAAC,eAAe,EAAE,CAAA;;AAEvB,wCAAA,EAAA,IAAI,CAAC,IAAI,CAAiB,cAAA,EAAA,IAAI,CAAC,WAAW,CAAA;;AAEhE,kBAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACF,yBAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACvB,kBAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACP,oBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACZ,oBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACN,0BAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;;;KAI7C,CAAC;OACH;;EAnVM,cAAM,CAAA,MAAA,GAAG,CAAC,eAAe,CAAC,MAAM,EAAEZ,UAAM,CAAlC,CAAoC;EAYL,UAAA,CAAA;MAA3CG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnB,UAAA,CAAA;MAAzCA,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAwB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGrC,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAuC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGtC,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG9D,UAAA,CAAA;EAAhB,IAAAO,GAAK,EAAE;EAAuB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvB,UAAA,CAAA;EADP,IAAAA,GAAK,EAAE;EACa,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGJ,UAAA,CAAA;EAAhB,IAAAA,GAAK,EAAE;EAAwC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG/B,UAAA,CAAA;EAAhB,IAAAA,GAAK,EAAE;EAAwC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAoHhD,UAAA,CAAA;MADC,KAAK,CAAC,OAAO,CAAC;EAGd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;EC3LH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;EAExB;;;EAGG;EACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;EACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;MACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;EAChD,CAAC;EAoCD;;EAEG;EACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;EACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;EAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;UACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;EAClD,KAAA;EACH;;QCtDa,iBAAiB,CAAA;MAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;UAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;UAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;EACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;UAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OAC1D;MAEO,cAAc,GAAA;EACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;EAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;EACvE,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAED,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;kBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;kBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;kBAGzC,IAAI,OAAO,KAAK,oBAAoB,EAAE;EACpC,oBAAA,OAAO,KAAK,CAAC;EACd,iBAAA;;EAGD,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;EAC5B,oBAAA,OAAO,IAAI,CAAC;EACb,iBAAA;EACF,aAAA;EAED,YAAA,OAAO,KAAK,CAAC;EACf,SAAC,CAAC,CAAC;OACJ;EAEO,IAAA,YAAY,CAAC,IAAY,EAAA;EAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;OACtE;EAED,IAAA,IAAI,CAAC,QAAgB,EAAA;EACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;OACvF;MAED,aAAa,GAAA;;EACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;OAC7E;MAED,gBAAgB,GAAA;;EACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;OAChF;EAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;EAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;EAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;EAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;EAC3B,SAAA;OACF;EACF;;;;EC/CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCG;EACG,MAAO,UAAW,SAAQ,WAAW,CAAA;EAA3C,IAAA,WAAA,GAAA;;;UAImB,IAAiB,CAAA,iBAAA,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;EAU3E;;;EAGG;UACyC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;EAEzD;;;EAGG;UAC0B,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAGX,IAAS,CAAA,SAAA,GAAuC,KAAK,CAAC;EAEnF;;;EAGG;UACyC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAE9D;;;EAGG;UACyC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EA8CrD,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,KAAoB,KAAI;EACvD,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;kBAC1D,KAAK,CAAC,eAAe,EAAE,CAAC;EACxB,gBAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;EAC/B,aAAA;EACH,SAAC,CAAC;OA4LH;MA7OC,YAAY,GAAA;UACV,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;UAEhC,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAExB,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;kBACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;EACzB,aAAA;EACF,SAAA;OACF;MAED,oBAAoB,GAAA;UAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;UAC7B,mBAAmB,CAAC,IAAI,CAAC,CAAC;OAC3B;EAEO,IAAA,oBAAoB,CAAC,MAAc,EAAA;EACzC,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;OACzD;EAEO,IAAA,YAAY,CAAC,MAA+C,EAAA;EAClE,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;EACrD,YAAA,UAAU,EAAE,IAAI;cAChB,MAAM,EAAE,EAAE,MAAM,EAAE;EACnB,SAAA,CAAC,CAAC;UAEH,IAAI,cAAc,CAAC,gBAAgB,EAAE;cACnC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;EACzD,YAAA,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;cAC9D,OAAO;EACR,SAAA;UAED,IAAI,CAAC,IAAI,EAAE,CAAC;OACb;MAEO,gBAAgB,GAAA;UACtB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;OAClE;MAEO,mBAAmB,GAAA;UACzB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;OACrE;MAUK,MAAA,gBAAgB,GAAA;UACpB,IAAI,IAAI,CAAC,IAAI,EAAE;;EAEb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAA4B,CAAC;;EAG7D,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;kBACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;EACzB,aAAA;;;;;;;cAQD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;EAC1D,YAAA,IAAI,eAAe,EAAE;EACnB,gBAAA,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;EAC9C,aAAA;cAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAC/E,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;;cAG3B,qBAAqB,CAAC,MAAK;EACzB,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;EAE7E,gBAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;;EAEpC,oBAAA,IAAI,eAAe,EAAE;0BAClB,eAAoC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;EACtE,qBAAA;EAAM,yBAAA;0BACL,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;EAC3C,qBAAA;EACF,iBAAA;;EAGD,gBAAA,IAAI,eAAe,EAAE;EACnB,oBAAA,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;EAC/C,iBAAA;EACH,aAAC,CAAC,CAAC;EAEH,YAAA,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,CAAc,WAAA,EAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAE,CAAC,CAAC;cACrG,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;cACnE,MAAM,OAAO,CAAC,GAAG,CAAC;EAChB,gBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC;EACvE,gBAAA,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC;EAC9E,aAAA,CAAC,CAAC;EAEH,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA;;EAEL,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAE3B,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;kBACnB,mBAAmB,CAAC,IAAI,CAAC,CAAC;EAC3B,aAAA;cAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAC/E,YAAA,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,CAAc,WAAA,EAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAE,CAAC,CAAC;cACrG,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;;;;cAKnE,MAAM,OAAO,CAAC,GAAG,CAAC;EAChB,gBAAA,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAK;EACtF,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;EAC7B,iBAAC,CAAC;EACF,gBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAK;EAChF,oBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;EAC3B,iBAAC,CAAC;EACH,aAAA,CAAC,CAAC;EAEH,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;;EAG1B,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;EAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;;EAG1B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;EACrC,YAAA,IAAI,QAAO,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,CAAA,KAAK,UAAU,EAAE;kBACxC,UAAU,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;EACnC,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;OACF;MAGD,mBAAmB,GAAA;UACjB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cAChC,iBAAiB,CAAC,IAAI,CAAC,CAAC;EACzB,SAAA;EAED,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE;cAC/B,mBAAmB,CAAC,IAAI,CAAC,CAAC;EAC3B,SAAA;OACF;;EAGM,IAAA,MAAM,IAAI,GAAA;UACf,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;;EAGM,IAAA,MAAM,IAAI,GAAA;EACf,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;EACd,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EAClB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;MAED,MAAM,GAAA;EACJ,QAAA,OAAOT,CAAI,CAAA,CAAA;;;AAGC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI,CAAC,IAAI;AACxB,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;AACtC,YAAA,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;AACtC,YAAA,eAAe,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ;AAC5C,YAAA,cAAc,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;YAC1C,kBAAkB,EAAE,IAAI,CAAC,SAAS;AAClC,YAAA,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS;YAC/B,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3D,CAAC,CAAA;;AAEkD,0DAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;;;;;;;wBAOtE,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;AAC7B,qBAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAA;AAC5C,0BAAA,EAAAA,CAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;;;YAG/D,CAAC,IAAI,CAAC,QAAQ;cACZP,CAAI,CAAA,CAAA;;;;0CAIwB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;;;;;;AAM3E,4BAAA,EAAAC,GAAQ,CAAC;AACf,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE,IAAI;aAClB,CAAC,CAAA;AACQ,8BAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;;;;AAIxD,cAAA,CAAA;AACH,cAAEmD,CAAO,CAAA;;;;;;;;;KAShB,CAAC;OACH;;EApRM,UAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAErD,UAAM,CAA9B,CAAgC;EAO3B,UAAA,CAAA;MAAjBK,GAAK,CAAC,SAAS,CAAC;EAAqB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;MAAvBA,GAAK,CAAC,eAAe,CAAC;EAAoB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAAzBA,GAAK,CAAC,iBAAiB,CAAC;EAAsB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMH,UAAA,CAAA;MAA3CF,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAM5B,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGX,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAuD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMvC,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMlB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAsDvD,UAAA,CAAA;MADL,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EA6F7C,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EASlD,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA,CAAA;EAoFH;EACA,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE;EACpC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;EACjC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;EAChC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE;EACrC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH;EACA,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;EACjC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC/B,KAAA;EACD,IAAA,YAAY,EAAE;EACZ,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;EAClC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC/B,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,gBAAgB,EAAE;EACpC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC9B,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;EAClC,KAAA;EACD,IAAA,YAAY,EAAE;EACZ,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC9B,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;EACnC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH;EACA,mBAAmB,CAAC,mBAAmB,EAAE;EACvC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;EACnC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;EACjC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,mBAAmB,EAAE;EACvC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;EAChC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;EACpC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH;EACA,mBAAmB,CAAC,kBAAkB,EAAE;EACtC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;EAClC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC/B,KAAA;EACD,IAAA,YAAY,EAAE;EACZ,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;EACjC,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC/B,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,kBAAkB,EAAE;EACtC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC9B,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;EACnC,KAAA;EACD,IAAA,YAAY,EAAE;EACZ,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;EAC9B,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;EAClC,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH;EACA,mBAAmB,CAAC,kBAAkB,EAAE;EACtC,IAAA,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;EACxD,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC,CAAC;EAEH;EACA,mBAAmB,CAAC,qBAAqB,EAAE;EACzC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;EAC3C,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,qBAAqB,EAAE;EACzC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;EAC3C,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC;;ECvZF;;;;;EAKG;QACU,YAAa,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC,CAAA;EAExE,IAAA,WAAW,cAAc,GAAA;UACvB,OAAO;EACL,YAAA,aAAa,EAAE,UAAU;WAC1B,CAAC;OACH;EACD,IAAA,WAAA,GAAA;EACE,QAAA,KAAK,EAAE,CAAC;;EAaF,QAAA,IAAA,CAAA,SAAS,GAAW,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;UAIhD,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;;UAIzB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;UAIf,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;;UAIvB,IAAI,CAAA,IAAA,GAAkB,MAAM,CAAC;;UAI7B,IAAO,CAAA,OAAA,GAA0B,WAAW,CAAC;;UA/B3C,IAAI,CAAC,WAAW,GAAG;EACjB,YAAA;EACE,gBAAA,IAAI,EAAE,QAAQ;EACd,gBAAA,OAAO,EAAE;EACP,oBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;EAChB,iBAAA;EACF,aAAA;WACF,CAAC;OACH;EA6BD,IAAA,MAAM,YAAY,GAAA;UAChB,KAAK,CAAC,YAAY,EAAE,CAAC;UACrB,IAAI,IAAI,CAAC,UAAU,EAAE;cACnB,MAAM,IAAI,CAAC,WAAW,CAAC;cACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,SAAA;OACF;MACD,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;;;AAIc,2BAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACnB,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACR,yBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;AAE9B,UAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACb,iBAAA,EAAA,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;AAC3B,aAAA,EAAA,IAAI,CAAC,SAAS,CAAA;;AAEjB,UAAA,EAAA,IAAI,CAAC,WAAW,CAAA;;;;;;;;;;;;;;;;AAgBU,oCAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;KAGtD,CAAC;OACH;;EAtFM,YAAA,CAAA,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;EAwBjC,UAAA,CAAA;EADP,IAAAT,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACF,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIzB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAC1C,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIf,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAClC,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAC3B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI7B,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIrC,UAAA,CAAA;MADPmD,GAAU,CAAC,aAAa,CAAC;EACe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;;EClE3C;;EAEG;EAEH,MAAqB,WAAY,SAAQ,WAAW,CAAA;EAApD,IAAA,WAAA,GAAA;;;UAKE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;UAIf,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;;UAIV,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAIjB,IAAM,CAAA,MAAA,GAA4C,OAAO,CAAC;OAmB3D;MAjBC,MAAM,GAAA;EACJ,QAAA,OAAOrD,CAAI,CAAA,CAAA;;;AAGG,gBAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACC,0BAAA,EAAAC,GAAQ,CAAC;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACU,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;0BACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AACvC,iBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;;;;KAIzB,CAAC;OACH;;EAlCM,WAAA,CAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;EAInC,UAAA,CAAA;EADC,IAAAC,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EACb,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIf,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACjB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIV,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIjB,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EACgB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;ECtB5D;;EAEG;EACG,MAAO,gBAAiB,SAAQ,WAAW,CAAA;MAO/C,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,KAAI;EACpD,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;EACrB,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;EACrB,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;MAED,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;;AAGG,gBAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACM,+BAAA,EAAAC,GAAQ,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACU,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;0BACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;;qBAErC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;AAC5B,iBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;;;;KAIzB,CAAC;OACH;;EAjCM,gBAAA,CAAA,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;EAI7B,UAAA,CAAA;MADPG,GAAK,CAAC,GAAG,CAAC;EACiB,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA;;;;ECgB9B;;;;;;;;;;EAUG;QAEU,cAAe,SAAQ,mBAAmB,CAAC,WAAW,CAAC,CAAA;EAApE,IAAA,WAAA,GAAA;;;UAQ+B,IAAO,CAAA,OAAA,GAA4B,SAAS,CAAC;;;;UAM1E,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAIjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAIjB,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;;UAOZ,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;;UAIjB,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;;UAQR,IAAa,CAAA,aAAA,GAAW,EAAE,CAAC;;;UAU3B,IAAQ,CAAA,QAAA,GAAGM,GAAS,EAAoB,CAAC;OAgHlD;EAjKC,IAAA,WAAW,cAAc,GAAA;UACvB,OAAO;EACL,YAAA,aAAa,EAAE,UAAU;WAC1B,CAAC;OACH;EAqCD,IAAA,WAAW,CAAC,KAAe,EAAA;EACzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACnB,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;;OAElC;;EAOO,IAAA,WAAW,CAAC,KAAY,EAAA;UAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;EAElB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;cAEzC,YAAY,CAAC,KAAK,EAAE,CAAC;EACtB,SAAA;OACF;;EAGO,IAAA,iBAAiB,CAAC,KAAY,EAAA;EACpC,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAA0B,CAAC;EACtD,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,KAAiB,CAAC;EAE7C,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;cACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACxC,SAAA;;EAED,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;UACxB,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB;;EAGD,IAAA,iBAAiB,CAAC,KAAa,EAAA;EAC7B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;EACzC,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;EAEvC,QAAA,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;EACtC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cAC3C,IAAI,KAAK,KAAK,CAAC;kBAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;EACvD,SAAA;;EAGD,QAAA,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;;EAEtC,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;UACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;;UAGlD,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB;MAED,MAAM,GAAA;EACJ,QAAA,MAAM,cAAc,GAAG,CAAC,WAAmB,KAAI;EAC7C,YAAA,IAAI,WAAW,EAAE;kBACf,OAAOV,CAAI,CAAA,CAAG,EAAAkD,GAAS,CAAC,WAAW,CAAC,EAAE,CAAC;EACxC,aAAA;EACD,YAAA,OAAOlD,CAAI,CAAA,CAAA;;;;;;;;;;;aAWJ,CAAC;EACV,SAAC,CAAC;EAEF,QAAA,MAAM,aAAa,GAAG,CAAC,UAAkB,KAAI;EAC3C,YAAA,IAAI,UAAU,EAAE;kBACd,OAAOA,CAAI,CAAA,CAAG,EAAAkD,GAAS,CAAC,UAAU,CAAC,EAAE,CAAC;EACvC,aAAA;EACD,YAAA,OAAOlD,CAAI,CAAA,CAAA;;;;;;;;;;;;aAYJ,CAAC;EACV,SAAC,CAAC;EAEF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACtC,CAAC,IAAI,EAAE,KAAK,KAAKA,CAAI,CAAA,CAAA;kBACT,KAAK,CAAA;AACL,gBAAA,EAAA,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACf,iCAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACnB,uBAAA,EAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA,CAAA,EAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;;AAEvF,MAAA,CAAA,CACF,CAAC;EAEF,QAAA,OAAOA,CAAI,CAAA,CAAA;;AAEL,QAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;;;AAGV,gBAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACpB,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AAChB,eAAA,EAAA,IAAI,CAAC,MAAM,CAAA;;AAEF,wBAAA,EAAA,IAAI,CAAC,IAAI,CAAY,SAAA,EAAA,IAAI,CAAC,OAAO,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAW,QAAA,EAAA,IAAI,CAAC,WAAW,CAAA;;;;;UAKvG,SAAS,CAAA;;KAEd,CAAC;OACH;;EAjKM,cAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEZ,UAAM,CAA9B,CAAgC;EAOhB,UAAA,CAAA;EAA5B,IAAAG,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA8C,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAM1E,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIjB,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIjB,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC9B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGiB,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI/C,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACV,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIjB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACX,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIR,UAAA,CAAA;MADPA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EACJ,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI5B,UAAA,CAAA;EADP,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EACS,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA;;;;ECnErC;;;;;;;;EAQG;EACG,MAAO,UAAW,SAAQ,WAAW,CAAA;EAA3C,IAAA,WAAA,GAAA;;EAGE;;EAEG;UAEH,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;EAEX;;EAEG;UAEH,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;EAEjB;;EAEG;UAEH,IAAc,CAAA,cAAA,GAAG,yBAAyB,CAAC;EAE3C;;;;EAIG;UAIH,IAAK,CAAA,KAAA,GAAkB,EAAE,CAAC;EAE1B;;EAEG;UAEH,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;EAErB;;EAEG;UAEH,IAAW,CAAA,WAAA,GAAG,GAAG,CAAC;EAElB;;EAEG;UAEH,IAAY,CAAA,YAAA,GAAG,GAAG,CAAC;EAEnB;;EAEG;UAEH,IAAW,CAAA,WAAA,GAAG,GAAG,CAAC;EAElB;;EAEG;UAEH,IAAc,CAAA,cAAA,GAAG,GAAG,CAAC;OAqFtB;MAnFC,MAAM,GAAA;;UAEJ,MAAM,cAAc,GAAGF,CAAI,CAAA,6BAA6B,IAAI,CAAC,WAAW,CAAA,MAAA,CAAQ,CAAC;EAEjF,QAAA,OAAOA,CAAI,CAAA,CAAA;;;;;;qCAMsB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,cAAc,CAAA;kBAC3D,IAAI,CAAC,WAAW,GAAG,cAAc,GAAG,SAAS,CAAA;;;;gBAI/C,IAAI,CAAC,KAAK,CAAC,GAAG,CACd,CAAC,IAAiB,KAChBA,CAAI,CAAA,CAAA;;AAEqB,yCAAA,EAAA,IAAI,CAAC,KAAK,CAAA;;0BAE3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAW,KAAKA,CAAI,CAAA,CAAA,aAAA,EAAgB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA,UAAA,CAAY,CAAC,CAAA;;;mBAG/F,CACJ,CAAA;;;;;;AAMmB,gCAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AAChB,gCAAA,EAAA,IAAI,CAAC,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCnB,8BAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AAChB,8BAAA,EAAA,IAAI,CAAC,cAAc,CAAA;;;;;;;sBAO7B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,cAAc,CAAA;AACpC,+BAAA,EAAA,IAAI,CAAC,eAAe,CAAA;;;;;;;KAOhD,CAAC;OACH;;EA9IM,UAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAM7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAChB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMX,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACV,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMjB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACgB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAU3C,UAAA,CAAA;EAHC,IAAAA,GAAQ,CAAC;EACR,QAAA,IAAI,EAAE,KAAK;OACZ,CAAC;EACwB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAM1B,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACN,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMrB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACT,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMlB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACR,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMnB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACT,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMlB,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACN,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA;;EClFvB;EACA;EACA;EACA;EACA;EACA;AAUA;EACA;EACA;EACA;AACA;EACA,MAAM+B,MAAI,GAAG,WAAU;EACvB,MAAM,QAAQ,GAAG,cAAa;EAC9B,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAC;EAChC,MAAM,YAAY,GAAG,YAAW;AAChC;EACA,MAAMM,YAAU,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAAC;EACrC,MAAMC,aAAW,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAC;EACvC,MAAMH,YAAU,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAAC;EACrC,MAAMC,cAAY,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAC;EACzC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAC;AAC/D;EACA,MAAMI,iBAAe,GAAG,OAAM;EAC9B,MAAM,mBAAmB,GAAG,WAAU;EACtC,MAAM,qBAAqB,GAAG,aAAY;EAC1C,MAAM,oBAAoB,GAAG,YAAW;EACxC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,CAAC,EAAC;EAC3F,MAAM,qBAAqB,GAAG,sBAAqB;AACnD;EACA,MAAM,KAAK,GAAG,QAAO;EACrB,MAAM,MAAM,GAAG,SAAQ;AACvB;EACA,MAAM,gBAAgB,GAAG,uCAAsC;EAC/D,MAAM,oBAAoB,GAAG,8BAA6B;AAC1D;EACA,MAAME,SAAO,GAAG;EAChB,EAAE,MAAM,EAAE,IAAI;EACd,EAAE,MAAM,EAAE,IAAI;EACd,EAAC;AACD;EACA,MAAMC,aAAW,GAAG;EACpB,EAAE,MAAM,EAAE,gBAAgB;EAC1B,EAAE,MAAM,EAAE,SAAS;EACnB,EAAC;AACD;EACA;EACA;EACA;AACA;EACA,MAAM,QAAQ,SAAS,aAAa,CAAC;EACrC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAC;AAC1B;EACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,MAAK;EACjC,IAAI,IAAI,CAAC,aAAa,GAAG,GAAE;AAC3B;EACA,IAAI,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAC;AAChE;EACA,IAAI,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;EACnC,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,sBAAsB,CAAC,IAAI,EAAC;EAClE,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;EACzD,SAAS,MAAM,CAAC,YAAY,IAAI,YAAY,KAAK,IAAI,CAAC,QAAQ,EAAC;AAC/D;EACA,MAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE;EACrD,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAC;EACrC,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,mBAAmB,GAAE;AAC9B;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC9B,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAC;EACzE,KAAK;AACL;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC7B,MAAM,IAAI,CAAC,MAAM,GAAE;EACnB,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAOD,SAAO;EAClB,GAAG;AACH;EACA,EAAE,WAAW,WAAW,GAAG;EAC3B,IAAI,OAAOC,aAAW;EACtB,GAAG;AACH;EACA,EAAE,WAAW,IAAI,GAAG;EACpB,IAAI,OAAOZ,MAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;EACzB,MAAM,IAAI,CAAC,IAAI,GAAE;EACjB,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,IAAI,GAAE;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;EAClD,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,cAAc,GAAG,GAAE;AAC3B;EACA;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;EACpE,SAAS,MAAM,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC;EACrD,SAAS,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC;EACjF,KAAK;AACL;EACA,IAAI,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;EACrE,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEM,YAAU,EAAC;EACtE,IAAI,IAAI,UAAU,CAAC,gBAAgB,EAAE;EACrC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,KAAK,MAAM,cAAc,IAAI,cAAc,EAAE;EACjD,MAAM,cAAc,CAAC,IAAI,GAAE;EAC3B,KAAK;AACL;EACA,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,GAAE;AAC1C;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAC;EACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAC;AACtD;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAC;AACtC;EACA,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAC;EAC5D,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAI;AAChC;EACA,IAAI,MAAM,QAAQ,GAAG,MAAM;EAC3B,MAAM,IAAI,CAAC,gBAAgB,GAAG,MAAK;AACnC;EACA,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAC;EAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAEG,iBAAe,EAAC;AACvE;EACA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAE;AACzC;EACA,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEF,aAAW,EAAC;EACtD,MAAK;AACL;EACA,IAAI,MAAM,oBAAoB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAC;EAChF,IAAI,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAC;AACtD;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAC;EACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,EAAC;EACrE,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;EACnD,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEH,YAAU,EAAC;EACtE,IAAI,IAAI,UAAU,CAAC,gBAAgB,EAAE;EACrC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,GAAE;AAC1C;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAC;AAC5F;EACA,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC;AACzB;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAC;EACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAEK,iBAAe,EAAC;AACxE;EACA,IAAI,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;EAC9C,MAAM,MAAM,OAAO,GAAG,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAC;AACpE;EACA,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC9C,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAC;EACxD,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAI;AAChC;EACA,IAAI,MAAM,QAAQ,GAAG,MAAM;EAC3B,MAAM,IAAI,CAAC,gBAAgB,GAAG,MAAK;EACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAC;EAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAC;EACtD,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAEJ,cAAY,EAAC;EACvD,MAAK;AACL;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAE;AACvC;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAC;EACtD,GAAG;AACH;EACA,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;EACpC,IAAI,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAACI,iBAAe,CAAC;EACtD,GAAG;AACH;EACA;EACA,EAAE,iBAAiB,CAAC,MAAM,EAAE;EAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC;EAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAC;EAC7C,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,KAAK,GAAG,MAAM;EACnF,GAAG;AACH;EACA,EAAE,mBAAmB,GAAG;EACxB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;EAC9B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAC;AACtE;EACA,IAAI,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;EACpC,MAAM,MAAM,QAAQ,GAAG,cAAc,CAAC,sBAAsB,CAAC,OAAO,EAAC;AACrE;EACA,MAAM,IAAI,QAAQ,EAAE;EACpB,QAAQ,IAAI,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC;EAC1E,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,sBAAsB,CAAC,QAAQ,EAAE;EACnC,IAAI,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC;EACzF;EACA,IAAI,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;EAC5G,GAAG;AACH;EACA,EAAE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE;EAClD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;EAC9B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;EACxC,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAC;EAC7D,MAAM,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,EAAC;EACnD,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,OAAO,eAAe,CAAC,MAAM,EAAE;EACjC,IAAI,MAAM,OAAO,GAAG,GAAE;EACtB,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;EAChE,MAAM,OAAO,CAAC,MAAM,GAAG,MAAK;EAC5B,KAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY;EACjC,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAC;AAC9D;EACA,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EACtC,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;EACjD,UAAU,MAAM,IAAI,SAAS,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAC5D,SAAS;AACT;EACA,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAE;EACtB,OAAO;EACP,KAAK,CAAC;EACN,GAAG;EACH,CAAC;AACD;EACA;EACA;EACA;AACA;EACA,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,UAAU,KAAK,EAAE;EACvF;EACA,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,KAAK,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE;EACtG,IAAI,KAAK,CAAC,cAAc,GAAE;EAC1B,GAAG;AACH;EACA,EAAE,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE;EAC9E,IAAI,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,GAAE;EACrE,GAAG;EACH,CAAC,EAAC;AACF;EACA;EACA;EACA;AACA;EACA,kBAAkB,CAAC,QAAQ;;ECtSpB,MAAM,aAAa,GAAG,GAAG,CAAC;EAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;EAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;EAC1B,MAAM,aAAa,GAAG,IAAI,CAAC;EAC3B,MAAM,cAAc,GAAG,IAAI;;;;ECSlC,MAAM,KAAK,GAAG;EACZ,IAAA,EAAE,EAAE,aAAa;EACjB,IAAA,EAAE,EAAE,aAAa;EACjB,IAAA,EAAE,EAAE,aAAa;EACjB,IAAA,EAAE,EAAE,aAAa;EACjB,IAAA,GAAG,EAAE,cAAc;EACnB,IAAA,KAAK,EAAE,QAAQ;MACf,MAAM,EAAE,CAAC,CAAC;GACX,CAAC;EAEF;;;;;;;;;;;;;;;EAeG;EACG,MAAO,WAAY,SAAQ,WAAW,CAAA;EAG1C,IAAA,WAAA,GAAA;EACE,QAAA,KAAK,EAAE,CAAC;;UASF,IAAU,CAAA,UAAA,GAAqBhC,GAAS,EAAE,CAAC;;UAE3C,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;;UAQtC,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;EAEP,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;;UAIlD,IAAM,CAAA,MAAA,GAAsB,IAAI,CAAC;;UAIjC,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;;UAI1B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EAhCf,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;EACrC,YAAA,MAAM,yBAAyB,GAAG,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACzE,YAAA,IAAI,yBAAyB,KAAK,IAAI,CAAC,iBAAiB,EAAE;kBACxD,IAAI,CAAC,aAAa,EAAE,CAAC;EACtB,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;MAMO,cAAc,GAAA;EACpB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;OAC1B;MAoBD,YAAY,GAAA;UACV,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;EACpD,YAAA,MAAM,EAAE,KAAK;EACd,SAAA,CAAC,CAAC;UACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACvB,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;EAC/D,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACvB,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACxB,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,MAAK;EAChE,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACxB,SAAC,CAAC,CAAC;OACJ;;EAED,IAAA,iBAAiB,CAAC,CAAQ,EAAA;EACxB,QAAA,MAAM,aAAa,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;EAExF,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,IAAG;EACxB,YAAA,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;EAClD,SAAC,CAAC,CAAC;OACJ;MAED,MAAM,GAAA;EACJ,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;UAChE,MAAM,aAAa,GAAG,kCAAkC,CAAC;EACzD,QAAA,OAAOV,CAAI,CAAA,CAAA;;;UAGL,IAAI,CAAC,YAAY,EAAE,CAAA;;AAE8B,yDAAA,EAAA,IAAI,CAAC,SAAS,CAAA;;;8CAG3B,IAAI,CAAC,iBAAiB,GAAG,SAAS,GAAG,YAAY,CAAA;;;;AAI5E,iBAAA,EAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;AACnB,yBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AACf,yBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;;;;;;;;;;;;;;;qBAiBnB,aAAa,CAAA,CAAA,EAAIW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,UAAU,CAAA;;;;;sBAK1DV,GAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;AAC3C,0BAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;;;;KAK7C,CAAC;OACH;MACD,YAAY,GAAA;UACV,QAAQ,IAAI,CAAC,MAAM;EACjB,YAAA,KAAK,QAAQ;EACX,gBAAA,OAAO,eAAe,CAAC;EACzB,YAAA,KAAK,OAAO;kBACV,MAAM;EACR,YAAA;EACE,gBAAA,OAAO,CAAiB,cAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC;EACzC,SAAA;OACF;;EAxHM,WAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAsB7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACZ,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMf,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACM,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIjC,UAAA,CAAA;EADC,IAAAO,GAAK,EAAE;EACkB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI1B,UAAA,CAAA;EADC,IAAAA,GAAK,EAAE;EACS,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;;;;ECpEnB;;;EAGG;EACG,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;EAA5D,IAAA,WAAA,GAAA;;;EAQU,QAAA,IAAA,CAAA,SAAS,GAAW,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;;UAIhD,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;OA4C1B;EA1CC,IAAA,MAAM,YAAY,GAAA;UAChB,KAAK,CAAC,YAAY,EAAE,CAAC;UACrB,IAAI,IAAI,CAAC,UAAU,EAAE;cACnB,MAAM,IAAI,CAAC,WAAW,CAAC;cACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,SAAA;OACF;MAED,MAAM,GAAA;EACJ,QAAA,OAAOT,CAAI,CAAA,CAAA;;;;AAIO,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACR,yBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AAC9B,UAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACb,iBAAA,EAAA,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;AAC3B,aAAA,EAAA,IAAI,CAAC,SAAS,CAAA;qBACR,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;;;AAGnC,UAAA,EAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAGX,CAAI,CAAA,CAA8B,4BAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAgB9C,oCAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;KAGtD,CAAC;OACH;;EAtDM,mBAAM,CAAA,MAAA,GAAG,CAAC,eAAe,CAAC,MAAM,EAAED,UAAM,CAAlC,CAAoC;EAIzC,UAAA,CAAA;MADPsD,GAAU,CAAC,GAAG,CAAC;EACgC,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAOxC,UAAA,CAAA;EADP,IAAAnD,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACF,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;;;;ECrB3B;;;;;;EAMG;EACG,MAAO,eAAgB,SAAQ,WAAW,CAAA;;EACvC,eAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEH,UAAM,CAAC;;;;ECN9C;;;;;;;;;;;EAWG;EACG,MAAO,YAAa,SAAQ,WAAW,CAAA;EAA7C,IAAA,WAAA,GAAA;;EAGE;;EAEG;UAEH,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;UAId,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;OAmK1B;;MAhKS,iBAAiB,GAAA;EACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;OAChD;MAED,MAAM,GAAA;EACJ,QAAA,OAAOC,CAAI,CAAA,CAAA;;sBAEO,IAAI,CAAC,KAAK,GAAG,iBAAiB,GAAG,WAAW,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoC/B,iCAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;AAE7B,yBAAA,EAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;;;;;;;;;yDASA,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;mDAe5C,IAAI,CAAC,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyFnF,CAAC;OACH;;EA5KM,YAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAM7C,UAAA,CAAA;MADCG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC7B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAId,UAAA,CAAA;EADC,IAAAO,GAAK,EAAE;EACiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;;EC5B3B;EACA,SAAS,UAAU,CAAC,EAAe,EAAA;MACjC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;MAGrC,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;EACxC,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;EAGD,IAAA,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;EAC/B,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;EAGD,IAAA,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,OAAO,EAAE;EACpF,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;MAGD,IAAI,GAAG,KAAK,OAAO,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;EACzF,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;EAGD,IAAA,IAAI,EAAE,CAAC,YAAY,KAAK,IAAI,EAAE;EAC5B,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;MAGD,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE;EACvD,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;;EAGD,IAAA,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,KAAK,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;EACvE,QAAA,OAAO,IAAI,CAAC;EACb,KAAA;;EAGD,IAAA,IAAI,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;EAC/B,QAAA,OAAO,IAAI,CAAC;EACb,KAAA;;EAGD,IAAA,IAAI,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,OAAO,EAAE;EACxF,QAAA,OAAO,IAAI,CAAC;EACb,KAAA;;MAGD,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;EACnG,CAAC;EAED;;;EAGG;EACG,SAAU,mBAAmB,CAAC,IAA8B,EAAA;;MAChE,MAAM,WAAW,GAAkB,EAAE,CAAC;MAEtC,SAAS,IAAI,CAAC,EAA4B,EAAA;UACxC,IAAI,EAAE,YAAY,WAAW,EAAE;EAC7B,YAAA,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAErB,YAAA,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;EAC3D,gBAAA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;EACrB,aAAA;EACF,SAAA;EAED,QAAA,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;OACvD;;MAGD,IAAI,CAAC,IAAI,CAAC,CAAC;;EAGX,IAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;MAC7D,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;EAErE,IAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;EACxB;;EC9EA,IAAI,YAAY,GAAkB,EAAE,CAAC;EAEvB,MAAO,KAAK,CAAA;EAIxB,IAAA,WAAA,CAAY,OAAoB,EAAA;UAFhC,IAAY,CAAA,YAAA,GAA2B,SAAS,CAAC;EAG/C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;UACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OAChD;MAED,QAAQ,GAAA;EACN,QAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;UAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;UACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;UACzD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;OACtD;MAED,UAAU,GAAA;EACR,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;UACpE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;UAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;UAC5D,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;OACzD;MAED,QAAQ,GAAA;;EAEN,QAAA,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;OAC/D;MAED,UAAU,GAAA;EACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;cACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;EAC1C,gBAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACzD,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;EAE7D,gBAAA,IAAI,QAAO,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,KAAK,CAAA,KAAK,UAAU,EAAE;sBACvC,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;EACvC,iBAAA;EACF,aAAA;EACF,SAAA;OACF;MAED,aAAa,GAAA;UACX,IAAI,CAAC,UAAU,EAAE,CAAC;OACnB;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;UAChC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;EACzC,YAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;;cAG/B,qBAAqB,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;EAChD,SAAA;OACF;MAED,WAAW,GAAA;EACT,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;OAC/B;EACF;;;;EChDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;;UAYmB,IAAiB,CAAA,iBAAA,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;UAO/B,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;;;UAG5B,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAEX,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;;UAEA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;;UAE7B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;OA6NjE;MA3NC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACnE,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;OAC9B;MAED,YAAY,GAAA;UACV,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;UAEhC,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;cACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;EACzB,SAAA;OACF;MAED,oBAAoB,GAAA;UAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;UAC7B,mBAAmB,CAAC,IAAI,CAAC,CAAC;OAC3B;;EAGM,IAAA,MAAM,IAAI,GAAA;UACf,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;;EAGM,IAAA,MAAM,IAAI,GAAA;EACf,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;EACd,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EAClB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;EAEO,IAAA,YAAY,CAAC,MAA+C,EAAA;EAClE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;EAC/C,YAAA,UAAU,EAAE,IAAI;cAChB,MAAM,EAAE,EAAE,MAAM,EAAE;EACnB,SAAA,CAAC,CAAC;UAEH,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;cACrC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;cACxD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;cAC3C,OAAO;EACR,SAAA;UAED,IAAI,CAAC,IAAI,EAAE,CAAC;OACb;MAED,gBAAgB,GAAA;UACd,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;OAClE;MAED,mBAAmB,GAAA;UACjB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;OACrE;EAED,IAAA,qBAAqB,CAAC,KAAoB,EAAA;UACxC,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;cACvC,KAAK,CAAC,eAAe,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;EAC/B,SAAA;OACF;MAGK,MAAA,gBAAgB,GAAA;UACpB,IAAI,IAAI,CAAC,IAAI,EAAE;;EAEb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAA4B,CAAC;EAC7D,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;cAEtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAExB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAC/E,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;cAE3B,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;cACxD,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;cAClE,CAAC,IAAI,CAAC,WAAW;EACf,iBAAC,MAAM,OAAO,CAAC,GAAG,CAAC;EACjB,oBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC;EACvE,oBAAA,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC;EAC9E,iBAAA,CAAC,CAAC,CAAC;EAEN,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;EAG7B,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;EACtB,SAAA;EAAM,aAAA;;EAEL,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC3B,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;cAExB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;cAC/E,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;cACxD,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;;;;cAKlE,CAAC,IAAI,CAAC,WAAW;EACf,iBAAC,MAAM,OAAO,CAAC,GAAG,CAAC;EACjB,oBAAA,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAK;EACtF,wBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;EAC7B,qBAAC,CAAC;EACF,oBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAK;EAChF,wBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;EAC3B,qBAAC,CAAC;EACH,iBAAA,CAAC,CAAC,CAAC;EAEN,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;;EAG1B,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;EAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;cAE1B,mBAAmB,CAAC,IAAI,CAAC,CAAC;;EAG1B,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;EACrC,YAAA,IAAI,QAAO,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,KAAK,CAAA,KAAK,UAAU,EAAE;kBACxC,UAAU,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;EACnC,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;OACF;MAED,MAAM,GAAA;EACJ,QAAA,MAAM,aAAa,GAAGT,CAAI,CAAA,CAAG,EAAAkD,GAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA,CAAE,CAAC;EACzD,QAAA,OAAOlD,CAAI,CAAA,CAAA;;;AAGC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,IAAI,CAAC,IAAI;YACxB,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;;AAEiD,yDAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;;;;;;;wBAOrE,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;AAC7B,qBAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAA;AAC5C,0BAAA,EAAAA,CAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;;;YAG/D,CAAC,IAAI,CAAC,QAAQ;cACZP,CAAI,CAAA,CAAA;;;AAGQ,wBAAA,EAAAC,GAAQ,CAAC;AACf,gBAAA,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;aACpC,CAAC,CAAA;;;;AAIQ,0BAAA,EAAAA,GAAQ,CAAC;AACf,gBAAA,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;aACpC,CAAC,CAAA;;;;AAIA,oBAAA,EAAA,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAA;;;AAG3C,0BAAA,EAAAA,GAAQ,CAAC;AACf,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;aACpC,CAAC,CAAA;AACQ,4BAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;;;;AAItD,cAAA,CAAA;AACH,cAAE,EAAE,CAAA;;;;AAII,kBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;SACpC,CAAC,CAAA;;;;;;;AAOM,kBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI,CAAC,oBAAoB;SACpC,CAAC,CAAA;;;;;;KAMT,CAAC;OACH;;EA3PM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAG5B,UAAA,CAAA;MAAhBK,GAAK,CAAC,QAAQ,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;MAAtBA,GAAK,CAAC,cAAc,CAAC;EAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAAxBA,GAAK,CAAC,gBAAgB,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEvB,UAAA,CAAA;MAAtBA,GAAK,CAAC,cAAc,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EASA,UAAA,CAAA;MAA3CF,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG5B,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEX,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEA,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA8B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE7B,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EA0E1D,UAAA,CAAA;MADL,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAiE7C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;EAqFH,mBAAmB,CAAC,YAAY,EAAE;EAChC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,8BAA8B,EAAE;EACzD,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE;EACvD,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,YAAY,EAAE;EAChC,IAAA,SAAS,EAAE;EACT,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE;EACrD,QAAA,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,8BAA8B,EAAE;EAC1D,KAAA;MACD,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,iBAAiB,EAAE;EACrC,IAAA,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;EAC/F,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,oBAAoB,EAAE;EACxC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;EAC3C,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC,CAAC;EAEH,mBAAmB,CAAC,oBAAoB,EAAE;EACxC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;EAC3C,IAAA,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;EAC3B,CAAA,CAAC;;;;EClUF;;;;;;;;;;;;;;;EAeI;EACE,MAAO,cAAe,SAAQ,WAAW,CAAA;EAA/C,IAAA,WAAA,GAAA;;;UAI8B,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;;UAGf,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;;UAGhB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;;UAGjB,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;;UAGV,IAAgB,CAAA,gBAAA,GAAqB,WAAW,CAAC;;UAGjD,IAAI,CAAA,IAAA,GAAgB,IAAI,CAAC;;UAGxB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;UAGpB,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;UAsIrC,IAAe,CAAA,eAAA,GAAGF,CAAI,CAAA,CAAA;;;GAG7B,CAAC;;UAGM,IAAmB,CAAA,mBAAA,GAAG,MAAK;EACjC,YAAA,MAAM,UAAU,GAAG,EACjB,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,CACtG,CAAC;EAEF,YAAA,IAAI,UAAU,EAAE;EACd,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAED,YAAA,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAErC,YAAA,OAAOA,CAAI,CAAA,CAAA;;;AAGE,eAAA,EAAA,IAAI,CAAC,wBAAwB,CAAA;AAC3B,iBAAA,EAAA,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;;yDAEnC,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,CAAA;;KAEpF,CAAC;EACJ,SAAC,CAAC;OAmIH;MAhSC,iBAAiB,GAAA;EACf,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;OAC9E;;EAGO,IAAA,eAAe,CAAC,KAAiB,EAAA;EACvC,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAqB,CAAC;UAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EAEzC,QAAA,IAAI,SAAS,EAAE;cACb,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1D,YAAA,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;EACpC,gBAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;EAChC,aAAA;EACF,SAAA;OACF;;MAGO,gBAAgB,GAAA;UACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;OACzC;;MAGO,gBAAgB,GAAA;UACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;OACzC;;MAGO,wBAAwB,GAAA;UAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;UACxD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;cAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;OACjF;;MAGO,wBAAwB,GAAA;UAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;EACxD,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC;cAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;OAC7D;;EAGD,IAAA,IAAY,KAAK,GAAA;UACf,MAAM,KAAK,GAAG,EAAE,CAAC;UACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE;EACxE,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACf,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd;;EAGD,IAAA,IAAY,aAAa,GAAA;UACvB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;OACzE;;MAGO,cAAc,CACpB,KAAoB,EACpB,MAAc,EACd,MAAe,EACf,eAAyB,EACzB,YAAsB,EAAA;EAEtB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;EACzB,YAAA,QAAQ,MAAM;EACZ,gBAAA,KAAK,YAAY;EACf,oBAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;sBAC1B,MAAM;EACR,gBAAA,KAAK,UAAU;EACb,oBAAA,IAAI,eAAe,EAAE;0BACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;EACjC,qBAAA;EAAM,yBAAA;0BACL,IAAI,CAAC,wBAAwB,EAAE,CAAC;EACjC,qBAAA;sBACD,MAAM;EACR,gBAAA,KAAK,iBAAiB;EACpB,oBAAA,IAAI,YAAY,EAAE;0BAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACzB,qBAAA;EAAM,yBAAA;0BACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;EACzB,qBAAA;sBACD,MAAM;EACT,aAAA;EACF,SAAA;OACF;;MAGO,eAAe,GAAA;UACrB,MAAM,WAAW,GAAG,EAAE,CAAC;UACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;EAC1B,QAAA,IAAI,OAAe,CAAC;UAEpB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAClC,YAAA,iBAAiB,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;EAC3E,SAAA;UAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE;EACtD,YAAA,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;EACxD,SAAA;UAED,IAAI,iBAAiB,IAAI,CAAC,EAAE;cAC1B,iBAAiB,GAAG,CAAC,CAAC;EACvB,SAAA;UAED,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;EAErD,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC/B,YAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EAC7B,SAAA;UAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC1C,YAAA,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;EAChE,SAAA;UAED,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE;EACjD,YAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACrB,SAAA;UAED,OAAO,WAAW,CAAC,GAAG,CACpB,MAAM,IAAIA,CAAI,CAAA,CAAA;AACF,gBAAA,EAAA,MAAM,CAAqB,kBAAA,EAAA,IAAI,CAAC,WAAW,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,CAAA;;;;AAInE,mBAAA,EAAA,IAAI,CAAC,eAAe,CAAA;AAClB,qBAAA,EAAA,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;eAC1E,MAAM,CAAA;;;AAGd,MAAA,CAAA,CACF,CAAC;OACH;;MA+BO,kBAAkB,GAAA;UACxB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC;UACjD,MAAM,0BAA0B,GAAG,WAAW;gBAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EAE9E,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,0BAA0B,CAAC;EAC5F,QAAA,MAAM,QAAQ,GAAG,oBAAoB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EAClE,QAAA,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UAED,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,YAAA,OAAOA,CAAI,CAAA,CAAA;;6BAEY,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,UAAU,CAAA;AAC3C,iBAAA,EAAA,IAAI,CAAC,wBAAwB,CAAA;AAC3B,mBAAA,EAAA,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;;2DAEpC,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,CAAA;;OAEpF,CAAC;EACH,SAAA;EAAM,aAAA;EACL,YAAA,OAAOA,CAAI,CAAA,CAAA;+BACc,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,UAAU,CAAA;sDACV,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,CAAA;;OAE/E,CAAC;EACH,SAAA;OACF;;MAGO,iBAAiB,GAAA;EACvB,QAAA,OAAOA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;KAcV,CAAC;OACH;;MAGO,kBAAkB,GAAA;EACxB,QAAA,OAAOA,CAAI,CAAA,CAAA;;;;;;;;;;;;;;KAcV,CAAC;OACH;;MAGO,qBAAqB,CAC3B,cAAsB,EACtB,SAAiB,EACjB,YAAyC,EACzC,cAA8C,EAC9C,gBAAwB,EAAA;UAExB,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EAE1G,QAAA,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAErC,QAAA,MAAM,eAAe,GAAG,CAAC,KAAoB,KAAI;cAC/C,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;kBACxC,cAAc,CAAC,KAAK,CAAC,CAAC;EACvB,aAAA;EACH,SAAC,CAAC;EAEF,QAAA,OAAOA,CAAI,CAAA,CAAA;AACc,2BAAA,EAAA,UAAU,GAAG,UAAU,GAAG,EAAE,CAAY,SAAA,EAAA,UAAU,GAAG,SAAS,GAAG,YAAY,CAAA;AAC/D,yCAAA,EAAA,QAAQ,aAAa,eAAe,CAAA;AACnE,UAAA,EAAA,gBAAgB,KAAK,WAAW;cAC9BA,CAAI,CAAA,CAAA;AACA,gBAAA,EAAA,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,IAAI,cAAc,CAAA;AACtE,gBAAA,EAAA,SAAS,KAAK,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAA;AACzD,cAAA,CAAA;cACD,gBAAgB,KAAK,MAAM;AAC7B,kBAAEA,CAAI,CAAA,CAAA,EAAG,cAAc,CAAE,CAAA;kBACvB,gBAAgB,KAAK,MAAM;sBAC3BA,CAAI,CAAA,CAAA,EAAG,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAE,CAAA;sBACpFA,CAAI,CAAA,CAAE,CAAA,CAAA;;;KAGf,CAAC;OACH;MAED,MAAM,GAAA;EACJ,QAAA,OAAOA,CAAI,CAAA,CAAA;;AAE4B,yCAAA,EAAA,IAAI,CAAC,IAAI,CAA2B,wBAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;AACxF,UAAA,EAAA,IAAI,CAAC,qBAAqB,CAC1B,UAAU,EACV,MAAM,EACN,IAAI,CAAC,gBAAgB,EACrB,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAC3F,IAAI,CAAC,gBAAgB,CACtB,CAAA;YACC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,eAAe,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,kBAAkB,EAAE,CAAA;AAC1G,UAAA,EAAA,IAAI,CAAC,qBAAqB,CAC1B,MAAM,EACN,OAAO,EACP,IAAI,CAAC,gBAAgB,EACrB,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAC5F,IAAI,CAAC,gBAAgB,CACtB,CAAA;;;KAGN,CAAC;OACH;;EA1TM,cAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAGjB,UAAA,CAAA;EAA3B,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAgB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGf,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAW,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGV,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAkD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjD,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAA0B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGxB,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EAAoB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGpB,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG7C,UAAA,CAAA;MADC,KAAK,CAAC,aAAa,CAAC;EAGpB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;ECxCH;;;;;;;;;EASG;EACG,MAAO,kBAAmB,SAAQ,WAAW,CAAA;EAAnD,IAAA,WAAA,GAAA;;;EAUmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;;UAW3D,IAAI,CAAA,IAAA,GAAgB,IAAI,CAAC;;UAGM,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;;UAGT,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGlB,IAAa,CAAA,aAAA,GAAkB,SAAS,CAAC;EAEpF;;EAEG;UACwC,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;;UAIpD,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;;EAGT,QAAA,IAAA,CAAA,OAAO,GAAW,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;OA2G7D;EAzGC,IAAA,YAAY,CAAC,KAAa,EAAA;UACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EACxC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OAClB;;MAEM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;OACtB;;MAEM,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;OACvB;EAED,IAAA,MAAM,CAAC,KAAiB,EAAA;UACtB,KAAK,CAAC,cAAc,EAAE,CAAC;UACvB,KAAK,CAAC,eAAe,EAAE,CAAC;UACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;OACrE;EAED,IAAA,OAAO,CAAC,KAAiB,EAAA;UACvB,KAAK,CAAC,cAAc,EAAE,CAAC;UACvB,KAAK,CAAC,eAAe,EAAE,CAAC;EACxB,QAAA,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE;EAC1B,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;EAChB,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EACrE,SAAA;OACF;MACD,MAAM,GAAA;EACJ,QAAA,OAAOF,GAAI,CAAA,CAAA;;;AAGE,eAAA,EAAAC,GAAQ,CAAC;AAChB,YAAA,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,aAAa,EAAE,IAAI;YACnB,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;SACxC,CAAC,CAAA;;AAEK,aAAA,EAAA,IAAI,CAAC,IAAI,CAAA;;;uBAGD,CAAe,YAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,CAAA;;AAE/B,gBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,GAAG,EAAE,IAAI;YACT,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa;SAClD,CAAC,CAAA;AACO,iBAAA,EAAA,IAAI,CAAC,OAAO,CAAA;AACT,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;;;;;;;;;;;;;gCAeH,eAAe,GAAG,IAAI,CAAC,IAAI,CAAA;AAC1C,eAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,eAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrB,cAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnB,cAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAChB,iBAAA,EAAAC,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC1B,kBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;AACvC,iBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;AAClC,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACpB,aAAA,EAAA,IAAI,CAAC,OAAO,CAAA;;;;uBAIJ,CAAe,YAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,CAAA;;AAE/B,gBAAA,EAAAP,GAAQ,CAAC;AACf,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,GAAG,EAAE,IAAI;YACT,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa;SAClD,CAAC,CAAA;AACO,iBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AACR,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;;;;;;;;;;;;;AAeuD,wFAAA,EAAA,IAAI,CAAC,KAAK,CAAA;;KAE/F,CAAC;OACH;;EA5IM,kBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EANR,UAAA,CAAA;MAApCK,GAAK,CAAC,oBAAoB,CAAC;EAAiC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAET,UAAA,CAAA;MAAnDA,GAAK,CAAC,mCAAmC,CAAC;EAAoC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE3B,UAAA,CAAA;MAAnDA,GAAK,CAAC,mCAAmC,CAAC;EAAqC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAOnD,UAAA,CAAA;EAA5B,IAAAF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAa,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEZ,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAa,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG3C,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAA0B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGM,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAW,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGT,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGlB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA0C,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKzC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAU,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIpD,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;EACE,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;ECpDnB;;;;;;EAMG;EACG,MAAO,cAAe,SAAQ,WAAW,CAAA;EAA/C,IAAA,WAAA,GAAA;;;EAGqB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,EAAE;cACvE,YAAY,EAAE,CAAC,OAAuB,KAAK,OAAO,CAAC,YAAY;EAChE,SAAA,CAAC,CAAC;;UAMM,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;UAEV,IAAkB,CAAA,kBAAA,GAAG,EAAE,CAAC;;UAEhC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAGI,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAGX,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAC;;UAGD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGlB,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;UAEpB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;OAmKjE;MAhKC,iBAAiB,GAAA;UACf,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;cAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC3B,SAAA;OACF;MAED,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;EAC1B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;OAChC;;EAGD,IAAA,IAAI,QAAQ,GAAA;EACV,QAAA,MAAM,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC1E,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,KAAK,EAAE,CAAC;UACtD,OAAO;EACL,YAAA,QAAQ,EAAE,KAAK;EACf,YAAA,WAAW,EAAE,cAAc;EAC3B,YAAA,eAAe,EAAE,KAAK;EACtB,YAAA,aAAa,EAAE,KAAK;EACpB,YAAA,cAAc,EAAE,KAAK;EACrB,YAAA,YAAY,EAAE,KAAK;EACnB,YAAA,OAAO,EAAE,KAAK;EACd,YAAA,QAAQ,EAAE,KAAK;EACf,YAAA,YAAY,EAAE,KAAK;cACnB,KAAK,EAAE,cAAc,GAAG,KAAK,GAAG,IAAI;cACpC,YAAY,EAAE,CAAC,cAAc;WAC9B,CAAC;OACH;;MAGM,cAAc,GAAA;EACnB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;;;EAI/B,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;EAE/B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;cACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;EAC/B,SAAA;EAED,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;OACtB;EAKD,IAAA,gBAAgB,CAAC,KAAiB,EAAA;EAChC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;UAEzC,IAAI,MAAM,CAAC,QAAQ,EAAE;cACnB,OAAO;EACR,SAAA;EAED,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;EAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;EAC5B,QAAA,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;OAC7D;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;;EAChC,QAAA,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;cACjF,OAAO;EACR,SAAA;EAED,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;UAC7D,MAAM,YAAY,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,MAAM,CAAC,CAAC,CAAC,CAAC;;EAEtE,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;UAC3F,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;UAChD,IAAI,KAAK,GAAG,CAAC,EAAE;EACb,YAAA,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;EAC3B,SAAA;EACD,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;cAC7B,KAAK,GAAG,CAAC,CAAC;EACX,SAAA;EAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;EAC3B,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;EACtB,YAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;EACtB,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;EACjC,QAAA,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;EAC7B,QAAA,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;EAC3B,QAAA,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;UAEtB,KAAK,CAAC,cAAc,EAAE,CAAC;OACxB;MAED,gBAAgB,GAAA;EACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;EAC5B,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;UACpD,MAAM,YAAY,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;;EAG1C,QAAA,IAAI,YAAY,EAAE;cAChB,YAAY,CAAC,KAAK,EAAE,CAAC;EACtB,SAAA;OACF;MAED,gBAAgB,GAAA;EACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;UAE5B,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAEtE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;cACxC,IAAI,MAAM,CAAC,CAAC,CAAC;EAAE,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;EACvC,SAAA;OACF;EAED,IAAA,aAAa,CAAC,CAAQ,EAAA;UACpB,CAAC,CAAC,cAAc,EAAE,CAAC;EACnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;MAED,sBAAsB,GAAA;EACpB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;EAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;EAC5B,QAAA,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;OACrD;MAED,kBAAkB,GAAA;EAChB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;UAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;UACtE,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;OACrC;MAED,MAAM,GAAA;UACJ,MAAM,WAAW,GAAGF,CAAI,CAAA,CAAA;;;AAGT,iBAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;AACnB,mBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AACf,sBAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;;KAIxC,CAAC;EACF,QAAA,OAAOA,CAAI,CAAA,CAAA;AAC2B,wCAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AAC3B,sBAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;UAGnC,WAAW,CAAA;;;AAG4C,+DAAA,EAAAC,GAAQ,CAAC;AAC9D,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;SAC/C,CAAC,CAAA;AACU,oBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;qBAEd,CAAC,CAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;;;AAG9C,QAAA,EAAA,IAAI,CAAC,WAAW,GAAGD,CAAI,CAAA,CAAiC,8BAAA,EAAA,IAAI,CAAC,eAAe,CAAA,MAAA,CAAQ,GAAG,EAAE,CAAA;;KAE9F,CAAC;OACH;;EA9LM,cAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAMlB,UAAA,CAAA;MAA1BK,GAAK,CAAC,kBAAkB,CAAC;EAA8B,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEf,UAAA,CAAA;MAAxCA,GAAK,CAAC,gCAAgC,CAAC;EAAyB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAExD,UAAA,CAAA;EAAR,IAAAK,GAAK,EAAE;EAAmB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEV,UAAA,CAAA;EAAhB,IAAAA,GAAK,EAAE;EAAiC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhC,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGI,UAAA,CAAA;EAA5B,IAAAP,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGX,UAAA,CAAA;EAA5B,IAAAA,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGlB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEpB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhE,UAAA,CAAA;MADC,KAAK,CAAC,OAAO,CAAC;EAMd,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA,CAAA;EA0CO,UAAA,CAAA;EADP,IAAAoD,GAAqB,EAAE;EACW,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;;;;ECzFrC;;;;;;;;EAQG;EACG,MAAO,WAAY,SAAQ,WAAW,CAAA;EAA5C,IAAA,WAAA,GAAA;;;UAKE,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;OAsBpB;MApBC,MAAM,GAAA;EACJ,QAAA,IAAI,CAAC,UAAU;EACb,cAAE,IAAI;gBACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAc,KAAI;EACtD,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;EAC3F,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACxC,oBAAA,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;EACtB,wBAAA,QAAQ,CAAC,CAAC,CAAqB,CAAC,SAAS,EAAE,CAAC;EAC9C,qBAAA;EACF,iBAAA;EACH,aAAC,CAAC,CAAC;EAEP,QAAA,OAAOtD,CAAI,CAAA,CAAA;;;;;;KAMV,CAAC;OACH;;EAzBM,WAAM,CAAA,MAAA,GAAGD,UAAH,CAAU;EAIvB,UAAA,CAAA;MADCG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;;;;ECVrB;;;;;;;;;;;;EAYG;EAEG,MAAO,eAAgB,SAAQ,WAAW,CAAA;EAAhD,IAAA,WAAA,GAAA;;;UAIU,IAAU,CAAA,UAAA,GAAqBQ,GAAS,EAAE,CAAC;;UAE3C,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;EAEtC;;EAEG;UAEH,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;EAEf;;EAEG;UAEH,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;EAEV;;EAEG;UAEH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EAEjB;;EAEG;EAEK,QAAA,IAAA,CAAA,UAAU,GAAW,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;EAE1D;;EAEG;EACK,QAAA,IAAA,CAAA,QAAQ,GAAW,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;;UAG9C,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;OA8GtB;MA5GS,QAAQ,GAAA;EACd,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;OAC7D;MAEO,cAAc,GAAA;UACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;UAChB,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;EAC1B,SAAA;OACF;MACO,YAAY,GAAA;UAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;EAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;OACpB;EAED;;EAEG;MACI,SAAS,GAAA;EACd,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;UACpB,IAAI,IAAI,CAAC,UAAU;EAAE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OAC7C;EACD;;EAEG;MACI,QAAQ,GAAA;EACb,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;UACnB,IAAI,IAAI,CAAC,UAAU;EAAE,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OAC7C;MAED,YAAY,GAAA;;EAEV,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;cACd,IAAI,CAAC,UAAU,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;kBACpD,MAAM,EAAE,IAAI,CAAC,MAAM;EACpB,aAAA,CAAC,CAAC;cAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;EACrB,aAAC,CAAC,CAAC;cACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;EAC/D,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;EACrB,aAAC,CAAC,CAAC;cACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC9D,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACtB,aAAC,CAAC,CAAC;cACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,MAAK;EAChE,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACtB,aAAC,CAAC,CAAC;EACJ,SAAA;OACF;MAED,MAAM,GAAA;UACJ,MAAM,gBAAgB,GAAGV,CAAI,CAAA,CAAA;AAChB,eAAA,EAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;AACL,qCAAA,EAAAC,GAAQ,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACe,uBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AACX,uBAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AACf,uBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AACtB,YAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACP,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;wBACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;;;;;;;;;;;;;;;;;;8BAkB1BU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAQ,KAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AACrB,kDAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;;aAGpD,CAAC;UAEV,MAAM,cAAc,GAAGX,CAAI,CAAA,CAAA;;AAEhB,aAAA,EAAA,IAAI,CAAC,IAAI,CAAA;AACP,eAAA,EAAA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;AACb,2BAAA,EAAAC,GAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;AACe,uBAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AAChB,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;wBACT,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;;;;;KAKnD,CAAC;EACF,QAAA,OAAOD,CAAI,CAAA,CAAA;AACiC,8CAAA,EAAA,CAAC,IAAI,CAAC,IAAI,CAAA,EAAA,EAAK,IAAI,CAAC,IAAI,GAAG,cAAc,GAAG,gBAAgB,CAAA;KACvG,CAAC;OACH;;EAlJM,eAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAW7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;EACb,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMf,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACjB,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMV,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC1B,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA;;;;EC7CnB;;;;;;;EAOG;EACG,MAAO,eAAgB,SAAQ,WAAW,CAAA;;EACvC,eAAM,CAAA,MAAA,GAAGH,UAAM;;;;ECNxB;;EAEG;EACG,MAAO,WAAY,SAAQ,WAAW,CAAA;EAA5C,IAAA,WAAA,GAAA;;;UAG6C,IAAI,CAAA,IAAA,GAAgB,QAAQ,CAAC;;UAE7B,IAAK,CAAA,KAAA,GAAiB,SAAS,CAAC;OAkB5E;MAfC,MAAM,GAAA;EACJ,QAAA,OAAOC,GAAI,CAAA,CAAA;;;AAGD,YAAA,EAAAC,GAAQ,CAAC;YACb,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;YACnC,CAAC,CAAA,KAAA,EAAQ,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK;YAClC,CAAC,CAAA,EAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,cAAc;SAChD,CAAC,CAAA;;;;;KAKL,CAAC;OACH;;EArBM,WAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAEF,UAAA,CAAA;MAA1CG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA8B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE7B,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiC,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhC,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAwB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA;;;;ECJpE;;;;;;;;;;;;;;EAcG;EACG,MAAO,WAAY,SAAQ,WAAW,CAAA;EAA5C,IAAA,WAAA,GAAA;;EAGE;EACG;UAEH,IAAK,CAAA,KAAA,GAAoB,EAAE,CAAC;;UAI5B,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;;UAIf,IAAiB,CAAA,iBAAA,GAAG,CAAC,CAAC;OA6FvB;;EA1FQ,IAAA,YAAY,CAAC,IAAA,GAAe,IAAI,CAAC,UAAU,EAAA;UAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;OACnC;;MAEM,QAAQ,GAAA;EACb,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;UAC5B,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;cAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;EACnB,SAAA;OACF;;MAGM,YAAY,GAAA;EACjB,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;EAEhC,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;cACvB,IAAI,CAAC,UAAU,EAAE,CAAC;EACnB,SAAA;OACF;;MAGM,QAAQ,GAAA;EACb,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;UAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;cAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;EACzC,SAAA;OACF;;MAGM,SAAS,GAAA;EACd,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC7B,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;EACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;EACrB,SAAA;OACF;;MAGM,KAAK,GAAA;EACV,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACxB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;OAC1C;;EAGD,IAAA,mBAAmB,CAAC,KAAa,EAAA;;EAE/B,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,EAAE;EAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EACzB,SAAA;OACF;;MAID,uBAAuB,GAAA;EACrB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;OAC3B;;MAGD,cAAc,CAAC,KAAoB,EAAE,KAAa,EAAA;EAChD,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;EACzB,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;EACjC,SAAA;OACF;MAED,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;AAEL,QAAA,EAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,KAAI;AAC/C,YAAA,OAAOA,CAAI,CAAA,CAAA;;AAEe,kCAAA,EAAAC,GAAQ,CAAC;AAC7B,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK;AACtC,gBAAA,cAAc,EAAE,IAAI,CAAC,UAAU,GAAG,KAAK;AACvC,gBAAA,cAAc,EAAE,IAAI,CAAC,UAAU,GAAG,KAAK;aACxC,CAAC,CAAA;;6BAEa,IAAI,CAAC,UAAU,KAAK,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;8BAC3C,IAAI,CAAC,UAAU,IAAI,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AACjD,sBAAA,EAAA,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;yBACpC,CAAC,CAAgB,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;;AAEhC,0CAAA,EAAA,KAAK,GAAG,CAAC,CAAA;;wBAE7B,IAAI,CAAA;;;WAGjB,CAAC;AACJ,SAAC,CAAC,CAAA;;KAEL,CAAC;OACH;;EAzGM,WAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAK7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EACE,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI5B,UAAA,CAAA;MADCA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAC3B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIf,UAAA,CAAA;MADC,YAAY,CAAC,YAAY,CAAC;EACL,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAuDtB,UAAA,CAAA;MADC,KAAK,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAGnD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,IAAA,CAAA;;;;EC3FH,IAAIqD,IAAE,GAAG,CAAC,CAAC;EACX;;;;;;;;;;;EAWG;EACG,MAAO,OAAQ,SAAQ,WAAW,CAAA;EAAxC,IAAA,WAAA,GAAA;;;UAKmB,IAAM,CAAA,MAAA,GAAG,EAAEA,IAAE,CAAC;;EAEd,QAAA,IAAA,CAAA,WAAW,GAAG,CAAY,SAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC;;UAG5B,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAGI,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;UAGf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;OAwD9D;MAtDC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;EAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;OAClC;;EAGM,IAAA,KAAK,CAAC,OAAsB,EAAA;EACjC,QAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;OACzB;;MAGM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;OACjB;;MAGD,kBAAkB,GAAA;EAChB,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;OACpE;;MAGD,oBAAoB,GAAA;EAClB,QAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;UACrE,IAAI,IAAI,CAAC,QAAQ;EAAE,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;OACxC;MAED,MAAM,GAAA;;UAEJ,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;EAC1D,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;UACjF,MAAM,QAAQ,GAAGvD,CAAI,CAAA,CAAA;;;;;;KAMpB,CAAC;EACF,QAAA,OAAOA,CAAI,CAAA,CAAA;;oDAEqC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;;AAEzD,mBAAA,EAAAC,GAAQ,CAAC;AAChB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,CAAG,EAAA,iBAAiB,CAAE,CAAA,GAAG,iBAAiB;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;;cAEA,iBAAiB,KAAK,kBAAkB,GAAG,QAAQ,GAAGD,CAAI,CAAA,CAAe,aAAA,CAAA,CAAA;;;;KAIlF,CAAC;OACH;;EAtEM,OAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAEzB,UAAA,CAAA;MAAnBK,GAAK,CAAC,WAAW,CAAC;EAAkB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAOR,UAAA,CAAA;EAA5B,IAAAF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGI,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGf,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAkB7D,UAAA,CAAA;MADC,KAAK,CAAC,QAAQ,CAAC;EAGf,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,UAAU,CAAC;EAIjB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA;;;;ECtDH;;;;;;;;;;;;EAYG;EACG,MAAO,YAAa,SAAQ,WAAW,CAAA;EAA7C,IAAA,WAAA,GAAA;;;UAeU,IAAI,CAAA,IAAA,GAAc,EAAE,CAAC;;UAErB,IAAM,CAAA,MAAA,GAAmB,EAAE,CAAC;OAuOrC;MA/NC,iBAAiB,GAAA;EACf,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;EACjC,YAAA,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC;EACtC,YAAA,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC;EAC7C,SAAA,CAAC,CAAC;UACH,KAAK,CAAC,iBAAiB,EAAE,CAAC;EAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;cAC5C,OAAO;EACT,SAAC,CAAC,CAAC;UAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,IAAG;;cAEvD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE;kBACxF,UAAU,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;EACxC,aAAA;;EAGD,YAAA,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE;kBACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;EAC1B,aAAA;EACH,SAAC,CAAC,CAAC;EAEH,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK;cAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;cACzB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;cAC1F,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACtC,YAAA,cAAc,CAAC,IAAI,CAAC,MAAK;;kBAEvB,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAI;;sBAC1E,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,EAAE;0BACpC,IAAI,CAAC,aAAa,EAAE,CAAC;;0BAErB,IAAI,CAAC,YAAY,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;0BAC9E,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;EACvC,qBAAA;EACH,iBAAC,CAAC,CAAC;EACH,gBAAA,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC9C,aAAC,CAAC,CAAC;EACL,SAAC,CAAC,CAAC;OACJ;MAED,oBAAoB,GAAA;EAClB,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;UACnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;OACzC;;EAGM,IAAA,IAAI,CAAC,KAAa,EAAA;EACvB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;EAErD,QAAA,IAAI,GAAG,EAAE;EACP,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;EACxB,SAAA;OACF;;EAEO,IAAA,UAAU,CAAC,OAAwC,GAAA,EAAE,eAAe,EAAE,IAAI,EAAE,EAAA;UAClF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAkB,kBAAkB,CAAC,CAAC;EAEhF,QAAA,OAAO,CAAC,GAAI,IAAI,CAAC,gBAAgB,EAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAG;cAC7D,OAAO,OAAO,CAAC,eAAe;oBAC1B,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU;EACzC,kBAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;EAC9D,SAAC,CAAC,CAAC;OACJ;;MAEO,YAAY,GAAA;UAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAElG,CAAC;OACH;;MAEO,YAAY,GAAA;EAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;OACxC;;EAEO,IAAA,WAAW,CAAC,KAAiB,EAAA;EACnC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;UAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAY,CAAC;EAClD,QAAA,MAAM,QAAQ,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;;UAGhD,IAAI,QAAQ,KAAK,IAAI,EAAE;cACrB,OAAO;EACR,SAAA;UAED,IAAI,GAAG,KAAK,IAAI,EAAE;EAChB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;EACxB,SAAA;OACF;;EAEO,IAAA,aAAa,CAAC,KAAoB,EAAA;EACxC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;UAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAY,CAAC;EAClD,QAAA,MAAM,QAAQ,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;;UAGhD,IAAI,QAAQ,KAAK,IAAI,EAAE;cACrB,OAAO;EACR,SAAA;;EAGD,QAAA,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;cACtC,IAAI,GAAG,KAAK,IAAI,EAAE;EAChB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;kBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;EACxB,aAAA;EACF,SAAA;;UAGD,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;EAC1F,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;EAE1D,YAAA,IAAI,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,OAAO,CAAC,WAAW,EAAE,MAAK,UAAU,EAAE;kBAClD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EAExC,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,EAAE;sBACxB,KAAK,GAAG,CAAC,CAAC;EACX,iBAAA;EAAM,qBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;sBAC9B,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;EAC9B,iBAAA;uBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;EAC/D,oBAAA,KAAK,EAAE,CAAC;EACT,iBAAA;uBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,EAAE;EAClE,oBAAA,KAAK,EAAE,CAAC;EACT,iBAAA;kBAED,IAAI,KAAK,GAAG,CAAC,EAAE;sBACb,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;EAC9B,iBAAA;kBAED,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;sBAChC,KAAK,GAAG,CAAC,CAAC;EACX,iBAAA;EAED,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;EAEhD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC;kBAEzE,KAAK,CAAC,cAAc,EAAE,CAAC;EACxB,aAAA;EACF,SAAA;OACF;;MAEO,YAAY,CAAC,GAAY,EAAE,OAAkC,EAAA;EACnE,QAAA,OAAO,mBACL,UAAU,EAAE,IAAI,EACb,EAAA,OAAO,CACX,CAAC;UAEF,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;EAC3C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;EACnC,YAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;;cAGrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;EACzD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,QAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,MAAK,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,EAAC,EAAA,CAAC,CAAC;;cAGvE,IAAI,OAAO,CAAC,UAAU,EAAE;EACtB,gBAAA,IAAI,WAAW,EAAE;EACf,oBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EACrE,iBAAA;EAED,gBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EACxE,aAAA;EACF,SAAA;OACF;;MAEO,aAAa,GAAA;;EAEnB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;cACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;EAC5D,YAAA,IAAI,KAAK,EAAE;EACT,gBAAA,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;EAC5D,gBAAA,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;EAC/D,aAAA;EACH,SAAC,CAAC,CAAC;OACJ;;;MAIO,iBAAiB,GAAA;EACvB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;EACxD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;OACnC;MAED,MAAM,GAAA;EACJ,QAAA,OAAOF,CAAI,CAAA,CAAA;;;AAGE,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACd,iBAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AACnB,gBAAA,EAAAO,CAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;;;AAIvB,gBAAA,EAAAN,GAAQ,CAAC;AACf,YAAA,gBAAgB,EAAE,IAAI;YACtB,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;SAC1C,CAAC,CAAA;;;;;AAKQ,kBAAA,EAAAA,GAAQ,CAAC;AACf,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,GAAG,EAAE,IAAI;SACV,CAAC,CAAA;AACQ,oBAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACnB,wBAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;;;;AAK9B,gBAAA,EAAAN,GAAQ,CAAC;YACf,CAAC,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW;SAC1C,CAAC,CAAA;;AAE0C,oDAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;;KAGvE,CAAC;OACH;;EAtPM,YAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAExB,UAAA,CAAA;MAApBK,GAAK,CAAC,YAAY,CAAC;EAAuB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhB,UAAA,CAAA;MAA1BA,GAAK,CAAC,kBAAkB,CAAC;EAAuB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEvB,UAAA,CAAA;MAAzBA,GAAK,CAAC,iBAAiB,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAYG,UAAA,CAAA;MAA7CF,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;EAAmD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAErD,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEpB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;;;;ECtCjE,IAAI,EAAE,GAAG,CAAC,CAAC;EAEX;;;;;;;EAOG;EACG,MAAO,YAAa,SAAQJ,GAAU,CAAA;EAA5C,IAAA,WAAA,GAAA;;;UAGmB,IAAM,CAAA,MAAA,GAAG,EAAE,EAAE,CAAC;;EAEd,QAAA,IAAA,CAAA,WAAW,GAAG,CAAkB,eAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC;;UAElC,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;;UAGK,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;OAwB5D;MAtBC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;EAC1D,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;OACvC;MAGD,kBAAkB,GAAA;EAChB,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;OAClE;MAED,MAAM,GAAA;EACJ,QAAA,OAAOE,CAAI,CAAA,CAAA;;;AAGC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,WAAW,EAAE,IAAI;YACjB,mBAAmB,EAAE,IAAI,CAAC,MAAM;SACjC,CAAC,CAAA;;KAEL,CAAC;OACH;;EAhCM,YAAM,CAAA,MAAA,GAAGF,UAAH,CAAU;EAMM,UAAA,CAAA;EAA5B,IAAAG,GAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAW,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGK,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAgB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAS3D,UAAA,CAAA;MADC,KAAK,CAAC,QAAQ,CAAC;EAGf,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,IAAA,CAAA;;;;EC/BH;;;;;;;;;;;EAWG;EAEG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;EAGE;;EAEG;UACyC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAE5D;;EAEG;UACyC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EAE7D;;EAEG;UACyC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EAE/D;;EAEG;UACyC,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;EAY1D;;EAEG;UACyC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;EAEzD;;EAEG;UACyC,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;EAOlE;;EAEG;UACwB,IAAY,CAAA,YAAA,GAAa,EAAE,CAAC;EAEvD;;EAEG;UACwB,IAAS,CAAA,SAAA,GAA+B,EAAE,CAAC;;UAG7D,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;;UAGjC,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;;;UAKf,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;;UAGnC,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;;UAGnB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;;UAGf,IAAiB,CAAA,iBAAA,GAA+B,EAAE,CAAC;OAqJ7D;MAnJC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;UAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;OAC9C;EAED,IAAA,iBAAiB,CAAC,WAAmB,EAAA;;UACnC,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;EACnC,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;EAC9B,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;EAC9B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;EACrB,aAAA;EAED,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;EACjD,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;EAC9B,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;kBAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;sBAC5D,OAAO,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EACnF,iBAAA;EAAM,qBAAA;EACL,oBAAA,OAAO,IAAI,CAAC,OAAO,GAAI,MAAiB,GAAI,MAAiB,GAAI,MAAiB,GAAI,MAAiB,CAAC;EACzG,iBAAA;EACH,aAAC,CAAC,CAAC;;EAGH,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;kBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;kBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;EAC/C,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EACzB,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;sBACpB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9C,iBAAA;EACF,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;EAChC,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;EACrB,aAAA;;cAGD,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;cAC3D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;kBACtC,IAAI,KAAK,KAAK,WAAW,EAAE;EACzB,oBAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EACnC,iBAAA;EAAM,qBAAA;EACL,oBAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EACtC,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;OACF;EAED,IAAA,OAAO,CAAC,WAAmB,EAAA;EACzB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;EACrC,YAAA,OAAOF,CAAI,CAAA,CAAA;;;;;;;;;;;;aAYJ,CAAC;EACT,SAAA;EAAM,aAAA;cACL,OAAO,IAAI,CAAC,OAAO;oBACfA,CAAI,CAAA,CAAA;;;;;;;;;;;AAWG,gBAAA,CAAA;oBACPA,CAAI,CAAA,CAAA;;;;;;;;;;;iBAWG,CAAC;EACb,SAAA;OACF;MAED,MAAM,GAAA;EACJ,QAAA,OAAOA,CAAI,CAAA,CAAA;;AAEC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI,CAAC,UAAU,KAAK,QAAQ;AAChD,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;SAChD,CAAC,CAAA;;;;AAIoB,4BAAA,EAAAA,GAAQ,CAAC;AAC3B,YAAA,CAAC,CAAe,aAAA,CAAA,GAAG,IAAI,CAAC,OAAO;AAC/B,YAAA,CAAC,CAAgB,cAAA,CAAA,GAAG,IAAI,CAAC,QAAQ;AACjC,YAAA,CAAC,CAAkB,gBAAA,CAAA,GAAG,IAAI,CAAC,UAAU;AACrC,YAAA,CAAC,CAAa,WAAA,CAAA,GAAG,IAAI,CAAC,KAAK;YAC3B,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;YACjC,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;SACxC,CAAC,CAAA;;;;AAII,cAAA,EAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACrB,CAAC,MAAc,EAAE,KAAa,KAAKD,CAAI,CAAA,CAAA;;AAE1B,2BAAA,EAAAC,GAAQ,CAAC;YAChB,iBAAiB,EAAE,IAAI,CAAC,IAAI;AAC5B,YAAA,MAAM,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK;SACpC,CAAC,CAAA;AACO,2BAAA,EAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;;;AAG1C,oBAAA,EAAA,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;;iBAErD,CACF,CAAA;;;;cAID,IAAI,CAAC,SAAS,CAAC,GAAG,CAClB,GAAG,IAAID,CAAI,CAAA,CAAA;;AAEL,kBAAA,EAAA,GAAG,CAAC,GAAG,CAAC,CAAC,IAAY,KAAKA,CAAI,CAAA,CAAO,IAAA,EAAA,IAAI,OAAO,CAAC,CAAA;;eAEtD,CACF,CAAA;;;;KAIR,CAAC;OACH;;EA/NM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAKD,UAAA,CAAA;MAA3CG,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKhB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKnB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKf,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKb,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKf,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKb,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAuB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKvB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKjE,UAAA,CAAA;EAA1B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EAA6B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAK5B,UAAA,CAAA;EAA1B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EAA4C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG7D,UAAA,CAAA;EAAR,IAAAO,GAAK,EAAE;EAAkC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjC,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAKf,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAoC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnC,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnB,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGf,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAoD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA;;;;ECnF9D;;;;;;;EAOG;EACG,MAAO,YAAa,SAAQ,WAAW,CAAA;EAA7C,IAAA,WAAA,GAAA;;;EAKmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;;UAI5B,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;;UAMhB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;UAMV,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;UAEnC,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;;UAEM,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;UAE5B,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;UAEpB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;UAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAGjD,IAAM,CAAA,MAAA,GAAiC,UAAU,CAAC;;UAO9D,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;UAE0B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;UAGvD,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;UAEhB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;EAGf,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;OA8IjD;MA5IC,iBAAiB,GAAA;UACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;EAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;EAEzE,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK;cAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;cACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EAC7C,SAAC,CAAC,CAAC;OACJ;MAED,oBAAoB,GAAA;UAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;UAC7B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;OAC9C;;EAGM,IAAA,KAAK,CAAC,OAAsB,EAAA;EACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;OAC9B;;MAGM,cAAc,GAAA;EACnB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;OACvC;;MAEM,MAAM,GAAA;EACX,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;OACxB;EACD,IAAA,aAAa,CAAC,CAAQ,EAAA;UACpB,CAAC,CAAC,cAAc,EAAE,CAAC;EACnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;OACrB;EAED,IAAA,YAAY,CAAC,KAAa,EAAA;UACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;EACjC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OAClB;MAED,WAAW,GAAA;EACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACzB;MAED,UAAU,GAAA;EACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;OACxB;EAED,IAAA,aAAa,CAAC,KAAoB,EAAA;EAChC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;;;UAIrF,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE;cACzC,UAAU,CAAC,MAAK;EACd,gBAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;EAC3B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;EACpC,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;OACF;MAGD,gBAAgB,GAAA;UACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;MAED,iBAAiB,GAAA;EACf,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;cAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;EACpC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC;EAChE,SAAA;EAAM,aAAA;cACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAA6B,GAAG,SAAS,CAAC;EAChE,SAAA;OACF;MAGD,oBAAoB,GAAA;;UAElB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UACvC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;OAC/C;MAGD,iBAAiB,GAAA;UACf,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;UAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;EAC3C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;UACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE;EACvC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACpB,SAAA;OACF;MAED,MAAM,GAAA;;EAEJ,QAAA,MAAM,SAAS,GAAGT,GAAI,CAAA,2BAA2B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,SAAS,CAAC;EAE9F,QAAA,OAAOA,GAAI,CAAA,CAAA;;AAEM,mBAAA,EAAA,IAAI,CAAC,UAAU,CAAuB,oBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;UAC3D,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAA;;;;AAIpC,cAAA,EAAAC,GAAQ,CAAC;AACf,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;AAC9C,YAAA,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;AAC1C,YAAA,sBAAsB,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM;AAC9C,YAAA,0BAA0B,EAAE,IAAI,CAAC,MAAM,KAAK,UAAU;AACtD,YAAA,sBAAsB,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM;YAC9C,CAAC,CAAA,EAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,eAAe;SAClD,CAAC,CAAA;AACG,WAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AACb,aAAA,EAAAM,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,aAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,oBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC7B,kBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzB,kBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC5B,eAAA,EAAAC,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;uBACV,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACjC,mBAAA,EAAAD,CAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC3B,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACZ,mBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACb,oBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC7B,kBAAA,EAAAA,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC5B,eAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACtB,eAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;AACpC,gBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;mBACrC,CAAC,CAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,cAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;;;AAIvB,MAAA,EAAA,IAAI,CAAC,WAAW;cACdP,GAAI,CAAA,CAAY,SAAA,EAAA,IAAI,CAAC,UAAU,CAAsC,mCAAA,EAAA,IAAI,CAAC,eAAe,CAAQ,MAAA,CAAA;AACnG,cAAE,EAAE,CAAA;KACP,CAAC;OACH;;EAnMM,YAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAED,UAAM,CAA9B,CAAgC;EAEb,UAAA,CAAA;MAA/BK,GAAK,CAAC,uBAAuB,CAAC;EAA+B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMnB,UAAA,CAAA;MAA1CF,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEb,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA0B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEzB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEX,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAoB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEnC,UAAA,CAAA;EAA3B,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAAU,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEM,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA6B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE5B,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEpB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEjB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGjD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAmD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElD,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAyF,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAExF,UAAA,CAAA;EAAX,IAAAA,GAAQ,EAAE;EAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGhC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;EACG,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE0B,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGvD,UAAA,CAAA;EAAR,IAAAO,GAAK,EAAE;EAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEhB,UAAA,CAAA;EAAR,IAAAA,GAAK,EAAE;EAAe,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAkEvB,UAAA,CAAA;MADC,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAG7C,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;EAYD,UAAA,CAAA;MADC,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAKjD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA;EAGD,UAAA,CAAA;MADC,KAAK,CAAC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAQ9C,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;EC5JH;;;;;;;;;;;;;EAaG;EACG,MAAO,SAAU,SAAQ,WAAW,CAAA;EAA1C,IAAA,WAAA,GAAA;;;UAK8C,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;;UAEd,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;;UAEf,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;UAEpB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;UAElB,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;OAoGzD;;EAjFQ,IAAA,MAAM,SAAS,GAAA;UACpB,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,OAAO;EACR,SAAA;EAED,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;;EAGM,IAAA,MAAM,SAAS,GAAA;EACpB,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;cACd,OAAO;EACR,SAAA;EACD,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EAClB,QAAA,OAAO,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;OAC9C;;MAGD,gBAAgB,GAAA;EACd,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EAClB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACzB;;MAGK,MAAA,gBAAgB,GAAA;UACpB,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;cAE/B,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;cACxD,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;EAErG,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;cACvB,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;cAExD,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;EACrG,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;cAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EAChC,SAAA;OACF;MACS,YAAY,GAAA;UACpB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;OAChC;MAED,MAAM,GAAA;EACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;cAC9B,UAAU,CAAC,MAAK;EACd,gBAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;EACpB,aAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;EAChB,SAAA;EACD,QAAA,OAAOT,GAAI,CAAA,CAAA;;AAEkB,+BAAA,EAAAC,GAAQ,CAAC;YAChC,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;YACpC,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE;YAC1B,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM;YAClC,CAAC,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY;SAC5C,CAAC,CAAA;;sBAEY,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;;;;;;AAMd,kCAAA,EAAA,IAAI,CAAC,KAAK,CAAA;;;;;AAKzB,mBAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;;;;;KAMrC,CAAC;OACH;;EA/GM,SAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAA9B,CAAgC;EAEzB,UAAA,CAAA;MAAnBK,GAAK,CAAC,WAAW,CAAC;EAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEK,UAAA,CAAA;MAA3CF,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEd,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEf,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAqB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEpB,UAAA,CAAA;MAA3CA,GAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAElB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEb,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAuB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAEtB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAsB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAErB,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAQ9B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAE+B,UAAA,CAAA;MAA1CA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAA0C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EA4B9E,UAAA,CAAA;MADL,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;EAkB7C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;EA6CH,mBAAmB,CAAC,YAAY,EAAE;EAChC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;MAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC,CAAC;EACH,mBAAmB,CAAC,YAAY,EAAE;EAChC,IAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;MAC3C,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;EAC3C,CAAA,CAAC;;;;EChJF;;;;;;EAMG;EACG,MAAO,kBAAmB,SAAQ,WAAW,CAAA;MAMjD,MAAM,GAAA;EACJ,QAAA,MAAM,2BAA2B,GAAG,CAAC,QAAuB,KAAI;EAC9D,YAAA,IAAI,CAAC,QAAQ;EAAE,gBAAA,OAAO,EAAE,CAAC;EACzB,YAAA,MAAM,mBAAmB,GAAG;EAC1B,gBAAA,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG;EAC7B,gBAAA,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK;EAC/B,gBAAA,eAAe,CAAC,QAAQ,CAAC,CAAC,SAAS;EACpC,aAAA;mBACE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;EAC9B,iBAAA,GAAG,CAAC,cAAc,KAAK,EAAE,CAAC,CAAG,EAAA,cAAc,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;cAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,mBAAmB,CAAC,CAAC;EACnD,SAAC,CAAC;EACF,QAAA,OAAOF,GAAI,CAAA,CAAA;;gBAECC,GAAQ,CACd,SAAS,CACP;AACE,YAAA,sBAAsB,EAAE,IAAI;AAC5B,YAAA,CAAC,CAAmB,iBAAA,CAAA,GAAG,IAAI,CAAC,QAAQ;AACrC,SAAA,EACD,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3C,CACF,CAAA;;;;KAIJ,CAAC;OACH;;EAhCM,kBAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEF,UAAM,CAAC,CAAC;EAGF,UAAA,CAAA;MAA1CG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;EAAyB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAgCrE,MAAM,eAAe,GAAG;EACtB,IAAA,WAAW,EAAE;EACX,QAAA,GAAG,EAAE,OAAO;EACZ,QAAA,KAAK,EAAE,UAAU;EACjB,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA,YAAY,EAAE;EACZ,QAAA,GAAG,EAAE,OAAO;EACZ,QAAA,KAAK,EAAE,UAAU;EACjB,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;EAC5D,IAAA,cAAc,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE;EACpF,IAAA,eAAe,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE;EACpF,IAAA,YAAY,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;EAChF,IAAA,cAAc,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;EACtE,IAAA,eAAe,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE;EACxF,IAAA,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;GACnE;;ECnED;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA,MAAM,sBAAsB,GAAG,iBAAgB;AAC/C;EACO,MAAM,gBAAgB,GAAG;EAChC;EACA,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,CAAC;EACrE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;EACvC,EAAE,IAAI,EAAE,EAAE;EACV,EAAE,CAAC,EAAE,EAAE;EACP,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,GAAG,EAAE,EAAE;EACT,EAAE,IAAI,EAAE,EAAE;EACV,EAAE,GAAG,EAAE,EAAE;EACT,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,CAAC,EAAE,EAAE;EACP,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;EAC3D,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,EAAE,EAAE,EAAE;EACR,EAAE,CAAC,EAAE,EAAE;EACP,EAAE,GAAG,EAAE,EAAE;EACT,EAAE,CAAC,EAAE,EAAE;EACP,EAAE,KAAK,EAAE,EAAE;EACX,EAAE,IAAI,EAAE,EAAE;EACV,EAAE,GAAG,EAAE,EAAE;EACT,EAAE,GAAG,EAAE,EAAE;EACT,EAAE,MAAM,EAAE,EAAE;EACZ,EAAE,CAAC,EAAE,EAAE;EACP,EAAE,EAAE,EAAE,EAAE;EACR,EAAC;EACD;AACA;EACA,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;EAC9B,EAAE,YAAY;EACd,EAAE,MAAM;EACR,EAAE,MAAM;EACR,EAAE,UAAU;EACZ,EAAE,UAAU;EACZ,EAAE,QAAQ;EACV,EAAE,KAAK;EACP,EAAE,YAAY;EACd,CAAC,EAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM,gBAAgB,GAAG,0DAAyD;AAClF;EACA,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,oBAAoB,KAAK;EAC9D,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,GAAE;AACxD;EACA,EAAE,IAAI,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;EACpD,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;EAC1C,MAAM,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;EAChE,KAAK;AACL;EACA,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,OAAO,oBAAoB,CAAC,MAAM,CAAC,cAAc,IAAI,cAAc,YAAY,MAAM,CAAC;EACxF,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EAC7C,EAAC;AACD;EACO,SAAS,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE;EACtE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;EAC1B,IAAI,OAAO,UAAU;EACrB,GAAG;AACH;EACA,EAAE,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,UAAU,EAAE;EAClE,IAAI,OAAO,gBAAgB,CAAC,UAAU,CAAC;EACvC,GAAG;AACH;EACA,EAAE,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,SAAS,GAAE;EAC1C,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAC;EAC5E,EAAE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC;AAC3E;EACA,EAAE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;EAClC,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAE;AACtD;EACA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;EACvD,MAAM,OAAO,CAAC,MAAM,GAAE;EACtB,MAAM,QAAQ;EACd,KAAK;AACL;EACA,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAC;EAC1D,IAAI,MAAM,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,EAAC;AAC3F;EACA,IAAI,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE;EAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE;EAC3D,QAAQ,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAC;EACnD,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC,SAAS;EACvC;;ECjHA;EACA;EACA;EACA;EACA;EACA;AAMA;EACA;EACA;EACA;AACA;EACA,MAAM+B,MAAI,GAAG,kBAAiB;AAC9B;EACA,MAAMW,SAAO,GAAG;EAChB,EAAE,SAAS,EAAE,gBAAgB;EAC7B,EAAE,OAAO,EAAE,EAAE;EACb,EAAE,UAAU,EAAE,EAAE;EAChB,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,QAAQ,EAAE,IAAI;EAChB,EAAE,UAAU,EAAE,IAAI;EAClB,EAAE,QAAQ,EAAE,aAAa;EACzB,EAAC;AACD;EACA,MAAMC,aAAW,GAAG;EACpB,EAAE,SAAS,EAAE,QAAQ;EACrB,EAAE,OAAO,EAAE,QAAQ;EACnB,EAAE,UAAU,EAAE,mBAAmB;EACjC,EAAE,IAAI,EAAE,SAAS;EACjB,EAAE,QAAQ,EAAE,SAAS;EACrB,EAAE,UAAU,EAAE,iBAAiB;EAC/B,EAAE,QAAQ,EAAE,QAAQ;EACpB,EAAC;AACD;EACA,MAAM,kBAAkB,GAAG;EAC3B,EAAE,KAAK,EAAE,gCAAgC;EACzC,EAAE,QAAQ,EAAE,kBAAkB;EAC9B,EAAC;AACD;EACA;EACA;EACA;AACA;EACA,MAAM,eAAe,SAAS,MAAM,CAAC;EACrC,EAAE,WAAW,CAAC,MAAM,EAAE;EACtB,IAAI,KAAK,GAAE;EACX,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAC;EAC1C,GAAG;AACH;EACA;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAOD,SAAO;EAClB,GAAG;AACH;EACA,EAAE,WAAW,WAAW,GAAG;EAC3B,IAAI,OAAOC,aAAW;EACtB,GAAG;AACH;EACA,EAAE,WAAW,IAAI,GAAG;EACpB,IAAI,OAAOZ,MAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,UAAU,GAAG;EACf,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;EAC9C,OAAO,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;EAC3D,OAAO,MAAM,CAAC,OAAO,CAAC;EACtB,GAAG;AACH;EACA,EAAE,UAAU,GAAG;EACf,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC;EACvC,GAAG;AACH;EACA,EAAE,aAAa,CAAC,OAAO,EAAE;EACzB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAC;EAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,GAAE;EAClE,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAC;EACzD,IAAI,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC;AAC1E;EACA,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EACzE,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAC;EACvD,KAAK;AACL;EACA,IAAI,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAC;EAChD,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAC;AAC7E;EACA,IAAI,IAAI,UAAU,EAAE;EACpB,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC;EACtD,KAAK;AACL;EACA,IAAI,OAAO,QAAQ;EACnB,GAAG;AACH;EACA;EACA,EAAE,gBAAgB,CAAC,MAAM,EAAE;EAC3B,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAC;EAClC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAC;EACtC,GAAG;AACH;EACA,EAAE,aAAa,CAAC,GAAG,EAAE;EACrB,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EAC3D,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAC;EAC9E,KAAK;EACL,GAAG;AACH;EACA,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;EAC3C,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAC;AACtE;EACA,IAAI,IAAI,CAAC,eAAe,EAAE;EAC1B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAC;AACpD;EACA,IAAI,IAAI,CAAC,OAAO,EAAE;EAClB,MAAM,eAAe,CAAC,MAAM,GAAE;EAC9B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;EAC5B,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,eAAe,EAAC;EACtE,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;EAC3B,MAAM,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAC;EAC9D,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,eAAe,CAAC,WAAW,GAAG,QAAO;EACzC,GAAG;AACH;EACA,EAAE,cAAc,CAAC,GAAG,EAAE;EACtB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG;EAC3G,GAAG;AACH;EACA,EAAE,wBAAwB,CAAC,GAAG,EAAE;EAChC,IAAI,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;EAC/B,GAAG;AACH;EACA,EAAE,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE;EAClD,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;EAC3B,MAAM,eAAe,CAAC,SAAS,GAAG,GAAE;EACpC,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,EAAC;EACrC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,YAAW;EACrD,GAAG;EACH;;EC7JA;EACA;EACA;EACA;EACA;EACA;AASA;EACA;EACA;EACA;AACA;EACA,MAAM,IAAI,GAAG,UAAS;EACtB,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,EAAC;AAC9E;EACA,MAAM,eAAe,GAAG,OAAM;EAC9B,MAAM,gBAAgB,GAAG,QAAO;EAChC,MAAM,eAAe,GAAG,OAAM;AAC9B;EACA,MAAM,sBAAsB,GAAG,iBAAgB;EAC/C,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,EAAC;AAC7C;EACA,MAAM,gBAAgB,GAAG,gBAAe;AACxC;EACA,MAAM,aAAa,GAAG,QAAO;EAC7B,MAAM,aAAa,GAAG,QAAO;EAC7B,MAAM,aAAa,GAAG,QAAO;EAC7B,MAAM,cAAc,GAAG,SAAQ;AAC/B;EACA,MAAM,UAAU,GAAG,OAAM;EACzB,MAAM,YAAY,GAAG,SAAQ;EAC7B,MAAM,UAAU,GAAG,OAAM;EACzB,MAAM,WAAW,GAAG,QAAO;EAC3B,MAAM,cAAc,GAAG,WAAU;EACjC,MAAM,WAAW,GAAG,QAAO;EAC3B,MAAM,aAAa,GAAG,UAAS;EAC/B,MAAM,cAAc,GAAG,WAAU;EACjC,MAAM,gBAAgB,GAAG,aAAY;EACrC,MAAM,gBAAgB,GAAG,aAAY;AACrC;EACA,MAAM,aAAa,GAAG;EACtB,EAAE,IAAI,EAAE,MAAM;EACd,EAAE,GAAG,EAAE,KAAK;EACZ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,OAAO;EACnC,EAAE,MAAM,EAAE,QAAQ;EAClB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,MAAM;EAClC,EAAC;AACD;EACA,MAAM,OAAO,GAAG;EAChB,EAAE,SAAS,EAAE,gBAAgB;EAC7B,EAAE,SAAS,EAAE,IAAI;EACjB,EAAE,QAAQ,EAAE,iBAAiB;EAC7B,EAAE,SAAS,EAAE,KAAK;EAClB,EAAE,WAAW,EAAE,EAAE;EACjB,EAAE,KAAK,EAAE,CAAC;EACV,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;EACxD,EAAE,IAAI,EAAE,KAAK;EACb,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChB,EAAE,SAAS,EAAE,KAAK;EAClB,EAAE,YAAY,EAAE,IAAI;EACpB,EAAE,QAAQ,EAAE,IAAI;EAChB,EAAE,UAAU,EAAE,IAAI;EAClB,EAAE,QAAQ,EAAE,KAAK;EACjB,EAAE,QAAQ,EAAE,sCAAsC;EAClD,YAAY,mCAAmC;EAC/C,YAAY,mCAAmC;EAC/C,YAAY,QAAQ;EACpB,EAAE,KAAK,EAAE,EAAE;EACX,EAAE,OAAO,EAAE,aAAa;EACxB,EAAC;AACD;EACA,MAAM,WAAW,GAAG;EACpB,EAAE,SAAS,EAAE,QAAQ;EACrB,EAAE,SAAS,EAAE,SAAS;EACtB,EAAE,QAAQ,EAAE,kBAAkB;EAC9B,EAAE,SAAS,EAAE,0BAA0B;EACvC,EAAE,WAAW,EAAE,mBAAmB;EAClC,EAAE,KAAK,EAAE,iBAAiB;EAC1B,EAAE,kBAAkB,EAAE,OAAO;EAC7B,EAAE,IAAI,EAAE,SAAS;EACjB,EAAE,MAAM,EAAE,yBAAyB;EACnC,EAAE,SAAS,EAAE,mBAAmB;EAChC,EAAE,YAAY,EAAE,wBAAwB;EACxC,EAAE,QAAQ,EAAE,SAAS;EACrB,EAAE,UAAU,EAAE,iBAAiB;EAC/B,EAAE,QAAQ,EAAE,kBAAkB;EAC9B,EAAE,QAAQ,EAAE,QAAQ;EACpB,EAAE,KAAK,EAAE,2BAA2B;EACpC,EAAE,OAAO,EAAE,QAAQ;EACnB,EAAC;AACD;EACA;EACA;EACA;AACA;EACA,MAAM,OAAO,SAAS,aAAa,CAAC;EACpC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;EACvC,MAAM,MAAM,IAAI,SAAS,CAAC,8DAA8D,CAAC;EACzF,KAAK;AACL;EACA,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAC;AAC1B;EACA;EACA,IAAI,IAAI,CAAC,UAAU,GAAG,KAAI;EAC1B,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAC;EACrB,IAAI,IAAI,CAAC,UAAU,GAAG,KAAI;EAC1B,IAAI,IAAI,CAAC,cAAc,GAAG,GAAE;EAC5B,IAAI,IAAI,CAAC,OAAO,GAAG,KAAI;EACvB,IAAI,IAAI,CAAC,gBAAgB,GAAG,KAAI;EAChC,IAAI,IAAI,CAAC,WAAW,GAAG,KAAI;AAC3B;EACA;EACA,IAAI,IAAI,CAAC,GAAG,GAAG,KAAI;AACnB;EACA,IAAI,IAAI,CAAC,aAAa,GAAE;AACxB;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;EAChC,MAAM,IAAI,CAAC,SAAS,GAAE;EACtB,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,WAAW,OAAO,GAAG;EACvB,IAAI,OAAO,OAAO;EAClB,GAAG;AACH;EACA,EAAE,WAAW,WAAW,GAAG;EAC3B,IAAI,OAAO,WAAW;EACtB,GAAG;AACH;EACA,EAAE,WAAW,IAAI,GAAG;EACpB,IAAI,OAAO,IAAI;EACf,GAAG;AACH;EACA;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,UAAU,GAAG,KAAI;EAC1B,GAAG;AACH;EACA,EAAE,OAAO,GAAG;EACZ,IAAI,IAAI,CAAC,UAAU,GAAG,MAAK;EAC3B,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,WAAU;EACtC,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;EAC1B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAK;EAC1D,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;EACzB,MAAM,IAAI,CAAC,MAAM,GAAE;EACnB,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,MAAM,GAAE;EACjB,GAAG;AACH;EACA,EAAE,OAAO,GAAG;EACZ,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAC;AAC/B;EACA,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAC;AACrG;EACA,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE;EAC9D,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAC;EAC/F,KAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,GAAE;EACzB,IAAI,KAAK,CAAC,OAAO,GAAE;EACnB,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;EAChD,MAAM,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;EAC5D,KAAK;AACL;EACA,IAAI,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;EACrD,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC;EACjG,IAAI,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAC;EACpD,IAAI,MAAM,UAAU,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAC;AAC1G;EACA,IAAI,IAAI,SAAS,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;EACnD,MAAM,MAAM;EACZ,KAAK;AACL;EACA;EACA,IAAI,IAAI,CAAC,cAAc,GAAE;AACzB;EACA,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,GAAE;AACrC;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC;AAC1E;EACA,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAO;AACtC;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;EACzE,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,EAAC;EAC3B,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,EAAC;EACrF,KAAK;AACL;EACA,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAC;AAC1C;EACA,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAC;AACtC;EACA;EACA;EACA;EACA;EACA,IAAI,IAAI,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE;EACpD,MAAM,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EAClE,QAAQ,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC;EACnD,OAAO;EACP,KAAK;AACL;EACA,IAAI,MAAM,QAAQ,GAAG,MAAM;EAC3B,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAC;AAClF;EACA,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;EACrC,QAAQ,IAAI,CAAC,MAAM,GAAE;EACrB,OAAO;AACP;EACA,MAAM,IAAI,CAAC,UAAU,GAAG,MAAK;EAC7B,MAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;EAC/D,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;EAC1B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC;EACjG,IAAI,IAAI,SAAS,CAAC,gBAAgB,EAAE;EACpC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,GAAE;EACrC,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAC;AACzC;EACA;EACA;EACA,IAAI,IAAI,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE;EACpD,MAAM,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EAClE,QAAQ,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC;EACpD,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,MAAK;EAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,MAAK;EAC9C,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,MAAK;EAC9C,IAAI,IAAI,CAAC,UAAU,GAAG,KAAI;AAC1B;EACA,IAAI,MAAM,QAAQ,GAAG,MAAM;EAC3B,MAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;EACvC,QAAQ,MAAM;EACd,OAAO;AACP;EACA,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;EAC5B,QAAQ,IAAI,CAAC,cAAc,GAAE;EAC7B,OAAO;AACP;EACA,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAC;EACvD,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,EAAC;EACnF,MAAK;AACL;EACA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,EAAC;EAC/D,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,GAAE;EAC3B,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,cAAc,GAAG;EACnB,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;EACpC,GAAG;AACH;EACA,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;EACnB,MAAM,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAC;EAC1F,KAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC,GAAG;EACnB,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,OAAO,EAAE;EAC7B,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,GAAE;AAC1D;EACA;EACA,IAAI,IAAI,CAAC,GAAG,EAAE;EACd,MAAM,OAAO,IAAI;EACjB,KAAK;AACL;EACA,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,EAAC;EAC1D;EACA,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC;AACzD;EACA,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAE;AAC1D;EACA,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAC;AACjC;EACA,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;EAC5B,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAC;EACxC,KAAK;AACL;EACA,IAAI,OAAO,GAAG;EACd,GAAG;AACH;EACA,EAAE,UAAU,CAAC,OAAO,EAAE;EACtB,IAAI,IAAI,CAAC,WAAW,GAAG,QAAO;EAC9B,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;EACzB,MAAM,IAAI,CAAC,cAAc,GAAE;EAC3B,MAAM,IAAI,CAAC,IAAI,GAAE;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,mBAAmB,CAAC,OAAO,EAAE;EAC/B,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;EAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAC;EAClD,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC;EAClD,QAAQ,GAAG,IAAI,CAAC,OAAO;EACvB;EACA;EACA,QAAQ,OAAO;EACf,QAAQ,UAAU,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;EAC3E,OAAO,EAAC;EACR,KAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC,gBAAgB;EAChC,GAAG;AACH;EACA,EAAE,sBAAsB,GAAG;EAC3B,IAAI,OAAO;EACX,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE;EAChD,KAAK;EACL,GAAG;AACH;EACA,EAAE,SAAS,GAAG;EACd,IAAI,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC;EACpH,GAAG;AACH;EACA;EACA,EAAE,4BAA4B,CAAC,KAAK,EAAE;EACtC,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAChG,GAAG;AACH;EACA,EAAE,WAAW,GAAG;EAChB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;EAC/F,GAAG;AACH;EACA,EAAE,QAAQ,GAAG;EACb,IAAI,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;EACnE,GAAG;AACH;EACA,EAAE,aAAa,CAAC,GAAG,EAAE;EACrB,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAC;EACjF,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC;EAC7D,IAAI,OAAOa,YAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;EACrF,GAAG;AACH;EACA,EAAE,UAAU,GAAG;EACf,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAO;AACnC;EACA,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EACpC,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;EACvE,KAAK;AACL;EACA,IAAI,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;EACtC,MAAM,OAAO,UAAU,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;EAC5D,KAAK;AACL;EACA,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,wBAAwB,CAAC,GAAG,EAAE;EAChC,IAAI,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACxC,GAAG;AACH;EACA,EAAE,gBAAgB,CAAC,UAAU,EAAE;EAC/B,IAAI,MAAM,qBAAqB,GAAG;EAClC,MAAM,SAAS,EAAE,UAAU;EAC3B,MAAM,SAAS,EAAE;EACjB,QAAQ;EACR,UAAU,IAAI,EAAE,MAAM;EACtB,UAAU,OAAO,EAAE;EACnB,YAAY,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;EAC/D,WAAW;EACX,SAAS;EACT,QAAQ;EACR,UAAU,IAAI,EAAE,QAAQ;EACxB,UAAU,OAAO,EAAE;EACnB,YAAY,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;EACrC,WAAW;EACX,SAAS;EACT,QAAQ;EACR,UAAU,IAAI,EAAE,iBAAiB;EACjC,UAAU,OAAO,EAAE;EACnB,YAAY,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;EAC3C,WAAW;EACX,SAAS;EACT,QAAQ;EACR,UAAU,IAAI,EAAE,OAAO;EACvB,UAAU,OAAO,EAAE;EACnB,YAAY,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;EACtD,WAAW;EACX,SAAS;EACT,QAAQ;EACR,UAAU,IAAI,EAAE,iBAAiB;EACjC,UAAU,OAAO,EAAE,IAAI;EACvB,UAAU,KAAK,EAAE,YAAY;EAC7B,UAAU,EAAE,EAAE,IAAI,IAAI;EACtB;EACA;EACA,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAC;EAC7F,WAAW;EACX,SAAS;EACT,OAAO;EACP,MAAK;AACL;EACA,IAAI,OAAO;EACX,MAAM,GAAG,qBAAqB;EAC9B,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,qBAAqB,CAAC,CAAC;EACpE,KAAK;EACL,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAC;AACpD;EACA,IAAI,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;EACpC,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE;EAC/B,QAAQ,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI;EAChH,UAAU,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAC;EAClE,UAAU,OAAO,CAAC,MAAM,GAAE;EAC1B,SAAS,EAAC;EACV,OAAO,MAAM,IAAI,OAAO,KAAK,cAAc,EAAE;EAC7C,QAAQ,MAAM,OAAO,GAAG,OAAO,KAAK,aAAa;EACjD,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;EACtD,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,EAAC;EACnD,QAAQ,MAAM,QAAQ,GAAG,OAAO,KAAK,aAAa;EAClD,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;EACtD,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,EAAC;AACpD;EACA,QAAQ,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI;EAChF,UAAU,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAC;EAClE,UAAU,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG,KAAI;EACjG,UAAU,OAAO,CAAC,MAAM,GAAE;EAC1B,SAAS,EAAC;EACV,QAAQ,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI;EACjF,UAAU,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAC;EAClE,UAAU,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;EAC3F,YAAY,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAC;AAC1D;EACA,UAAU,OAAO,CAAC,MAAM,GAAE;EAC1B,SAAS,EAAC;EACV,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,iBAAiB,GAAG,MAAM;EACnC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;EACzB,QAAQ,IAAI,CAAC,IAAI,GAAE;EACnB,OAAO;EACP,MAAK;AACL;EACA,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAC;EACpG,GAAG;AACH;EACA,EAAE,SAAS,GAAG;EACd,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAC;AACrD;EACA,IAAI,IAAI,CAAC,KAAK,EAAE;EAChB,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;EACxF,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,EAAC;EACrD,KAAK;AACL;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,KAAK,EAAC;EAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAC;EAC1C,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;EAC5C,MAAM,IAAI,CAAC,UAAU,GAAG,KAAI;EAC5B,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,UAAU,GAAG,KAAI;AAC1B;EACA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;EAC3B,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;EAC3B,QAAQ,IAAI,CAAC,IAAI,GAAE;EACnB,OAAO;EACP,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC;EAC/B,GAAG;AACH;EACA,EAAE,MAAM,GAAG;EACX,IAAI,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;EACrC,MAAM,MAAM;EACZ,KAAK;AACL;EACA,IAAI,IAAI,CAAC,UAAU,GAAG,MAAK;AAC3B;EACA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;EAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;EAC5B,QAAQ,IAAI,CAAC,IAAI,GAAE;EACnB,OAAO;EACP,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAC;EAC/B,GAAG;AACH;EACA,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE;EAChC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAC;EAC/B,IAAI,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAC;EAChD,GAAG;AACH;EACA,EAAE,oBAAoB,GAAG;EACzB,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;EAC5D,GAAG;AACH;EACA,EAAE,UAAU,CAAC,MAAM,EAAE;EACrB,IAAI,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAC;AACvE;EACA,IAAI,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;EAC7D,MAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;EACpD,QAAQ,OAAO,cAAc,CAAC,aAAa,EAAC;EAC5C,OAAO;EACP,KAAK;AACL;EACA,IAAI,MAAM,GAAG;EACb,MAAM,GAAG,cAAc;EACvB,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;EAC7D,MAAK;EACL,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAC;EACzC,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;EAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAC;EACjC,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,MAAM,EAAE;EAC5B,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,EAAC;AAChG;EACA,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;EAC1C,MAAM,MAAM,CAAC,KAAK,GAAG;EACrB,QAAQ,IAAI,EAAE,MAAM,CAAC,KAAK;EAC1B,QAAQ,IAAI,EAAE,MAAM,CAAC,KAAK;EAC1B,QAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;EAC1C,MAAM,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAE;EAC5C,KAAK;AACL;EACA,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;EAC5C,MAAM,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAE;EAChD,KAAK;AACL;EACA,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,kBAAkB,GAAG;EACvB,IAAI,MAAM,MAAM,GAAG,GAAE;AACrB;EACA,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;EAC7D,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;EACnD,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAK;EAC3B,OAAO;EACP,KAAK;AACL;EACA,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAK;EAC3B,IAAI,MAAM,CAAC,OAAO,GAAG,SAAQ;AAC7B;EACA;EACA;EACA;EACA,IAAI,OAAO,MAAM;EACjB,GAAG;AACH;EACA,EAAE,cAAc,GAAG;EACnB,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;EACtB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAE;EAC5B,MAAM,IAAI,CAAC,OAAO,GAAG,KAAI;EACzB,KAAK;AACL;EACA,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;EAClB,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,GAAE;EACvB,MAAM,IAAI,CAAC,GAAG,GAAG,KAAI;EACrB,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,OAAO,eAAe,CAAC,MAAM,EAAE;EACjC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY;EACjC,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAC;AAC5D;EACA,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;EACtC,QAAQ,MAAM;EACd,OAAO;AACP;EACA,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;EAC/C,QAAQ,MAAM,IAAI,SAAS,CAAC,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1D,OAAO;AACP;EACA,MAAM,IAAI,CAAC,MAAM,CAAC,GAAE;EACpB,KAAK,CAAC;EACN,GAAG;EACH,CAAC;AACD;EACA;EACA;EACA;AACA;EACA,kBAAkB,CAAC,OAAO;;;;EC1mB1B;;;;;EAKG;EACG,MAAO,WAAY,SAAQ,WAAW,CAAA;EAA5C,IAAA,WAAA,GAAA;;;UAGE,IAAS,CAAA,SAAA,GAAqBpC,GAAS,EAAE,CAAC;;UAE1C,IAAS,CAAA,SAAA,GAAc,IAAI,CAAC;;UAI5B,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;;UAGb,IAAS,CAAA,SAAA,GAAwC,KAAK,CAAC;;UAGvD,IAAO,CAAA,OAAA,GAAgD,aAAa,CAAC;OAkGtE;MArFS,iBAAiB,GAAA;;UAEvB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;OAC9F;EACD,IAAA,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAA;UAC/C,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;UACzD,IAAI,IAAI,CAAC,UAAU,EAAE;EACnB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;cACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;EAC1B,SAAA;OACF;MACO,iBAAiB,GAAA;;;;;;;;EAOvB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;cAC5B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;cACvD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;cAC/C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;cAC9C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;cACnD,MAAM,QAAQ,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;EACrE,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;EACpC,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;EAC1C,YAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;EAC/B,YAAA,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;EAC7C,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;cAC7C,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;cACtE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;EAC3F,SAAA;UACD,IAAI,CAAC,aAAa,GAAG;EACnB,YAAA,YAAY,EAAE,CAAC,aAAuC,KAAI;EACxD,gBAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;EAClC,gBAAA,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;kBACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAG;EAC9C,oBAAA,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;EACvB,wBAAA,GAAG,CAAC,OAAO,CAAC,kBAAkB,GAAG,EAAE,CAAC;EACrC,qBAAA;EACD,oBAAA,OAAO,GAAG,CAAC;EACb,iBAAC,CAAC,CAAC;EACH,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC;kBAC3C,OAAO,IAAI,CAAC,YAAY,CAAC;eAC1B;cACD,SAAS,EAAE,IAAI,CAAC,SAAS;cACzB,OAAO,EAAE,IAAI,CAAC,OAAO;EACrB,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO;EACvE,YAAA,IAAI,EAAE,IAAI;EACV,YAAA,QAAQ,EAAE,KAAK;cACf,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;WAClB,CAAC;EAChC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;OACxE;MACD,YAAY,GAAA;UACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;UACzB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAK;EAC5D,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACzB,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAK;EAC7D,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC/B,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,MAAK;EAC5D,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACzB,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAK;EAC9D,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC/B,SAAC,CAAC,CAAC;OACJ;;MAEM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;OACvB;;MAEM,IAAI,GAAA;EACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;OACvB;MAED,MAAM,GAAA;EACJ,QAAA,OAAOV,CAAI,CAAA,CAAA;AACF,WAAA,EAAAW,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACJ,0BAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;;KAE7C,CAAC;OACH;;EA/GM,WAAM,CAAA,MAAA,GAAG,CAAC,WAAW,CAAC,MAAM,EAAEZ,QAAM,CAA9B,CAAgC;EAQ7C,UAAA,CAAA;EADC,IAAAG,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACd,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGb,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAC4B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGvD,UAAA,CAAA;EADC,IAAAA,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EAC0C,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAK7D,UAAA,CAAA;EADP,IAAAO,GAAK,EAAE;EACsC,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGtC,UAAA,CAAA;EADP,IAAAA,GAAK,EAAE;EAC0C,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAG1C,UAAA,CAAA;EADP,IAAA6C,GAAqB,EAAE;EAC0B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.umd.js","sources":["../../node_modules/tslib/tslib.es6.mjs","../../node_modules/@lit/reactive-element/css-tag.js","../../node_modules/@lit/reactive-element/reactive-element.js","../../node_modules/lit/node_modules/lit-html/lit-html.js","../../node_modules/lit-element/node_modules/lit-html/lit-html.js","../../node_modules/lit-element/lit-element.js","../../node_modules/@lit/reactive-element/decorators/property.js","../../node_modules/@lit/reactive-element/decorators/state.js","../../node_modules/@lit/reactive-element/decorators/base.js","../../node_modules/@lit/reactive-element/decorators/query.js","../../node_modules/@lit/reactive-element/decorators/query-async.js","../../node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js","../../node_modules/lit/node_modules/lit-html/directive.js","../../node_modules/lit/node_modules/lit-html/directives/class-map.js","../../node_modules/lit-element/index.js","../../src/base/sgds-element.ts","../../src/components/Accordion/sgds-accordion.ts","../../src/utils/animate.ts","../../src/utils/animation-registry.ts","../../src/utils/event.ts","../../src/utils/watch.ts","../../src/components/Accordion/sgds-accordion-item.ts","../../node_modules/@open-wc/dedupe-mixin/src/dedupeMixin.js","../../node_modules/@open-wc/scoped-elements/src/ScopedElementsMixin.js","../../node_modules/lit/node_modules/lit-html/directive-helpers.js","../../node_modules/lit/node_modules/lit-html/directives/live.js","../../node_modules/lit/node_modules/lit-html/async-directive.js","../../node_modules/lit/node_modules/lit-html/directives/ref.js","../../node_modules/lit/node_modules/lit-html/static.js","../../src/base/card-element.ts","../../src/utils/generateId.ts","../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../../src/utils/defaultvalue.ts","../../src/utils/form.ts","../../src/components/Checkbox/sgds-checkbox.ts","../../src/components/Radio/sgds-radio.ts","../../src/components/ActionCard/sgds-action-card.ts","../../src/components/Alert/sgds-alert.ts","../../src/components/Alert/sgds-alert-heading.ts","../../src/components/Alert/sgds-alert-link.ts","../../src/components/Badge/sgds-badge.ts","../../src/components/Breadcrumb/sgds-breadcrumb.ts","../../src/components/Breadcrumb/sgds-breadcrumb-item.ts","../../src/components/Button/sgds-button.ts","../../src/components/Card/sgds-card.ts","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../node_modules/bootstrap/js/src/dom/data.js","../../node_modules/bootstrap/js/src/util/index.js","../../node_modules/bootstrap/js/src/dom/event-handler.js","../../node_modules/bootstrap/js/src/dom/manipulator.js","../../node_modules/bootstrap/js/src/util/config.js","../../node_modules/bootstrap/js/src/base-component.js","../../node_modules/bootstrap/js/src/dom/selector-engine.js","../../node_modules/bootstrap/js/src/dropdown.js","../../src/utils/object.ts","../../src/utils/mergeDeep.ts","../../src/base/dropdown-element.ts","../../node_modules/lit/node_modules/lit-html/directives/unsafe-html.js","../../node_modules/lit/node_modules/lit-html/directives/unsafe-svg.js","../../src/components/Input/sgds-input.ts","../../src/base/dropdown-list-element.ts","../../src/components/ComboBox/sgds-combo-box.ts","../../node_modules/lit/node_modules/lit-html/directives/style-map.js","../../src/components/Datepicker/datepicker-calendar.ts","../../src/components/Datepicker/datepicker-header.ts","../../src/components/Datepicker/sgds-datepicker.ts","../../src/utils/scroll.ts","../../src/utils/slot.ts","../../src/components/Drawer/sgds-drawer.ts","../../src/components/Dropdown/sgds-dropdown.ts","../../src/base/link-element.ts","../../src/components/Dropdown/sgds-dropdown-item.ts","../../src/components/FileUpload/sgds-file-upload.ts","../../src/components/Footer/sgds-footer.ts","../../node_modules/bootstrap/js/src/collapse.js","../../src/utils/breakpoints.ts","../../src/components/Mainnav/sgds-mainnav.ts","../../src/components/Mainnav/sgds-mainnav-dropdown.ts","../../src/components/Mainnav/sgds-mainnav-item.ts","../../src/components/Masthead/sgds-masthead.ts","../../src/utils/tabbable.ts","../../src/utils/modal.ts","../../src/components/Modal/sgds-modal.ts","../../src/components/Pagination/sgds-pagination.ts","../../src/components/QuantityToggle/sgds-quantity-toggle.ts","../../src/components/Radio/sgds-radio-group.ts","../../src/components/Sidenav/sgds-sidenav.ts","../../src/components/Sidenav/sgds-sidenav-item.ts","../../src/components/Sidenav/sgds-sidenav-link.ts","../../src/components/Spinner/sgds-spinner.ts","../../src/components/Stepper/sgds-stepper.ts","../../src/components/Tab/sgds-tab.ts","../../src/components/Tab/sgds-tab-group.ts","../../src/components/Tab/sgds-tab-panel.ts","../../src/components/Table/sgds-table.ts","../../src/components/Textarea/sgds-textarea.ts","../../src/components/Toast/sgds-toast.ts","../../src/components/Toast/sgds-toast-container.ts","../../node_modules/bootstrap/js/src/util/sanitizer.js","../../node_modules/bootstrap/js/src/util/template-factory.js","../../node_modules/bootstrap/js/src/tooltip.js","../../src/components/Tooltip/sgds-tooltip.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a},d=\"finalized\";class u extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(d))return!1;this[d]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}u[d]=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:u}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.2\");export{u as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,D:v,R:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.5\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,D:v,R:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.5\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.2\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,o)=>{Object.defineProperty(t,o,e)},t=(e,t)=>({kind:\"method\",placement:\"prototype\",key:t.key,descriptor:e}),o=({finisher:e,descriptor:t})=>(o,n)=>{var r;if(void 0===n){const n=null!==(r=o.originalKey)&&void 0!==r?r:o.key,i=null!=t?{kind:\"method\",placement:\"prototype\",key:n,descriptor:t(o.key)}:{...o,key:n};return null!=e&&(i.finisher=function(t){e(t,n)}),i}{const r=o.constructor;void 0!==t&&Object.defineProperty(o,n,t(n)),null==e||e(r,n)}};export{o as decorateProperty,e as legacyPrototypeMethod,t as standardPrototypeMethod};\n//# sourceMappingURL=base.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function i(i,n){return o({descriptor:o=>{const t={get(){var o,n;return null!==(n=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==n?n:null},enumerable:!0,configurable:!0};if(n){const n=\"symbol\"==typeof o?Symbol():\"__\"+o;t.get=function(){var o,t;return void 0===this[n]&&(this[n]=null!==(t=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(i))&&void 0!==t?t:null),this[n]}}return t}})}export{i as query};\n//# sourceMappingURL=query.js.map\n","import{decorateProperty as r}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nfunction e(e){return r({descriptor:r=>({async get(){var r;return await this.updateComplete,null===(r=this.renderRoot)||void 0===r?void 0:r.querySelector(e)},enumerable:!0,configurable:!0})})}export{e as queryAsync};\n//# sourceMappingURL=query-async.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import{decorateProperty as e}from\"./base.js\";import{queryAssignedElements as t}from\"./query-assigned-elements.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function o(o,n,r){let l,s=o;return\"object\"==typeof o?(s=o.slot,l=o):l={flatten:n},r?t({slot:s,flatten:n,selector:r}):e({descriptor:e=>({get(){var e,t;const o=\"slot\"+(s?`[name=${s}]`:\":not([name])\"),n=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(o);return null!==(t=null==n?void 0:n.assignedNodes(l))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})}export{o as queryAssignedNodes};\n//# sourceMappingURL=query-assigned-nodes.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","export*from\"@lit/reactive-element\";export*from\"lit-html\";export{LitElement,UpdatingElement,_$LE}from\"./lit-element.js\";export*from\"@lit/reactive-element/decorators/base.js\";export*from\"@lit/reactive-element/decorators/custom-element.js\";export*from\"@lit/reactive-element/decorators/property.js\";export*from\"@lit/reactive-element/decorators/state.js\";export*from\"@lit/reactive-element/decorators/event-options.js\";export*from\"@lit/reactive-element/decorators/query.js\";export*from\"@lit/reactive-element/decorators/query-all.js\";export*from\"@lit/reactive-element/decorators/query-async.js\";export*from\"@lit/reactive-element/decorators/query-assigned-elements.js\";export*from\"@lit/reactive-element/decorators/query-assigned-nodes.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */console.warn(\"The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information.\");\n//# sourceMappingURL=index.js.map\n","import { LitElement } from \"lit\";\nimport styles from \"./sgds-element.scss\";\n\n/**\n * @cssprop --sgds-{stateColor} - State colors in hexadecimal value\n * @cssprop --sgds-{stateColor}-rgb - State colors in rgb value\n * @cssprop --sgds-{stateColor}-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --sgds-gray-{weights} - State colors with different weightage in hexadecimal value\n * @cssprop --overlay-background-color - The drawer and modal component overlay background color\n * @cssprop --zindex-modal - The drawer and modal component z-index value\n */\n\nexport default class SgdsElement extends LitElement {\n static styles = styles;\n /** Emits a custom event with more convenient defaults. */\n emit(name: string, options?: CustomEventInit) {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event;\n }\n}\n","import { html } from \"lit\";\nimport { property, queryAssignedNodes } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsAccordionItem from \"./sgds-accordion-item\";\n\n/**\n * @summary A dropdown mechanism that allow users to either show or hide related content. `SgdsAccordion` is a wrapper to manage the behaviour for multiple `SgdsAccordionItems`\n * @slot default - slot for accordion-item\n */\n\nexport class SgdsAccordion extends SgdsElement {\n static styles = [SgdsElement.styles];\n\n /** Allows multiple accordion items to be opened at the same time */\n @property({ type: Boolean, reflect: true }) allowMultiple = false;\n\n /** Optional for accordion wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ reflect: true }) accordionClasses: string;\n\n /** @internal */\n @queryAssignedNodes()\n private defaultNodes!: NodeListOf<SgdsAccordionItem>;\n\n /** @internal */\n get items(): SgdsAccordionItem[] {\n return [...(this.defaultNodes || [])].filter(\n (node: HTMLElement) => typeof node.tagName !== \"undefined\"\n ) as SgdsAccordionItem[];\n }\n\n firstUpdated() {\n const items = [...this.items] as SgdsAccordionItem[];\n items.forEach((item, index) => {\n if (items.length > 1) {\n switch (index) {\n case 0:\n item.setAttribute(\"first-of-type\", \"\");\n break;\n\n case items.length - 1:\n item.setAttribute(\"last-of-type\", \"\");\n break;\n\n default:\n item.setAttribute(\"nth-of-type\", \"\");\n }\n }\n });\n }\n\n async onToggle(event: Event): Promise<void> {\n const target = event.target as SgdsAccordionItem;\n // Let the event pass through the DOM so that it can be\n // prevented from the outside if a user so desires.\n if (this.allowMultiple || event.defaultPrevented) {\n // No toggling when `allowMultiple` or the user prevents it.\n return;\n }\n const items = [...this.items] as SgdsAccordionItem[];\n\n if (items && !items.length) {\n // no toggling when there aren't items.\n return;\n }\n items.forEach(item => {\n if (item !== target) {\n // Close all the items that didn't dispatch the event.\n item.open = false;\n }\n });\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"sgds accordion\": true,\n [`${this.accordionClasses}`]: this.accordionClasses\n })}\n >\n <slot @click=${this.onToggle}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsAccordion;\n","//\n// Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n//\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options?.duration\n });\n\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\n\n//\n// Parses a CSS duration and returns the number of milliseconds.\n//\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n//\n// Tells if the user has enabled the \"reduced motion\" setting in their browser or OS.\n//\nexport function prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\n\n// We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n// element's scrollHeight before the animation.\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n\n//\n// Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n//\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n const handleAnimationEvent = requestAnimationFrame(resolve);\n\n animation.addEventListener(\"cancel\", () => handleAnimationEvent, { once: true });\n animation.addEventListener(\"finish\", () => handleAnimationEvent, { once: true });\n animation.cancel();\n });\n })\n );\n}\n","export interface ElementAnimation {\n keyframes: Keyframe[];\n rtlKeyframes?: Keyframe[];\n options?: KeyframeAnimationOptions;\n}\n\nexport interface ElementAnimationMap {\n [animationName: string]: ElementAnimation;\n}\n\nexport interface GetAnimationOptions {\n /**\n * The component's directionality. When set to \"rtl\", `rtlKeyframes` will be preferred over `keyframes` where\n * available using getAnimation().\n */\n dir: string;\n}\n\nconst defaultAnimationRegistry = new Map<string, ElementAnimation>();\nconst customAnimationRegistry = new WeakMap<Element, ElementAnimationMap>();\n\nfunction ensureAnimation(animation: ElementAnimation | null) {\n return animation ?? { keyframes: [], options: { duration: 0 } };\n}\n\n//\n// Given an ElementAnimation, this function returns a new ElementAnimation where the keyframes property reflects either\n// keyframes or rtlKeyframes depending on the specified directionality.\n//\nfunction getLogicalAnimation(animation: ElementAnimation) {\n return animation;\n}\n\n//\n// Gets an element's animation. Falls back to the default if no animation is found.\n//\nexport function getAnimation(el: Element, animationName: string) {\n const customAnimation = customAnimationRegistry.get(el);\n\n // Check for a custom animation\n if (customAnimation?.[animationName]) {\n return getLogicalAnimation(customAnimation[animationName]);\n }\n\n // Check for a default animation\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation);\n }\n\n // Fall back to an empty animation\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n\n//\n// Sets a custom animation for the specified element.\n//\nexport function setAnimation(el: Element, animationName: string, animation: ElementAnimation | null) {\n customAnimationRegistry.set(el, { ...customAnimationRegistry.get(el), [animationName]: ensureAnimation(animation) });\n}\n\n//\n// Sets a default animation. Components should use the `name.animation` for primary animations and `name.part.animation`\n// for secondary animations, e.g. `dialog.show` and `dialog.overlay.show`. For modifiers, use `drawer.showTop`.\n//\nexport function setDefaultAnimation(animationName: string, animation: ElementAnimation | null) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\n","/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n","// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-accordion-item.scss\";\n\n/**\n *\n * @event sgds-show - Emitted on show.\n * @event sgds-after-show - Emitted on show after animation has completed.\n * @event sgds-hide - Emitted on hide.\n * @event sgds-after-hide - Emitted on hide after animation has completed.\n *\n * @csspart base - The accordion-item base wrapper.\n * @csspart header - The accordion-item button header.\n * @csspart content - The accordion-item content.\n *\n * @slot accordion-header - The accordion-item button header slot.\n * @slot accordion-content - The accordion-item content slot.\n *\n * @cssprop --accordion-item-padding-y - The top and bottom padding for the container of accordion item's content\n * @cssprop --accordion-item-padding-x - The right and left padding for the container of accordion item's content\n * @cssprop --accordion-item-border-radius - The border radius of the accordion item\n * @cssprop --accordion-item-font-weight - The font weight of accordion-button when it is not collapsed\n * @cssprop --accordion-item-line-height - The line height of accordion\n */\nexport class SgdsAccordionItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** @internal */\n @query(\".accordion-item\") accordion: HTMLElement;\n /** @internal */\n @query(\".accordion-button\") header: HTMLElement;\n /** @internal */\n @query(\".accordion-body\") body: HTMLElement;\n\n /** Controls whether accordion-item is open or close */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** Optional for accordion item. Can be used to insert any utility classes such as `me-auto` */\n @property({ reflect: true }) accordionItemClasses: string;\n\n firstUpdated() {\n this.body.hidden = !this.open;\n this.body.style.height = this.open ? \"auto\" : \"0\";\n }\n\n private handleSummaryClick() {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n\n this.header.focus();\n }\n\n private handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n this.show();\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n const sgdsShow = this.emit(\"sgds-show\", { cancelable: true });\n if (sgdsShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n\n const { keyframes, options } = getAnimation(this, \"accordion.show\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n const slHide = this.emit(\"sgds-hide\", { cancelable: true });\n if (slHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, \"accordion.hide\");\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.hidden = true;\n this.body.style.height = \"auto\";\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n /** Shows the accordion. */\n public async show() {\n if (this.open) {\n return;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the accordion */\n public async hide() {\n if (!this.open) {\n return;\n }\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n \"sgds accordion-item\": true,\n [`${this.accordionItemClasses}`]: this.accordionItemClasses\n })}\n >\n <button\n class=${classMap({\n \"accordion-button\": true,\n collapsed: !this.open\n })}\n part=\"header\"\n role=\"button\"\n aria-expanded=${this.open ? \"true\" : \"false\"}\n aria-controls=\"content\"\n tabindex=\"0\"\n @click=${this.handleSummaryClick}\n @keydown=${this.handleSummaryKeyDown}\n >\n <slot name=\"accordion-header\"></slot>\n </button>\n <div class=\"accordion-body\">\n <slot name=\"accordion-content\" class=\"accordion-content\" role=\"region\" aria-labelledby=\"header\"></slot>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"accordion.show\", {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nsetDefaultAnimation(\"accordion.hide\", {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" }\n ],\n options: { duration: 200, easing: \"ease-in-out\" }\n});\n\nexport default SgdsAccordionItem;\n","const appliedClassMixins = new WeakMap();\n\n/** Vefify if the Mixin was previously applyed\n * @private\n * @param {function} mixin Mixin being applyed\n * @param {object} superClass Class receiving the new mixin\n * @returns {boolean}\n */\nfunction wasMixinPreviouslyApplied(mixin, superClass) {\n let klass = superClass;\n while (klass) {\n if (appliedClassMixins.get(klass) === mixin) {\n return true;\n }\n klass = Object.getPrototypeOf(klass);\n }\n return false;\n}\n\n/** Apply each mixin in the chain to make sure they are not applied more than once to the final class.\n * @export\n * @param {function} mixin Mixin to be applyed\n * @returns {object} Mixed class with mixin applied\n */\nexport function dedupeMixin(mixin) {\n return superClass => {\n if (wasMixinPreviouslyApplied(mixin, superClass)) {\n return superClass;\n }\n const mixedClass = mixin(superClass);\n appliedClassMixins.set(mixedClass, mixin);\n return mixedClass;\n };\n}\n","import { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { adoptStyles } from '@lit/reactive-element/css-tag.js';\n\n/**\n * @typedef {import('./types').RenderOptions} RenderOptions\n * @typedef {import('./types').ScopedElementsMixin} ScopedElementsMixin\n * @typedef {import('./types').ScopedElementsHost} ScopedElementsHost\n * @typedef {import('./types').ScopedElementsMap} ScopedElementsMap\n * @typedef {import('@lit/reactive-element').CSSResultOrNative} CSSResultOrNative\n */\n\n// @ts-ignore\nconst supportsScopedRegistry = !!ShadowRoot.prototype.createElement;\n\n/**\n * @template {import('./types').Constructor<HTMLElement>} T\n * @param {T} superclass\n * @return {T & import('./types').Constructor<ScopedElementsHost>}\n */\nconst ScopedElementsMixinImplementation = superclass =>\n /** @type {ScopedElementsHost} */\n class ScopedElementsHost extends superclass {\n /**\n * Obtains the scoped elements definitions map if specified.\n *\n * @returns {ScopedElementsMap}\n */\n static get scopedElements() {\n return {};\n }\n\n /**\n * Obtains the ShadowRoot options.\n *\n * @type {ShadowRootInit}\n */\n static get shadowRootOptions() {\n return this.__shadowRootOptions;\n }\n\n /**\n * Set the shadowRoot options.\n *\n * @param {ShadowRootInit} value\n */\n static set shadowRootOptions(value) {\n this.__shadowRootOptions = value;\n }\n\n /**\n * Obtains the element styles.\n *\n * @returns {CSSResultOrNative[]}\n */\n static get elementStyles() {\n return this.__elementStyles;\n }\n\n static set elementStyles(styles) {\n this.__elementStyles = styles;\n }\n\n // either TS or ESLint will complain here\n // eslint-disable-next-line no-unused-vars\n constructor(..._args) {\n super();\n /** @type {RenderOptions} */\n this.renderOptions = this.renderOptions || undefined;\n }\n\n /**\n * Obtains the CustomElementRegistry associated to the ShadowRoot.\n *\n * @returns {CustomElementRegistry}\n */\n get registry() {\n // @ts-ignore\n return this.constructor.__registry;\n }\n\n /**\n * Set the CustomElementRegistry associated to the ShadowRoot\n *\n * @param {CustomElementRegistry} registry\n */\n set registry(registry) {\n // @ts-ignore\n this.constructor.__registry = registry;\n }\n\n createRenderRoot() {\n const { scopedElements, shadowRootOptions, elementStyles } =\n /** @type {typeof ScopedElementsHost} */ (this.constructor);\n\n const shouldCreateRegistry =\n !this.registry ||\n // @ts-ignore\n (this.registry === this.constructor.__registry &&\n !Object.prototype.hasOwnProperty.call(this.constructor, '__registry'));\n\n /**\n * Create a new registry if:\n * - the registry is not defined\n * - this class doesn't have its own registry *AND* has no shared registry\n */\n if (shouldCreateRegistry) {\n this.registry = supportsScopedRegistry ? new CustomElementRegistry() : customElements;\n for (const [tagName, klass] of Object.entries(scopedElements)) {\n this.defineScopedElement(tagName, klass);\n }\n }\n\n /** @type {ShadowRootInit} */\n const options = {\n mode: 'open',\n ...shadowRootOptions,\n customElements: this.registry,\n };\n\n const createdRoot = this.attachShadow(options);\n if (supportsScopedRegistry) {\n this.renderOptions.creationScope = createdRoot;\n }\n\n if (createdRoot instanceof ShadowRoot) {\n adoptStyles(createdRoot, elementStyles);\n this.renderOptions.renderBefore = this.renderOptions.renderBefore || createdRoot.firstChild;\n }\n\n return createdRoot;\n }\n\n createScopedElement(tagName) {\n const root = supportsScopedRegistry ? this.shadowRoot : document;\n // @ts-ignore polyfill to support createElement on shadowRoot is loaded\n return root.createElement(tagName);\n }\n\n /**\n * Defines a scoped element.\n *\n * @param {string} tagName\n * @param {typeof HTMLElement} klass\n */\n defineScopedElement(tagName, klass) {\n const registeredClass = this.registry.get(tagName);\n if (registeredClass && supportsScopedRegistry === false && registeredClass !== klass) {\n // eslint-disable-next-line no-console\n console.error(\n [\n `You are trying to re-register the \"${tagName}\" custom element with a different class via ScopedElementsMixin.`,\n 'This is only possible with a CustomElementRegistry.',\n 'Your browser does not support this feature so you will need to load a polyfill for it.',\n 'Load \"@webcomponents/scoped-custom-element-registry\" before you register ANY web component to the global customElements registry.',\n 'e.g. add \"<script src=\"/node_modules/@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min.js\"></script>\" as your first script tag.',\n 'For more details you can visit https://open-wc.org/docs/development/scoped-elements/',\n ].join('\\n'),\n );\n }\n if (!registeredClass) {\n return this.registry.define(tagName, klass);\n }\n return this.registry.get(tagName);\n }\n\n /**\n * @deprecated use the native el.tagName instead\n *\n * @param {string} tagName\n * @returns {string} the tag name\n */\n // eslint-disable-next-line class-methods-use-this\n getScopedTagName(tagName) {\n // @ts-ignore\n return this.constructor.getScopedTagName(tagName);\n }\n\n /**\n * @deprecated use the native el.tagName instead\n *\n * @param {string} tagName\n * @returns {string} the tag name\n */\n // eslint-disable-next-line class-methods-use-this\n static getScopedTagName(tagName) {\n // @ts-ignore\n return this.__registry.get(tagName) ? tagName : undefined;\n }\n };\n\nexport const ScopedElementsMixin = dedupeMixin(ScopedElementsMixinImplementation);\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:l}=o,t=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,i={HTML:1,SVG:2},n=(o,l)=>void 0===l?void 0!==(null==o?void 0:o._$litType$):(null==o?void 0:o._$litType$)===l,d=o=>void 0!==(null==o?void 0:o._$litDirective$),v=o=>null==o?void 0:o._$litDirective$,e=o=>void 0===o.strings,c=()=>document.createComment(\"\"),r=(o,t,i)=>{var n;const d=o._$AA.parentNode,v=void 0===t?o._$AB:t._$AA;if(void 0===i){const t=d.insertBefore(c(),v),n=d.insertBefore(c(),v);i=new l(t,n,o,o.options)}else{const l=i._$AB.nextSibling,t=i._$AM,e=t!==o;if(e){let l;null===(n=i._$AQ)||void 0===n||n.call(i,o),i._$AM=o,void 0!==i._$AP&&(l=o._$AU)!==t._$AU&&i._$AP(l)}if(l!==v||e){let o=i._$AA;for(;o!==l;){const l=o.nextSibling;d.insertBefore(o,v),o=l}}}return i},u=(o,l,t=o)=>(o._$AI(l,t),o),f={},s=(o,l=f)=>o._$AH=l,m=o=>o._$AH,p=o=>{var l;null===(l=o._$AP)||void 0===l||l.call(o,!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},a=o=>{o._$AR()};export{i as TemplateResultType,a as clearPart,m as getCommittedValue,v as getDirectiveClass,r as insertPart,d as isDirectiveResult,t as isPrimitive,e as isSingleExpression,n as isTemplateResult,p as removePart,u as setChildPartValue,s as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{Directive,PartType,directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{var e,o;const r=i._$AN;if(void 0===r)return!1;for(const i of r)null===(o=(e=i)._$AO)||void 0===o||o.call(e,t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===(null==e?void 0:e.size))},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),l(t)}};function n(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function h(i,t=!1,e=0){const r=this._$AH,n=this._$AN;if(void 0!==n&&0!==n.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const l=i=>{var t,s,o,r;i.type==e.CHILD&&(null!==(t=(o=i)._$AP)&&void 0!==t||(o._$AP=h),null!==(s=(r=i)._$AQ)&&void 0!==s||(r._$AQ=n))};class c extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){var e,r;i!==this.isConnected&&(this.isConnected=i,i?null===(e=this.reconnected)||void 0===e||e.call(this):null===(r=this.disconnected)||void 0===r||r.call(this)),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{c as AsyncDirective};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as i}from\"../lit-html.js\";import{AsyncDirective as t}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new o;class o{}const h=new WeakMap,n=s(class extends t{render(t){return i}update(t,[s]){var e;const o=s!==this.G;return o&&void 0!==this.G&&this.ot(void 0),(o||this.rt!==this.lt)&&(this.G=s,this.ct=null===(e=t.options)||void 0===e?void 0:e.host,this.ot(this.lt=t.element)),i}ot(i){var t;if(\"function\"==typeof this.G){const s=null!==(t=this.ct)&&void 0!==t?t:globalThis;let e=h.get(s);void 0===e&&(e=new WeakMap,h.set(s,e)),void 0!==e.get(this.G)&&this.G.call(this.ct,void 0),e.set(this.G,i),void 0!==i&&this.G.call(this.ct,i)}else this.G.value=i}get rt(){var i,t,s;return\"function\"==typeof this.G?null===(t=h.get(null!==(i=this.ct)&&void 0!==i?i:globalThis))||void 0===t?void 0:t.get(this.G):null===(s=this.G)||void 0===s?void 0:s.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import{html as t,svg as r}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=Symbol.for(\"\"),l=t=>{if((null==t?void 0:t.r)===e)return null==t?void 0:t._$litStatic$},o=t=>({_$litStatic$:t,r:e}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,l)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\\n take care to ensure page security.`)})(e)+t[l+1]),t[0]),r:e}),s=new Map,a=t=>(r,...e)=>{const o=e.length;let i,a;const n=[],u=[];let c,$=0,f=!1;for(;$<o;){for(c=r[$];$<o&&void 0!==(a=e[$],i=l(a));)c+=i+r[++$],f=!0;$!==o&&u.push(a),n.push(c),$++}if($===o&&n.push(r[o]),f){const t=n.join(\"$$lit$$\");void 0===(r=s.get(t))&&(n.raw=n,s.set(t,r=n)),e=u}return t(r,...e)},n=a(t),u=a(r);export{n as html,i as literal,u as svg,o as unsafeStatic,a as withStatic};\n//# sourceMappingURL=static.js.map\n","import { property } from \"lit/decorators.js\";\nimport SgdsElement from \"./sgds-element\";\n\nexport type CardBorderVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport class CardElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** The border's variant. */\n @property()\n borderColor: CardBorderVariant;\n\n /** The bg's variant. */\n @property() bgColor: CardBorderVariant;\n\n /** The text's variant. */\n @property() textColor: CardTextVariant;\n}\n\nexport type CardTextVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\"\n | \"white\"\n | \"muted\";\n","export default function (componentName = \"\", elementName = \"\"): string {\n return `id-${Math.random().toString().substring(2, 6)}-sgds-${componentName}-${elementName}`;\n}\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","// @defaultValue decorator\n//\n// Runs when the corresponding attribute of the observed property changes, e.g. after calling Element.setAttribute or after updating\n// the observed property.\n//\n// The decorator checks whether the value of the attribute is different from the value of the property and in that case\n// it saves the new value.\n//\n//\n// Usage:\n//\n// @property({ type: Boolean, reflect: true })\n// checked = false;\n//\n// @defaultValue('checked')\n// defaultChecked = false;\n//\n\nimport { defaultConverter } from \"lit\";\nimport type { ReactiveElement } from \"lit\";\n\nexport const defaultValue =\n (propertyName = \"value\") =>\n (proto: ReactiveElement, key: string) => {\n const ctor = proto.constructor as typeof ReactiveElement;\n\n const attributeChangedCallback = ctor.prototype.attributeChangedCallback;\n ctor.prototype.attributeChangedCallback = function (\n this: ReactiveElement & { [name: string]: unknown },\n name,\n old,\n value\n ) {\n const options = ctor.getPropertyOptions(propertyName);\n const attributeName = (typeof options.attribute === \"string\" ? options.attribute : propertyName).toLowerCase();\n if (name === attributeName) {\n const converter = options.converter || defaultConverter;\n const fromAttribute =\n typeof converter === \"function\" ? converter : converter?.fromAttribute ?? defaultConverter.fromAttribute;\n\n const newValue: unknown = fromAttribute(value, options.type);\n if (this[propertyName] !== newValue) {\n this[key] = newValue;\n }\n }\n attributeChangedCallback.call(this, name, old, value);\n };\n };\n","import type SgdsButton from \"../components/Button/sgds-button\";\nimport type { ReactiveController, ReactiveControllerHost } from \"lit\";\nimport SgdsElement from \"../base/sgds-element\";\nconst reportValidityOverloads: WeakMap<HTMLFormElement, () => boolean> = new WeakMap();\n\nexport class FormSubmitController implements ReactiveController {\n host?: ReactiveControllerHost & Element;\n form?: HTMLFormElement | null;\n options: FormSubmitControllerOptions;\n\n constructor(host: ReactiveControllerHost & Element, options?: Partial<FormSubmitControllerOptions>) {\n (this.host = host).addController(this);\n this.options = {\n form: (input: HTMLInputElement) => input.closest(\"form\"),\n name: (input: HTMLInputElement) => input.name,\n value: (input: HTMLInputElement) => input.value,\n defaultValue: (input: HTMLInputElement) => input.defaultValue,\n disabled: (input: HTMLInputElement) => input.disabled,\n reportValidity: (input: HTMLInputElement) => {\n return typeof input.reportValidity === \"function\" ? input.reportValidity() : true;\n },\n setValue: (input: HTMLInputElement, value: string) => {\n input.value = value;\n },\n ...options\n };\n this.handleFormData = this.handleFormData.bind(this);\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\n this.handleFormReset = this.handleFormReset.bind(this);\n this.reportFormValidity = this.reportFormValidity.bind(this);\n }\n\n hostConnected() {\n this.form = this.options.form(this.host);\n\n if (this.form) {\n this.form.addEventListener(\"formdata\", this.handleFormData);\n this.form.addEventListener(\"submit\", this.handleFormSubmit);\n this.form.addEventListener(\"reset\", this.handleFormReset);\n\n // Overload the form's reportValidity() method so it looks at Shoelace form controls\n if (!reportValidityOverloads.has(this.form)) {\n reportValidityOverloads.set(this.form, this.form.reportValidity);\n this.form.reportValidity = () => this.reportFormValidity();\n }\n }\n }\n\n hostDisconnected() {\n if (this.form) {\n this.form.removeEventListener(\"formdata\", this.handleFormData);\n this.form.removeEventListener(\"submit\", this.handleFormSubmit);\n this.form.removeEventListener(\"reset\", this.handleFormReset);\n\n // Remove the overload and restore the original method\n if (reportValidityOverloads.has(this.form)) {\n this.form.reportValidity = reportValidityOverloads.get(this.form);\n reportValidityOverloads.delete(this.form);\n }\n\n this.form = undefined;\n }\n }\n\n handleFormData(event: FormDataEvent) {\n const disabled = this.options.disabled(this.host);\n const name = this.options.name(this.host);\n const value = this.options.value(this.host);\n\n if (!disabled && typeof name === \"string\" && typeof value !== \"undefined\") {\n if (Array.isArray(value)) {\n (value as unknown[]).forEach(val => {\n event.formData.append(name, (val as string | number | boolean).toString());\n });\n } else {\n event.formData.append(name, (value as string | number | boolean).toString());\n }\n }\n }\n\n handleFormSubmit(event: Event) {\n const disabled = this.options.disabled(this.host);\n const reportValidity = this.options.reportValidity;\n\n if (this.form && !this.form.noValidate && !disabled && !reportValidity(this.host)) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n handleFormReset() {\n this.options.setValue(this.host, this.options.defaultValue(this.host));\n }\n\n reportFormValidity() {\n //\n // Shoelace form controls work hard to act like regular form controls. They support the Constraint Validation API\n // and its associated methods such as setCustomValidity() and reportValidity(). However, the HTMLFormElement also\n // has a reportValidity() method that will trigger validation on all child controls. Since we're not yet using\n // ElementInternals, we need to overload this method so it looks for any element with the reportValidity() method.\n //\n // We preserve the original method in a WeakMap, but we don't call it from the overload because that would trigger\n // validations in an unexpected order. When the element disconnects, we revert to the original behavior. This won't\n // be necessary once we can use ElementInternals.\n //\n // Note that we're also honoring the form's novalidate attribute.\n //\n if (this.form && !this.form.noValidate) {\n // This seems sloppy, but checking all elements will cover native inputs, Shoelace inputs, and other custom\n // elements that support the constraint validation API.\n const elements = this.form.querySelectorAll<HTMLInputElement>(\"*\");\n\n for (const element of elements) {\n if (typeof element.reportValidity === \"function\") {\n if (!element.reportValidity()) {\n return false;\n }\n }\n }\n }\n\n return true;\n }\n\n doAction(type: \"submit\" | \"reset\", invoker?: HTMLInputElement | SgdsButton) {\n if (this.form) {\n const button = document.createElement(\"button\");\n button.type = type;\n button.style.position = \"absolute\";\n button.style.width = \"0\";\n button.style.height = \"0\";\n button.style.clipPath = \"inset(50%)\";\n button.style.overflow = \"hidden\";\n button.style.whiteSpace = \"nowrap\";\n\n // Pass form attributes through to the temporary button\n if (invoker) {\n [\"formaction\", \"formmethod\", \"formnovalidate\", \"formtarget\"].forEach(attr => {\n if (invoker.hasAttribute(attr)) {\n button.setAttribute(attr, invoker.getAttribute(attr));\n }\n });\n }\n\n this.form.append(button);\n button.click();\n button.remove();\n }\n }\n\n /** Resets the form, restoring all the control to their default value */\n reset(invoker?: HTMLInputElement | SgdsButton) {\n this.doAction(\"reset\", invoker);\n }\n\n /** Submits the form, triggering validation and form data injection. */\n submit(invoker?: HTMLInputElement | SgdsButton) {\n // Calling form.submit() bypasses the submit event and constraint validation. To prevent this, we can inject a\n // native submit button into the form, \"click\" it, then remove it to simulate a standard form submission.\n this.doAction(\"submit\", invoker);\n }\n}\n\nexport interface FormSubmitControllerOptions {\n /** A function that returns the form containing the form control. */\n form: (input: unknown) => HTMLFormElement | null;\n /** A function that returns the form control's name, which will be submitted with the form data. */\n name: (input: unknown) => string;\n /** A function that returns the form control's current value. */\n value: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's default value. */\n defaultValue: (input: unknown) => unknown | unknown[];\n /** A function that returns the form control's current disabled state. If disabled, the value won't be submitted. */\n disabled: (input: unknown) => boolean;\n /**\n * A function that maps to the form control's reportValidity() function. When the control is invalid, this will\n * prevent submission and trigger the browser's constraint violation warning.\n */\n reportValidity: (input: unknown) => boolean;\n\n /** A function that sets the form control's value */\n setValue: (input: unknown, value: unknown) => void;\n}\n\nexport interface SgdsFormControl extends SgdsElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | \"any\";\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n}\n","import { html } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-checkbox.scss\";\n\n/**\n * @summary Checkbox component is used when you require users to select multiple items from a list.\n *\n * @slot default - The label of checkbox.\n *\n * @event sgds-change - Emitted when the checked state changes.\n */\nexport class SgdsCheckbox extends SgdsElement implements SgdsFormControl {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: SgdsCheckbox) => (control.checked ? control.value : undefined),\n defaultValue: (control: SgdsCheckbox) => control.defaultChecked,\n setValue: (control: SgdsCheckbox, checked: boolean) => (control.checked = checked)\n });\n\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ reflect: true }) name: string;\n\n /** For aria-label when there is no appropriate text label visible */\n @property({ type: String, reflect: true }) ariaLabel = \"checkbox\";\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property() value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback?: string;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** @internal */\n @state() valid = false;\n\n /** @internal */\n @state() invalid = false;\n\n /** @internal For Id/For pair of the HTML form control and label. */\n private inputId: string = genId(\"checkbox\");\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n handleChange() {\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.invalid = !this.input.checkValidity();\n if (this.required) this.valid = this.input.checkValidity();\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid\n })}\n type=\"checkbox\"\n id=${this.inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this.handleChange}\n @keydown=${this.handleKeyDown}\n @invalid=${(e: Event) => this.handleInvalid(e)}\n />\n <label for=\"${this.inputId}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n ${this.hasFeedback\n ? html`<div id=\"${this.inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n </div>\n `;\n }\n}\n\nexport default SgdsCheckbox;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-radio.scss\";\n/**\n * @summary Radio allows the user to select one option from a set while seeing all available options.\n *\n * @slot default - The label of the radio button\n *\n * @event sgds-focus - Emitted when the control gains focus.\n * @event sgds-blur - Emitted when the control loses focus.\n */\nexport class SgdsRadio extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**\n * Draws the radio in a checked state\n */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The radio's value attribute. */\n @property() value: string;\n\n /** Disables the radio. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Aligns the radios horizontally */\n @property({ type: Boolean, reflect: true }) isInline = false;\n\n /** For aria-label */\n @property({ type: String, reflect: true }) ariaLabel = \"\";\n\n private radioId: string = genId(\"radio\");\n\n connectedCallback(): void {\n super.connectedCallback();\n this.setInitialAttributes();\n this.addEventListeners();\n }\n\n @watch(\"checked\")\n handleCheckedChange() {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n this.setAttribute(\"tabindex\", this.checked ? \"0\" : \"-1\");\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n private handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.checked = true;\n }\n }\n\n private handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private addEventListeners() {\n this.addEventListener(\"blur\", () => this.handleBlur());\n this.addEventListener(\"click\", () => this.handleClick());\n this.addEventListener(\"focus\", () => this.handleFocus());\n }\n\n private setInitialAttributes() {\n this.setAttribute(\"role\", \"radio\");\n this.setAttribute(\"tabindex\", \"-1\");\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"form-check\": true,\n \"form-check-inline\": this.isInline\n })}\n >\n <input\n class=${classMap({\n \"form-check-input\": true\n })}\n type=\"radio\"\n id=${ifDefined(this.radioId)}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @click=${this.handleClick}\n tabindex=\"-1\"\n />\n <label for=\"${ifDefined(this.radioId)}\" aria-label=${ifDefined(this.ariaLabel)} class=\"form-check-label\"\n ><slot></slot\n ></label>\n </div>\n `;\n }\n}\n\nexport default SgdsRadio;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit/static-html.js\";\nimport { CardElement } from \"../../base/card-element\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport { SgdsCheckbox } from \"../Checkbox/sgds-checkbox\";\nimport { SgdsRadio } from \"../Radio/sgds-radio\";\nimport styles from \"./sgds-action-card.scss\";\n\n/**\n * @summary Action Card are cards with built in checkbox or radio components. The ref of input is extended to the Card's body.\n * @slot icon - Icon content in the card-subtitile\n * @slot card-subtitle - The subtitle of the card\n * @slot card-title - The title of the card\n * @slot card-text - The paragrapher text of the card\n *\n * @event sgds-change - Emitted when the checked state of card's checkbox changes or when the selected card's radio has changed\n *\n * @csspart base - The action card base wrapper\n * @csspart body - The action card body\n * @csspart subtitle - The action card subtitle\n * @csspart title - The action card title\n * @csspart text - The action card text\n *\n */\nexport class SgdsActionCard extends ScopedElementsMixin(CardElement) {\n static styles = [CardElement.styles, styles];\n static get scopedElements() {\n return {\n \"sgds-checkbox\": SgdsCheckbox,\n \"sgds-radio\": SgdsRadio\n };\n }\n /** @internal */\n inputRef: Ref<SgdsCheckbox | SgdsRadio> = createRef();\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ reflect: true }) name: string;\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String }) value: string;\n /** Disables the input (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /** Draws the input in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The type of input of the action card */\n @property({ type: String, reflect: true }) type: TypeVariant = \"checkbox\";\n\n /** Controls the active styling of the action card */\n @property({ reflect: true, type: Boolean })\n active = false;\n\n /** Simulates a click on the input control*/\n public click() {\n this.inputRef.value.click();\n }\n /** @internal Declare the click event listener*/\n async handleInputChange() {\n this.inputRef.value.click();\n this.emit(\"sgds-change\");\n }\n /** @internal The input's id. */\n private inputId: string = genId(\"action-card\", \"input\");\n\n @watch(\"checked\")\n async handleRadioCheckedChange() {\n this.active = this.checked;\n }\n @watch(\"disabled\")\n async handleDisabledChange() {\n this.active = !this.disabled;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.handleInputChange();\n }\n }\n\n render() {\n const checkbox = html`<sgds-checkbox\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n id=${this.inputId}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n .value=${live(this.value)}\n ?checked=${live(this.checked)}\n @sgds-change=${(e: CustomEvent) => (this.checked = e.detail.checked)}\n ></sgds-checkbox>`;\n\n const radio = html`<sgds-radio\n ${ref(this.inputRef)}\n ?disabled=${this.disabled}\n id=${this.inputId}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n .value=${live(this.value)}\n ?checked=${live(this.checked)}\n ></sgds-radio>`;\n\n return html`\n <div\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleInputChange}\n @keydown=${this.handleKeyDown}\n variant=\"card-action\"\n class=\"sgds card\n ${classMap({\n [`text-${this.textColor}`]: this.textColor,\n [`bg-${this.bgColor}`]: this.bgColor,\n [`border-${this.borderColor}`]: this.borderColor,\n [\"is-active\"]: this.active\n })}\n \"\n part=\"base\"\n >\n <div class=\"card-body\" part=\"body\">\n <h6 class=\"text-muted card-subtitle\" part=\"subtitle\">\n <div>\n <slot name=\"icon\"></slot>\n <slot name=\"card-subtitle\"></slot>\n </div>\n <div class=\"card-input\">${this.type === \"checkbox\" ? checkbox : radio}</div>\n </h6>\n <h5 class=\"card-title\" part=\"title\"><slot name=\"card-title\"></slot></h5>\n <p class=\"card-text\" part=\"text\"><slot name=\"card-text\"></slot></p>\n </div>\n </div>\n `;\n }\n}\n\nexport type TypeVariant = \"checkbox\" | \"radio\";\n\nexport default SgdsActionCard;\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-alert.scss\";\n\nexport type AlertVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\";\n/**\n * @summary Alerts provide short, timely, and relevant information for your users. It can be a simple text message or customised HTML content with paragraphs, headings and links.\n *\n * @slot default - The alert's main content.\n * @slot icon - An icon to show in the alert. Pass in SVG elements.\n *\n * @event sgds-show - Emitted when the alert appears.\n * @event sgds-hide - Emitted after the alert closes.\n *\n * @cssproperty --alert-icon-margin-right - The margin-right css of icon slot, to position the gap between icon and alert message\n */\nexport class SgdsAlert extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Controls the appearance of the alert */\n @property({ type: Boolean, reflect: true }) show = false;\n\n /** Enables a close button that allows the user to dismiss the alert. */\n @property({ type: Boolean, reflect: true }) dismissible = false;\n\n /** The alert's theme variant. */\n @property({ type: String, reflect: true }) variant: AlertVariant = \"primary\";\n\n /** Optional for alert wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ type: String, reflect: true }) alertClasses: string;\n\n /** Closes the alert */\n public close() {\n this.show = false;\n }\n /**@internal */\n @watch(\"show\")\n handleShowChange() {\n this.show ? this.emit(\"sgds-show\") : this.emit(\"sgds-hide\");\n }\n render() {\n return html`\n <div\n class=\"${classMap({\n sgds: true,\n alert: true,\n fade: true,\n show: this.show,\n [`alert-${this.variant}`]: this.variant,\n [`alert-dismissible`]: this.dismissible,\n [`${this.alertClasses}`]: this.alertClasses,\n \"d-flex\": true,\n \"align-items-center\": true\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n >\n <i><slot name=\"icon\"></slot></i>\n <slot></slot>\n ${this.dismissible\n ? html`<button class=\"btn-close btn-sm\" aria-label=\"close the alert\" @click=${this.close}></button>`\n : null}\n </div>\n `;\n }\n}\n\nexport default SgdsAlert;\n","import { property } from \"lit/decorators.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\n/**\n * @summary Alert heading is the header of the Alert component. Use it in the default slot of `sgds-alert` when required\n *\n * @slot default - The text content of the anchor element\n */\nexport class SgdsAlertHeading extends SgdsElement {\n static styles = [SgdsElement.styles];\n\n /** The type of header tag style for alert's heading */\n @property({ type: String, reflect: true }) headerTag: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h4\";\n\n render() {\n return html`\n <span class=${this.headerTag}>\n <slot></slot>\n </span>\n `;\n }\n}\n\nexport default SgdsAlertHeading;\n","import { property } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-alert-link.scss\";\n/**\n * @summary Alert link are used within the alert's message that is passed into the default slot of `<sgds-alert>`\n *\n * @slot default - The text content of the anchor element\n * @cssproperty --alert-link-anchor-color - The margin-right css of icon slot, to position the gap between icon and alert message\n */\nexport class SgdsAlertLink extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** Forwards to href attribute of anchor element */\n @property({ type: String, reflect: true }) href: string;\n /** Tells the browser where to open the link */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n render() {\n return html`\n <a class=\"alert-link\" href=${ifDefined(this.href)} target=${ifDefined(this.target)}><slot></slot> </a>\n `;\n }\n}\n\nexport default SgdsAlertLink;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-badge.scss\";\n\nexport type BadgeVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\" | \"dark\";\n\n/**\n * @summary Badges can be used to highlight important bits of information such as labels, notifications & status.\n * @slot default - slot for badge\n */\nexport class SgdsBadge extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `dark`, `light`, `link` */\n @property({ reflect: true }) variant: BadgeVariant = \"primary\";\n /** Visually set badge for lesser color emphasis. */\n @property({ type: Boolean, reflect: true }) isLight = false;\n /** Visually set badge with rounded corners. */\n @property({ type: Boolean, reflect: true }) roundedPill = false;\n /** Forwarded to the base wrapper of sgds-badge. Can be used to insert any utility classes such as `me-auto` or `text-dark` */\n @property({ type: String, reflect: true }) badgeClasses: string;\n render() {\n return html`\n <span\n class=\" \n ${classMap({\n \"sgds badge\": true,\n [`bg-${this.variant}`]: this.variant,\n \"badge-light\": this.isLight,\n \"rounded-pill\": this.roundedPill,\n [`${this.badgeClasses}`]: this.badgeClasses\n })}\n \"\n >\n <slot name=\"leftIcon\"></slot>\n <slot></slot>\n <slot name=\"rightIcon\"></slot>\n </span>\n `;\n }\n}\n\nexport default SgdsBadge;\n","import { property, query } from \"lit/decorators.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport type SgdsBreadcrumbItem from \"./sgds-breadcrumb-item\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n/**\n * @summary Breadcrumbs help users to navigate and understand where they are on the current website or service.\n *\n * @slot default - The slot to pass in custom elements of `SgdsBreadcrumbItems`.\n * @slot separator - Defines all the separator of `SgdsBreadcrumbItems`. Defaults to \"/\"\n *\n * @csspart base - The nav element wrapper of `SgdsBreadcrumb`\n */\nexport class SgdsBreadcrumb extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** The aria-label of nav element within breadcrumb component. */\n @property({ type: String }) ariaLabel = \"breadcrumb\";\n /**@internal */\n @query(\"slot\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query('slot[name=\"separator\"]') separatorSlot: HTMLSlotElement;\n\n // Generates a clone of the separator element to use for each breadcrumb item\n private getSeparator() {\n const separator = this.separatorSlot.assignedElements({ flatten: true })[0] as HTMLElement;\n\n // Clone it, remove ids, and slot it\n const clone = separator.cloneNode(true) as HTMLElement;\n [clone, ...clone.querySelectorAll(\"[id]\")].forEach(el => el.removeAttribute(\"id\"));\n clone.setAttribute(\"data-default\", \"\");\n clone.slot = \"separator\";\n\n return clone;\n }\n\n private handleSlotChange() {\n const items = [...this.defaultSlot.assignedElements({ flatten: true })].filter(\n item => item.tagName.toLowerCase() === \"sgds-breadcrumb-item\"\n ) as SgdsBreadcrumbItem[];\n\n items.forEach((item, index) => {\n // Append separators to each item if they don't already have one\n const separator = item.querySelector('[slot=\"separator\"]');\n if (separator === null) {\n // No separator exists, add one\n item.append(this.getSeparator());\n } else if (separator.hasAttribute(\"data-default\")) {\n // A default separator exists, replace it\n separator.replaceWith(this.getSeparator());\n } else {\n // The user provided a custom separator, leave it alone\n }\n\n // The last breadcrumb item is the \"current page\"\n\n if (index === items.length - 1) {\n item.setAttribute(\"aria-current\", \"page\");\n } else {\n item.removeAttribute(\"aria-current\");\n }\n });\n }\n\n render() {\n return html`\n <nav aria-label=${ifDefined(this.ariaLabel)} part=\"base\">\n <ol class=\"breadcrumb\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n <slot name=\"separator\" hidden aria-hidden=\"true\">\n <span>/</span>\n </slot>\n </ol>\n </nav>\n `;\n }\n}\n\nexport default SgdsBreadcrumb;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-breadcrumb.scss\";\n\n/**\n * @summary Breadcrumb Item are navigational links used in Breadcrumb component\n *\n * @slot default - The title of the item\n * @slot separator - The individual separator of breadcrumb item can be changed here.\n *\n * @csspart base - The base wrapper of breadcrumb item which is a HTMLListElement.\n * @csspart label -The label of the breadcrumb item. It is either a span or anchor element depending on href attribute\n */\nexport class SgdsBreadcrumbItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** Specifies the url path of the breadcrumb-item. When defined, the breadcrumb-items is a anchor element. When not defined, indicates that the breadcrumb item is active. In such cases, a span element is rendered. */\n @property({ type: String, reflect: true }) href: string;\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n /** The `rel` attribute to use on the link. Only used when `href` is set. */\n @property() rel = \"noreferrer noopener\";\n\n render() {\n const isLink = this.href ? true : false;\n return html`\n <li\n part=\"base\"\n class=${classMap({\n \"breadcrumb-item\": true,\n active: !isLink\n })}\n >\n ${isLink\n ? html`\n <a\n part=\"label\"\n href=\"${this.href}\"\n rel=${ifDefined(this.target ? this.rel : undefined)}\n target=${ifDefined(this.target)}\n ><slot></slot\n ></a>\n `\n : html`<span part=\"label\"><slot></slot></span>`}\n <slot name=\"separator\" class=\"breadcrumb-item__separator\" aria-hidden=\"true\"></slot>\n </li>\n `;\n }\n}\n\nexport default SgdsBreadcrumbItem;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { html, literal } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport styles from \"./sgds-button.scss\";\n\nexport type ButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.\n *\n * @slot default - The button's label.\n *\n * @event sgds-blur - Emitted when the button is not focused.\n * @event sgds-focus - Emitted when the button is focused.\n */\nexport class SgdsButton extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n @query(\".btn\") private button: HTMLButtonElement | HTMLLinkElement;\n\n /** @internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n form: (input: HTMLInputElement) => {\n // Buttons support a form attribute that points to an arbitrary form, so if this attribute it set we need to query\n // the form from the same root using its id\n if (input.hasAttribute(\"form\")) {\n const doc = input.getRootNode() as Document | ShadowRoot;\n const formId = input.getAttribute(\"form\");\n return doc.getElementById(formId) as HTMLFormElement;\n }\n\n // Fall back to the closest containing form\n return input.closest(\"form\");\n }\n });\n\n /** One or more button variant combinations buttons may be one of a variety of visual variants such as: `primary`, `secondary`, `success`, `danger`, `warning`, `info`, `dark`, `light`, `link` as well as \"outline\" versions (prefixed by `outline-*`) */\n @property({ reflect: true }) variant: ButtonVariant = \"primary\";\n\n /** Optional for button. Can be used to insert any utility classes such as me-auto **/\n @property({ reflect: true }) buttonClasses: string;\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Manually set the visual state of the button to `:active` */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** The disabled state of the button */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The behavior of the button with default as `type='button', `reset` resets all the controls to their initial values and `submit` submits the form data to the server */\n @property() type: \"button\" | \"submit\" | \"reset\" = \"button\";\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`. */\n @property() href: string;\n\n /** Tells the browser where to open the link. Only used when `href` is set. */\n @property() target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\";\n\n /** Tells the browser to download the linked file as this filename. Only used when `href` is set. */\n @property({ reflect: true }) download: string;\n\n /**\n * The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\n * value of this attribute must be an id of a form in the same document or shadow root as the button.\n */\n @property() form: string;\n\n /** Used to override the form owner's `action` attribute. */\n @property({ attribute: \"formaction\" }) formAction: string;\n\n /** Used to override the form owner's `method` attribute. */\n @property({ attribute: \"formmethod\" }) formMethod: \"post\" | \"get\";\n\n /** Used to override the form owner's `novalidate` attribute. */\n @property({ attribute: \"formnovalidate\", type: Boolean })\n formNoValidate: boolean;\n\n /** Used to override the form owner's `target` attribute. */\n @property({ attribute: \"formtarget\" }) formTarget: \"_self\" | \"_blank\" | \"_parent\" | \"_top\" | string;\n\n /** Sets focus on the button. */\n public focus(options?: FocusOptions) {\n this.button.focus(options);\n }\n\n /** Simulates a click on the button. */\n public click() {\n this.button.click();\n }\n\n /** Removes focus from the button. */\n public blur() {\n this.button.blur();\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n this.removeEventListener(\"click\", this.clickHandler);\n this.addEventListener(\"click\", this.clickHandler);\n }\n\n /** @internal */\n clickHandler = () => {\n if (this.type === \"submit\") {\n this.formSubmitController.submit(this);\n }\n if (this.type === \"reset\") {\n this.formSubmitController.reset(this);\n }\n };\n\n render() {\n const isLink = this.href;\n const tag = isLink ? literal`a` : literal`button`;\n return html`\n <${tag}\n class=\"sgds btn ${classMap({\n disabled: isLink && this.disabled,\n active: this.active,\n [`btn-${this.variant}`]: this.variant,\n [`btn-${this.size}`]: this.size,\n [`${this.buttonClasses}`]: this.buttonClasses\n })}\"\n ?disabled=${ifDefined(isLink ? undefined : this.disabled)}\n type=${ifDefined(isLink ? undefined : this.type)}\n href=${ifDefined(isLink ? this.href : undefined)}\n target=${ifDefined(isLink ? this.target : undefined)}\n download=${ifDefined(isLink ? this.download : undefined)}\n rel=${ifDefined(isLink && this.target === \"_blank\" ? \"noreferrer noopener\" : undefined)}\n role=${ifDefined(isLink ? \"button\" : undefined)}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n <slot class=\"d-flex align-items-center gap-2\"></slot>\n </${tag}>\n `;\n }\n}\n\nexport default SgdsButton;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { CardElement } from \"../../base/card-element\";\n\n/**\n * @summary Cards can be used for headers and footers, a wide variety of content, contain contextual background colors and images.\n * @slot card-title - The title of the card\n * @slot card-text - The paragrapher text of the card\n * @slot card-image - Accepts an image or svg element of the card. Only a single element is allowed to be passed in.\n * @slot card-link - Accepts an anchor element. Only a single element is allowed to be passed in.\n *\n *\n * @csspart base - The card base wrapper\n * @csspart body - The card body\n * @csspart title - The card title\n * @csspart text - The card text\n *\n */\nexport class SgdsCard extends CardElement {\n static styles = CardElement.styles;\n\n /** Extends the link passed in slot[name=\"link\"] to the entire card */\n @property({ type: Boolean }) stretchedLink = false;\n\n handleLinkSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLLinkElement>;\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's link slot\");\n }\n if (this.stretchedLink) {\n childNodes[0].classList.add(\"stretched-link\");\n }\n childNodes[0].classList.add(\"fw-bold\");\n return;\n }\n\n handleImgSlotChange(e: Event) {\n const childNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }) as Array<HTMLOrSVGImageElement>;\n if (childNodes.length > 1) {\n return console.error(\"Multiple elements passed into SgdsCard's image slot\");\n }\n childNodes[0].classList.add(\"card-img-top\");\n }\n render() {\n return html`\n <div\n class=\"${classMap({\n sgds: true,\n card: true,\n [`text-${this.textColor}`]: this.textColor,\n [`bg-${this.bgColor}`]: this.bgColor,\n [`border-${this.borderColor}`]: this.borderColor\n })}\n \"\n part=\"base\"\n >\n <slot name=\"card-image\" @slotchange=${this.handleImgSlotChange}></slot>\n <div class=\"card-body\" part=\"body\">\n <h3 class=\"card-title\" part=\"title\"><slot name=\"card-title\"></slot></h3>\n <p class=\"card-text\" part=\"text\">\n <slot name=\"card-text\"></slot>\n </p>\n <slot name=\"card-link\" @slotchange=${this.handleLinkSlotChange}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsCard;\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.0'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const assign = (target: any, ...args: any[]) => Object.assign(target, ...args);\nexport const keys = (obj: any) => Object.keys(obj);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { assign, keys } from \"./object\";\nfunction _isObject(item: any) {\n return item && typeof item === \"object\" && item.constructor === Object;\n}\n\nconst mergeDeep = (target: any, source: any) => {\n if (_isObject(target) && _isObject(source)) {\n keys(source).forEach(key => {\n if (_isObject(source[key])) {\n if (!target[key] || !_isObject(target[key])) {\n target[key] = source[key];\n }\n mergeDeep(target[key], source[key]);\n } else {\n assign(target, { [key]: source[key] });\n }\n });\n }\n return target;\n};\n\nexport default mergeDeep;\n","import type { StrictModifiers } from \"@popperjs/core\";\nimport * as Popper from \"@popperjs/core\";\nimport Dropdown from \"bootstrap/js/src/dropdown\";\nimport type { Dropdown as BsDropdown } from \"bootstrap\";\nimport { property, state } from \"lit/decorators.js\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport mergeDeep from \"../utils/mergeDeep\";\nimport SgdsElement from \"./sgds-element\";\nimport generateId from \"../utils/generateId\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ESC = \"Escape\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\n\n/**\n * @event sgds-show - Emitted event when show instance is called\n * @event sgds-after-show - Emitted event when dropdown has been made visible to the user and CSS transitions have completed\n * @event sgds-hide - Emitted event when hide instance is called\n * @event sgds-after-hide - Emitted event when dropdown has hidden to the user and CSS transitions have completed\n * @event sgds-select - Emitted event when a slot item is selected\n */\n\nexport class DropdownElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** @internal */\n protected myDropdown: Ref<HTMLElement> = createRef();\n /** @internal */\n protected bsDropdown: BsDropdown = null;\n\n /** @internal Unique id generated for the dropdown menu */\n protected dropdownMenuId: string = generateId(\"dropdown-menu\", \"ul\");\n\n /** @internal Controls auto-flipping of menu */\n @property({ type: Boolean, state: true })\n protected noFlip = false;\n\n /** @internal When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: true })\n protected menuAlignRight = false;\n\n /** @internal The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: true })\n protected drop: DropDirection = \"down\";\n\n /** Additional configuration to pass to Popper.js. See https://popper.js.org/ for config opts */\n @property({ type: Object })\n popperOpts = {};\n\n /** @internal */\n @state()\n dropdownConfig: Partial<Popper.Options>;\n /** @internal */\n @state()\n modifierOpt: StrictModifiers[] = [];\n\n /** When true, dropdown menu shows on first load */\n @property({ type: Boolean, reflect: true })\n menuIsOpen = false;\n\n /** Controls the close behaviour of dropdown menu. By default menu auto-closes when SgdsDropdownItem or area outside dropdown is clicked */\n @property({ type: String })\n close: \"outside\" | \"default\" | \"inside\" = \"default\";\n\n /** Disables the dropdown toggle */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.close !== \"inside\") {\n document.addEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n document.removeEventListener(\"click\", (event: MouseEvent) => this._handleClickOutOfElement(event, this));\n }\n\n firstUpdated() {\n this.bsDropdown = new Dropdown(this.myDropdown.value, {\n // autoClose not working as bootstrap is using attribute data-bs-toggle=\"dropdown\" to configure autoclose. But it doesnt look into this attribute in the shadow dom\n reference: \"toggle\", // working\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n //working\n this.dropdownConfig = {\n placement: \"bottom-start\",\n modifiers: !this.noFlip\n ? this.modifierOpt\n : [\n ...this.modifierOpt,\n {\n name: \"flip\",\n options: { fallbackPlacements: [] }\n }\n ]\n };\n\n switch (this.drop) {\n case \"up\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"top-end\" : \"top-start\";\n break;\n case \"right\":\n this.dropdownConfig.placement = \"right-start\";\n break;\n case \"left\":\n this.dropdownConfig.placement = \"left-start\";\n break;\n case \"down\":\n this.dropdownConfig.placement = this.menuAlignRight ? \"bottom-end\" : \"bottom-start\";\n break;\n default:\n this.dropdownConfig.placement = undefined;\n break;\n }\n return mergeDeep(defaultConfig, mergeDeep(this.dropdownConfig, this.popperOpts));\n }\n });\n\n this.myDropdown.value.addEventListener(\"show.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-show\");\n });\n\n this.myDropdown.value.addEventListener(\"shown.bs.dropdown\", () => {\n this.menuIsOpen = true;\n this.emit(\"sgds-after-show\");\n });\n\n this.myDropdown.value.addEventListener(\"hide.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-hide\");\n });\n\n this.myDropdown.value.addEventListener(\"hidden.bs.dropdown\", () => {\n this.menuIsOpen = false;\n this.emit(\"sgds-after-hide\");\n });\n\n this.addEventListener(\"keydown\", this._handleKeyboardMenuEvent);\n }\n\n /** When invoked, opens the dropdown menu */\n showMenu() {\n this.bsDropdown.show();\n }\n\n /** When invoked, hides the dropdown menu */\n hideMenu() {\n this.bsDropdown.hide();\n }\n\n toggleMenu() {\n this.bsDropdown.toggle();\n }\n\n private _handleKeyboardMenuEvent(e: KeyboardEvent) {\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ARROW_UP:\n e.preventDefault();\n if (!this.menuIsOpen) return this.showMenu();\n break;\n case ESC:\n return this.hideMenu();\n default:\n break;\n }\n }\n\n private _handleClickOutOfElement(e: MouseEvent, self: DropdownElement) {\n if (!e.composedPath().includes(self)) {\n this.hideMenu();\n }\n }\n}\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.et=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.et=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.et)return this.ft;this.et=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import{directive as s}from\"../directive.js\";import{UnsafeHTMLDirective as e}from\"./unsafe-html.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t extends e{}t.directiveName=\"unsafeSVG\",t.resultType=2;const o=s(t);export{o as unsafeSVG};\n//# sourceMappingURL=unsafe-svg.js.map\n","import { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport type { SgdsFormControl } from \"../../utils/form\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\n\n/**\n * @summary Text inputs allow your users to enter letters, numbers and symbols on a single line.\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when input is in focus.\n * @event sgds-blur - Emitted when input is not in focus.\n *\n */\nexport class SgdsInput extends SgdsElement implements SgdsFormControl {\n static styles = SgdsElement.styles;\n /**@internal */\n @query(\"input.form-control\") input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n /** The type of input which works the same as HTMLInputElement*/\n @property({ reflect: true }) type:\n | \"date\"\n | \"datetime-local\"\n | \"email\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"text\"\n | \"time\"\n | \"url\" = \"text\";\n /** The input's label */\n @property({ reflect: true }) label = \"\";\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n /**The input's name attribute */\n @property({ reflect: true }) name: string;\n /**Forwards classes to the native HTMLInputElement of the component. Can be used to insert any classes from bootstrap such as mt-2 */\n @property({ reflect: true }) inputClasses: string;\n /**Optional. Pass svg html of icons in string form*/\n @property({ type: String }) icon: string;\n /**Sets the minimum length of the input */\n @property({ type: Number, reflect: true }) minlength: number;\n /**Sets the maximum length of the input */\n @property({ type: Number, reflect: true }) maxlength: number;\n /**The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n /**A pattern to validate input against. */\n @property({ type: String }) pattern: string;\n /**Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /**Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /**@internal */\n @state() invalid = false;\n /**@internal */\n @state() valid = false;\n\n /**@internal */\n private inputId: string = genId(\"input\", this.type);\n\n /** Sets focus on the input. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n /** Sets blur on the input. */\n public blur() {\n this.input.blur();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n return this.input.reportValidity();\n }\n handleInvalid() {\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.input.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n // Prevent submission when enter is click on a submission in an Input Method Editor with isComposing\n if (!event.defaultPrevented && !event.isComposing) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.input.checkValidity();\n this.valid = this.input.checkValidity();\n // remove validation for input that is not required, is already dirty and has empty value\n if (!this.required && this.value === \"\") {\n this.valid = false;\n }\n }\n\n render() {\n const input = html`\n <input\n class=${classMap({\n \"form-control\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid,\n [`${this.inputClasses}`]: this.inputClasses\n })}\n type=${this.type}\n id=${this.inputId}\n name=${ifDefined(this.name)}\n placeholder=${ifDefined(this.placeholder)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n pattern=${ifDefined(this.pattern)}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .value=${live(this.value)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @keydown=${this.handleKeyDown}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${this.hasFeedback\n ? html`<div id=\"${this.inputId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n `;\n // if iconName is defined\n const inputWithIcon = html`\n <div class=\"sgds form-control-group ${this.inputClasses}\">\n <span class=\"form-control-icon\"> ${unsafeSVG(this.icon)} </span>\n ${input}\n </div>\n `;\n // if hintText is defined\n const withHintText = html` <small id=\"${this.inputId}Help\" class=\"text-muted form-text\">${this.hintText}</small> `;\n\n // if label is defined\n const withLabel = html` <label for=${this.inputId} class=\"form-label\">${this.label}</label> `;\n\n return html`\n <div class=\"d-flex flex-column w-100\">\n ${html`${this.label && withLabel} ${this.hintText && withHintText} ${this.icon ? inputWithIcon : input} `}\n </div>\n `;\n }\n}\n\nexport default SgdsInput;\n","import { query, state } from \"lit/decorators.js\";\nimport { DropdownElement } from \"./dropdown-element\";\nimport { SgdsDropdownItem } from \"../components\";\n\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nconst ENTER = \"Enter\";\n\n/**\n * @event sgds-select - Emitted event when a slot item is selected\n */\nexport class DropdownListElement extends DropdownElement {\n static styles = DropdownElement.styles;\n\n /**@internal */\n @query(\"ul.dropdown-menu\")\n private menu: HTMLUListElement;\n\n /** @internal */\n @state()\n nextDropdownItemNo = 0;\n /** @internal */\n @state()\n prevDropdownItemNo = -1;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n this.removeEventListener(\"sgds-hide\", this._resetMenu);\n }\n\n firstUpdated() {\n super.firstUpdated();\n this.addEventListener(\"keydown\", this._handleKeyboardMenuItemsEvent);\n }\n\n protected handleSelectSlot(e: KeyboardEvent | MouseEvent) {\n const items = this._getActiveMenuItems();\n const currentItemNo = items.indexOf(e.target as SgdsDropdownItem);\n this.nextDropdownItemNo = currentItemNo + 1;\n this.prevDropdownItemNo = currentItemNo <= 0 ? items.length - 1 : currentItemNo - 1;\n\n /** Emitted event from SgdsDropdown element when a slot item is selected */\n const selectedItem = e.target as SgdsDropdownItem;\n if (!selectedItem.disabled) {\n this.emit(\"sgds-select\");\n this.close !== \"outside\" && this.bsDropdown.hide();\n } else return;\n }\n\n private _resetMenu() {\n this.nextDropdownItemNo = 0;\n this.prevDropdownItemNo = -1;\n // reset the tabindex\n const items = this._getMenuItems();\n items.forEach(i => {\n i.removeAttribute(\"tabindex\");\n });\n }\n\n private _handleKeyboardMenuItemsEvent(e: KeyboardEvent) {\n const menuItems = this._getActiveMenuItems();\n switch (e.key) {\n case ARROW_DOWN:\n e.preventDefault();\n if (this.nextDropdownItemNo === menuItems.length) {\n return this._setMenuItem(0);\n } else {\n return this._setMenuItem(this.nextDropdownItemNo > 0 ? this.nextDropdownItemNo : 0);\n }\n case ARROW_UP:\n e.preventDefault();\n if (this.prevDropdownItemNo < 0) {\n return this._setMenuItem(menuItems.length - 1, false);\n } else {\n return this._setMenuItem(this.prevDropdownItemNo, false);\n }\n case ENTER:\n if (menuItems.includes(e.target as SgdsDropdownItem)) {\n return this.handleSelectSlot(e);\n }\n break;\n default:\n break;\n }\n }\n\n private _getMenuItems(): SgdsDropdownItem[] {\n // for case when default slot is used e.g. dropdown, mainnavdropdown\n if (this.shadowRoot.querySelector(\"slot#default\")) {\n return (this.shadowRoot.querySelector(\"slot#default\") as HTMLSlotElement)?.assignedElements({\n flatten: true\n }) as SgdsDropdownItem[];\n }\n\n // for case when there is no slot e.g. combobox\n if (this.menu.hasChildNodes()) {\n const menuItems = this.menu.children;\n\n return [...menuItems] as SgdsDropdownItem[];\n }\n }\n private _getActiveMenuItems(): SgdsDropdownItem[] {\n return this._getMenuItems().filter(item => !item.disabled);\n }\n\n private _setMenuItem(currentItemIdx: number, isArrowDown = true) {\n const items = this._getActiveMenuItems();\n if (items.length === 0) return;\n const item = items[currentItemIdx];\n this.nextDropdownItemNo = currentItemIdx + 1;\n this.prevDropdownItemNo = currentItemIdx - 1 < 0 ? items.length - 1 : currentItemIdx - 1;\n let activeItem: SgdsDropdownItem;\n if (item.disabled) {\n return this._setMenuItem(isArrowDown ? this.nextDropdownItemNo : this.prevDropdownItemNo);\n } else activeItem = item;\n\n // focus or blur items depending on active or not\n items.forEach(i => {\n i.setAttribute(\"tabindex\", i === activeItem ? \"0\" : \"-1\");\n i === activeItem && i.focus();\n });\n }\n}\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { SgdsInput } from \"../Input/sgds-input\";\nimport styles from \"./sgds-combo-box.scss\";\nimport { watch } from \"../../utils/watch\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\n\ntype FilterFunction = (inputValue: string, menuItem: string) => boolean;\n\n/**\n * @summary ComboBox component is used for users to make one or more selections from a list.\n *\n * @slot icon - slot for form control icon to be displayed on the right of the input box.\n *\n * @event sgds-select - Emitted when the combo box's selected value changes.\n * @event sgds-input - Emitted when user input is received and its value changes.\n */\nexport class SgdsComboBox extends ScopedElementsMixin(DropdownListElement) {\n static styles = [DropdownElement.styles, styles];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-input\": SgdsInput\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n /** The input's label */\n @property({ reflect: true }) label = \"\";\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n /**The input's name attribute */\n @property({ reflect: true }) name: string;\n /**The input's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"placeholder\";\n /**Autofocus the input */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the input a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /**Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n /**The input's value attribute. */\n @property({ reflect: true }) value = \"\";\n /**Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n /**The list of items to display in the dropdown. */\n @property({ type: Array }) menuList: string[] = [];\n\n /**The function used to determine if a menu item should be shown in the menu list, given the user's input value. */\n @property({ type: Function })\n filterFunction: FilterFunction = (inputValue: string, menuItem: string) => {\n const itemLowerCase = menuItem.toLowerCase();\n const valueLower = inputValue.toLowerCase();\n return itemLowerCase.startsWith(valueLower);\n };\n\n /**@internal */\n @state()\n private filteredMenuList: string[] = [];\n\n /**@internal */\n @watch(\"value\")\n handleFilterMenu() {\n this.filteredMenuList = this.menuList.filter(item => this.filterFunction.call(null, this.value, item));\n\n if (!this.myDropdown || !this.bsDropdown) return;\n\n // To hide dropdown menu when filtered menuList is empty\n if (this.filteredMenuList.length === 0) {\n this.hideMenu();\n } else if (this.menuIsOpen) {\n this.showMenu();\n }\n }\n\n private _handleInputChange(e: CustomEvent) {\n this.showMenu();\n this.value = (e.target as SgdsInput).value;\n }\n\n private _handleSelectChange(e: KeyboardEvent | MouseEvent) {\n this.value = (e.target as HTMLButtonElement).innerText;\n this.handleSelectSlot(e);\n }\n\n render() {\n return html`\n <div class=\"sgds combobox dropdown\">\n <sgds-input\n class=\"dropdown-toggle w-100\"\n label=${this.label}\n hintText=${this.hintText}\n name=${this.name}\n ${ref(this.myDropdown)}\n @click=${() => (this.filteredMenuList.length > 0 ? this.showMenu() : this.hideMenu())}\n placeholder=${this.placeholder}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readonly}\n .value=${this.value}\n @sgds-input=${this._handleInputChange}\n role=\"combobox\"\n aria-expanded=${this.menuIsOpen}\n aria-autocomplete=\"list\"\n aria-controls=${this.dropdownMenuId}\n >\n </sgds-input>\n <div class=\"form-control-icon\">\n <slot name=\"icon\"></slot>\n </div>\n <ul id=${this.dropdownMenuId} class=\"dropdown-menu\" part=\"menu\" tabindex=\"-1\">\n ${this.filteredMenuList.map(\n item => html`<button class=\"dropdown-item\" @click=${this._handleSelectChange}>${item}</button>`\n )}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsComboBox;\n","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const i=\"important\",n=\" !\"+i,o=e(class extends r{constructor(t){var e;if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ut){this.ut=new Set;for(const t in r)this.ut.add(t);return this.render(r)}this.ut.forEach((t=>{null==r[t]&&(this.ut.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=\"\")}));for(const t in r){const e=r[t];if(null!=e){this.ut.add(t);const r=\"string\"==typeof e&&e.endsWith(n);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?i:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","import { HTMLTemplateResult, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./datepicker-calendar.scss\";\n\nexport class DatepickerCalendar extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n static DAY_LABELS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\n /** @internal */\n static daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n /** @internal */\n static MONTHVIEW_LABELS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\n /** @internal */\n @property({ type: Array }) selectedDate: Date[] = [];\n\n /** @internal */\n @property({ attribute: false }) displayDate: Date = new Date();\n\n /** @internal */\n @property({ type: String }) minDate?: string;\n\n /** @internal */\n @property({ type: String }) maxDate?: string;\n\n /** @internal */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n /** @internal */\n @property({ attribute: false }) initialValue?: Date;\n\n /** @internal */\n @state() year: number = this.displayDate.getFullYear();\n\n /** @internal */\n @state() month: number = this.displayDate.getMonth();\n\n /** @internal */\n @state() view = \"days\";\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n /** @internal */\n private setTimeToNoon(date: Date) {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n }\n\n /** @internal */\n private generateIncrementDays(start: Date, end: Date) {\n const arr: Date[] = [];\n if (start.getTime() < end.getTime()) {\n for (let dt = start; dt <= end; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n } else {\n for (let dt = end; dt <= start; dt.setDate(dt.getDate() + 1)) {\n arr.push(new Date(dt));\n }\n }\n return arr;\n }\n\n /** @internal */\n private onClickDay(event: MouseEvent) {\n const day = (event.currentTarget as HTMLTableCellElement).dataset.day;\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setDate(parseInt(day));\n\n if (this.mode === \"single\") {\n // Single mode: Select a single date\n\n this.selectedDate = [displayDateClone];\n\n // Emit event with selected date\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n } else if (this.mode === \"range\") {\n // Range mode: Select a range of dates\n const selectedDates = [...this.selectedDate];\n\n if (selectedDates.length === 0 || selectedDates.length === 2) {\n // No dates selected yet or both dates already selected,\n // start a new range by clearing the selected dates array\n selectedDates.length = 0;\n }\n\n // Add the selected date to the range\n selectedDates.push(displayDateClone);\n\n // Update the selectedDate property\n this.selectedDate = selectedDates;\n\n // Emit event with the range of selected dates\n this.emit(\"sgds-selectdates\", { detail: this.selectedDate });\n }\n\n // Check if the selected date is before minDate or after maxDate\n const minimumDate = this.minDate ? this.setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? this.setTimeToNoon(new Date(this.maxDate)) : null;\n\n const selectedDate = this.setTimeToNoon(displayDateClone);\n if ((minimumDate && selectedDate < minimumDate) || (maximumDate && selectedDate > maximumDate)) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n // clickhandler for month view buttons\n /** @internal */\n private onClickMonth(month: number) {\n this.month = month;\n const displayDateClone = new Date(this.displayDate);\n this.view = \"days\";\n displayDateClone.setMonth(this.month);\n this.displayDate = displayDateClone;\n this.emit(\"sgds-view\", { detail: this.view });\n //once clicked, should change view to days, and hold value and change view\n this.emit(\"sgds-selectmonth\", { detail: this.displayDate });\n }\n\n // clickhandler for year view buttons\n /** @internal */\n private onClickYear(year: number) {\n this.year = year;\n const displayDateClone = new Date(this.displayDate);\n displayDateClone.setFullYear(this.year);\n this.displayDate = displayDateClone;\n this.view = \"months\";\n this.emit(\"sgds-view\", { detail: this.view });\n\n this.emit(\"sgds-selectyear\", { detail: this.displayDate });\n }\n\n render() {\n const selectedDates = this.selectedDate.map(d => this.setTimeToNoon(d));\n\n const rangeSelectedDates = this.generateIncrementDays(new Date(selectedDates[0]), new Date(selectedDates[1]));\n\n const minimumDate = this.minDate ? this.setTimeToNoon(new Date(this.minDate)) : null;\n const maximumDate = this.maxDate ? this.setTimeToNoon(new Date(this.maxDate)) : null;\n const year = this.displayDate.getFullYear();\n const month = this.displayDate.getMonth();\n const firstDay = new Date(year, month, 1);\n const startingDay = firstDay.getDay();\n let monthLength = DatepickerCalendar.daysInMonth[month];\n if (month == 1) {\n if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {\n monthLength = 29;\n }\n }\n\n const weeks = [];\n let day = 1;\n for (let i = 0; i < 9; i++) {\n const week = [];\n for (let j = 0; j <= 6; j++) {\n if (day <= monthLength && (i > 0 || j >= startingDay)) {\n const date = new Date(year, month, day, 12, 0, 0, 0).toISOString();\n const isCurrentDate = new Date();\n\n const beforeMinDate = minimumDate && Date.parse(date) < Date.parse(minimumDate.toISOString());\n const afterMinDate = maximumDate && Date.parse(date) > Date.parse(maximumDate.toISOString());\n const clickHandler = beforeMinDate || afterMinDate ? undefined : this.onClickDay;\n\n const isCurrentMonth = isCurrentDate.getMonth() === this.displayDate.getMonth();\n const isCurrentYear = isCurrentDate.getFullYear() === this.displayDate.getFullYear();\n const isCurrentDay = isCurrentDate.getDate() === day;\n\n const isSelected =\n selectedDates.length > 0 &&\n (rangeSelectedDates.some(d => Date.parse(date) === Date.parse(d.toISOString())) ||\n Date.parse(date) === Date.parse(selectedDates[0].toISOString()));\n\n const mutedButtonStyle = {\n cursor: \"not-allowed\"\n };\n const buttonStyles = {\n cursor: \"pointer\",\n borderRadius: \"0\"\n };\n week.push(\n html`<td\n key=${j}\n data-day=${day}\n class=${classMap({\n \"text-primary\": isCurrentDay && isCurrentMonth && isCurrentYear,\n active: isSelected,\n disabled: beforeMinDate || afterMinDate\n })}\n style=${styleMap(beforeMinDate || afterMinDate ? { ...buttonStyles, ...mutedButtonStyle } : buttonStyles)}\n @click=${clickHandler}\n >\n ${day}\n </td>`\n );\n day++;\n } else {\n week.push(html`<td key=${j}></td>`);\n }\n }\n\n weeks.push(\n html`<tr key=${i}>\n ${week}\n </tr>`\n );\n if (day > monthLength) {\n break;\n }\n }\n\n // monthView\n\n const displayMonth = DatepickerCalendar.MONTHVIEW_LABELS[this.displayDate.getMonth()];\n\n const monthView = html`\n <div class=\"sgds monthpicker\">\n ${DatepickerCalendar.MONTHVIEW_LABELS.map(\n (m, idx) => html`\n <button\n class=${classMap({ active: displayMonth === m, month: true })}\n @click=${() => this.onClickMonth(idx)}\n >\n ${m}\n </button>\n `\n )}\n </div>\n `;\n\n // yearView\n\n const displayYear = this.displayDate.getFullYear();\n const startLimit = displayYear - 5;\n const endLimit = displayYear + 6;\n const yearArray = [];\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n const yearView = html`\n <div class=\"sgds yearpicker\">\n ${yearArray.map(\n y => html`\n <button class=${classMap({ active: displayYear === y, year: true })} @click=${() => this.onClickYear(y)}>\n ${y}\n </button>\n `\n )}\n </div>\n `;\n\n // default - dayView\n\n const dayView = html`\n <table class=\"text-center\">\n <thead>\n <tr>\n ${DatepickerCalendar.DAY_LABELS.map(\n (label: string, index: number) =>\n html`\n <td key=${index}>\n <small>${label}</small>\n </td>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${weeks}\n </tbody>\n </table>\n `;\n\n let viewContent: HTMLTemplateResult;\n switch (this.view) {\n case \"days\":\n viewContent = html` ${dayView} `;\n break;\n case \"months\":\n viewContent = html` ${monthView} `;\n break;\n case \"years\":\n viewContent = html` ${yearView} `;\n break;\n default:\n viewContent = html` ${dayView} `; // Set a default view\n break;\n }\n\n return html` <div class=\"datepicker-body\">${viewContent}</div> `;\n }\n}\n\nexport default DatepickerCalendar;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./datepicker-header.scss\";\nimport { styleMap } from \"lit/directives/style-map.js\";\n\nconst MONTH_LABELS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\n\nexport class DatepickerHeader extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n @property({ attribute: false })\n displayDate: Date;\n\n /** @internal */\n @state()\n view: string;\n\n connectedCallback() {\n super.connectedCallback();\n this.displayDate = new Date(); // Set the current date as the displayDate\n this.view = \"days\";\n }\n\n /** @internal */\n private changeView() {\n switch (this.view) {\n case \"days\":\n this.view = \"months\";\n break;\n case \"months\":\n this.view = \"years\";\n break;\n case \"years\":\n break;\n }\n this.emit(\"sgds-view\", { detail: this.view }); // emit event to render the correct view\n }\n\n /** @internal */\n private renderHeader() {\n const { view, displayDate } = this;\n\n if (view === \"months\") {\n return html` ${displayDate.getFullYear()} `;\n }\n if (view === \"years\") {\n return html` ${displayDate.getFullYear() - 5} - ${displayDate.getFullYear() + 6} `;\n }\n return html` ${MONTH_LABELS[displayDate.getMonth()]} ${displayDate.getFullYear()} `;\n }\n\n /** @internal */\n private handleClickPrevious() {\n const { view, displayDate } = this;\n const newDisplayDate = new Date(displayDate);\n newDisplayDate.setDate(1);\n if (view === \"months\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() - 1);\n } else if (this.view === \"years\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() - 10);\n } else {\n newDisplayDate.setMonth(newDisplayDate.getMonth() - 1);\n }\n this.displayDate = newDisplayDate; // Update the displayDate property\n // emit event to render correct view\n this.emit(\"sgds-view-date\", { detail: this.displayDate });\n }\n\n /** @internal */\n private handleClickNext() {\n const { view, displayDate } = this;\n const newDisplayDate = new Date(displayDate);\n newDisplayDate.setDate(1);\n\n newDisplayDate.setDate(1);\n if (view === \"months\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() + 1);\n } else if (this.view === \"years\") {\n newDisplayDate.setFullYear(newDisplayDate.getFullYear() + 10);\n } else {\n newDisplayDate.setMonth(newDisplayDate.getMonth() + 1);\n }\n this.displayDate = newDisplayDate; // Update the displayDate property\n //emit event to render correct view\n this.emit(\"sgds-view-date\", { detail: this.displayDate });\n }\n\n render() {\n const buttonYearStyle = {\n cursor: \"default\"\n };\n return html`\n <div class=\"datepicker-header dropdown-header\" role=\"heading\">\n <div class=\"text-center d-flex justify-content-between align-items-center\">\n <button @click=\"${this.handleClickPrevious}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n </button>\n <button @click=${this.changeView} style=${styleMap(this.view === \"years\" ? buttonYearStyle : {})}>\n ${this.renderHeader()}\n </button>\n <button @click=\"${this.handleClickNext}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n </div>\n </div>\n `;\n }\n}\n\nexport default DatepickerHeader;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport styles from \"./sgds-datepicker.scss\";\nimport { live } from \"lit/directives/live.js\";\nimport { watch } from \"../../utils/watch\";\nimport { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { SgdsInput } from \"../Input/sgds-input\";\nimport { DatepickerCalendar } from \"./datepicker-calendar\";\nimport { DatepickerHeader } from \"./datepicker-header\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\n\nexport type DateFormat = \"MM/DD/YYYY\" | \"DD/MM/YYYY\" | \"YYYY/MM/DD\";\n\n/**\n * @summary The `DatePicker` Component is built using `Dropdown`, `Input` and `Button` components. By default, the Calendar points to current date and input has no value. The input is a read-only and users can only pick dates using the Calendar.\n *\n * @event sgds-change-date - Emitted when the state of datepicker's input changes during first load, close button reset click & date click. Date values can be accessed via event.target.value\n *\n * @cssproperty --datepicker-theme-color - Datepicker's overall theme color\n * @cssproperty --datepicker-hover-bg-color - Datepicker's calendar menu hover color\n * @cssproperty --datepicker-bg-color - Datepicker's menu background color\n * @cssproperty --datepicker-closebutton-bg-color - Datepicker's close button background color\n * @cssproperty --datepicker-closebutton-hover-bg-color - Datepicker's close button hover background color\n * @cssproperty --datepicker-closebutton-color - Datepicker's close button color\n */\n\nexport class SgdsDatepicker extends ScopedElementsMixin(DropdownElement) {\n static styles = [DropdownElement.styles, styles];\n\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-input\": SgdsInput,\n \"sgds-datepicker-calendar\": DatepickerCalendar,\n \"sgds-datepicker-header\": DatepickerHeader\n };\n }\n\n /** When true, adds required attribute to input element */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** When true, adds disabled attribute to input and button element */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The initial value of DatePicker on first load for single & range mode as array of string. eg.'[\"22/12/2023\"]' for single & '[\"22/12/2023\",\"25/12/2023\"]' for range respectively */\n @property({ type: Array, reflect: true }) initialValue: string[];\n\n /** Date format reflected on input */\n @property({ type: String }) dateFormat: DateFormat = \"DD/MM/YYYY\";\n\n /** ISO date string to set the lowest allowable date value. e.g. \"2016-05-19T12:00:00.000Z\" */\n @property({ type: String }) minDate: string;\n\n /** ISO date string to set the highest allowable date value. e.g. \"2016-05-19T12:00:00.000Z\" */\n @property({ type: String }) maxDate: string;\n\n /** Changes DatePicker to single date selection or range date selection */\n @property({ type: String, reflect: true }) mode: \"single\" | \"range\" = \"single\";\n\n /** @internal */\n @state() private value: string;\n\n /** @internal */\n @state()\n private view: string;\n\n /** @internal */\n @state() private selectedDateRange: Date[] = [];\n\n /** @internal */\n @state() private displayDate: Date = new Date();\n\n constructor() {\n super();\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n\n /** @internal */\n private parseDateStringToDate(dateString: string): Date | null {\n let year: string, month: string, day: string;\n\n switch (this.dateFormat) {\n case \"MM/DD/YYYY\":\n [month, day, year] = dateString.split(\"/\");\n break;\n case \"DD/MM/YYYY\":\n [day, month, year] = dateString.split(\"/\");\n break;\n case \"YYYY/MM/DD\":\n [year, month, day] = dateString.split(\"/\");\n break;\n default:\n return null;\n }\n\n return new Date(`${year}-${month}-${day}`);\n }\n\n /** @internal */\n private getDateFormatRegex(): string {\n // validate date strings and adhere to the specified date format\n return (\n this.dateFormat\n // Replace any special characters with their escaped version using \"\\\\$&\"\n .replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n // Replace 'MM' with '\\\\d{2}', which matches two digits representing the month (e.g., 01, 12)\n .replace(\"MM\", \"\\\\d{2}\")\n // Replace 'DD' with '\\\\d{2}', which matches two digits representing the day (e.g., 01, 31)\n .replace(\"DD\", \"\\\\d{2}\")\n // Replace 'YYYY' with '\\\\d{4}', which matches four digits representing the year (e.g., 2021)\n .replace(\"YYYY\", \"\\\\d{4}\")\n // Replace '/' with '\\\\/', which matches the forward slash character\n .replace(\"/\", \"\\\\/\")\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.addEventListener(\"sgds-view\", this.handleViewChanged);\n this.addEventListener(\"sgds-view-date\", this.handleDateChanged);\n this.addEventListener(\"sgds-selectmonth\", this.handleSelectMonth);\n this.addEventListener(\"sgds-selectyear\", this.handleSelectYear);\n this.addEventListener(\"sgds-selectdates\", this.handleSelectDates);\n\n if (this.initialValue && this.initialValue.length > 0) {\n // Validate initialValue against the dateFormat regex\n const dateFormatRegex = new RegExp(this.getDateFormatRegex());\n const startDateString = this.initialValue[0];\n\n if (!dateFormatRegex.test(startDateString)) {\n // Handle invalid date format in initialValue\n console.error(\"Invalid date format in initialValue:\", startDateString);\n return;\n }\n\n const startDate = this.parseDateStringToDate(startDateString);\n\n if (this.mode === \"single\" && startDate) {\n // Single mode\n this.selectedDateRange = [startDate];\n this.displayDate = startDate;\n } else if (this.mode === \"range\" && this.initialValue.length === 2) {\n // Range mode\n const endDateString = this.initialValue[1];\n\n if (!dateFormatRegex.test(endDateString)) {\n // Handle invalid date format in initialValue\n console.error(\"Invalid date format in initialValue:\", endDateString);\n return;\n }\n\n const endDate = this.parseDateStringToDate(endDateString);\n\n if (startDate && endDate) {\n this.selectedDateRange = [startDate, endDate];\n this.selectedDateRange.sort((a, b) => a.getTime() - b.getTime());\n\n this.displayDate = startDate;\n }\n }\n }\n\n if (this.selectedDateRange && this.selectedDateRange.length > 0) {\n // Get the formattedDate value for the selected dates\n const formattedDate = this.makeInputValueString(\n this.selectedDateRange[0],\n this.selectedDateRange[1],\n this.dateFormat\n );\n\n this.value = formattedDate;\n } else {\n // If selectedDateRange is empty, emit sgds-change-date event with an empty string\n this.value = \"\";\n }\n }\n\n @watch(\"value\")\n handleValueChange() {\n this.emit(\"sgds-change-date\");\n }\n\n /** @internal */\n private makeInputValueString = (startDate: Date, endDate: Date, dateFormat: string) => {\n if (!startDate && !endDate) return \"\";\n\n const formatDate = (date: Date) => {\n if (!(date instanceof Date) || isNaN(date.getTime())) {\n return \"\"; // Return an empty string if the date is not a valid Date object\n }\n\n const month = date.getMonth() + 1;\n const day = date.getDate();\n const separator = \"/\";\n const formattedMonth = month > 9 ? month.toString() : `0${month}`;\n const formattedDay = day > 9 ? day.toString() : `0${day}`;\n\n return dateFormat === \"YYYY/MM/DD\"\n ? `${date.getFullYear()}${separator}${formattedMonth}${separator}${formattedDay}`\n : dateFormat === \"DD/MM/YYYY\"\n ? `${formattedDay}${separator}${formattedMonth}${separator}${date.getFullYear()}`\n : `${formattedMonth}${separator}${formattedDay}${separator}${date.getFullYear()}`;\n };\n\n if (startDate && endDate) {\n return `${formatDate(startDate)} - ${formatDate(endDate)}`;\n }\n\n if (startDate) {\n return formatDate(startDate);\n }\n\n return \"\";\n };\n\n /** @internal */\n private handleSelectDates(event: CustomEvent<Date[]>) {\n const newSelectedDates = event.detail;\n if (this.mode === \"range\") {\n // Sort the newSelectedDates array in ascending order\n newSelectedDates.sort((a: Date, b: Date) => a.getTime() - b.getTime());\n\n this.selectedDateRange = newSelectedDates;\n if (this.selectedDateRange.length === 2) {\n this.hideMenu();\n }\n } else if (this.mode === \"single\") {\n this.selectedDateRange = [newSelectedDates[0]];\n\n if (this.selectedDateRange.length === 1) {\n this.hideMenu();\n }\n }\n\n // Get the formattedDate value for the selected dates\n const formattedDate = this.makeInputValueString(\n this.selectedDateRange[0],\n this.selectedDateRange[1],\n this.dateFormat\n );\n\n // Set formattedDate value as the new value for sgds-input\n this.value = formattedDate;\n }\n\n /** @internal */\n private handleViewChanged(event: CustomEvent<string>) {\n this.view = event.detail;\n }\n\n /** @internal */\n private handleDateChanged(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleSelectMonth(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleSelectYear(event: CustomEvent<Date>) {\n this.displayDate = event.detail;\n }\n\n /** @internal */\n private handleButtonResetClick() {\n this.displayDate = new Date();\n this.selectedDateRange = [];\n\n this.value = \"\";\n\n this.hideMenu();\n }\n\n render() {\n let formattedDate = \"\";\n if (this.mode === \"single\") {\n formattedDate = this.makeInputValueString(this.selectedDateRange[0], undefined, this.dateFormat);\n } else if (this.mode === \"range\") {\n formattedDate = this.makeInputValueString(this.selectedDateRange[0], this.selectedDateRange[1], this.dateFormat);\n }\n\n const getPlaceholder = (): string => {\n const validDateFormats: DateFormat[] = [\"MM/DD/YYYY\", \"DD/MM/YYYY\", \"YYYY/MM/DD\"];\n\n if (this.mode === \"range\" && validDateFormats.includes(this.dateFormat)) {\n return `${this.dateFormat.toLowerCase()} - ${this.dateFormat.toLowerCase()}`;\n } else if (this.mode === \"single\" && validDateFormats.includes(this.dateFormat)) {\n return this.dateFormat.toLowerCase();\n }\n\n return \"\";\n };\n\n const svgEl = html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n\n const svgIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-calendar\" viewBox=\"0 0 16 16\">\n <path d=\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"/>\n </svg>\n `;\n return html`\n <div>\n <sgds-input\n id=\"myInput\"\n icon=${svgIcon}\n .value=${live(formattedDate)}\n inputClasses=\"rounded-0 rounded-start\"\n placeholder=\"${getPlaceholder()}\"\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n readonly\n ?required=${this.required}\n ?disabled=${this.disabled}\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-controls=${this.dropdownMenuId}\n ></sgds-input>\n <button\n ?disabled=${this.disabled}\n class=\"btn sgds rounded-0 d-flex align-items-center\"\n @click=${() => this.handleButtonResetClick()}\n >\n ${svgEl}\n </button>\n <ul\n id=${this.dropdownMenuId}\n class=\"sgds datepicker dropdown-menu\"\n role=\"dialog\"\n part=\"menu\"\n @click=${(event: MouseEvent) => event.stopPropagation()}\n >\n <sgds-datepicker-header .view=${this.view} .displayDate=${this.displayDate}></sgds-datepicker-header>\n <sgds-datepicker-calendar\n .view=${this.view}\n .displayDate=${this.displayDate}\n .mode=${this.mode}\n minDate=${this.minDate}\n maxDate=${this.maxDate}\n .selectedDate=${this.selectedDateRange}\n ></sgds-datepicker-calendar>\n </ul>\n </div>\n `;\n }\n}\nexport default SgdsDatepicker;\n","import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n","import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n","import { html, nothing } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, stopAnimations } from \"../../utils/animate.js\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry.js\";\nimport { waitForEvent } from \"../../utils/event.js\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll.js\";\nimport { HasSlotController } from \"../../utils/slot.js\";\nimport { watch } from \"../../utils/watch.js\";\nimport styles from \"./sgds-drawer.scss\";\n\n/**\n * @summary Drawers slide in from a container to expose additional options and information.\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event sgds-show - Emitted when the drawer opens.\n * @event sgds-after-show - Emitted after the drawer opens and all animations are complete.\n * @event sgds-hide - Emitted when the drawer closes.\n * @event sgds-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event sgds-initial-focus - Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} sgds-request-close - Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --sgds-drawer-size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty --sgds-drawer-padding - The amount of padding to use for the header.\n * @cssproperty --sgds-drawer-background-color - The drawer's background color.\n * @cssproperty --sgds-drawer-button-gap - The drawer's flex gap between buttons.\n */\nexport class SgdsDrawer extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n /** @internal */\n private originalTrigger: HTMLElement | null;\n /** @internal */\n @query(\".drawer\") drawer: HTMLElement;\n /** @internal */\n @query(\".drawer-panel\") panel: HTMLElement;\n /** @internal */\n @query(\".drawer-overlay\") overlay: HTMLElement;\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `noHeader`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.\n */\n @property({ reflect: true }) label = \"\";\n\n /** The direction from which the drawer will open. */\n @property({ reflect: true }) placement: \"top\" | \"end\" | \"bottom\" | \"start\" = \"end\";\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @property({ type: Boolean, reflect: true }) noHeader = false;\n\n firstUpdated() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n lockBodyScrolling(this);\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n private uppercaseFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const slRequestClose = this.emit(\"sgds-request-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (slRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"drawer.denyClose\");\n animateTo(this.panel, animation.keyframes, animation.options);\n return;\n }\n\n this.hide();\n }\n\n private addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (this.open && !this.contained && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n };\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n lockBodyScrolling(this);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/shoelace-style/shoelace/issues/693\n //\n const autoFocusTarget = this.querySelector(\"[autofocus]\");\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute(\"autofocus\");\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n this.drawer.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const slInitialFocus = this.emit(\"sgds-initial-focus\", { cancelable: true });\n\n if (!slInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({ preventScroll: true });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute(\"autofocus\", \"\");\n }\n });\n\n const panelAnimation = getAnimation(this, `drawer.show${this.uppercaseFirstLetter(this.placement)}`);\n const overlayAnimation = getAnimation(this, \"drawer.overlay.show\");\n await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]);\n\n this.emit(\"sgds-after-show\");\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n\n if (!this.contained) {\n unlockBodyScrolling(this);\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, `drawer.hide${this.uppercaseFirstLetter(this.placement)}`);\n const overlayAnimation = getAnimation(this, \"drawer.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]);\n\n this.drawer.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n @watch(\"contained\", { waitUntilFirstUpdate: true })\n handleNoModalChange() {\n if (this.open && !this.contained) {\n lockBodyScrolling(this);\n }\n\n if (this.open && this.contained) {\n unlockBodyScrolling(this);\n }\n }\n\n /** Shows the drawer. */\n public async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the drawer */\n public async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n drawer: true,\n \"drawer-open\": this.open,\n \"drawer-top\": this.placement === \"top\",\n \"drawer-end\": this.placement === \"end\",\n \"drawer-bottom\": this.placement === \"bottom\",\n \"drawer-start\": this.placement === \"start\",\n \"drawer-contained\": this.contained,\n \"drawer-fixed\": !this.contained,\n \"drawer-has-footer\": this.hasSlotController.test(\"footer\")\n })}\n >\n <div part=\"overlay\" class=\"drawer-overlay\" @click=${() => this.requestClose(\"overlay\")} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"drawer-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.label : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"0\"\n >\n ${!this.noHeader\n ? html`\n <header part=\"header\" class=\"drawer-header\">\n <h2 part=\"title\" class=\"drawer-title\" id=\"title\">\n <!-- If there's no label, use an invisible character to prevent the header from collapsing -->\n <slot name=\"label\"> ${this.label.length > 0 ? this.label : String.fromCharCode(65279)} </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer-header-actions\">\n <slot name=\"header-actions\"></slot>\n <button\n part=\"close-button\"\n class=${classMap({\n \"drawer-close\": true,\n \"btn-sm\": true,\n \"btn-close\": true\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n ></button>\n </div>\n </header>\n `\n : nothing}\n\n <slot part=\"body\" class=\"drawer-body\"></slot>\n\n <footer part=\"footer\" class=\"drawer-footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\n// Top\nsetDefaultAnimation(\"drawer.showTop\", {\n keyframes: [\n { opacity: 0, translate: \"0 -100%\" },\n { opacity: 1, translate: \"0 0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideTop\", {\n keyframes: [\n { opacity: 1, translate: \"0 0\" },\n { opacity: 0, translate: \"0 -100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// End\nsetDefaultAnimation(\"drawer.showEnd\", {\n keyframes: [\n { opacity: 0, translate: \"100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: \"-100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideEnd\", {\n keyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"100%\" }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"-100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Bottom\nsetDefaultAnimation(\"drawer.showBottom\", {\n keyframes: [\n { opacity: 0, translate: \"0 100%\" },\n { opacity: 1, translate: \"0 0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideBottom\", {\n keyframes: [\n { opacity: 1, translate: \"0 0\" },\n { opacity: 0, translate: \"0 100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Start\nsetDefaultAnimation(\"drawer.showStart\", {\n keyframes: [\n { opacity: 0, translate: \"-100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: \"100%\" },\n { opacity: 1, translate: \"0\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"drawer.hideStart\", {\n keyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"-100%\" }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: \"0\" },\n { opacity: 0, translate: \"100%\" }\n ],\n options: { duration: 250, easing: \"ease\" }\n});\n\n// Deny close\nsetDefaultAnimation(\"drawer.denyClose\", {\n keyframes: [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }],\n options: { duration: 250 }\n});\n\n// Overlay\nsetDefaultAnimation(\"drawer.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation(\"drawer.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\n});\n\nexport default SgdsDrawer;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\n\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [DropdownElement.styles];\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n private togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n role=\"button\"\n variant=\"outline-${this.variant}\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n","import { html } from \"lit\";\nimport SgdsElement from \"./sgds-element\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n/**\n * @slot default - Default slot for SgdsMainnavItem anchor element\n */\n\nexport default class LinkElement extends SgdsElement {\n static styles = SgdsElement.styles;\n\n /** when true, sets the active stylings of .nav-link */\n @property({ type: Boolean })\n active = false;\n\n /** Href attribute for anchor element in SgdsMainnavItem */\n @property({ type: String })\n href = \"\";\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Where to display the linked URL, as the name for a browsing context. Forwards to the HTMLAnchor target attribute */\n @property({ type: String, reflect: true })\n target: \"_blank\" | \"_parent\" | \"_self\" | \"_top\" = \"_self\";\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"nav-link ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n target=${this.target}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n","import { html } from \"lit\";\nimport { query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport LinkElement from \"../../base/link-element\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n */\nexport class SgdsDropdownItem extends LinkElement {\n static styles = [LinkElement.styles];\n\n /**@internal */\n @query(\"a\")\n private anchor: HTMLElement;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.anchor.click();\n }\n });\n }\n\n render() {\n return html`\n <li>\n <a\n href=\"${this.href}\"\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active\n })}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n role=\"menuitem\"\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n target=${this.target}\n ><slot></slot\n ></a>\n </li>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n","import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport styles from \"./sgds-file-upload.scss\";\n\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --fileupload-file-icon-fill - Left icon fill color\n * @cssproperty --fileupload-remove-icon-fill - Remove icon fill color\n * @cssproperty --fileupload-remove-icon-hover-fill - Remove icon mouse over fill color\n *\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [SgdsElement.styles, styles];\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n // /** Sets a unique id to the file input, required. */\n // @property({ type: String }) controlId = \"\";\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this.setFileList(files);\n this.requestUpdate();\n }\n\n /** @internal */\n removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this.setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"red\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item d-flex gap-2\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this.removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n class=\"d-none form-control\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n />\n <sgds-button size=${this.size} variant=${this.variant} ?disabled=${this.disabled} @click=${this.handleClick}>\n <slot></slot>\n </sgds-button>\n\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-footer.scss\";\n\nexport interface ColumnLinks {\n title: string;\n links: Links[];\n}\nexport interface Links {\n href: string;\n label: string;\n}\n\n/**\n * @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.\n *\n * @csspart footer-top - The component's footer-top section container.\n * @csspart footer-bottom - The component's footer-bottom section container.\n *\n * @cssproperty footer-top - The component's footer-top section container.\n * @cssproperty footer-bottom - The component's footer-bottom section container.\n */\nexport class SgdsFooter extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * \tSets title of SgdsFooter\n */\n @property({ type: String })\n title = \"\";\n\n /**\n * \tSets description of SgdsFooter\n */\n @property({ type: String })\n description = \"\";\n\n /**\n * \tSets copyrightLiner of SgdsFooter\n */\n @property({ type: String })\n copyrightLiner = \"Government of Singapore\";\n\n /**\n * Array of type\n *\n * `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`\n */\n @property({\n type: Array\n })\n links: ColumnLinks[] = [];\n\n /**\n * String date for last updated date\n */\n @property({ type: String })\n lastUpdatedDate = \"\";\n\n /**\n * \thref link for contacts\n */\n @property({ type: String })\n contactHref = \"#\";\n\n /**\n * \thref link for feedback\n */\n @property({ type: String })\n feedbackHref = \"#\";\n\n /**\n * \thref link for privacy statement\n */\n @property({ type: String })\n privacyHref = \"#\";\n\n /**\n * \thref link for terms of use\n */\n @property({ type: String })\n termsOfUseHref = \"#\";\n\n render() {\n // if description is defined\n const hasDescription = html` <div class=\"description\">${this.description}</div>`;\n\n return html`\n <footer class=\"sgds footer\">\n <section class=\"footer-top\" part=\"footer-top\">\n <div class=\"container-fluid\">\n <div class=\"row footer-header\">\n <div class=\"col col-lg-6 col-md-12\">\n <div class=\"title\">${this.title ? this.title : \"Footer title\"}</div>\n ${this.description ? hasDescription : undefined}\n </div>\n </div>\n <div class=\"row footer-items\">\n ${this.links.map(\n (item: ColumnLinks) =>\n html`\n <div class=\"col-xxl-2 col-md-4 mb-3\">\n <div class=\"title\">${item.title}</div>\n <ul class=\"links\">\n ${item.links.map((link: Links) => html` <li><a href=${link.href}>${link.label}</a></li> `)}\n </ul>\n </div>\n `\n )}\n </div>\n <div class=\"row footer-contact-links\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end\">\n <ul>\n <li><a href=${this.contactHref}>Contact</a></li>\n <li><a href=${this.feedbackHref}>Feedback</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section class=\"footer-bottom\" part=\"footer-bottom\">\n <div class=\"container-fluid\">\n <div class=\"row footer-mandatory-links\">\n <div class=\"col\">\n <ul>\n <li>\n <a href=\"https://tech.gov.sg/report_vulnerability\" target=\"_blank\" rel=\"noopener noreferrer\"\n >Report Vulnerability\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-box-arrow-up-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"\n />\n <path\n fill-rule=\"evenodd\"\n d=\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z\"\n /></svg\n ></a>\n </li>\n <li><a href=${this.privacyHref}>Privacy Statement</a></li>\n <li><a href=${this.termsOfUseHref}>Terms of use</a></li>\n </ul>\n </div>\n </div>\n <div class=\"row footer-copyrights\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end text-end\">\n © ${new Date().getFullYear()} ${this.copyrightLiner}<br />\n Last Updated ${this.lastUpdatedDate}\n </div>\n </div>\n </div>\n </div>\n </section>\n </footer>\n `;\n }\n}\n\nexport default SgdsFooter;\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export const LG_BREAKPOINT = 992;\nexport const MD_BREAKPOINT = 768;\nexport const SM_BREAKPOINT = 576;\nexport const XL_BREAKPOINT = 1200;\nexport const XXL_BREAKPOINT = 1400;\n","import Collapse from \"bootstrap/js/src/collapse\";\nimport type { Collapse as BsCollapse } from \"bootstrap\";\nimport { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { LG_BREAKPOINT, MD_BREAKPOINT, SM_BREAKPOINT, XL_BREAKPOINT, XXL_BREAKPOINT } from \"../../utils/breakpoints\";\nimport genId from \"../../utils/generateId\";\nimport styles from \"./sgds-mainnav.scss\";\n\nexport type MainnavExpandSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\" | \"always\" | \"never\";\n\nconst SIZES = {\n sm: SM_BREAKPOINT,\n md: MD_BREAKPOINT,\n lg: LG_BREAKPOINT,\n xl: XL_BREAKPOINT,\n XXL: XXL_BREAKPOINT,\n never: Infinity,\n always: -1\n};\n\n/**\n * @summary This component is the primary means that your users will use to navigate through your portal. It includes horizontal navigation and branding to identify your site.\n *\n * @slot - Default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here.\n * @slot end - Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu.\n * @slot brand - Brand slot of SgdsMainnav. Pass in brand logo img here\n * @slot non-collapsible - Elements in this slot will not be collapsed\n *\n * @cssproperty --mainnav-background-color - Navbar's background color.\n * @cssproperty --mainnav-padding-x - left and right padding for browser width > 768px\n * @cssproperty --mainnav-padding-y - top and bottom padding for browser width > 768px\n * @cssproperty --mainnav-mobile-padding-x - left and right padding for browser width < 768px\n * @cssproperty --mainnav-mobile-padding-y - top and bottom padding for browser width < 768px\n * @cssproperty --mainnav-borderBottom-width - bottom border width\n * @cssproperty --mainnav-borderBottom-color - borderBottom width color\n */\nexport class SgdsMainnav extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n constructor() {\n super();\n window.addEventListener(\"resize\", () => {\n const newBreakpointReachedValue = window.innerWidth < SIZES[this.expand];\n if (newBreakpointReachedValue !== this.breakpointReached) {\n this.requestUpdate();\n }\n });\n }\n /** @internal */\n private myCollapse: Ref<HTMLElement> = createRef();\n /** @internal */\n private bsCollapse: BsCollapse = null;\n\n private _onClickButton() {\n this.bsCollapse.toggle();\n }\n\n /** The href link for brand logo */\n @property({ type: String })\n brandHref = \"\";\n\n private collapseId = genId(\"mainnav\", \"collapse\");\n\n /** The breakpoint, below which, the Navbar will collapse. When always the Navbar will always be expanded regardless of screen size. When never, the Navbar will always be collapsed */\n @property({ type: String })\n expand: MainnavExpandSize = \"lg\";\n\n /** @internal */\n @state()\n breakpointReached = false;\n\n /** @internal */\n @state()\n expanded = false;\n\n firstUpdated() {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: false\n });\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.expanded = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.expanded = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.expanded = false;\n });\n }\n // assigning name attribute to elements added in slot=\"end\", to use wildcard css selector to assign styles only to *-mainnav-item\n _handleSlotChange(e: Event) {\n const childElements = (e.target as HTMLSlotElement).assignedElements({ flatten: true });\n\n childElements.forEach(e => {\n e.setAttribute(\"name\", e.tagName.toLowerCase());\n });\n }\n\n render() {\n this.breakpointReached = window.innerWidth < SIZES[this.expand];\n const collapseClass = \"collapse navbar-collapse order-2\";\n return html`\n <nav\n class=\"sgds navbar navbar-light\n ${this._expandClass()}\"\n >\n <a class=\"navbar-brand me-auto order-first\" href=${this.brandHref} aria-label=\"brand-link\">\n <slot name=\"brand\"></slot>\n </a>\n <slot name=\"non-collapsible\" class=\"${this.breakpointReached ? \"order-1\" : \"order-last\"}\"></slot>\n <button\n class=\"navbar-toggler order-1\"\n type=\"button\"\n @click=${() => this._onClickButton()}\n aria-controls=\"${this.collapseId}\"\n aria-expanded=\"${this.expanded}\"\n aria-label=\"Toggle navigation\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"30\"\n height=\"30\"\n fill=\"currentColor\"\n class=\"bi bi-list\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"\n />\n </svg>\n </button>\n <div class=${collapseClass} ${ref(this.myCollapse)} id=${this.collapseId}>\n <ul class=\"navbar-nav\">\n <slot></slot>\n <slot\n name=\"end\"\n class=${classMap({ \"slot-end\": !this.breakpointReached })}\n @slotchange=${this._handleSlotChange}\n ></slot>\n </ul>\n </div>\n </nav>\n `;\n }\n _expandClass() {\n switch (this.expand) {\n case \"always\":\n return \"navbar-expand\";\n case \"never\":\n break;\n default:\n return `navbar-expand-${this.expand}`;\n }\n }\n}\n\nexport default SgdsMainnav;\n","import { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownElement } from \"../../base/dropdown-element\";\nimport styles from \"./sgds-mainnav-dropdown.scss\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\n\n/**\n * @slot default - The menu items. Pass in sgds-dropdown-item as the menu items\n * @slot toggler - The content of the toggler to pass in html content. `togglerText` property takes precedence over this slot when both are defined.\n */\nexport class SgdsMainnavDropdown extends DropdownListElement {\n static styles = [DropdownElement.styles, styles];\n\n /**@internal */\n @queryAsync(\"a\")\n private dropdownRef: Promise<HTMLAnchorElement>;\n\n /** @internal Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n private togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n private togglerText = \"\";\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n\n render() {\n return html`\n <li class=\"nav-item dropdown\">\n <a\n class=\"nav-link\"\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n role=\"button\"\n >\n ${this.togglerText ? this.togglerText : html`<slot name=\"toggler\"></slot>`}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </a>\n <ul class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </ul>\n </li>\n `;\n }\n}\n\nexport default SgdsMainnavDropdown;\n","import LinkElement from \"../../base/link-element\";\nimport styles from \"./sgds-mainnav-item.scss\";\n\n/**\n * @slot default - slot for SgdsMainnavItem element.\n *\n * @cssproperty --mainnav-item-theme-color - Hover and active color for mainnav items.\n * @cssproperty --mainnav-item-color - Text color of nav item.\n * @cssproperty --mainnav-item-borderBottom-width - border bottom width for hover and active state for nav item\n */\nexport class SgdsMainnavItem extends LinkElement {\n static styles = [LinkElement.styles, styles];\n}\n\nexport default SgdsMainnavItem;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-masthead.scss\";\n\n/**\n * @summary All .gov.sg digital services shall adopt The Official Government Banner for every page in the digital service and be placed at the top of the page.\n *\n * @cssproperty --masthead-font-family - Sets font family for masthead\n * @cssproperty --masthead-text-color - Sets overall text color\n * @cssproperty --masthead-link-color - Sets link color for `How to identify?` and `Trusted Site`\n * @cssproperty --masthead-link-color-hover - Sets link hover color for `How to identify?` and `Trusted Site`\n * @cssproperty --masthead-mobile-font-size - Sets the padding left and right for viewport width 1024px and below\n * @cssproperty --masthead-mobile-padding-x - Sets the font size for viewport width 1024px and below\n * @cssproperty --masthead-fluid-padding-x - Sets the container-fluid padding left and right for viewport width 1024px and above\n * @cssproperty --masthead-crest-color - Sets the lion head crest color.\n */\nexport class SgdsMasthead extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * Sets the masthead container width to 100% for all breakpoints\n */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n /** @internal */\n @state()\n toggleVisibility = false;\n\n /** @internal */\n private _toggleVisibility() {\n this.toggleVisibility = !this.toggleVisibility;\n }\n\n render() {\n return html`\n <div id=\"sgds-masthead\" class=\"sgds-masthead\" aria-label=\"A Singapore Government Agency Website\">\n <div class=\"${this.fluid ? \"container-fluid\" : \"container\"}\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"masthead-layout\">\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n class=\"sg-crest\"\n >\n <path\n d=\"M5.896 11.185c0 0-0.949 1.341 0.294 3.075 0 0 0.196-0.883 2.159-0.883h2.356c2.225 0 3.893-2.126 2.846-4.319 0 0 1.57 0.164 2.095-0.818 0.523-0.981-0.033-1.374-0.818-1.374h-3.959c0 0.704-1.341 0.802-1.341 0h-2.225c0 0-1.669 0-1.701 1.407 0 0 0.377-0.229 0.752-0.261v0.375c0 0-0.458 0.082-0.671 0.197-0.212 0.114-0.523 0.425-0.228 1.227 0.294 0.801 0.409 1.079 0.409 1.079s0.475-0.41 1.244-0.41h0.9c1.602 0 1.308 1.554-0.295 1.554s-1.815-0.85-1.815-0.85z\"\n ></path>\n <path\n d=\"M14.255 9.566c0 0 0.54 0.033 0.932-0.31 0 0 3.55 2.765-1.717 8.326-5.268 5.562-1.195 9.162-1.195 9.162s-0.948 0.915-0.409 2.699c0 0-2.191-1.237-3.867-3.338-2.422-3.036-3.902-7.681 2.749-11.386 0 0 4.389-2.208 3.506-5.153z\"\n ></path>\n <path\n d=\"M8.829 6.343c0 0 0.709-1.265 2.355-1.265 1.298 0 1.594-0.666 1.594-0.666s0.566-1.079 3.424-1.079c2.619 0 4.384 0.873 5.812 2.039 0 0-3.85-2.388-7.645 0.971h-5.54z\"\n ></path>\n <path\n d=\"M24.839 14.348c-0.109-3.948-3.163-8.179-9.728-7.939 6.413-5.431 17.537 6.695 8.375 13.066 0 0 1.533-2.186 1.353-5.126z\"\n ></path>\n <path\n d=\"M16.093 6.845c8.005-0.24 10.863 9.357 5.693 13.676l-5.191 2.509c0 0-0.676-2.181 1.833-4.734 2.509-2.551 4.929-7.328-2.006-10.469 0 0 0.131-0.654-0.327-0.981z\"\n ></path>\n <path\n d=\"M15.678 9.004c0 0 0.393-0.371 0.524-0.676 5.954 2.486 5.017 6.697 1.461 10.23-2.181 2.246-1.505 4.668-1.505 4.668s-2.66 1.657-3.577 3.097c0 0-3.852-3.28 1.483-8.724 5.235-5.344 1.614-8.594 1.614-8.594z\"\n ></path>\n </svg>\n <span>A Singapore Government Agency Website</span>\n <div\n class=\"sgds-masthead-button\"\n id=\"sgds-masthead-identify\"\n role=\"button\"\n aria-expanded=\"${this.toggleVisibility}\"\n aria-controls=\"sgds-masthead-content\"\n @click=${() => this._toggleVisibility()}\n >\n <span class=\"sgds-masthead-button-text\">How to identify</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n class=\"sgds-masthead-identify-icon ${!this.toggleVisibility ? null : \"show\"}\"\n >\n <path\n d=\"M8.65188 6.85L8.64813 6.84625L10.0031 5.49125L17.0744 12.5625L15.7194 13.9175L10.0075 8.20562L4.2875 13.9256L2.9325 12.5706L8.6525 6.85062L8.65188 6.85Z\"\n fill=\"#2F60CE\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div\n id=\"sgds-masthead-content\"\n class=\"container sgds-masthead-content ${this.toggleVisibility ? \"show\" : null}\"\n >\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"content-grid\">\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Official website links end with .gov.sg</div>\n <article>\n Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open).<a\n href=\"https://www.gov.sg/trusted-sites#govsites\"\n class=\"trusted-websites-link\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >Trusted websites<svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 32 32\"\n class=\"trusted-websites-icon\"\n >\n <path\n d=\"M18.667 4v2.667h4c0.186-0.020 0.374-0.020 0.56 0l-2.667 2.667-6.973 6.987 1.88 1.88 9.733-9.667c0.092 0.257 0.137 0.528 0.133 0.8v4h2.667v-9.333h-9.333z\"\n ></path>\n <path\n d=\"M22.667 25.333h-16v-16h8v-2.667h-8c-1.473 0-2.667 1.194-2.667 2.667v16c0 1.473 1.194 2.667 2.667 2.667h16c1.473 0 2.667-1.194 2.667-2.667v-8h-2.667v8z\"\n ></path></svg\n ></a>\n </article>\n </div>\n </div>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Secure websites use HTTPS</div>\n <article>\n Look for a<b> lock </b>(<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon-inline\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path></svg\n >) or https:// as an added precaution. Share sensitive information only on official, secure\n websites.\n </article>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsMasthead;\n","/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n","import { getTabbableBoundary } from \"./tabbable\";\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: \"forward\" | \"backward\" = \"forward\";\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleKeyUp = this.handleKeyUp.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener(\"focusin\", this.handleFocusIn);\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"keyup\", this.handleKeyUp);\n }\n\n deactivate() {\n activeModals = activeModals.filter(modal => modal !== this.element);\n document.removeEventListener(\"focusin\", this.handleFocusIn);\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"keyup\", this.handleKeyUp);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n checkFocus() {\n if (this.isActive()) {\n if (!this.element.matches(\":focus-within\")) {\n const { start, end } = getTabbableBoundary(this.element);\n const target = this.tabDirection === \"forward\" ? start : end;\n\n if (typeof target?.focus === \"function\") {\n target.focus({ preventScroll: true });\n }\n }\n }\n }\n\n handleFocusIn() {\n this.checkFocus();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.tabDirection = \"backward\";\n\n // Ensure focus remains trapped after the key is pressed\n requestAnimationFrame(() => this.checkFocus());\n }\n }\n\n handleKeyUp() {\n this.tabDirection = \"forward\";\n }\n}\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport Modal from \"../../utils/modal\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-modal.scss\";\n\n/**\n * @summary The modal component inform users about a specific task and may contain critical information which users then have to make a decision.\n *\n * @slot default - The content of the Modal's body.\n * @slot footer - The content of the Modal's footer, typically used to pass in buttons for call to action.\n *\n * @event sgds-close - Emitted when the modal is called to close via mouseclick of close button, overlay or via keyboard esc key\n * @event sgds-show - Emitted when the modal opens\n * @event sgds-hide - Emitted when the modal closes\n * @event sgds-after-show - Emitted after modal opens and the animations has completed\n * @event sgds-after-hide - Emitted after modal closes and the animations has completed\n *\n * @csspart base - The component's base wrapper\n * @csspart overlay - The overlay that covers the screen behind the dialog\n * @csspart panel - The modal's dialog panel\n * @csspart header - The modal's header that wraps the title, titleIcon and close button\n * @csspart title - The h3 element wrapping title and titleIcon\n * @csspart body - The modal's body where the content lies\n * @csspart footers - The modal's footer\n *\n * @cssproperty --modal-padding - The general modal padding of modal component. Applied to body, footer and header.\n * @cssproperty --modal-panel-z-index - The z-index of modal panel\n * @cssproperty --modal-panel-width - The width of modal panel.\n * @cssproperty --modal-panel-height - The height of modal panel.\n * @cssproperty --modal-panel-background-color - The background color of modal panel\n * @cssproperty --modal-panel-border-radius - The border radius of modal panel\n * @cssproperty --modal-header-bottom-border-line-width - The line width of header's bottom border\n * @cssproperty --modal-overlay-background-color - The overlay's background color\n */\nexport class SgdsModal extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**@internal */\n @query(\".modal\") dialog: HTMLElement;\n /**@internal */\n @query(\".modal-panel\") panel: HTMLElement;\n /**@internal */\n @query(\".modal-overlay\") overlay: HTMLElement;\n /**@internal */\n @query(\".modal-title\") heading: HTMLElement;\n /**@internal */\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n /**@internal */\n private modal: Modal;\n /**@internal */\n private originalTrigger: HTMLElement | null;\n\n /**Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods. */\n @property({ type: Boolean, reflect: true }) open = false;\n // @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n /**The modal's title as displayed in the header */\n @property({ reflect: true }) title = \"\";\n /**The modal's icon as displayed in the header. Pass in SVG format icons as string directly */\n @property({ reflect: true }) titleIcon = \"\";\n /** Disables the header. This will also remove the default close button */\n @property({ type: Boolean, reflect: true }) noHeader = false;\n /** Centers the modal vertically in page */\n @property({ type: Boolean, reflect: true }) centered = false;\n /** Centers the contents inside the modal */\n @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n /** Removes the default animation when opening and closing of modal */\n @property({ type: Boolean, reflect: true }) noAnimation = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.modal = new Modal(this);\n }\n\n firstUpdated() {\n this.dialog.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n /** Shows the dialog. */\n public async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the dialog */\n public async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const sgdsRequestClose = this.emit(\"sgds-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (sgdsRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"modal.denyClose\");\n animateTo(this.panel, animation.keyframes);\n return;\n }\n\n this.hide();\n }\n\n addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n this.modal.activate();\n\n lockBodyScrolling(this);\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n this.dialog.hidden = false;\n\n const panelAnimation = getAnimation(this, \"modal.show\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.show\");\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]));\n\n this.emit(\"sgds-after-show\");\n\n // Add focus on modal heading after opening it\n this.heading.focus();\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n this.modal.deactivate();\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, \"modal.hide\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]));\n\n this.dialog.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n unlockBodyScrolling(this);\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n const withLabelIcon = html`${unsafeSVG(this.titleIcon)}`;\n return html`\n <div\n part=\"base\"\n class=${classMap({\n modal: true,\n \"modal--open\": this.open,\n \"modal--has-footer\": this.hasSlotController.test(\"footer\"),\n centered: this.centered\n })}\n >\n <div part=\"overlay\" class=\"modal-overlay\" @click=${() => this.requestClose(\"overlay\")}></div>\n\n <div\n part=\"panel\"\n class=\"modal-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.title : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"-1\"\n >\n ${!this.noHeader\n ? html`\n <div\n part=\"header\"\n class=${classMap({\n \"modal-header\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <h3\n part=\"title\"\n class=${classMap({\n \"modal-title\": true,\n centered: this.centeredAlignVariant\n })}\n id=\"title\"\n tabindex=\"-1\"\n >\n ${this.titleIcon ? withLabelIcon : \"\"} ${this.title}\n </h3>\n <button\n class=${classMap({\n \"modal-close\": true,\n \"btn-sm\": true,\n \"btn-close\": true,\n centered: this.centeredAlignVariant\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n aria-label=\"close modal\"\n ></button>\n </div>\n `\n : \"\"}\n\n <div\n part=\"body\"\n class=${classMap({\n \"modal-body\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot></slot>\n </div>\n\n <footer\n part=\"footer\"\n class=${classMap({\n \"modal-footer\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"modal.show\", {\n keyframes: [\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" },\n { opacity: 1, transform: \"scale(1) translate(0, 0%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.hide\", {\n keyframes: [\n { opacity: 1, transform: \"scale(1) translate(0, 0)\" },\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.denyClose\", {\n keyframes: [{ transform: \"scale(1)\" }, { transform: \"scale(1.02)\" }, { transform: \"scale(1)\" }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 400 }\n});\n\nexport default SgdsModal;\n","import { TemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-pagination.scss\";\nimport { watch } from \"../../utils/watch\";\n\n/**\n * @summary The Pagination component enables the user to select a specific page from a range of pages\n *\n * @event sgds-page-change - Event is emitted when `handleNextButton`, `handlePrevButton`, `handleNextEllipsisButton` and `handlePrevEllipsisButton` was called.\n *\n * @cssproperty --pagination-color Sets the pagination color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-bg-color Sets the pagination background color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-hover-bg-color Sets the pagination hover state background color. <br>Default value `--sgds-gray-200`\n * @cssproperty --pagination-hover-border-color Sets the pagination hover state border color. <br>Default value `--sgds-gray-300`\n * @cssproperty --pagination-active-color Sets the pagination hover state color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-active-bg-color Sets the pagination active state background color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-disabled-color Sets the pagination disabled state color. <br>Default value `--sgds-gray-600`\n * @cssproperty --pagination-disabled-bg-color Sets the pagination disabled state background color. <br>Default value `--sgds-white`\n *\n *\n **/\nexport class SgdsPagination extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Inserts the length value from a given sets of data objects*/\n @property({ type: Number }) dataLength = 0;\n\n /** Sets the starting active page upon render*/\n @property({ type: Number }) currentPage = 1;\n\n /** Sets the amount of data objects to be displayed per page */\n @property({ type: Number }) itemsPerPage = 5;\n\n /** Sets the page limit to be displayed at any given render. e.g 3, 5, 7, 9 */\n @property({ type: Number }) limit = 3;\n\n /** Sets the page direction button to contain text and/or icon */\n @property({ type: String }) directionVariant: directionVariant = \"icon-text\";\n\n /** Sets the size of all page items. */\n @property({ type: String }) size: sizeVariant = \"sm\";\n\n /** Toggles ellipsis buttons to be able to increment/decrement pages based on the ellipsisJump value set. By default, it will be false */\n @property({ type: Boolean }) ellipsisOn = false;\n\n /** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/\n @property({ type: Number }) ellipsisJump = 3;\n\n @watch(\"currentPage\")\n handleValueChange() {\n this.emit(\"sgds-page-change\", { detail: { currentPage: this.currentPage } });\n }\n\n /** @internal */\n private handlePageClick(event: MouseEvent) {\n const liTarget = event.target as HTMLElement;\n const clickedLi = liTarget.closest(\"li\");\n\n if (clickedLi) {\n const clickedPage = Number(clickedLi.getAttribute(\"key\"));\n if (clickedPage !== this.currentPage) {\n this.currentPage = clickedPage;\n }\n }\n }\n\n /** @internal */\n private handleNextButton() {\n this.currentPage = this.currentPage + 1;\n }\n\n /** @internal */\n private handlePrevButton() {\n this.currentPage = this.currentPage - 1;\n }\n\n /** @internal */\n private handleNextEllipsisButton() {\n this.currentPage = this.currentPage + this.ellipsisJump;\n if (this.currentPage >= this.pages.length) this.currentPage = this.pages.length;\n }\n\n /** @internal */\n private handlePrevEllipsisButton() {\n this.currentPage = this.currentPage - this.ellipsisJump;\n if (this.currentPage <= 1) this.currentPage = this.pages[0];\n }\n\n /** @internal */\n private get pages() {\n const pages = [];\n for (let i = 1; i <= Math.ceil(this.dataLength / this.itemsPerPage); i++) {\n pages.push(i);\n }\n return pages;\n }\n\n /** @internal */\n private get sanitizeLimit() {\n return this.limit >= this.pages.length ? this.pages.length : this.limit;\n }\n\n /**@internal */\n private _handleKeyDown(\n event: KeyboardEvent,\n action: string,\n number?: number,\n isFirstEllipsis?: boolean,\n isPrevButton?: boolean\n ) {\n if (event.key === \"Enter\") {\n switch (action) {\n case \"pageNumber\":\n this.currentPage = number;\n break;\n case \"ellipsis\":\n if (isFirstEllipsis) {\n this.handlePrevEllipsisButton();\n } else {\n this.handleNextEllipsisButton();\n }\n break;\n case \"directionButton\":\n if (isPrevButton) {\n this.handlePrevButton();\n } else {\n this.handleNextButton();\n }\n break;\n }\n }\n }\n\n /** @internal */\n private renderPgNumbers() {\n const pagesToShow = [];\n let sanitizeStartPage = 1;\n let endPage: number;\n\n if (this.limit < this.pages.length) {\n sanitizeStartPage = this.currentPage - Math.floor(this.sanitizeLimit / 2);\n }\n\n if (this.pages.length - sanitizeStartPage < this.limit) {\n sanitizeStartPage = this.pages.length + 1 - this.limit;\n }\n\n if (sanitizeStartPage <= 0) {\n sanitizeStartPage = 1;\n }\n\n endPage = sanitizeStartPage + this.sanitizeLimit - 1;\n\n if (endPage > this.pages.length) {\n endPage = this.pages.length;\n }\n\n if (this.currentPage === this.pages.length) {\n sanitizeStartPage = this.pages.length - this.sanitizeLimit + 1;\n }\n\n for (let i = sanitizeStartPage; i <= endPage; i++) {\n pagesToShow.push(i);\n }\n\n return pagesToShow.map(\n number => html`\n <li key=${number} class=\"page-item ${this.currentPage === number ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this.handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", number)}\n >${number}</span\n >\n </li>\n `\n );\n }\n\n private ellipsisContent = html`\n <span aria-hidden=\"true\">…</span>\n <span class=\"visually-hidden\">Ellipsis</span>\n `;\n\n /** @internal */\n private renderFirstEllipsis = () => {\n const isDisabled = !(\n this.pages.length !== this.sanitizeLimit && this.currentPage - Math.floor(this.sanitizeLimit / 2) > 1\n );\n\n if (isDisabled) {\n return null;\n }\n\n const tabIndex = isDisabled ? -1 : 0;\n\n return html`\n <li\n class=\"page-item\"\n @click=${this.handlePrevEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, true)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n };\n\n /** @internal */\n private renderLastEllipsis() {\n const isEvenLimit = this.sanitizeLimit % 2 === 0;\n const differentialLimitCondition = isEvenLimit\n ? this.currentPage + Math.floor(this.sanitizeLimit / 2) <= this.pages.length\n : this.currentPage + Math.floor(this.sanitizeLimit / 2) < this.pages.length;\n\n const shouldRenderEllipsis = this.pages.length !== this.limit && differentialLimitCondition;\n const tabIndex = shouldRenderEllipsis && this.ellipsisOn ? 0 : -1;\n if (!shouldRenderEllipsis || this.sanitizeLimit >= this.pages.length) {\n return null;\n }\n\n if (this.ellipsisOn) {\n return html`\n <li\n class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \"\n @click=${this.handleNextEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, false)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n } else {\n return html`\n <li class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \">\n <span class=\"page-link disabled\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n }\n }\n\n /** @internal */\n private getLeftChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private getRightChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private renderDirectionButton(\n directionLabel: string,\n iconClass: string,\n clickHandler: (event: MouseEvent) => void,\n keydownHandler: (event: KeyboardEvent) => void,\n directionVariant: string\n ): TemplateResult {\n const isDisabled = iconClass === \"left\" ? this.currentPage === 1 : this.currentPage === this.pages.length;\n\n const tabIndex = isDisabled ? -1 : 0;\n\n const keydownListener = (event: KeyboardEvent) => {\n if (!isDisabled && event.key === \"Enter\") {\n keydownHandler(event);\n }\n };\n\n return html`\n <li class=\"page-item ${isDisabled ? \"disabled\" : \"\"}\" @click=${isDisabled ? undefined : clickHandler}>\n <span class=\"page-link\" tabindex=${tabIndex} @keydown=${keydownListener}>\n ${directionVariant === \"icon-text\"\n ? html`\n ${iconClass === \"left\" ? this.getLeftChevronSVG() : \"\"} ${directionLabel}\n ${iconClass === \"right\" ? this.getRightChevronSVG() : \"\"}\n `\n : directionVariant === \"text\"\n ? html`${directionLabel}`\n : directionVariant === \"icon\"\n ? html`${iconClass === \"left\" ? this.getLeftChevronSVG() : this.getRightChevronSVG()}`\n : html``}\n </span>\n </li>\n `;\n }\n\n render() {\n return html`\n <nav aria-label=\"pagination\">\n <ul class=\"pagination pagination-${this.size} sgds\" directionVariant=${this.directionVariant}>\n ${this.renderDirectionButton(\n \"Previous\",\n \"left\",\n this.handlePrevButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, true),\n this.directionVariant\n )}\n ${this.ellipsisOn ? this.renderFirstEllipsis() : null} ${this.renderPgNumbers()} ${this.renderLastEllipsis()}\n ${this.renderDirectionButton(\n \"Next\",\n \"right\",\n this.handleNextButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, false),\n this.directionVariant\n )}\n </ul>\n </nav>\n `;\n }\n}\n\nexport type directionVariant = \"icon\" | \"icon-text\" | \"text\";\n\nexport type sizeVariant = \"sm\" | \"md\" | \"lg\";\n\nexport default SgdsPagination;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { ButtonVariant } from \"../Button/sgds-button\";\nimport styles from \"./sgds-quantity-toggle.scss\";\n\n/**\n * @summary The quantity toggle component is used to increase or decrease an incremental venue, best used when the user needs to enter or adjust the quantity of a selected item.\n *\n * @csspart base - The base wrapper of the quantity toggle component.\n * @csspart button - The plus and minus button of quantity toggle\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n *\n */\nexport class SgdsQuantityToggle extends SgdsElement implements SgdsFormControl {\n /**@internal */\n @query(\"input.form-control\") private input: HTMLInputElement;\n /**@internal */\n @query(\"button[aria-label^='increase by']\") private plusBtn: HTMLButtonElement;\n /**@internal */\n @query(\"button[aria-label^='decrease by']\") private minusBtn: HTMLButtonElement;\n\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n\n /** The name of the input */\n @property({ reflect: true }) name: string;\n\n /** The input's minimum value. */\n @property({ type: Number, reflect: true }) min: number;\n /** The input's maximum value. */\n @property({ type: Number, reflect: true }) max: number;\n\n /**Controls the size of the quantity toggle */\n @property() size: \"sm\" | \"lg\" = \"sm\";\n\n /**The input's value. Set to 0 by default */\n @property({ reflect: true, type: Number }) value = 0;\n\n /** Disables the entire quantity toggle */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The quantity toggle's button variants */\n @property({ type: String, reflect: true }) buttonVariant: ButtonVariant = \"primary\";\n\n /**\n * Controls the incremental / decremental value of the input\n */\n @property({ type: Number, reflect: true }) step = 1;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = 0;\n\n /** @internal The id forwarded to input element */\n private inputId: string = genId(\"quantity-toggle\", \"input\");\n\n handleChange(event: string) {\n this.value = parseInt(this.input.value);\n this.emit(event);\n }\n /** Simulates a click on the plus button */\n public plus() {\n this.plusBtn.click();\n }\n /** Simulates a click on the minus button */\n public minus() {\n this.minusBtn.click();\n }\n\n onPlus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.value = parseInt(this.input.value) + parseInt(this.input.step);\n }\n\n onMinus(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.value < this.step) {\n this.value = 0;\n } else {\n this.value = parseInt(this.input.value) - parseInt(this.input.step);\n }\n }\n render() {\n return html`\n <div\n part=\"base\"\n class=\"${classMap({\n sgds: true,\n disabled: this.disabled,\n \"input-group\": true,\n [`input-group-${this.size}`]: this.size\n })}\"\n variant=\"quantity-toggle\"\n size=${this.size}\n >\n <button\n aria-label=${`decrease by ${this.step}`}\n part=\"button\"\n class=${classMap({\n sgds: true,\n btn: true,\n [`btn-${this.buttonVariant}`]: this.buttonVariant\n })}\n @click=${this.onMinus}\n ?disabled=${this.disabled}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-dash\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\" />\n </svg>\n </button>\n <input\n type=\"number\"\n class=\"form-control ${\"form-control-\" + this.size} text-center\"\n name=${ifDefined(this.name)}\n step=${ifDefined(this.step)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n .value=${live(this.value.toString())}\n @change=${() => this.handleChange(\"sgds-change\")}\n @input=${() => this.handleChange(\"sgds-input\")}\n ?disabled=${this.disabled}\n id=${this.inputId}\n aria-label=\"quantity\"\n />\n <button\n aria-label=${`increase by ${this.step}`}\n part=\"button\"\n class=${classMap({\n sgds: true,\n btn: true,\n [`btn-${this.buttonVariant}`]: this.buttonVariant\n })}\n @click=${this.onPlus}\n ?disabled=${this.disabled}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-plus\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"\n />\n </svg>\n </button>\n <div id=\"announcer\" role=\"region\" aria-live=\"assertive\" class=\"visually-hidden\">${this.value}</div>\n </div>\n `;\n }\n}\n\nexport default SgdsQuantityToggle;\n","import { html } from \"lit\";\nimport { property, query, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { FormSubmitController } from \"../../utils/form\";\nimport { watch } from \"../../utils/watch\";\nimport SgdsRadio from \"./sgds-radio\";\nimport styles from \"./sgds-radio-group.scss\";\n\n/**\n * @summary RadioGroup group multiple radios so they function as a single form control.\n *\n * @slot default - The default slot where sgds-radio are placed.\n *\n * @event sgds-change - Emitted when the radio group's selected value changes.\n */\nexport class SgdsRadioGroup extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n protected readonly formSubmitController = new FormSubmitController(this, {\n defaultValue: (control: SgdsRadioGroup) => control.defaultValue\n });\n /**@internal */\n @query(\"slot:not([name])\") defaultSlot: HTMLSlotElement;\n /**@internal */\n @query(\".radio-group__validation-input\") input: HTMLInputElement;\n /**@internal */\n @state() defaultValue = \"\";\n /**@internal */\n @state() private customErrorMessage = \"\";\n /** @internal This will be true when the control is in an invalid state. */\n @state() invalid = false;\n\n /** The selected value of the control. */\n @property({ reflect: true }) value = \"\";\n\n /** The name assigned to the radio controls. */\n @property({ reflect: true }) name = \"option\";\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n @watch(\"value\")\n handleValueChange() {\n if (this.hasUpdated) {\n this.emit(\"sgds-change\", { detail: { value: this.value } });\n this.updateCheckedRadio();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n }\n\n /** Gets and return the ValidityState object. */\n get validity(): ValidityState {\n const hasMissingData = !((this.value && this.required) || !this.required);\n const hasCustomError = this.customErrorMessage !== \"\";\n return {\n badInput: false,\n customError: hasCustomError,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: hasMissingData ? false : true,\n valueMissing: !hasMissingData\n };\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity(): boolean {\n const validity = this.validity;\n\n // this.errorMessage = this.customErrorMessage || validity.valid ? '' : this.input.validationMessage;\n // this.invalid = !this.input.checkValidity();\n this.invalid = !validity.valid;\n\n if (!validity.valid) {\n this.showNativeErrorMessage();\n }\n\n return !this.invalid;\n }\n /**@internal */\n @queryAssignedElements()\n private _radios!: Array<SgdsRadio>;\n\n handleRadioClick(event: MouseEvent) {\n const target = event.target as SgdsRadio;\n\n if (target.disabled) {\n return;\n }\n\n this.value = target.value;\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio === target));\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(event.key)) {\n return;\n }\n\n const radios = this._radios.filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n //if eventkey is space, index increment is 0, if eventkey arrowup/arrowleft, index is -1, arrowright/arrowdown, index incr is 1\n const incr = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n let index = radios.indexOf(checkedRadio) + incr;\n if (index < 0) {\n index = radios.length - 1;\n }\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this._radios.forEach(radio => {\n radio.checked = false;\n radio.tabIndex = -1;\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n radios[index].tabIndex = 0;\n radios[index].focus();\n\n event.preventDefault();\n }\n\n handleLabelClick() {\n const radios = this._radios;\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n handleSlotChange() {\n const radios = this._radios;\n\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n\n if (!radios.some(radio => radio.checked)) {\n if (radios[0]) radios[0].tabIndex = 0;\n }\n }\n\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n showNativeErrorMessage() {\n this.input.hidden = false;\n this.input.reportValidity();\n setTimeout(() => (this.input.hidden = true), 10000);\n }\n\n updateCheckedRadio() {\n const radios = this._radios;\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n this.invalid = !this.validity.valid;\n }\n\n render() {\n const defaultSlot = html`\n <div>\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n </div>\n `;\n return html`\n <fieldset role=\"radio-group\" name=${this.name}>\n <label @click=${this.handleLabelClick} class=\"form-label\">\n <slot name=\"label\"></slot>\n </label>\n ${defaultSlot}\n <input\n type=\"text\"\n class=\"radio-group__validation-input visually-hidden ${classMap({\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\"\n ?required=${this.required}\n tabindex=\"-1\"\n @invalid=${(e: Event) => this.handleInvalid(e)}\n hidden\n />\n ${this.hasFeedback ? html`<div class=\"invalid-feedback\">${this.invalidFeedback}</div>` : \"\"}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsRadioGroup;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsSidenavItem from \"./sgds-sidenav-item\";\nimport styles from \"./sgds-sidenav.scss\";\n\n/**\n * @summary The side navigation is used to display a list of links to move between pages within a related category.\n * It is used as a secondary form of navigation where the primary navigation is located hierachically above the page frame.\n * Maximum two levels of navigations are allowed.\n *\n * @slot default - Default slot for SgdsSidenavItem element.\n *\n * @cssproperty --sidenav-theme-color - overall sidenav theme color\n */\nexport class SgdsSidenav extends SgdsElement {\n static styles = styles;\n\n /** Allow sidenav items to stay open when another item is opened */\n @property({ type: Boolean, attribute: true })\n alwaysOpen = false;\n\n render() {\n this.alwaysOpen\n ? null\n : this.addEventListener(\"sgds-toggle\", (e: CustomEvent) => {\n const children = this.shadowRoot.querySelector(\"slot\").assignedElements({ flatten: true });\n for (let i = 0; i < children.length; i++) {\n if (e.detail.index != i) {\n (children[i] as SgdsSidenavItem).closeItem();\n }\n }\n });\n\n return html`\n <nav class=\"sidenav\">\n <ul>\n <slot></slot>\n </ul>\n </nav>\n `;\n }\n}\n\nexport default SgdsSidenav;\n","import Collapse from \"bootstrap/js/src/collapse\";\nimport type { Collapse as BsCollapse } from \"bootstrap\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport genId from \"../../utils/generateId\";\nimport styles from \"./sgds-sidenav-item.scss\";\n\n/**\n *\n * @event sgds-toggle - Emitted when the dropdown is clicked.\n *\n * @slot - default slot for SgdsSidenavLink element.\n * @slot title - title slot for the content of SgdsSidenavItem's button / anchor element.\n * @slot icon - icon slot for the content of SgdsSidenavItem's button / anchor element.\n *\n * @cssproperty --sidenav-item-button-border-left-width - sidenav item left border width\n * @cssproperty --sidenav-item-padding-x - sidenav item padding left and right\n * @cssproperty --sidenav-item-padding-y - sidenav item padding top and bottom\n * @cssproperty --sidenav-item-icon-title-gap - the flex gap between sidenav item icon and title\n */\n\nexport class SgdsSidenavItem extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** @internal */\n private myCollapse: Ref<HTMLElement> = createRef();\n /** @internal */\n private bsCollapse: BsCollapse = null;\n\n /**\n * when true, toggles the sidenav-item to open on first load and set the active stylings.\n */\n @property({ type: Boolean })\n active = false;\n\n /**\n * When defined, converts SgdsSidenavItem from a button element to an Anchor element. In this case, only one level of navigation is allowed\n */\n @property({ type: String })\n href = \"\";\n\n /**\n * Disables the SgdsSidenavItem\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * @internal Forwards to id attribute of div.collapse and aria-controls attribute of button in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own\n */\n\n private collapseId: string = genId(\"sidenav\", \"collapse\");\n\n /**\n * @internal Forwards to id attribute of button and aria-labelledby attribute of ul.sidenav-list in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own\n */\n private buttonId: string = genId(\"sidenav\", \"button\");\n\n /** @internal */\n private index = \"-1\";\n\n private _onClick() {\n this.emit(\"sgds-toggle\", { detail: { index: this.index } });\n }\n\n private _onClickButton() {\n this._onClick();\n if (this.bsCollapse) {\n this.bsCollapse.toggle();\n }\n }\n private _onClickLink() {\n this._onClick();\n this.active = true;\n }\n\n /**\n * When invoked, closes the SgdsSidenavItem\n */\n public closeItem() {\n this.active = false;\n if (this.bsCollapse) this.bsCollapse.hide();\n }\n /**\n * When invoked, opens the SgdsSidenavItem\n */\n public openItem() {\n this.active = true;\n if (this.bsCollapse) this.bsCollapse.show();\n }\n\n firstUpdated() {\n // if sidenav has menu, initialise bootstrap collapse\n if (!this.href) {\n this.bsCollapse = new Collapse(this.myCollapse.value, {\n toggle: this.active\n });\n\n this.myCollapse.value.addEventListener(\"show.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"shown.bs.collapse\", () => {\n this.active = true;\n });\n this.myCollapse.value.addEventListener(\"hide.bs.collapse\", () => {\n this.active = false;\n });\n this.myCollapse.value.addEventListener(\"hidden.bs.collapse\", () => {\n this.active = false;\n });\n }\n }\n\n render() {\n const withMenuTemplate = html` <button\n @click=${() => this._onClickButton()}\n class=\"collapsed sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-expanded=\"${this.active}\"\n aria-controls=\"${this.collapseId}\"\n aria-selected=\"${this.active}\"\n id=\"${this.buttonId}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"icon\"></slot>\n <slot name=\"title\"></slot>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n <div class=\"collapse\" ${ref(this.myCollapse)} id=\"${this.collapseId}\">\n <ul class=\"sidenav-list\" aria-labelledby=\"${this.buttonId}\">\n <slot></slot>\n </ul>\n </div>`;\n\n const noMenuTemplate = html`\n <a\n href=${this.href}\n @click=${() => this._onClickLink()}\n class=\"sidenav-btn ${classMap({\n disabled: this.disabled,\n active: this.active\n })} \"\n aria-selected=\"${this.active}\"\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n >\n <slot name=\"icon\"></slot>\n <slot name=\"title\"></slot>\n </a>\n `;\n return html`\n <li class=\"sidenav-item\" aria-haspopup=\"${!this.href}\">${this.href ? noMenuTemplate : withMenuTemplate}</li>\n `;\n }\n}\n\nexport default SgdsSidenavItem;\n","import LinkElement from \"../../base/link-element\";\nimport styles from \"./sgds-sidenav-link.scss\";\n\n/**\n * @slot default - slot for label of anchor tag.\n *\n * @cssproperty --sidenav-link-font-size - sidenav link font size, default to `--sgds-body-font-size`\n * @cssproperty --sidenav-link-padding-x - sidenav link padding left and right\n * @cssproperty --sidenav-link-padding-y - sidenav link padding top and bottom\n * @cssproperty --sidenav-link-disabled-color - sidenav link disabled color, default to `--sgds-gray-600`\n */\nexport class SgdsSidenavLink extends LinkElement {\n static styles = styles;\n}\n\nexport default SgdsSidenavLink;\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-spinner.scss\";\n\n/**\n * @summary Spinners notify the users that their request is being processed.\n */\nexport class SgdsSpinner extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /** The type of spinner */\n @property({ type: String, reflect: true }) type: SpinnerType = \"border\";\n /** The color of spinner */\n @property({ type: String, reflect: true }) color: SpinnerColor = \"primary\";\n /** Optional for spinner wrapper. Can be used to insert any utility classes such as me-auto */\n @property({ type: String, reflect: true }) spinnerClasses: string;\n render() {\n return html`\n <div\n class=\"\n ${classMap({\n [`spinner-${this.type}`]: this.type,\n [`text-${this.color}`]: this.color,\n [`${this.spinnerClasses}`]: this.spinnerClasses\n })}\"\n role=\"status\"\n >\n <span class=\"sr-only\">Loading...</span>\n </div>\n `;\n }\n}\n\nexport type SpinnerColor = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"light\" | \"dark\";\n\nexport type SpinnerType = \"border\" | \"grow\";\n\nexport default SgdsSpinner;\n","import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-stepper.scss\";\n\nexport interface IStepMetaData {\n component: unknown;\n stepHeader: string;\n}\n/**\n * @summary Steppers are used to inform users which step they are at in a form or a process\n *\n * @event sgds-next-step - Emitted right before the next step is reached. Event is fired when nextStep method is called.\n * @event sgds-previous-step - Emitted right before the previous step is reached. Event is fired when previousStep method is called.\n * @event sgds-last-step - Emitted right before the last step is reached. Event is fired when lastStep method is called.\n * @event sgds-first-step - Emitted on hide after animation has completed. Event is fired when firstStep method is called.\n * @event sgds-arrived - Emitted right after the activeStep has updated its state, when upcoming step has arrived. Call `getMethod()` on this event to get the current step's component.\n * @event sgds-reset - Emitted right before the step is reset to its defaultActiveStep. Event is fired when reset method is called.\n *\n * @cssproperty --stepper-default-color - Sets the theme color for default stepper marker. <br>Default value `--sgds-gray-400`\n * @cssproperty --stepper-theme-color - Sets the theme color for active, completed and clickable stepper marker. <br>Default value `--sgds-primary`\n * @cssproperty --stepper-theme-hover-color - Sets the theme hover color for clickable stepper marker. <br>Default value `--sgds-primary-600`\n *\n */\nexport class SgdsStepper extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** The metadata of stepper, type `IStepMetaData`, that consist of `stepHeader: string` and `component:unknown`. `stepHeader` is the name of the step and `component` is the content that should appear at the each step. `component` is set to `unknown` to allow users to pass in their desired component based on the framework of choice. e.g. pass in your own react/angular/vue component or it can also be a text content.\n */\n @property({ type: Array })\n steps: IStepMetaData[] = [];\n\n /** The current state of active step. Defaults to 0 */\n @property({ type: Number, reflect: true })\n activeStep = 0;\n\n /**Gets or sets the default activeStep used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"activeStep\")\n defaultActiveStep = 0;\n\n /** By default, it returns the corresponding component of the current activeStep as defined in the steps metadata. To get other components, pass in your desired step number as the parameter*/\n public getComponent(step: number = this.activeStep) {\n return this.steps[step].component;\n }\n /** Moves the active step forward one step */\n public nextStep() {\n this.emit(\"sgds-next-step\");\n if (this.activeStep < this.steps.length - 1) {\n this.activeStep++;\n }\n }\n\n /** Moves the active step back one step */\n public previousStep() {\n this.emit(\"sgds-previous-step\");\n\n if (this.activeStep > 0) {\n this.activeStep--;\n }\n }\n\n /** Changes the active step to the last step */\n public lastStep() {\n this.emit(\"sgds-last-step\");\n if (this.activeStep !== this.steps.length - 1) {\n this.activeStep = this.steps.length - 1;\n }\n }\n\n /** Changes active step to the first step */\n public firstStep() {\n this.emit(\"sgds-first-step\");\n if (this.activeStep > 0) {\n this.activeStep = 0;\n }\n }\n\n /** Resets the Stepper to its initial active step state */\n public reset() {\n this.emit(\"sgds-reset\");\n this.activeStep = this.defaultActiveStep;\n }\n\n /**@internal */\n _onStepperItemClick(index: number) {\n //emit an event before moving to next step\n if (this.activeStep > index) {\n this.activeStep = index;\n }\n }\n\n /**@internal */\n @watch(\"activeStep\", { waitUntilFirstUpdate: true })\n _handleActiveStepChange() {\n this.emit(\"sgds-arrived\");\n }\n\n /**@internal */\n _handleKeyDown(event: KeyboardEvent, index: number) {\n if (event.key === \"Enter\") {\n this._onStepperItemClick(index);\n }\n }\n\n render() {\n return html`\n <div class=\"sgds stepper\">\n ${this.steps.map(({ stepHeader: step }, index) => {\n return html`\n <div\n class=\"stepper-item ${classMap({\n \"is-active\": this.activeStep === index,\n \"is-completed\": this.activeStep > index,\n \"is-clickable\": this.activeStep > index\n })}\"\n tabindex=\"0\"\n aria-current=${this.activeStep === index ? \"step\" : \"false\"}\n aria-disabled=${this.activeStep <= index ? \"true\" : \"false\"}\n @click=\"${() => this._onStepperItemClick(index)}\"\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, index)}\n >\n <div class=\"stepper-marker\">${index + 1}</div>\n <div class=\"stepper-detail\">\n <p><b>${step}</b></p>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n}\n\nexport default SgdsStepper;\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tab.scss\";\n\nlet id = 0;\n/**\n * @summary Tabs are used within tab group to activate the tab panels\n *\n * @slot default - The content of the tab. This is available when variant attribute of `sgds-tab-group` is not specified or when it is `tabs-basic-toggle`\n *\n * @slot icon - The slot to place svg icons. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot count - The slot for count. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot label - The slot for label of tab. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n *\n * @csspart base - The base wrapper of tab\n * @cssproperty --tab-theme-color - The theme colour for tab. Defaults to `--sgds-primary`\n */\nexport class SgdsTab extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\".nav-item\") tab: HTMLElement;\n /**@internal */\n private readonly attrId = ++id;\n /**@internal */\n private readonly componentId = `sgds-tab-${this.attrId}`;\n\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = \"\";\n\n /** Draws the tab in an active state. When used with tab group, this state is already managed. Use it to set the initial active tab on first load of page */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"tab\");\n }\n\n /** Sets focus to the tab. */\n public focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n public blur() {\n this.tab.blur();\n }\n /**@internal */\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-selected\", this.active ? \"true\" : \"false\");\n }\n /**@internal */\n @watch(\"disabled\")\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n if (this.disabled) this.active = false;\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n const parentVariantAttr = this.closest(\"sgds-tab-group\").getAttribute(\"variant\");\n const tabsInfo = html`\n <div class=\"tabs-info-label\">\n <div><slot name=\"icon\"></slot></div>\n <div><slot name=\"label\"></slot></div>\n </div>\n <div class=\"tabs-info-count\"><slot name=\"count\"></slot></div>\n `;\n return html`\n <ul class=\"list-unstyled\">\n <li part=\"base\" class=\"nav-item\" tabindex=${this.disabled ? \"-1\" : \"0\"}>\n <div\n class=\"${classMap({\n \"nav-link\": true,\n [`${parentVariantAttr}`]: parentVariantAttr,\n active: this.active,\n disabled: this.disabled\n })}\"\n >\n ${parentVariantAttr === \"tabs-info-toggle\" ? tabsInfo : html`<slot></slot>`}\n </div>\n </li>\n </ul>\n `;\n }\n}\n\nexport default SgdsTab;\n","import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsTab } from \"./sgds-tab\";\nimport styles from \"./sgds-tab-group.scss\";\nimport { SgdsTabPanel } from \"./sgds-tab-panel\";\n/**\n * @summary Tab Group organizes content into a container with the syncing of tab and their corresponding panels.\n * Each tab must be slotted into the nav slot and its `panel` must refer to a tab panel of the same name.\n *\n * @slot default - The slot for `sgds-tab-panel`\n * @slot nav - The slot for `sgds-tab`\n *\n * @event sgds-tab-show Emitted when a tab and its panels are shown\n * @event sgds-tab-hide Emitted when a tab and its panels are hidden.\n *\n * @csspart body - The container wrapping the default slot where all `sgds-tab-panel`s are slotted.\n * @csspart nav - The container wrapping the default slot where all `sgds-tab`s are slotted.\n */\nexport class SgdsTabGroup extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\".tab-group\") tabGroup: HTMLElement;\n /**@internal */\n @query(\".tab-group__body\") body: HTMLSlotElement;\n /**@internal */\n @query(\".tab-group__nav\") nav: HTMLElement;\n /**@internal */\n private activeTab?: SgdsTab;\n /**@internal */\n private mutationObserver: MutationObserver;\n /**@internal */\n private resizeObserver: ResizeObserver;\n /**@internal */\n private tabs: SgdsTab[] = [];\n /**@internal */\n private panels: SgdsTabPanel[] = [];\n /** The variant types of tabs. Controls the visual stylesof all `sgds-tabs` in its slot. It also dynamically changes the slots of `sgds-tab` */\n @property({ reflect: true, attribute: true }) variant: \"tabs-basic-toggle\" | \"tabs-info-toggle\";\n /** Forwards css tokens to the container div of slot[name=nav] where all `sgds-tab` are slotted in */\n @property({ type: String, reflect: true }) tabsClasses: string;\n /** Forwards css tokens to the container div of slot where all `sgds-tab-panel` are slotted in */\n @property({ type: String, reflect: true }) bodyClasses: string;\n\n connectedCallback() {\n const whenAllDefined = Promise.all([\n customElements.whenDefined(\"sgds-tab\"),\n customElements.whenDefined(\"sgds-tab-panel\")\n ]);\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => {\n return;\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => ![\"aria-labelledby\", \"aria-controls\"].includes(m.attributeName))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === \"disabled\")) {\n this.syncTabsAndPanels();\n }\n });\n\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs first become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n // this.setTabVariant();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n public show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab);\n }\n }\n /** @internal */\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot.querySelector<HTMLSlotElement>('slot[name=\"nav\"]');\n\n return [...(slot.assignedElements() as SgdsTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === \"sgds-tab\"\n : el.tagName.toLowerCase() === \"sgds-tab\" && !el.disabled;\n });\n }\n /** @internal */\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === \"sgds-tab-panel\") as [\n SgdsTabPanel\n ];\n }\n /** @internal */\n private getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n /** @internal */\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab);\n }\n }\n /** @internal */\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest(\"sgds-tab\") as SgdsTab;\n const tabGroup = tab?.closest(\"sgds-tab-group\");\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if ([\"Enter\", \" \"].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if ([\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const activeEl = this.tabs.find(t => t.matches(\":focus\"));\n\n if (activeEl?.tagName.toLowerCase() === \"sgds-tab\") {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = this.tabs.length - 1;\n } else if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n index--;\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n this.setActiveTab(this.tabs[index] /** , { scrollBehavior: \"smooth\" }*/);\n\n event.preventDefault();\n }\n }\n }\n /** @internal */\n private setActiveTab(tab: SgdsTab, options?: { emitEvents?: boolean }) {\n options = {\n emitEvents: true,\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.map(el => (el.active = el === this.activeTab));\n this.panels.map(el => (el.active = el.name === this.activeTab?.panel));\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit(\"sgds-tab-hide\", { detail: { name: previousTab.panel } });\n }\n\n this.emit(\"sgds-tab-show\", { detail: { name: this.activeTab.panel } });\n }\n }\n }\n /** @internal */\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute(\"aria-controls\", panel.getAttribute(\"id\"));\n panel.setAttribute(\"aria-labelledby\", tab.getAttribute(\"id\"));\n }\n });\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n /** @internal */\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs({ includeDisabled: false });\n this.panels = this.getAllPanels();\n }\n\n render() {\n return html`\n <div\n class=\"tab-group\"\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n variant=${ifDefined(this.variant)}\n >\n <div\n part=\"nav\"\n class=${classMap({\n \"tab-group__nav\": true,\n [`${this.tabsClasses}`]: this.tabsClasses\n })}\n role=\"tablist\"\n >\n <slot\n name=\"nav\"\n class=${classMap({\n sgds: true,\n \"nav-tabs\": true,\n nav: true\n })}\n variant=${ifDefined(this.variant)}\n @slotchange=${this.syncTabsAndPanels}\n ></slot>\n </div>\n <div\n part=\"body\"\n class=${classMap({\n [`${this.bodyClasses}`]: this.bodyClasses\n })}\n >\n <slot class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsTabGroup;\n","import { LitElement, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-tab-panel.scss\";\n\nlet id = 0;\n\n/**\n * @summary Tab panels are used inside tab groups to display tabbed content.\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --tab-panel-padding-y - The tab panel's padding.\n */\nexport class SgdsTabPanel extends LitElement {\n static styles = styles;\n /**@internal */\n private readonly attrId = ++id;\n /**@internal */\n private readonly componentId = `sgds-tab-panel-${this.attrId}`;\n /** The tab panel's name. */\n @property({ reflect: true }) name = \"\";\n\n /** When true, the tab panel will be shown. When used with tab-group, this property is already being managed */\n @property({ type: Boolean, reflect: true }) active = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.id = this.id.length > 0 ? this.id : this.componentId;\n this.setAttribute(\"role\", \"tabpanel\");\n }\n\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-hidden\", this.active ? \"false\" : \"true\");\n }\n\n render() {\n return html`\n <slot\n part=\"base\"\n class=${classMap({\n \"tab-panel\": true,\n \"tab-panel--active\": this.active\n })}\n ></slot>\n `;\n }\n}\n\nexport default SgdsTabPanel;\n","import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-table.scss\";\n\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n *\n * @cssproperty --table-bg - Table's background color\n * @cssproperty --table-accent-bg - Table's accent background color\n * @cssproperty --table-striped-color - Text color for striped table\n * @cssproperty --table-striped-bg - Background color for striped table\n * @cssproperty --table-active-color - Active text color for hovered row\n * @cssproperty --table-active-bg - Active background color for hovered row\n * @cssproperty --table-hover-color - Hovered text color for hover table\n * @cssproperty --table-hover-bg - Hovered background color for hover table\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /**\n * Adds zebra-striping using striped to table row within the <tbody>\n */\n @property({ type: Boolean, reflect: true }) striped = false;\n\n /**\n * Add borders to all sides of table and cells\n */\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /**\n * Remove all borders to table and cells\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Add hoverable state on table rows\n */\n @property({ type: Boolean, reflect: true }) hover = false;\n\n /**\n * Add <code>.table-sm</code> to make table more compact\n */\n @property({ type: String, reflect: true }) size: string;\n\n /**\n * Use contextual classes to add colors to table\n */\n @property({ type: String, reflect: true }) variant: string;\n\n /**\n * Sorting on a column is enabled by adding the sort property. The sorting algorithm is based on javascript array.sort() method. In ascending order from bottom, alphabets come first, followed by numbers, and then symbols. Similarly, in descending order from bottom, symbols come first, followed by numbers, and then alphabets.\n */\n @property({ type: Boolean, reflect: true }) sort = false;\n\n /**\n * When removableSort is present, the third click removes the sorting from the column.\n */\n @property({ type: Boolean, reflect: true }) removableSort = false;\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate header cells using Arrays\n */\n @property({ type: Array }) tableHeaders: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /** @internal */\n @state() sortColumn: number | null = null;\n\n /** @internal */\n @state() sortAsc = true;\n\n //TODO aria-sort\n\n /** @internal */\n @state() activeColumn: number | null = null;\n\n /** @internal */\n @state() sortClickCount = 0;\n\n /** @internal */\n @state() clickCount = 0;\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n handleHeaderClick(columnIndex: number) {\n if (this.sort) {\n if (this.sortColumn === columnIndex) {\n this.sortAsc = !this.sortAsc;\n } else {\n this.sortColumn = columnIndex;\n this.sortAsc = true;\n }\n\n this.tableData = [...this.tableData].sort((a, b) => {\n const aValue = a[columnIndex];\n const bValue = b[columnIndex];\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n } else {\n return this.sortAsc ? (aValue as number) - (bValue as number) : (bValue as number) - (aValue as number);\n }\n });\n\n // update the active column\n if (this.activeColumn === columnIndex) {\n this.clickCount++;\n if (this.clickCount === 3 && this.removableSort) {\n this.activeColumn = null;\n this.clickCount = 0;\n this.tableData = [...this.originalTableData];\n }\n } else {\n this.activeColumn = columnIndex;\n this.clickCount = 1;\n }\n\n // add the .active class to the clicked header cell\n const thElements = this.shadowRoot?.querySelectorAll(\"th\");\n thElements.forEach((thElement, index) => {\n if (index === columnIndex) {\n thElement.classList.add(\"active\");\n } else {\n thElement.classList.remove(\"active\");\n }\n });\n }\n }\n\n getIcon(columnIndex: number) {\n if (this.activeColumn !== columnIndex) {\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-up ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"\n />\n </svg>`;\n } else {\n return this.sortAsc\n ? html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-up-alt ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"\n />\n </svg>`\n : html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-down ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"\n />\n </svg>`;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table\n class=\"table sgds ${classMap({\n [`table-striped`]: this.striped,\n [`table-bordered`]: this.bordered,\n [`table-borderless`]: this.borderless,\n [`table-hover`]: this.hover,\n [`table-${this.size}`]: this.size,\n [`table-${this.variant}`]: this.variant\n })}\"\n >\n <thead>\n <tr>\n ${this.tableHeaders.map(\n (header: string, index: number) => html`\n <th\n class=\"${classMap({\n \"sortable-header\": this.sort,\n active: this.activeColumn === index\n })}\"\n @click=${() => this.handleHeaderClick(index)}\n //TODO aria-sort \n >\n ${header} ${this.sort ? this.getIcon(index) : null}\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n","import { property, query, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-textarea.scss\";\n\n/**\n * @summary Text areas allow for the collection of input longer than a single line.\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when textarea is in focus.\n * @event sgds-blur - Emitted when textarea loses focus.\n */\nexport class SgdsTextarea extends SgdsElement implements SgdsFormControl {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\"textarea.form-control\") textarea: HTMLTextAreaElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n /**@internal */\n private resizeObserver: ResizeObserver;\n /**The textarea's label */\n @property({ type: String, reflect: true }) label = \"label\";\n /**The textarea's name attribute */\n @property({ type: String, reflect: true }) name: string;\n /**Forwarded to the HTML native textarea element. Can be used to insert any bootstrap classes such as mt-2 */\n @property({ type: String, reflect: true }) textareaClasses?: string;\n /**The textarea's value attribute. */\n @property({ type: String, reflect: true }) value = \"\";\n /**Sets the minimum length of the textarea */\n @property({ type: Number, reflect: true }) minlength: number;\n /**Sets the maximum length of the textarea */\n @property({ type: Number, reflect: true }) maxlength: number;\n /**Enables spell checking on the textarea */\n @property({ type: Boolean, reflect: true }) spellcheck = false;\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n /**The textarea's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"Placeholder\";\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /**Autofocus the textarea */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Controls how the textarea can be resized. */\n @property() resize: \"none\" | \"vertical\" | \"auto\" = \"vertical\";\n /** The native textarea's inputmode attribute. It hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard. */\n @property() inputmode: \"none\" | \"text\" | \"decimal\" | \"numeric\" | \"tel\" | \"search\" | \"email\" | \"url\";\n /** The native textarea's autocorrect attribute. */\n @property() autocorrect: string;\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /**@internal */\n @state() invalid = false;\n /**@internal */\n @state() valid = false;\n\n /** @internal The textarea's unique id */\n private textareaId = genId(\"textarea\", \"input\");\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.textarea);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this.textarea);\n }\n\n /** Sets focus on the textarea. */\n public focus(options?: FocusOptions) {\n this.textarea.focus(options);\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n return this.textarea.reportValidity();\n }\n /** Selects all the text in the textarea. */\n public select() {\n this.textarea.select();\n }\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.textarea.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"rows\", { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n setTextareaHeight() {\n if (this.resize === \"auto\") {\n this.textarea.style.height = \"auto\";\n this.textarea.style.height = `${this.textarea.scrollHeight}px`;\n } else {\n (this.textarea.style.height as string | undefined) = undefined;\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.textarea.disabled = this.disabled;\n this.invalid = !this.textarea.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.textarea.checkValidity();\n this.valid = this.textarea.checkValidity();\n this.updateComplete.then(() => this.setTextareaHeight());\n if (!this.required && this.value === \"\") {\n this.valid = false;\n }\n }\n\n render() {\n // if maxlength is defined\n const wordCount = html` <div class=\"form-text\">${this.value.length}/${this.maxlength}</div> `;\n\n return html`\n <div class=\"text-area-label-wrapper d-flex justify-content-between\">\n <label for=${this.textareaId} class=\"form-label\">${this.label}</label>\n ${this.maxlength > 0 ? wordCount : undefined}\n </div>\n\n <textarea\n class=${classMap({\n \"form-control\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"is-valid\": this.hasFeedback && this.valid,\n \"textarea-resize-none\": this.resize === \"none\",\n \"textarea-resize-vertical\": this.resize === \"vertical\",\n \"textarea-resize-auto\": this.resize === \"auto\",\n [`${this.textareaClasses}`]: this.textareaClasses\n })}\n id=${this.textareaId}\n name=${ifDefined(this.name)}\n rows=${ifDefined(this.rows)}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n .value=${live(this.value)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n spellcheck=${ifDefined(this.spellcheck)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n autocorrect=${ifDefined(this.autocorrect)}\n inputmode=${ifDefined(this.inputmode)}\n @keyup=${this.handleValueChange}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @invalid=${(e: Event) => this.handleInvalid(e)}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n </textarea>\n\n ${this.hasFeedback\n ? html`<div id=\"${this.textareaId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n `;\n }\n}\n\nexport default SgdsTextarea;\n","import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport { watch } from \"../../utils/watch\";\nimport styles from \"./sgds-toast.scss\";\n\n/**\n * @summary Toast allows you to convey quick messaging notifications to the user.\n *\n * @slot default - The content to pass into toast's body\n * @slot icon - The slot to pass in icon to toast's header\n * @slot duration - When required, pass in the duration since toast appeared to this slot\n *\n * @event sgds-show - Emitted on show.\n * @event sgds-after-show - Emitted on show after animation has completed.\n * @event sgds-hide - Emitted on hide.\n * @event sgds-after-hide - Emitted on hide after animation has completed.\n *\n * @cssproperty --toast-icon-margin-right - The margin-right between toast's icon and title in its header. Defaults to 0.5rem\n */\nexport class SgdsToast extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n @query(\"div.toast\") toast: HTMLElement;\n /** Controls the appearance of toast */\n @property({ type: Boolean, reflect: true }) show = false;\n /** The header title of toast. It is required to assign a title to toast */\n @property({ type: String, reflect: true }) title = \"Title\";\n /** Controls whether the toast has fade animation during its appearance/disappearance */\n @property({ type: Boolean, reflect: true }) noAnimation = false;\n /** Controls if the toast will hide itself after the delay time. Works with delay property */\n @property({ type: Boolean, reflect: true }) autohide = false;\n /** The amount of time taken for toast to disappear after its first render. It takes effect only when autohide is set to true */\n @property({ type: Number, reflect: true }) delay = 5000;\n /** The colour variant of toast */\n @property({ type: String, reflect: true }) variant: ToastVariant;\n /** Optional for toast. Forwards to the base div wrapper of toast. Can be used to insert any utility classes such as `me-auto` */\n @property({ type: String, reflect: true }) toastClasses: string;\n /** The toast variant. */\n @property({ type: String, reflect: true }) bg:\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"dark\"\n | \"light\";\n /**Adds CSS styling to `<Toast />` based on the defined status */\n @property({ type: String, reflect: true }) status: \"success\" | \"warning\" | \"danger\";\n\n /** Shows the toast */\n public async showToast() {\n if (this.show) {\n return;\n }\n\n this.show = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hide the toast */\n public async hideToast() {\n if (!this.show) {\n return;\n }\n this.show = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n /** @internal */\n handleCloseClick() {\n this.show = false;\n this.emit(\"sgds-close\");\n }\n /**@internal */\n @watch(\"show\", { waitUntilFirstUpdate: true })\n async handleShowChange() {\n if (this.show) {\n this.emit(\"sgds-show\");\n this.toast.hidden = !this.show;\n\n const toastAnimation = getAnimation(this, \"toast.show\");\n !this.noAnimation && (await animateTo(this.toast, toastAnimation.keyframes, toastAnimation.options));\n\n this.emit(\"sgds-after-show\");\n } else {\n this.emit(\"sgds-hide\");\n const toastAnimation = getAnimation(this, \"toast.hide\");\n\n !this.noAnimation && (await animateTo(this.toast, toastAnimation.keyframes, toastAnimation.options));\n this.emit(\"sgds-after-hide\");\n this.toast.hidden = !this.show;\n }\n }\n protected firstUpdated(): void {\n this.toast.hidden = !this.show;\n }\n\n render() {\n if (this.autohide && this.show) {\n setTimeout(() => {\n this.show = false;\n }, this.delay);\n }\n return html`\n <div\n class=\"toast sgds show ${classMap({\n [`is-${this.variant}`]: this.variant,\n [`bg-${this.bg}`]: this.bg,\n [`is-${this.status}`]: this.status,\n [`${this.toastClasses}`]: this.toastClasses\n })}\"\n role=\"alert\"\n aria-hidden=${this.show ? \"false\" : \"true\"}\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n >\n <div class=\"toast-header\">\n <slot name=\"icon\"></slot>\n <strong class=\"me-auto\">${this.title}</strong>\n <small class=\"text-muted me-2\"><slot name=\"duration\"></slot></small>\n <button\n class=\"btn-sm btn-close\"\n aria-label=\"close toast\"\n @click=${this.handleCloseClick}\n data-dismiss=\"toast\"\n ></button>\n </div>\n <div class=\"toast-body\"><slot></slot></div>\n </div>\n `;\n }\n}\n\nexport type ToastVariant = \"primary\" | \"secondary\" | \"success\" | \"danger\" | \"warning\" | \"info\" | \"dark\" | \"light\";\n\nexport default SgdsToast;\n\nsetDefaultAnimation(\"toast.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 400, easing: \"ease\" }\n});\nsetDefaultAnimation(\"toast.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 400, easing: \"ease\" }\n});\n","import { property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport mergeDeep from \"../../utils/mergeDeep\";\nimport styles from \"./sgds-toast-container.scss\";\n/**\n * @summary ToastContainer is the container component to position `sgds-toast` in screen. When there is multiple toasts in the container, the toast components are stacked vertically.\n *\n * @slot default - The slot for `sgds-toast` elements\n *\n * @cssproperty --toast-container-slot-elements-gap - The gap between multiple `sgds-toast` elements. Defaults to 0.5rem\n */\nexport class SgdsToastContainer extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Controls the position of `sgds-toast` within itself. When specified, toast container becomes position-absolute */\n @property({ type: String, reflect: true }) position: ToastPosition;\n\n render() {\n const generatePositionCssTokenObj = (position: ToastPosition) => {\n if (!position) return {};\n const arrayOfCssTokensObj = [\n positionClasses[position].top,\n positionClasses[position].start,\n positionClasses[position].translate\n ]\n .filter(cssToken => !!cssToken)\n .map(truthyCssToken => ({ [`${truthyCssToken}`]: true }));\n return Object.assign({}, ...arrayOfCssTokensObj);\n };\n return html`\n <div\n class=${classMap(\n mergeDeep(\n {\n \"sgds toast-container\": true,\n [`position-absolute`]: this.position\n },\n generatePositionCssTokenObj(this.position)\n )\n )}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nconst positionClasses = {\n \"top-start\": {\n top: \"top-0\",\n start: \"start-50\",\n translate: \"translate-middle-x\"\n },\n \"top-center\": {\n top: \"top-0\",\n start: \"start-50\",\n translate: \"translate-middle-x\"\n },\n \"top-end\": { top: \"top-0\", start: \"end-0\", translate: null },\n \"middle-start\": { top: \"top-50\", start: \"start-0\", translate: \"translate-middle-y\" },\n \"middle-center\": { top: \"top-50\", start: \"start-50\", translate: \"translate-middle\" },\n \"middle-end\": { top: \"top-50\", start: \"end-0\", translate: \"translate-middle-y\" },\n \"bottom-start\": { top: \"bottom-0\", start: \"start-0\", translate: null },\n \"bottom-center\": { top: \"bottom-0\", start: \"start-50\", translate: \"translate-middle-x\" },\n \"bottom-end\": { top: \"bottom-0\", start: \"end-0\", translate: null }\n};\n\nexport type ToastPosition =\n | \"top-start\"\n | \"top-center\"\n | \"top-end\"\n | \"middle-start\"\n | \"middle-center\"\n | \"middle-end\"\n | \"bottom-start\"\n | \"bottom-center\"\n | \"bottom-end\";\n\nexport default SgdsToastContainer;\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '<div></div>'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div>' +\n '</div>',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","import * as Popper from \"@popperjs/core\";\nimport Tooltip from \"bootstrap/js/src/tooltip\";\nimport type { Tooltip as BsTooltip } from \"bootstrap\";\n\nimport { html } from \"lit\";\nimport { property, queryAssignedElements, state } from \"lit/decorators.js\";\nimport { Ref, createRef, ref } from \"lit/directives/ref.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-tooltip.scss\";\n\n/**\n * @summary Tooltips display more information when users hover over, focus on, or interact with an element.\n * @slot default - The element to target the tooltip to.\n *\n * @cssproperty --tooltip-max-width - Sets the tooltips max width. Default to 20rem.\n */\nexport class SgdsTooltip extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n /**@internal */\n myTooltip: Ref<HTMLElement> = createRef();\n /**@internal */\n bsTooltip: BsTooltip = null;\n\n /** The tooltip's content. Content has to be textual */\n @property({ type: String })\n content = \"\";\n /** The placement of tooltip relative to its target */\n @property({ type: String })\n placement: \"top\" | \"bottom\" | \"left\" | \"right\" = \"top\";\n /** The method to invoke the tooltip. `hover focus` is the default value which allows tooltip to be triggered via mouse hover and keyboard focus. Add `tabindex=0 `for HTMLelements that are not tabbable. For `click` method, the tooltip is trigger via mouse clicking and it instantiates with a close button */\n @property({ type: String })\n trigger: \"click\" | \"hover\" | \"focus\" | \"hover focus\" = \"hover focus\";\n /**@internal */\n private closableContainer: HTMLElement;\n /**@internal */\n @state()\n private popperConfig: Partial<Popper.Options>;\n /**@internal */\n @state()\n private tooltipConfig: Partial<BsTooltip.Options>;\n /**@internal */\n @queryAssignedElements()\n private tooltipTargetElements: Array<HTMLElement>;\n\n private _handleSlotChange(): void {\n // For a11y purpose\n this.tooltipTargetElements.forEach(el => el.setAttribute(\"data-sgds-tooltip\", this.content));\n }\n attributeChangedCallback(name, oldValue, newValue) {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (this.hasUpdated) {\n this.bsTooltip.dispose();\n this.initializeTooltip();\n }\n }\n private initializeTooltip() {\n // refer to Bootstrap's Tooltip options\n // Feature: Add close button when prop trigger === 'click'\n //useless to modify the \"template\" as BsTooltip \"title\" option will override anything that is within .tooltip-inner\n //HTML method insertAdjacentText() is use to add the text content before close button but it requires a parent\n // Only way is to modify BsTooltip's title with \"sanitize: false\" to add the close button\n // When trigger is a \"click\", tooltipContainer will be created and modify BsTooltip's \"title\", adding a close button\n if (this.trigger === \"click\") {\n this.closableContainer = document.createElement(\"div\");\n this.closableContainer.classList.add(\"d-flex\");\n this.closableContainer.classList.add(\"gap-4\");\n this.closableContainer.classList.add(\"text-start\");\n const closeBtn: HTMLButtonElement = document.createElement(\"button\");\n closeBtn.classList.add(\"btn-close\");\n closeBtn.classList.add(\"btn-close-white\");\n closeBtn.classList.add(\"mt-1\");\n closeBtn.setAttribute(\"aria-label\", \"Close\");\n this.closableContainer.appendChild(closeBtn);\n this.closableContainer.insertAdjacentText(\"afterbegin\", this.content);\n this.shadowRoot.querySelector(\".btn-close\")?.addEventListener(\"click\", () => this.hide());\n }\n this.tooltipConfig = {\n popperConfig: (defaultConfig?: Partial<Popper.Options>) => {\n this.popperConfig = defaultConfig;\n const defaultModifiers = defaultConfig.modifiers;\n const newModifiers = defaultModifiers.map(mod => {\n if (mod.name === \"flip\") {\n mod.options.fallbackPlacements = [];\n }\n return mod;\n });\n this.popperConfig.modifiers = newModifiers;\n return this.popperConfig;\n },\n placement: this.placement,\n trigger: this.trigger,\n title: this.trigger === \"click\" ? this.closableContainer : this.content,\n html: true,\n sanitize: false, // to allow button element,\n container: this.shadowRoot.querySelector(\"div\") // tooltip to appear inside the shadow root of sgds-tooltip instead of anywhere in the DOM, so that scoped styles can apply\n } as Partial<BsTooltip.Options>;\n this.bsTooltip = new Tooltip(this.myTooltip.value, this.tooltipConfig);\n }\n firstUpdated() {\n this.initializeTooltip();\n this.myTooltip.value.addEventListener(\"show.bs.tooltip\", () => {\n this.emit(\"sgds-show\");\n });\n this.myTooltip.value.addEventListener(\"shown.bs.tooltip\", () => {\n this.emit(\"sgds-after-show\");\n });\n this.myTooltip.value.addEventListener(\"hide.bs.tooltip\", () => {\n this.emit(\"sgds-hide\");\n });\n this.myTooltip.value.addEventListener(\"hidden.bs.tooltip\", () => {\n this.emit(\"sgds-after-hide\");\n });\n }\n /** Hides the Tooltip */\n public hide() {\n this.bsTooltip.hide();\n }\n /** Shows the Tooltip */\n public show() {\n this.bsTooltip.show();\n }\n\n render() {\n return html`\n <div ${ref(this.myTooltip)}>\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsTooltip;\n"],"names":["t","e","s","n","o","r","i","S","c","h","a","l","d","u","v","f","_","m","p","g","$","y","w","x","T","A","E","C","P","V","N","H","L","z","k","M","R","Z","I","B","LitElement","styles","html","classMap","property","queryAssignedNodes","query","adoptStyles","defaultConverter","ifDefined","live","state","createRef","ref","literal","isElement","effect","getComputedStyle","min","max","mathMax","mathMin","hash","allPlacements","placements","createPopper","defaultModifiers","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","hide","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","SELECTOR_DATA_TOGGLE","Default","DefaultType","Popper.createPopper","ARROW_DOWN","ARROW_UP","generateId","unsafeSVG","styleMap","nothing","queryAsync","queryAssignedElements","id"],"mappings":"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"}