paygate-checkout-sdk 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +2 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2 -5
- package/dist/index.js.map +1 -1
- package/dist/shared/types/index.d.ts +28 -28
- package/package.json +1 -2
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/credit-card-type/dist/lib/card-types.js","../node_modules/credit-card-type/dist/lib/clone.js","../node_modules/credit-card-type/dist/lib/matches.js","../node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js","../node_modules/credit-card-type/dist/lib/is-valid-input-type.js","../node_modules/credit-card-type/dist/lib/find-best-match.js","../node_modules/credit-card-type/dist/index.js","../src/components/dropdowns/styles/BankSelectXDropdownStyle.ts","../src/shared/utils/customAxios.ts","../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../src/containers/Payment/OtpVerification.tsx","../src/shared/utils/index.tsx","../src/assets/icons/VisaIcon.tsx","../src/assets/icons/MasterCardIcon.tsx","../src/assets/icons/VerveIcon.tsx","../src/assets/icons/AmexIcon.tsx","../src/assets/icons/DiscoverIcon.tsx","../src/components/checkout/styles/PaymentSuccessful.ts","../src/shared/utils/Styles.ts","../src/shared/hooks/Styles/SnackbarStyle.ts","../src/shared/hooks/useSnackBar.tsx","../src/components/checkout/styles/PaymentFailedStyl.ts","../src/containers/Payment/PaygateCheckoutSdk.tsx","../src/lib/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","\"use strict\";\nvar cardTypes = {\n visa: {\n niceType: \"Visa\",\n type: \"visa\",\n patterns: [4],\n gaps: [4, 8, 12],\n lengths: [16, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n mastercard: {\n niceType: \"Mastercard\",\n type: \"mastercard\",\n patterns: [[51, 55], [2221, 2229], [223, 229], [23, 26], [270, 271], 2720],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n \"american-express\": {\n niceType: \"American Express\",\n type: \"american-express\",\n patterns: [34, 37],\n gaps: [4, 10],\n lengths: [15],\n code: {\n name: \"CID\",\n size: 4,\n },\n },\n \"diners-club\": {\n niceType: \"Diners Club\",\n type: \"diners-club\",\n patterns: [[300, 305], 36, 38, 39],\n gaps: [4, 10],\n lengths: [14, 16, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n discover: {\n niceType: \"Discover\",\n type: \"discover\",\n patterns: [6011, [644, 649], 65],\n gaps: [4, 8, 12],\n lengths: [16, 19],\n code: {\n name: \"CID\",\n size: 3,\n },\n },\n jcb: {\n niceType: \"JCB\",\n type: \"jcb\",\n patterns: [2131, 1800, [3528, 3589]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n unionpay: {\n niceType: \"UnionPay\",\n type: \"unionpay\",\n patterns: [\n 620,\n [62100, 62182],\n [62184, 62187],\n [62185, 62197],\n [62200, 62205],\n [622010, 622999],\n 622018,\n [62207, 62209],\n [623, 626],\n 6270,\n 6272,\n 6276,\n [627700, 627779],\n [627781, 627799],\n [6282, 6289],\n 6291,\n 6292,\n 810,\n [8110, 8131],\n [8132, 8151],\n [8152, 8163],\n [8164, 8171],\n ],\n gaps: [4, 8, 12],\n lengths: [14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVN\",\n size: 3,\n },\n },\n maestro: {\n niceType: \"Maestro\",\n type: \"maestro\",\n patterns: [\n 493698,\n [500000, 504174],\n [504176, 506698],\n [506779, 508999],\n [56, 59],\n 63,\n 67,\n 6,\n ],\n gaps: [4, 8, 12],\n lengths: [12, 13, 14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n elo: {\n niceType: \"Elo\",\n type: \"elo\",\n patterns: [\n 401178,\n 401179,\n 438935,\n 457631,\n 457632,\n 431274,\n 451416,\n 457393,\n 504175,\n [506699, 506778],\n [509000, 509999],\n 627780,\n 636297,\n 636368,\n [650031, 650033],\n [650035, 650051],\n [650405, 650439],\n [650485, 650538],\n [650541, 650598],\n [650700, 650718],\n [650720, 650727],\n [650901, 650978],\n [651652, 651679],\n [655000, 655019],\n [655021, 655058],\n ],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVE\",\n size: 3,\n },\n },\n mir: {\n niceType: \"Mir\",\n type: \"mir\",\n patterns: [[2200, 2204]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVP2\",\n size: 3,\n },\n },\n hiper: {\n niceType: \"Hiper\",\n type: \"hiper\",\n patterns: [637095, 63737423, 63743358, 637568, 637599, 637609, 637612],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n hipercard: {\n niceType: \"Hipercard\",\n type: \"hipercard\",\n patterns: [606282],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n};\nmodule.exports = cardTypes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clone = void 0;\nfunction clone(originalObject) {\n if (!originalObject) {\n return null;\n }\n return JSON.parse(JSON.stringify(originalObject));\n}\nexports.clone = clone;\n","\"use strict\";\n/*\n * Adapted from https://github.com/polvo-labs/card-type/blob/aaab11f80fa1939bccc8f24905a06ae3cd864356/src/cardType.js#L37-L42\n * */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matches = void 0;\nfunction matchesRange(cardNumber, min, max) {\n var maxLengthToCheck = String(min).length;\n var substr = cardNumber.substr(0, maxLengthToCheck);\n var integerRepresentationOfCardNumber = parseInt(substr, 10);\n min = parseInt(String(min).substr(0, substr.length), 10);\n max = parseInt(String(max).substr(0, substr.length), 10);\n return (integerRepresentationOfCardNumber >= min &&\n integerRepresentationOfCardNumber <= max);\n}\nfunction matchesPattern(cardNumber, pattern) {\n pattern = String(pattern);\n return (pattern.substring(0, cardNumber.length) ===\n cardNumber.substring(0, pattern.length));\n}\nfunction matches(cardNumber, pattern) {\n if (Array.isArray(pattern)) {\n return matchesRange(cardNumber, pattern[0], pattern[1]);\n }\n return matchesPattern(cardNumber, pattern);\n}\nexports.matches = matches;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addMatchingCardsToResults = void 0;\nvar clone_1 = require(\"./clone\");\nvar matches_1 = require(\"./matches\");\nfunction addMatchingCardsToResults(cardNumber, cardConfiguration, results) {\n var i, patternLength;\n for (i = 0; i < cardConfiguration.patterns.length; i++) {\n var pattern = cardConfiguration.patterns[i];\n if (!(0, matches_1.matches)(cardNumber, pattern)) {\n continue;\n }\n var clonedCardConfiguration = (0, clone_1.clone)(cardConfiguration);\n if (Array.isArray(pattern)) {\n patternLength = String(pattern[0]).length;\n }\n else {\n patternLength = String(pattern).length;\n }\n if (cardNumber.length >= patternLength) {\n clonedCardConfiguration.matchStrength = patternLength;\n }\n results.push(clonedCardConfiguration);\n break;\n }\n}\nexports.addMatchingCardsToResults = addMatchingCardsToResults;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidInputType = void 0;\nfunction isValidInputType(cardNumber) {\n return typeof cardNumber === \"string\" || cardNumber instanceof String;\n}\nexports.isValidInputType = isValidInputType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findBestMatch = void 0;\nfunction hasEnoughResultsToDetermineBestMatch(results) {\n var numberOfResultsWithMaxStrengthProperty = results.filter(function (result) { return result.matchStrength; }).length;\n /*\n * if all possible results have a maxStrength property that means the card\n * number is sufficiently long enough to determine conclusively what the card\n * type is\n * */\n return (numberOfResultsWithMaxStrengthProperty > 0 &&\n numberOfResultsWithMaxStrengthProperty === results.length);\n}\nfunction findBestMatch(results) {\n if (!hasEnoughResultsToDetermineBestMatch(results)) {\n return null;\n }\n return results.reduce(function (bestMatch, result) {\n if (!bestMatch) {\n return result;\n }\n /*\n * If the current best match pattern is less specific than this result, set\n * the result as the new best match\n * */\n if (Number(bestMatch.matchStrength) < Number(result.matchStrength)) {\n return result;\n }\n return bestMatch;\n });\n}\nexports.findBestMatch = findBestMatch;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar cardTypes = require(\"./lib/card-types\");\nvar add_matching_cards_to_results_1 = require(\"./lib/add-matching-cards-to-results\");\nvar is_valid_input_type_1 = require(\"./lib/is-valid-input-type\");\nvar find_best_match_1 = require(\"./lib/find-best-match\");\nvar clone_1 = require(\"./lib/clone\");\nvar customCards = {};\nvar cardNames = {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n AMERICAN_EXPRESS: \"american-express\",\n DINERS_CLUB: \"diners-club\",\n DISCOVER: \"discover\",\n JCB: \"jcb\",\n UNIONPAY: \"unionpay\",\n MAESTRO: \"maestro\",\n ELO: \"elo\",\n MIR: \"mir\",\n HIPER: \"hiper\",\n HIPERCARD: \"hipercard\",\n};\nvar ORIGINAL_TEST_ORDER = [\n cardNames.VISA,\n cardNames.MASTERCARD,\n cardNames.AMERICAN_EXPRESS,\n cardNames.DINERS_CLUB,\n cardNames.DISCOVER,\n cardNames.JCB,\n cardNames.UNIONPAY,\n cardNames.MAESTRO,\n cardNames.ELO,\n cardNames.MIR,\n cardNames.HIPER,\n cardNames.HIPERCARD,\n];\nvar testOrder = (0, clone_1.clone)(ORIGINAL_TEST_ORDER);\nfunction findType(cardType) {\n return customCards[cardType] || cardTypes[cardType];\n}\nfunction getAllCardTypes() {\n return testOrder.map(function (cardType) { return (0, clone_1.clone)(findType(cardType)); });\n}\nfunction getCardPosition(name, ignoreErrorForNotExisting) {\n if (ignoreErrorForNotExisting === void 0) { ignoreErrorForNotExisting = false; }\n var position = testOrder.indexOf(name);\n if (!ignoreErrorForNotExisting && position === -1) {\n throw new Error('\"' + name + '\" is not a supported card type.');\n }\n return position;\n}\nfunction creditCardType(cardNumber) {\n var results = [];\n if (!(0, is_valid_input_type_1.isValidInputType)(cardNumber)) {\n return results;\n }\n if (cardNumber.length === 0) {\n return getAllCardTypes();\n }\n testOrder.forEach(function (cardType) {\n var cardConfiguration = findType(cardType);\n (0, add_matching_cards_to_results_1.addMatchingCardsToResults)(cardNumber, cardConfiguration, results);\n });\n var bestMatch = (0, find_best_match_1.findBestMatch)(results);\n if (bestMatch) {\n return [bestMatch];\n }\n return results;\n}\ncreditCardType.getTypeInfo = function (cardType) {\n return (0, clone_1.clone)(findType(cardType));\n};\ncreditCardType.removeCard = function (name) {\n var position = getCardPosition(name);\n testOrder.splice(position, 1);\n};\ncreditCardType.addCard = function (config) {\n var existingCardPosition = getCardPosition(config.type, true);\n customCards[config.type] = config;\n if (existingCardPosition === -1) {\n testOrder.push(config.type);\n }\n};\ncreditCardType.updateCard = function (cardType, updates) {\n var originalObject = customCards[cardType] || cardTypes[cardType];\n if (!originalObject) {\n throw new Error(\"\\\"\".concat(cardType, \"\\\" is not a recognized type. Use `addCard` instead.'\"));\n }\n if (updates.type && originalObject.type !== updates.type) {\n throw new Error(\"Cannot overwrite type parameter.\");\n }\n var clonedCard = (0, clone_1.clone)(originalObject);\n clonedCard = __assign(__assign({}, clonedCard), updates);\n customCards[clonedCard.type] = clonedCard;\n};\ncreditCardType.changeOrder = function (name, position) {\n var currentPosition = getCardPosition(name);\n testOrder.splice(currentPosition, 1);\n testOrder.splice(position, 0, name);\n};\ncreditCardType.resetModifications = function () {\n testOrder = (0, clone_1.clone)(ORIGINAL_TEST_ORDER);\n customCards = {};\n};\ncreditCardType.types = cardNames;\nmodule.exports = creditCardType;\n","import styled from \"styled-components\";\n\nexport const SelectWrapper = styled.div`\n position: relative;\n width: 100%;\n margin-bottom: 1rem;\n`;\n\nexport const Toggle = styled.div<{ $isOpen?: boolean, $isDisabled?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-radius: 8px;\n background-color: #ffffff;\n cursor: ${({ $isDisabled }) => ($isDisabled ? \"not-allowed\" : \"pointer\")};\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.6 : 1)};\n\n border: 2px solid transparent;\n background-image:\n linear-gradient(white, white),\n linear-gradient(134deg, #40175e 0%, #1aa0cf 50%, #6d00ff 100%);\n background-origin: padding-box, border-box;\n background-clip: padding-box, border-box;\n\n & > span {\n font-size: 14px;\n color: #8F99A3;\n }\n\n & svg {\n transition: transform 0.2s;\n transform: rotate(${({$isOpen}) => ($isOpen ? \"180deg\" : \"0deg\")});\n }\n`;\n\nexport const Menu = styled.div`\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n width: 100%;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n max-height: 240px;\n overflow-y: auto;\n z-index: 10;\n`;\n\nexport const Item = styled.div<{ $selected?: boolean; $isDisabled?: boolean }>`\n display: flex;\n align-items: center;\n padding: 8px 12px;\n gap: 10px;\n cursor: ${({ $isDisabled }) => ($isDisabled ? \"not-allowed\" : \"pointer\")};\n color: #100407;\n background: ${({$selected}) => ($selected ? \"#f2f2f2\" : \"transparent\")};\n\n &:hover, &:focus {\n background: #f9f9f9;\n color: #fff;\n }\n\n & img, & svg {\n width: 24px;\n height: 24px;\n }\n\n & span {\n font-size: 14px;\n color: #100407;\n }\n`;\n","import axios from 'axios';\n\nif (typeof window !== 'undefined') {\n axios.defaults.adapter = require('axios/lib/adapters/xhr');\n}\n\nexport default axios;\n","/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar ua = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n ga = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\n\nconst initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\n }\n}\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var allProps = _objectSpread2(_objectSpread2({}, defaultProps), props);\n\n var iconArgs = allProps.icon,\n maskArgs = allProps.mask,\n symbol = allProps.symbol,\n className = allProps.className,\n title = allProps.title,\n titleId = allProps.titleId,\n maskId = allProps.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || '').split(' '))));\n var transform = objectWithKey('transform', typeof allProps.transform === 'string' ? parse.transform(allProps.transform) : allProps.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(allProps).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!defaultProps.hasOwnProperty(key)) {\n extraProps[key] = allProps[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","import React, { useEffect, useRef } from \"react\";\nimport styled from \"styled-components\";\n\nexport const Input = styled.input`\n width: 48px;\n height: 48px;\n font-size: 28px;\n line-height: 48px;\n text-align: center;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n color: #1e1e1e;\n background: #f8f8f8;\n\n &::placeholder {\n color: #ccc;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &:focus {\n outline: none;\n border: 2px solid #4e3eff;\n }\n\n @media (max-width: 500px) {\n width: 38px;\n height: 38px;\n }\n`;\n\nexport const Button = styled.button<{ disabled?: boolean }>`\n width: 100%;\n padding: 12px;\n color: #fff;\n border: none;\n cursor: pointer;\n background: linear-gradient(90deg, #050055, #3b2cfa);\n border-radius: 6px;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n @media (min-width: 501px) and (max-width: 768px) {\n width: 70%;\n }\n\n @media (max-width: 500px) {\n width: 90%;\n }\n`;\n\nconst Header = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 24px;\n letter-spacing: 0px;\n color: #2a3362;\n margin-bottom: -10px;\n text-align: center;\n\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nconst BodyText = styled.p`\n font-family: Gilroy;\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0px;\n color: #333333;\n margin-bottom: 20px;\n text-align: center;\n\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nconst Container = styled.div`\n @media (max-width: 768px) {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n`;\n\ntype OtpVerificationProps = {\n setIsOtpModal: (value: boolean) => void;\n setOtp: (value: string[]) => void;\n otp: string[];\n paymentMethod?: string;\n handleOtp?: (value: string) => void;\n};\n\nconst OtpVerification: React.FC<OtpVerificationProps> = ({\n otp,\n setOtp,\n setIsOtpModal,\n paymentMethod,\n handleOtp\n}) => {\n const prevPaymentMethod = useRef<string | undefined>(undefined);\n\n useEffect(() => {\n if (prevPaymentMethod.current !== paymentMethod) {\n setOtp([\"\", \"\", \"\", \"\", \"\", \"\"]);\n }\n prevPaymentMethod.current = paymentMethod;\n }, [paymentMethod, setOtp]);\n\n const verifyOtp = () => {\n console.log(\"otp otp otp --> \", otp);\n\n const otpCode = otp.join(\"\")\n \n handleOtp?.(otpCode);\n };\n\n const handleOtpChange = (index: number, value: string) => {\n if (!/^\\d?$/.test(value)) return;\n\n const newOtp = [...otp];\n newOtp[index] = value;\n setOtp(newOtp);\n\n if (value && index < otp.length - 1) {\n const next = document.getElementById(`otp-${index + 1}`);\n next?.focus();\n }\n };\n\n return (\n <Container>\n <Header>Enter OTP</Header>\n <BodyText>A 6-digit code has been sent to your phone number </BodyText>\n <div\n style={{\n display: \"flex\",\n gap: \"8px\",\n justifyContent: \"center\",\n alignItems: \"center\",\n marginBottom: \"16px\",\n }}\n >\n {otp.map((val, i) => (\n <Input\n key={i}\n id={`otp-${i}`}\n type=\"text\"\n maxLength={1}\n value={val ? \"*\" : \"\"}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n autoFocus={i === 0}\n />\n ))}\n </div>\n <Button disabled={otp.some((digit) => digit === \"\")} onClick={verifyOtp}>\n Verify\n </Button>\n </Container>\n );\n};\n\nexport default OtpVerification;\n","const ALPHABETS = \"abcdefghijklmnopqrstuvwxyz\".split(\"\");\nconst SPECIAL_CHARS = \"!@#$%^&*()_+-=[]{}|;:,.<>?/\".split(\"\");\nconst CHAR_POOL = [...ALPHABETS, ...SPECIAL_CHARS];\n\nexport function generateRandomString(\n length: number = 20\n): string {\n let result = \"\";\n for (let i = 0; i < length; i++) {\n const idx = Math.floor(Math.random() * CHAR_POOL.length);\n result += CHAR_POOL[idx];\n }\n return result;\n}\n\nexport const generateSdkTransactionReference = (): string => {\n const today = new Date();\n const yyyymmdd = today.toISOString().split('T')[0].replace(/-/g, '');\n const randomSegment = Math.floor(100 + Math.random() * 900);\n\n return `SDK_TXN_${randomSegment}_${yyyymmdd}`;\n};\n\nexport const isValidCardNumber = (cardNumber: string): boolean => {\n const digits = cardNumber.replace(/\\s/g, \"\");\n let sum = 0;\n let shouldDouble = false;\n\n for (let i = digits.length - 1; i >= 0; i--) {\n let digit = parseInt(digits[i], 10);\n\n if (shouldDouble) {\n digit *= 2;\n if (digit > 9) digit -= 9;\n }\n\n sum += digit;\n shouldDouble = !shouldDouble;\n }\n\n return sum % 10 === 0;\n};\n\nexport const generateXModelHeader = (\n transactionAmount: number,\n transactionReference: string,\n customerNumber: string\n): string => {\n const rawString = `${transactionAmount}${transactionReference}${customerNumber}`.trim();\n return btoa(unescape(encodeURIComponent(rawString.trim())));\n};\n\nexport const encodeString = (input: string): string => {\n return btoa(unescape(encodeURIComponent(input.trim())));\n}\n\nexport const allCurrencySymbols = new Proxy<Record<string, string>>({}, {\n get: (target, currencyCode: string) => {\n if (!(currencyCode in target)) {\n try {\n const symbol = new Intl.NumberFormat(\"en\", {\n style: \"currency\",\n currency: currencyCode,\n currencyDisplay: \"narrowSymbol\",\n })\n .formatToParts(1)\n .find(part => part.type === \"currency\")?.value ?? currencyCode;\n\n target[currencyCode] = symbol;\n } catch {\n target[currencyCode] = currencyCode;\n }\n }\n return target[currencyCode];\n },\n});\n\n\nexport const getCurrencySymbol = (code: string): string => {\n return allCurrencySymbols[code.toUpperCase()] || code;\n}\n\nexport const formatAmountWithSymbol = (\n amount: number = 0,\n currency: string = \"NGN\",\n locale: string = \"en-NG\"\n): string => {\n const symbol = getCurrencySymbol(currency);\n const formatted = new Intl.NumberFormat(locale, {\n style: \"decimal\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(amount);\n\n return `${symbol} ${\" \"} ${formatted}`;\n}\n\nexport const isVerveCard = (cardNumber: string): boolean => {\n const cleaned = cardNumber.replace(/\\s+/g, '');\n const prefix = cleaned.slice(0, 6);\n return (\n /^5061\\d{2}/.test(prefix) ||\n /^5078\\d{2}/.test(prefix) ||\n /^6500\\d{2}/.test(prefix) ||\n /^628051/.test(prefix)\n );\n}\n","import React from \"react\";\n\nexport type CardTypeIconProps = {\n width?: string;\n height?: string;\n style?: any;\n};\nconst VisaIcon = ({ width = \"48\", height = \"32\", style }: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#1A1F71\" />\n <text x=\"8\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n VISA\n </text>\n </svg>\n </div>\n);\n\nexport default VisaIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst MasterCardIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n {/* <rect width={width} height={height} rx=\"3\" fill=\"#EB001B\" /> */}\n <circle cx=\"20\" cy=\"16\" r=\"10\" fill=\"#FF5F00\" />\n <circle cx=\"30\" cy=\"16\" r=\"10\" fill=\"#F79E1B\" />\n </svg>\n </div>\n);\n\nexport default MasterCardIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst VerveIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width=\"48\" height=\"32\" rx=\"3\" fill=\"#000000\" />\n <text x=\"8\" y=\"20\" fill=\"#FFFFFF\" fontSize=\"10\" fontWeight=\"bold\">\n Verve\n </text>\n </svg>\n </div>\n);\n\nexport default VerveIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst AmexIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#2E77BC\" />\n <text x=\"3\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n AMERICAN EXPRESS\n </text>\n </svg>\n </div>\n);\n\nexport default AmexIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst DiscoverIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#FF6000\" />\n <text x=\"3\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n DISCOVER\n </text>\n </svg>\n </div>\n);\n\nexport default DiscoverIcon;\n","import styled, { keyframes } from \"styled-components\";\n\nexport const PaymentSuccessWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 700px;\n height: 100%;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n align-items: center;\n justify-content: center;\n padding: 40px;\n height: 70vh;\n\n @media (max-width: 768px) {\n box-shadow: none;\n height: 100%;\n }\n`;\n\nconst spinOnce = keyframes`\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n`;\n\nexport const GreenCircleWrapper = styled.div`\n position: relative;\n width: 60px;\n height: 60px;\n margin-bottom: 20px;\n`;\n\nexport const GreenSpinner = styled.div`\n position: absolute;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: 4px solid rgba(40, 167, 69, 0.3);\n border-top-color: #28a745;\n animation: ${spinOnce} 1s ease-in-out;\n`;\n\nexport const CheckMark = styled.div`\n width: 90px;\n height: 90px;\n border-radius: 50%;\n background-color: #28a745;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 60px;\n font-weight: 700;\n color: white;\n z-index: 1;\n position: relative;\n`;\n\nexport const SuccessTitle = styled.h2`\n font-size: 24px;\n font-weight: 600;\n color: #28a745;\n margin-bottom: 10px;\n text-align: center;\n`;\n\nexport const SuccessSubtitle = styled.p`\n font-size: 14px;\n color: #666;\n text-align: center;\n max-width: 400px;\n line-height: 1;\n`;\n","import { css } from \"styled-components\";\n\nexport const color = {\n // Blue\n blue: '#14066F',\n blue1: \"#28119C\",\n blue2: '#17087A',\n blue3: \"#0742A6\",\n\n // Black\n black: '#000000',\n black1: '#100407',\n black2: \"#27272A\",\n\n // White \n white: '#fff',\n white1: '#f6f6f6',\n white2: \"#F0F1F3\",\n white3: \"#F5F5F5\",\n white4: \"#FCFCFD\",\n\n // Grey\n grey: '#F4F4F5',\n grey1: \"#71717A\",\n grey2: '#999999',\n grey3: '#E3E5E8',\n grey4: '#454D54',\n grey5: '#52525B',\n\n // Red\n red: \"#EA0707\",\n red1: \"#FEF3F2\",\n\n\n // Pink\n \n\n // Green\n green: \"#E9F0E7\",\n green1: '#028849',\n green2: \"#ECFDF3\",\n green3: \"#03BB7F\",\n green4: \"#B3EBD9\",\n green5: \"#025928\",\n\n // Yellow\n yellow: \"#FEF4E6\",\n yellow1: \"#E18308\",\n yellow2: \"#D96704\",\n\n\n // Purple\n purple: \"#F6F4FF\",\n purple1: \"#DED8FB\",\n\n // Error\n error: '#DF2935',\n error1: '#E23E49',\n error2: '#E5545D',\n error3: '#E96972',\n error4: '#EC7F86',\n error5: '#EF949A',\n error6: '#F2A9AE',\n error7: '#F5BFC2',\n error8: '#F9D4D7',\n}\n\nexport const size = {\n gridSize: 12,\n gutterWidth: '16px',\n outerMargin: '16px',\n xsMin: 0,\n smMin: 320,\n mdMin: 600,\n lgMin: 992,\n xlMin: 1200,\n xxlMin: 1600\n };\n\nexport const breakpoint = {\n xs: `@media (min-width: ${size.xsMin}px)`,\n sm: `@media (min-width: ${size.smMin}px)`, // mobile\n md: `@media (min-width: ${size.mdMin}px)`, // tablet\n lg: `@media (min-width: ${size.lgMin}px)`, // tablet & desktop\n xl: `@media (min-width: ${size.xlMin}px)`, // desktop\n xxl: `@media (min-width: ${size.xxlMin}px)` // extra large desktop\n };\n \n export const device = {\n mobile: `@media (min-width: ${size.xsMin}px) and (max-width: calc(${size.mdMin}px))`,\n tablet: `@media (min-width: ${size.mdMin}px) and (max-width: calc(${size.lgMin}px))`,\n desktop: `@media (min-width: ${size.lgMin}px)`\n };\n\n export const gradient = {\n primary: `linear-gradient(45deg, ${color.blue} 0%, ${color.blue2} 50%, ${color.blue1} 100%);`,\n primaryActive: `linear-gradient(45deg, #1A3D83 0%, ${color.blue} 75%, ${color.blue1} 100%)`,\n light: `linear-gradient(225deg, ${color.blue} 0%, ${color.blue1} 100%);`,\n error: `linear-gradient(45deg, ${color.error} 0%, ${color.error2} 50%, ${color.error3} 100%);`\n };\n\n export const mixin = {\n clickable: css`\n cursor: pointer;\n user-select: none;\n `,\n scrollableY: css`\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n `,\n truncateText: css`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n `\n };","import styled, { keyframes } from \"styled-components\";\nimport { color } from \"../../utils/Styles\";\n\nconst slideIn = keyframes`\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n`;\n\nexport const SnackbarContainer = styled.div`\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n gap: 10px;\n`;\n\nexport const Snackbar = styled.div<{ type: \"success\" | \"error\" | \"info\" | \"warning\" }>`\n display: flex;\n flex-direction: column;\n padding: 12px 16px;\n border-radius: 6px;\n max-width: 300px;\n font-size: 14px;\n color: white;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n animation: ${slideIn} 0.3s ease-out;\n\n background-color: ${({ type }) => {\n switch (type) {\n case \"success\":\n return color.green1;\n case \"error\":\n return color.red;\n case \"warning\":\n return color.yellow;\n case \"info\":\n return color.blue1;\n default:\n return color.black1;\n }\n }};\n`;\n\nexport const SnackbarTitle = styled.div`\n font-weight: bold;\n margin-bottom: 4px;\n`;\n\nexport const SnackbarMessage = styled.div`\n font-size: 13px;\n opacity: 0.9;\n`;","import { useState } from \"react\";\nimport {\n Snackbar,\n SnackbarContainer,\n SnackbarMessage,\n SnackbarTitle,\n} from \"./Styles/SnackbarStyle\";\n\ntype SnackbarType = \"success\" | \"error\" | \"info\" | \"warning\";\n\ninterface SnackbarMessageProps {\n id: number;\n type: SnackbarType;\n title: string;\n message: string;\n}\n\nexport const useSnackbar = () => {\n const [snackbars, setSnackbars] = useState<SnackbarMessageProps[]>([]);\n\n const showSnackbar = (type: SnackbarType, title: string, message: string) => {\n const id = Date.now();\n setSnackbars((prev) => [...prev, { id, type, title, message }]);\n\n setTimeout(() => {\n setSnackbars((prev) => prev.filter((snack) => snack.id !== id));\n }, 6000);\n };\n\n const SnackbarUI = () => (\n <SnackbarContainer>\n {snackbars.map(({ id, type, title, message }) => (\n <Snackbar key={id} type={type}>\n <SnackbarTitle>{title}</SnackbarTitle>\n <SnackbarMessage>{message}</SnackbarMessage>\n </Snackbar>\n ))}\n </SnackbarContainer>\n );\n\n return { showSnackbar, SnackbarUI };\n};","import styled from \"styled-components\";\n\nexport const PaymentFailedWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 700px;\n height: 70vh;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n align-items: center;\n justify-content: center;\n padding: 40px;\n\n @media (max-width: 768px) {\n box-shadow: none;\n height: 100%;\n }\n`;\n\nexport const RedCircle = styled.div`\n width: 90px;\n height: 90px;\n border-radius: 50%;\n background-color: #ff4d4f;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 60px;\n font-weight: 700;\n color: white;\n margin-bottom: 20px;\n`;\n\nexport const FailedTitle = styled.h2`\n font-size: 24px;\n font-weight: 600;\n color: #ff4d4f;\n margin-bottom: 10px;\n text-align: center;\n`;\n\nexport const FailedReason = styled.p`\n font-size: 14px;\n color: #666;\n text-align: center;\n max-width: 400px;\n line-height: 1.6;\n`;\n","import type React from \"react\";\nimport creditCardType from \"credit-card-type\";\nimport { JSX, useCallback, useEffect, useRef, useState } from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport FaBankCardIcon from \"../../assets/icons/FaBankCardIcon\";\nimport FaUssdIcon from \"../../assets/icons/FaUssdIcon\";\nimport FaBankTransferIcon from \"../../assets/icons/FaBankTransferIcon\";\nimport FaNQRIcon from \"../../assets/icons/FaNQRIcon\";\nimport FaOpaySvgIcon from \"../../assets/icons/FaOpayIcon.svg\";\nimport FaPalmPaySvgIcon from \"../../assets/icons/FaPalmpayIcon.svg\";\nimport FaKudaSvgIcon from \"../../assets/icons/FaKudaIcon.svg\";\nimport FaLockIcon from \"../../assets/icons/FaLockIcon\";\nimport FaCopyIcon from \"../../assets/icons/FaCopyIcon\";\nimport BankSelectXDropdown from \"../../components/dropdowns/BankSelectXDropdown\";\nimport FaInfoIcon from \"../../assets/icons/FaInfoIcon\";\nimport FaTimerIcon from \"../../assets/icons/FaTimerIcon\";\nimport FaQRCodeIcon from \"../../assets/icons/FaQRCodeIcon\";\nimport OpayLogo from \"../../assets/icons/FaOpayFullIcon.svg\";\nimport { faEye, faEyeSlash } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport PalmpayIcon from \"../../assets/icons/FaPalmpayFullIcon.svg\";\nimport KudaLogo from \"../../assets/icons/FaKudaFullIcon.svg\";\nimport OtpVerification from \"./OtpVerification\";\nimport FaMobileIcon from \"../../assets/icons/FaMobileIcon\";\nimport FaSuccessicon from \"../../assets/icons/FaSuccessicon\";\nimport FaArrowLeftIcon from \"../../assets/icons/FaArrowLeftIcon\";\nimport NetworkProviderDropdown from \"../../components/dropdowns/NetworkProviderDropdown\";\nimport axios from \"../../shared/utils/customAxios\";\nimport type {\n CheckoutReadyResponse,\n PaygateCheckoutSdkProps,\n TransactionResponse,\n MerchantDataProps,\n VirtualAccountResponse,\n} from \"../../shared/types\";\nimport {\n encodeString,\n formatAmountWithSymbol,\n generateRandomString,\n generateSdkTransactionReference,\n generateXModelHeader,\n isVerveCard,\n} from \"../../shared/utils\";\nimport VisaIcon from \"../../assets/icons/VisaIcon\";\nimport MasterCardIcon from \"../../assets/icons/MasterCardIcon\";\nimport VerveIcon from \"../../assets/icons/VerveIcon\";\nimport AmexIcon from \"../../assets/icons/AmexIcon\";\nimport DiscoverIcon from \"../../assets/icons/DiscoverIcon\";\nimport DefaultCardIcon from \"../../assets/icons/DefaultCardIcon\";\nimport PaymentSuccessView from \"../../components/checkout/PaymentSuccessView\";\nimport PaymentFailedView from \"../../components/checkout/PaymentFailedView\";\nimport { RedCircle } from \"../../components/checkout/styles/PaymentFailedStyl\";\nimport { useSnackbar } from \"../../shared/hooks/useSnackBar\";\n\nexport const Container = styled.div`\n display: flex;\n width: 70%;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n background: #f5f5f5;\n height: 100vh;\n\n @media (max-width: 768px) {\n background-color: #ffffff;\n height: 100vh;\n width: 90%;\n }\n`;\n\nexport const Wrapper = styled.div`\n display: flex;\n width: 100%;\n max-width: 700px;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n\n @media (max-width: 768px) {\n flex-direction: column;\n box-shadow: none;\n height: 100%;\n }\n`;\n\nexport const Sidebar = styled.div<{ open?: boolean }>`\n background: #f4f2fd;\n padding: 24px 0px;\n display: flex;\n flex-direction: column;\n width: 250px;\n transition: transform 0.3s ease-in-out;\n\n @media (max-width: 768px) {\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n z-index: 1000;\n transform: ${({ open }) => (open ? \"translateX(0)\" : \"translateX(-100%)\")};\n box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);\n background: white;\n }\n`;\n\nexport const Overlay = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const MenuButton = styled.button`\n background: transparent;\n border: none;\n font-size: 24px;\n margin: 16px;\n cursor: pointer;\n\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const Option = styled.button<{ selected: boolean }>`\n background: ${({ selected }) => (selected ? \"#e9e4ff\" : \"transparent\")};\n border: none;\n padding: 12px 16px;\n display: flex;\n align-items: center;\n padding-left: 60px;\n cursor: pointer;\n width: 90%;\n text-align: center;\n border-radius: 8px;\n font-size: 14px;\n color: ${(props) => (props.selected ? \"#28119C\" : \"#2d2d2d\")};\n margin: 20px 10px 8px 10px;\n\n &:hover {\n background: #f1f1f9;\n }\n`;\n\nexport const RightPanel = styled.div`\n flex: 1;\n padding: 24px;\n background: #ffffff;\n\n @media (max-width: 768px) {\n padding: 0 16px 16px !important;\n overflow-y: scroll;\n }\n`;\n\nexport const SectionTitle = styled.h3`\n font-size: 16px;\n font-weight: 600;\n margin-bottom: 16px;\n color: #100407;\n`;\n\nexport const Input = styled.input`\n width: 94%;\n padding: 10px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 14px;\n margin-bottom: 12px;\n`;\n\nexport const CardNumberInput = styled.input`\n width: 94%;\n border: unset;\n border-radius: 4px;\n font-size: 14px;\n margin-bottom: 12px;\n padding: 5px 12px !important;\n\n &:focus {\n outline: unset;\n border: unset;\n }\n`;\n\nexport const CardNumberInputBox = styled.div`\n width: 98%;\n padding: 3px 4px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 14px;\n display: flex;\n`;\n\nexport const FlexGroup = styled.div`\n display: flex;\n gap: 20px;\n width: 100%;\n`;\n\nexport const ConfirmButton = styled.button<{ isDisable?: boolean }>`\n width: 100%;\n padding: 12px;\n border-radius: 4px;\n background: linear-gradient(90deg, #0b0b3b, #2400ff);\n color: white;\n font-weight: bold;\n border: none;\n cursor: ${(props) => (props.isDisable ? \"not-allowed\" : \"pointer\")};\n margin-top: 12px;\n`;\n\nexport const USSDCode = styled.div`\n margin-top: 16px;\n padding: 20px 40px;\n background: #f4f4f4;\n border-radius: 8px;\n font-size: 16px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 87%;\n`;\n\nexport const PinInputGroup = styled.div`\n display: flex;\n justify-content: center;\n gap: 12px;\n margin: 32px 0 12px;\n`;\n\nexport const PinInput = styled.input`\n width: 48px;\n height: 48px;\n text-align: center;\n font-size: 20px;\n border-radius: 8px;\n border: 1px solid #ccc;\n`;\n\nexport const TitleHeader = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 20px;\n line-height: 100%;\n letter-spacing: 0%;\n text-align: center;\n color: #28119c;\n`;\n\nexport const Box = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n @media (max-width: 768px) {\n justify-content: flex-start;\n width: 100%;\n }\n`;\n\nexport const Divider = styled.div`\n border: 0.5px solid #ded8fb;\n`;\n\nexport const AmountBox = styled.div`\n top: 69px;\n left: 295px;\n border-radius: 14px;\n gap: 16px;\n padding-top: 16px;\n padding-bottom: 16px;\n background-color: #f4f4f5;\n color: #27272a;\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n line-height: 18.2px;\n letter-spacing: -2.5%;\n vertical-align: bottom;\n display: flex;\n justify-content: space-between;\n padding: 20px;\n margin-bottom: 30px;\n`;\n\nexport const AmountOuterBox = styled.div`\n border-radius: 4px;\n gap: 16px;\n background-color: unset;\n color: #27272a;\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n line-height: 18.2px;\n letter-spacing: -2.5%;\n vertical-align: bottom;\n padding: 20px;\n margin-bottom: 30px;\n min-height: 100px;\n`;\n\nexport const SecureBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n background-color: #ffffff;\n padding: 20px;\n margin-bottom: 20px;\n border: 1px solid #e6e6e6;\n\n @media (max-width: 768px) {\n padding: 10px;\n }\n`;\n\nexport const DivBox = styled.div`\n font-family: Inter;\n font-weight: 700;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: -2.5%;\n`;\n\nexport const CardNumbertext = styled.p`\n font-family: Inter;\n font-weight: 500;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: 0%;\n color: #000;\n margin: 20px 0px 10px 0px;\n`;\n\nexport const AccountCard = styled.div`\n background: #f4f4f5;\n border-radius: 14px;\n padding: 24px;\n margin-bottom: 24px;\n`;\n\nexport const Row = styled(({ isLast, ...rest }) => <div {...rest} />)<{\n isLast?: boolean;\n}>`\n margin-bottom: 16px;\n border-bottom: ${(props) => (props.isLast ? \"unset\" : \"0.6px solid #E4E3E7\")};\n padding-bottom: 16px;\n & > span.label {\n display: block;\n font-size: 12px;\n font-weight: 400;\n color: #71717a;\n margin-bottom: 4px;\n }\n & > span.value {\n font-size: 16px;\n font-weight: 600;\n color: #27272a;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n`;\n\nexport const InfoBanner = styled.div`\n background: #e4e4e7;\n border-radius: 8px;\n padding: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #27272a;\n margin-top: 8px;\n`;\n\nexport const TimerRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-size: 16px;\n margin-bottom: 16px;\n color: #27272a;\n`;\n\nexport const QRContainer = styled.div`\n width: 280px;\n height: 280px;\n background: #f4f4f4;\n border-radius: 8px;\n margin: 0 auto 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const OpayBox = styled.div`\n border: 2px solid transparent;\n border-radius: 16px;\n padding: 24px;\n margin: 0 auto 24px;\n max-width: 400px;\n background-image: linear-gradient(white, white),\n linear-gradient(134deg, #40175e 0%, #1aa0cf 50%, #6d00ff 100%);\n background-origin: padding-box, border-box;\n background-clip: padding-box, border-box;\n\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n`;\n\nexport const MobileHeader = styled.p`\n font-family: Inter;\n font-weight: 500;\n font-size: 20px;\n text-align: center;\n color: #000000;\n margin-bottom: -10px;\n`;\n\nexport const MobileSubText = styled.p`\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n text-align: center;\n color: #52525b;\n`;\n\nexport const MobileTextBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 80%;\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const StyledInput = styled(Input)`\n width: 95%;\n margin-bottom: 16px;\n font-size: 14px;\n border-radius: 24px;\n padding: 14px;\n`;\n\nexport const PasswordWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n`;\n\nexport const TogglePassword = styled.button`\n position: absolute;\n right: 16px;\n // top: 50%;\n transform: translateY(-50%);\n border: none;\n background: none;\n cursor: pointer;\n`;\n\nexport const NextButton = styled(ConfirmButton)`\n background: #4caf50;\n margin-top: 0;\n`;\n\nexport const Header = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 24px;\n letter-spacing: 0px;\n color: #2a3362;\n margin-bottom: -10px;\n text-align: center;\n`;\n\nexport const BodyText = styled.p`\n font-family: Gilroy;\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0px;\n color: #333333;\n margin-bottom: 20px;\n text-align: center;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n justify-content: space-between;\n`;\n\nexport const InnerFlexRow = styled.div`\n display: flex;\n align-items: flex-start;\n justify-content: flex-end;\n`;\n\nexport const InputWrapper = styled.div<{ width?: string; withSlash?: boolean }>`\n width: ${({ width }) => width || \"100%\"};\n position: relative;\n\n ${({ withSlash }) =>\n withSlash &&\n `\n &::after {\n content: '/';\n position: absolute;\n left: 60px;\n top: 35%;\n transform: translateY(-50%);\n font-size: 18px;\n color: #333;\n }\n `}\n`;\n\nexport const Separator = styled.span`\n font-size: 20px;\n`;\n\nexport const AmountBoxRow = styled.div<{ bold?: boolean }>`\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n font-weight: ${({ bold }) => (bold ? 700 : 400)};\n background-color: #f4f4f5;\n padding: 20px 10px;\n margin-bottom: 20px;\n border-radius: 8px;\n`;\n\nexport const Label = styled.span`\n color: #6b7280;\n`;\n\nexport const Value = styled.span`\n color: #111827;\n`;\n\nexport const AmountBoxDivider = styled.div`\n height: 1px;\n background-color: #e5e7eb;\n margin: 12px 0;\n`;\n\nexport const ItemList = styled.div`\n margin-bottom: 8px;\n`;\n\nexport const ItemRow = styled.div`\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n`;\n\nexport const ItemName = styled.span`\n color: #111827;\n`;\n\nexport const ItemPrice = styled.span`\n color: #111827;\n`;\n\nexport const AcceptedCardsBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 16px 0;\n flex-wrap: wrap;\n width: 100%;\n\n @media (max-width: 768px) {\n padding: 8px 0;\n }\n\n @media (max-width: 600px) {\n flex-direction: column;\n }\n`;\n\nexport const AcceptedCardsInnerBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n width: 250px;\n\n @media (max-width: 992px) {\n width: 50%;\n }\n\n @media (max-width: 600px) {\n gap: 8px;\n width: 70%;\n }\n`;\n\nexport const CardLogo = styled.img`\n height: 24px;\n object-fit: contain;\n`;\n\nexport const FullscreenLoader = styled.div`\n height: 100vh;\n width: 100vw;\n background-color: rgba(52, 52, 52, 0.3);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: #ffffff;\n font-family: Inter, sans-serif;\n`;\n\nexport const LoadingText = styled.p<{ size?: string; weight?: number }>`\n margin-top: 12px;\n font-size: ${({ size }) => size || \"16px\"};\n font-weight: ${({ weight }) => weight || 400};\n text-align: center;\n color: white;\n`;\n\nexport const spin = keyframes`\nto {\n transform: rotate(360deg);\n}\n`;\n\nexport const Spinner = styled.div`\n width: 40px;\n height: 40px;\n border: 4px solid #28119c;\n border-top-color: #ffffff;\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n\nexport const Iframe = styled.iframe`\n width: 100%;\n height: 600px;\n border: 0;\n`;\n\n// export const Container = styled.div`\n// background: #f9f9f9;\n// border-radius: 8px;\n// padding: 20px;\n// margin-top: 20px;\n// `;\n\ntype VirtualPaymentResponse = {\n message: string;\n success: boolean;\n};\n\ntype InitiateMomoResponseProps = {\n responseDetails: {\n responseCode: string;\n responseMessage: string;\n failedReason?: string;\n };\n transactionReference: string;\n};\n\nconst PaygateCheckoutSdk = ({ userData }: PaygateCheckoutSdkProps) => {\n const { showSnackbar, SnackbarUI } = useSnackbar();\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\n const [selectedMethod, setSelectedMethod] = useState(\"CARD\");\n const [isOtpModal, setIsOtpModal] = useState(false);\n const [cardDetails, setCardDetails] = useState({\n number: \"\",\n expiryMonth: \"\",\n expiryYear: \"\",\n cvv: \"\",\n cardHolderName: \"\",\n productDescription: \"\",\n });\n const [selectedBank, setSelectedBank] = useState(\"\");\n const [step, setStep] = useState<\"FORM\" | \"PIN\">(\"FORM\");\n const [pin, setPin] = useState([\"\", \"\", \"\", \"\"]);\n const [otp, setOtp] = useState([\"\", \"\", \"\", \"\", \"\", \"\"]);\n const [opayStep, setOpayStep] = useState<\"AUTH\" | \"CREDS\" | \"OTP\">(\"AUTH\");\n const [opayPhone, setOpayPhone] = useState(\"\");\n const [opayPass, setOpayPass] = useState(\"\");\n const [opayPassVisible, setOpayPassVisible] = useState(false);\n const [palmpayStep, setPalmPayStep] = useState<\"AUTH\" | \"CREDS\" | \"OTP\">(\n \"AUTH\"\n );\n const [palmpayPhone, setPalmPayPhone] = useState(\"\");\n const [palmpayPass, setPalmPayPass] = useState(\"\");\n const [palmpayPassVisible, setPalmPayPassVisible] = useState(false);\n const [kudaStep, setKudaStep] = useState<\"AUTH\" | \"CREDS\" | \"SELECT\" | \"OTP\">(\n \"AUTH\"\n );\n const [kudaEmail, setKudaEmail] = useState(\"\");\n const [kudaPass, setKudaPass] = useState(\"\");\n const [kudaPassVisible, setKudaPassVisible] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [kudaAccount, setKudaAccount] = useState<\"WALLET\" | \"OWEALTH\" | \"\">(\"\");\n const [mobileMoneyStep, setMobileMoneyStep] = useState<\n \"FORM\" | \"CALL\" | \"SUCCESS\" | \"FAILED\"\n >(\"FORM\");\n const [mobileMoneyPhone, setMobileMoneyPhone] = useState<string>(\"\");\n const [mobileMoneyNetwork, setMobileMoneyNetwork] = useState<string>(\"\");\n const [virtualPaymentStatus, setVirtualPaymentStatus] =\n useState<VirtualPaymentResponse>({\n message: \"\",\n success: false,\n });\n const [initiateMomoResponse, setInitiateMomoResponse] =\n useState<InitiateMomoResponseProps>();\n const [checkoutResponseData, setCheckoutResponseData] =\n useState<CheckoutReadyResponse>();\n const [intiateCardPaymentResponse, setIntiateCardPaymentResponse] =\n useState<TransactionResponse>();\n const [timerActive, setTimerActive] = useState(false);\n const [timeRemaining, setTimeRemaining] = useState(30 * 60);\n const [payments, setPayments] = useState<string[]>([]);\n const [virtualResponse, setVirtualResponse] =\n useState<VirtualAccountResponse>();\n const [momoTransactionRef, setMomoTransactionRef] = useState(\"\");\n const [detectedCardType, setDetectedCardType] = useState<string | null>(null);\n const [isPaymanetFailed, setIsPaymanetFailed] = useState(false);\n const [isPaymanetSuccessful, setIsPaymanetSuccessful] = useState(false);\n const [initiateCheckoutTransactionRef, setInitiateCheckoutTransactionRef] =\n useState(\"\");\n const [cardTransactionRef, setCardTransactionRef] = useState(\"\");\n const [isMomoPaymentValidated, setIsMomoPaymentValidated] = useState(false);\n const pinRefs = useRef<(HTMLInputElement | null)[]>([]);\n const cardRef = useRef<HTMLInputElement>(null);\n const monthRef = useRef<HTMLInputElement>(null);\n const yearRef = useRef<HTMLInputElement>(null);\n const cvcRef = useRef<HTMLInputElement>(null);\n const cardNumberRef = useRef<HTMLInputElement>(null);\n const cardHolderNameRef = useRef<HTMLInputElement>(null);\n const initialCheckoutTransactionRef = useRef<string | null>(null);\n const [show3DSIframe, setShow3DSIframe] = useState(false);\n const [redirect3DSUrl, setRedirect3DSUrl] = useState<string | null>(null);\n const iframeRef = useRef<HTMLIFrameElement | null>(null);\n const merchantPublickeyBase64 = encodeString(\n userData?.merchantPublicKey ?? \"\"\n );\n\n const methods = [\n { label: \"Bank card\", value: \"CARD\", icon: FaBankCardIcon },\n { label: \"USSD\", value: \"USSD\", icon: FaUssdIcon },\n { label: \"Bank transfer\", value: \"BANKTRANSFER\", icon: FaBankTransferIcon },\n { label: \"NQR\", value: \"NQR\", icon: FaNQRIcon },\n { label: \"Pay with Opay\", value: \"OPAY\", icon: FaOpaySvgIcon },\n { label: \"Pay with PalmPay\", value: \"PALMPAY\", icon: FaPalmPaySvgIcon },\n { label: \"Pay with Kuda\", value: \"KUDA\", icon: FaKudaSvgIcon },\n { label: \"Mobile Money\", value: \"MOBILEMONEY\", icon: FaMobileIcon },\n ];\n\n const cardIconsMap: Record<string, JSX.Element> = {\n visa: <VisaIcon />,\n mastercard: <MasterCardIcon />,\n verve: <VerveIcon />,\n \"american-express\": <AmexIcon />,\n discover: <DiscoverIcon />,\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n\n if (name === \"number\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 19);\n const grouped = cleaned.replace(/(.{4})/g, \"$1 \").trim();\n setCardDetails((prev) => ({ ...prev, number: grouped }));\n\n const cardInfo = creditCardType(cleaned);\n const isVerveCardValid = isVerveCard(cleaned);\n if (isVerveCardValid) {\n setDetectedCardType(\"verve\");\n } else {\n if (cardInfo.length) {\n setDetectedCardType(cardInfo[0].type);\n } else {\n setDetectedCardType(null);\n }\n }\n\n // const cardInfo = valid.number(cleaned);\n // const isVerveCardValid = isVerveCard(cleaned);\n // if(isVerveCardValid){\n // setDetectedCardType(\"verve\");\n // }else{\n // if (cardInfo.card) {\n // setDetectedCardType(cardInfo.card.type);\n // } else {\n // setDetectedCardType(null);\n // }\n\n // }\n\n if (cleaned.length >= 16 && monthRef.current) {\n monthRef.current.focus();\n }\n return;\n }\n\n if (name === \"expiryMonth\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 2);\n setCardDetails((prev) => ({ ...prev, expiryMonth: cleaned }));\n\n if (cleaned.length === 2 && yearRef.current) {\n yearRef.current.focus();\n }\n return;\n }\n\n if (name === \"expiryYear\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 2);\n const prev = cardDetails.expiryYear;\n setCardDetails((prevState) => ({ ...prevState, expiryYear: cleaned }));\n\n if (cleaned.length === 2 && cvcRef.current) {\n cvcRef.current.focus();\n }\n\n if (prev.length === 1 && cleaned === \"\" && monthRef.current) {\n monthRef.current.focus();\n }\n\n return;\n }\n\n if (name === \"cvv\") {\n const maxLength = detectedCardType === \"american-express\" ? 4 : 3;\n const cleaned = value.replace(/\\D/g, \"\").slice(0, maxLength);\n const prev = cardDetails.cvv;\n setCardDetails((prevState) => ({ ...prevState, cvv: cleaned }));\n\n if (prev.length === 1 && cleaned === \"\" && yearRef.current) {\n yearRef.current.focus();\n }\n\n return;\n }\n\n setCardDetails((prev) => ({ ...prev, [name]: value }));\n };\n\n const handlePinChange = (index: number, value: string) => {\n const newPin = [...pin];\n newPin[index] = value;\n setPin(newPin);\n };\n\n const handleCardPayment = useCallback(async () => {\n const formattedPin = pin.join(\"\");\n const formattedCardNumber =\n cardDetails.number.replaceAll(\" \", \"\") ||\n cardNumberRef.current?.value.replaceAll(\" \", \"\");\n setIsLoading(true);\n try {\n const paymentRequest = {\n client_transaction_reference: initialCheckoutTransactionRef.current,\n amount: parseFloat(userData.amount.toString()),\n currency: userData.currencyCode,\n card_number: formattedCardNumber,\n card_expiry_month: cardDetails.expiryMonth || monthRef.current?.value,\n card_expiry_year: `20${\n cardDetails.expiryYear || yearRef.current?.value\n }`,\n card_cvv: cardDetails.cvv || cvcRef.current?.value,\n card_pin: detectedCardType === \"verve\" ? formattedPin : undefined,\n card_holder_name:\n cardDetails.cardHolderName || cardHolderNameRef.current?.value,\n customer_email: userData.email,\n customer_phone_number: \"+\" + userData.phoneNumber,\n customer_address: userData.customerAddress,\n customer_first_name: userData.firstName,\n customer_last_name: userData.lastName,\n customer_city: userData.customerCity,\n customer_state: userData.customerState,\n customer_country: userData.customerCountry,\n customer_postal_code: userData.customerPostalCode,\n // redirect_url: userData.redirectUrl,\n payment_description: cardDetails.productDescription,\n // webhook_url: userData.webhookUrl,\n device_signature: userData.deviceSignature,\n ip_address: userData.ipAddress,\n metadata_order_id: userData.metadataOrderId,\n metadata_product_info: userData.metadataProductInfo,\n };\n\n const response = await axios.post(\n `https://card.dev.mypaygate.co/api/v1/checkout-sdk/charge`,\n paymentRequest,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n // \"X-Internal-API-Key\": \"checkout-sdk-key-101112\",\n \"X-Business-API-Key\": userData.merchantSecretKey,\n },\n }\n );\n\n if (response.status) {\n setIntiateCardPaymentResponse(response.data);\n }\n } catch (error: any) {\n console.error(\"Payment Error:\", error.response?.data || error.message);\n setIntiateCardPaymentResponse(error.response?.data);\n showSnackbar(\"error\", error.response?.data.error_code, error.response?.data.message);\n } finally {\n setIsLoading(false);\n }\n }, [pin]);\n\n const handleSimulateMomo = useCallback(async () => {\n setIsLoading(true);\n try {\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/simulate-payin`,\n {\n requestHeader: {\n clientId: \"\",\n requestType: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase() + \"-Collections\",\n },\n transactionReference: momoTransactionRef,\n transactionCountry: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase(),\n },\n {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n if (data.responseMessage.toLowerCase() == \"success\") {\n setIsMomoPaymentValidated(true);\n }\n return data;\n } catch (error: any) {\n console.error(\n \"Simulate PayIn Error:\",\n error.response?.data || error.message\n );\n } finally {\n setIsLoading(false);\n }\n }, [momoTransactionRef]);\n\n const handleInitiateMomo = useCallback(async () => {\n setIsLoading(true);\n try {\n const transactionReference = generateSdkTransactionReference();\n setMomoTransactionRef(transactionReference);\n\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/payin`,\n {\n requestHeader: {\n clientId: userData.clientId,\n requestType: \"Collections\",\n },\n customerName: userData.firstName + userData.lastName,\n customerEmail: userData.email,\n customerNumber: mobileMoneyPhone,\n transactionReference: transactionReference,\n transactionDescription: \"\",\n transactionAmount: userData.amount,\n transactionCurrency: userData.transactionCurrency,\n transactionCountry: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase(),\n successUrl: \"\",\n errorUrl: \"\",\n cancelUrl: \"\",\n operatorCode: \"\",\n webhookUrl: \"\",\n },\n {\n headers: {\n Accept: \"application/json\",\n \"X-module\": generateXModelHeader(\n userData.amount,\n transactionReference,\n mobileMoneyPhone.toString()\n ),\n \"X-business\": merchantPublickeyBase64,\n \"X-app\": \"checkout\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n setInitiateMomoResponse(data);\n if (data.responseDetails.responseMessage.toLowerCase() !== 'failed') {\n setMobileMoneyStep(\"CALL\");\n }else{\n showSnackbar(\"error\", data.responseDetails.failedReason, \"Please check your account details and try again\")\n }\n } catch (error: any) {\n console.error(\"PayIn Error:\", error.response?.data || error.message);\n } finally {\n setIsLoading(false);\n }\n }, [mobileMoneyPhone]);\n\n const checkMomoTransactionStatus = async () => {\n setIsLoading(true);\n const xModuleBase64 = encodeString(momoTransactionRef);\n const xBusiness64 = encodeString(userData.merchantPublicKey ?? \"\");\n const payload = {\n requestHeader: {\n clientId: \"\",\n requestType: \"GH\" + \"-Collections\",\n },\n transactionReference: momoTransactionRef,\n transactionCountry: \"GH\",\n };\n\n try {\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/check-status`,\n payload,\n {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"X-module\": xModuleBase64,\n \"X-business\": xBusiness64,\n \"X-app\": \"checkout\",\n },\n }\n );\n\n if (data.serverResponse.responseDetails.responseMessage !== \"SUCCESS\") {\n setMobileMoneyStep(\"FAILED\");\n } else {\n setMobileMoneyStep(\"SUCCESS\");\n }\n return data;\n } catch (error: any) {\n console.error(\n \"Error checking status:\",\n error.response?.data || error.message\n );\n throw error;\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleVirtualAccount = useCallback(async () => {\n try {\n const url = `https://virtual-account.dev.mypaygate.co/va/blusalt/v1/paygate/generate_dynamic_virtual_account`;\n\n const payload = {\n account_reference: generateRandomString(),\n business_fk: 24,\n account_category: \"Collection\",\n channel: \"VirtualAccount\",\n expires_in_minutes: 30,\n customer_first_name: userData?.firstName,\n customer_last_name: userData?.lastName,\n customer_email: userData?.email,\n customer_phone_number: \"+\" + userData?.phoneNumber,\n transaction_description: \"\",\n transaction_amount: checkoutResponseData?.data?.transaction_amount,\n };\n const response = await axios.post(url, payload);\n setVirtualResponse(response.data);\n } catch (error) {\n console.error(\"handleVirtualAccount error --> \", error);\n }\n }, [\n checkoutResponseData?.data?.transaction_amount,\n userData?.email,\n userData?.firstName,\n userData?.lastName,\n userData?.phoneNumber,\n ]);\n\n const handleGenerateTransactionRef = () => {\n const transactionRef = generateSdkTransactionReference();\n setInitiateCheckoutTransactionRef(transactionRef);\n initialCheckoutTransactionRef.current = transactionRef;\n\n return transactionRef;\n };\n\n const handlePay = useCallback(async () => {\n const transactionRef = handleGenerateTransactionRef();\n\n setCardTransactionRef(transactionRef);\n try {\n const payload = {\n redirect_url: \"\",\n merchant_key: \"\",\n merchant_reference: userData.merchantReference,\n biller_name: \"\",\n branch_id: \"\",\n payment_link_id: \"\",\n transaction_reference: initialCheckoutTransactionRef.current,\n checkout_amount: userData.amount,\n currency_code: userData.currencyCode,\n first_name: userData.firstName,\n last_name: userData.lastName,\n email_address: userData.email,\n phone_number: userData.phoneNumber,\n country_code: userData.countryCode,\n payment_channel: \"\",\n additional_details: {},\n };\n\n const { data } = await axios.post(\n `https://checkout-be.dev.mypaygate.co/checkout`,\n payload,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization:\n \"UEstMzEtYjc2ZmJmZDljY2ExNDVlYS1xQ243ckk1eWcteWwyTjdQT1o4S09RREhpbVBTYnVVQg==\",\n },\n }\n );\n\n if (data.status) {\n setCheckoutResponseData(data);\n }\n } catch (error) {\n console.error(\"\");\n }\n }, []);\n\n const resetState = () => {\n setCardDetails({\n number: \"\",\n expiryMonth: \"\",\n expiryYear: \"\",\n cvv: \"\",\n cardHolderName: \"\",\n productDescription: \"\",\n });\n setPin([\"\", \"\", \"\", \"\"]);\n setOtp([\"\", \"\", \"\", \"\", \"\", \"\"]);\n setSelectedBank(\"\");\n setOpayStep(\"AUTH\");\n setOpayPhone(\"\");\n setOpayPass(\"\");\n setOpayPassVisible(false);\n setPalmPayStep(\"AUTH\");\n setPalmPayPhone(\"\");\n setPalmPayPass(\"\");\n setPalmPayPassVisible(false);\n setKudaStep(\"AUTH\");\n setKudaEmail(\"\");\n setKudaPass(\"\");\n setKudaPassVisible(false);\n setKudaAccount(\"\");\n setMobileMoneyStep(\"FORM\");\n setMobileMoneyPhone(\"\");\n setMobileMoneyNetwork(\"\");\n setVirtualPaymentStatus({\n message: \"\",\n success: false,\n });\n setInitiateMomoResponse(undefined);\n setVirtualResponse(undefined);\n setIsOtpModal(false);\n setRedirect3DSUrl(null);\n setShow3DSIframe(false);\n setIsPaymanetSuccessful(false);\n setIsPaymanetFailed(false);\n setTimeRemaining(30 * 60);\n setIsMomoPaymentValidated(false);\n };\n\n const formatTime = (seconds: number): string => {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n return `${minutes.toString().padStart(2, \"0\")}:${remainingSeconds\n .toString()\n .padStart(2, \"0\")}`;\n };\n\n const handleVirtualAccountPayment = useCallback(async () => {\n try {\n const url = `https://virtual-account.dev.mypaygate.co/va/blusalt/v1/paygate/fund_virtual_account`;\n\n const { data } = await axios.post(url, {\n account_number: virtualResponse?.data?.account_number,\n amount: checkoutResponseData?.data?.transaction_amount,\n });\n\n setVirtualPaymentStatus(data);\n } catch (error) {\n console.error(\"fund_virtual_account error --> \", error);\n }\n }, [virtualResponse]);\n\n const handleOtp = useCallback(async (value: string) => {\n try {\n const url = `https://card.dev.mypaygate.co/api/v1/checkout-sdk/complete-otp`;\n const requestBody = {\n transaction_reference: initialCheckoutTransactionRef.current,\n otp_code: value,\n };\n\n const response = await axios.post(url, requestBody, {\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Internal-API-Key\": \"checkout-sdk-key-101112\",\n \"X-Business-API-Key\": userData.merchantSecretKey,\n },\n });\n\n if (response.data.status === \"SUCCESSFUL\") {\n setIsPaymanetSuccessful(true);\n }\n // setIntiateCardPaymentResponse(response.data)\n } catch (error) {\n console.error('handleOtp error -> ', error);\n \n }\n }, []);\n\n const isCardFormComplete = () => {\n const cardNumber =\n cardDetails.number.replace(/\\s/g, \"\") ||\n cardNumberRef.current?.value?.replace(/\\s/g, \"\");\n const expiryMonth = cardDetails.expiryMonth || monthRef.current?.value;\n const expiryYear = cardDetails.expiryYear || yearRef.current?.value;\n const cvv = cardDetails.cvv || cvcRef.current?.value;\n const cardHolderName =\n cardDetails.cardHolderName || cardHolderNameRef.current?.value;\n\n return (\n !!cardNumber &&\n cardNumber.length >= 16 &&\n !!expiryMonth &&\n expiryMonth.length === 2 &&\n !!expiryYear &&\n expiryYear.length === 2 &&\n !!cvv &&\n (cvv.length === 3 ||\n (detectedCardType === \"american-express\" && cvv.length === 4)) &&\n !!cardHolderName\n );\n };\n\n const handleSelectedMethod = () => {\n setStep(\"FORM\");\n setSelectedMethod(\"CARD\");\n };\n\n useEffect(() => {\n handlePay();\n setIsMomoPaymentValidated(false);\n }, []);\n\n useEffect(() => {\n let interval: NodeJS.Timeout;\n\n if (timerActive && timeRemaining > 0) {\n interval = setInterval(() => {\n setTimeRemaining((prevTime) => prevTime - 1);\n }, 1000);\n } else if (timeRemaining === 0) {\n setTimerActive(false);\n }\n\n return () => {\n if (interval) clearInterval(interval);\n };\n }, [timerActive, timeRemaining]);\n\n useEffect(() => {\n let payment =\n checkoutResponseData?.data?.payment_options?.map(\n (value) => value.paymentOption\n ) ?? [];\n setPayments(payment);\n }, [checkoutResponseData]);\n\n useEffect(() => {\n if (selectedMethod === \"BANKTRANSFER\") {\n handleVirtualAccount();\n setTimerActive(true);\n setTimeRemaining(30 * 60);\n }\n }, [selectedMethod, handleVirtualAccount]);\n\n useEffect(() => {\n if (virtualPaymentStatus) {\n setTimerActive(false);\n }\n }, [virtualPaymentStatus]);\n\n useEffect(() => {\n if (intiateCardPaymentResponse?.status && detectedCardType === \"verve\") {\n setIsOtpModal(true);\n } else {\n if (\n intiateCardPaymentResponse?.status === \"PENDING_3DS\" &&\n intiateCardPaymentResponse?.redirect_url_3ds\n ) {\n setRedirect3DSUrl(intiateCardPaymentResponse?.redirect_url_3ds);\n setShow3DSIframe(true);\n showSnackbar(\n \"info\",\n \"3DS authentication\",\n \"3DS authentication required. Please complete the challenge below.\"\n );\n } else {\n if (intiateCardPaymentResponse?.status === \"SUCCESSFUL\") {\n setIsPaymanetSuccessful(true);\n }\n\n if (intiateCardPaymentResponse?.status === \"FAILED\") {\n setIsPaymanetFailed(true);\n\n setTimeout(() => {\n resetState();\n setIsPaymanetFailed(false);\n }, 3000);\n }\n }\n }\n }, [intiateCardPaymentResponse]);\n\n useEffect(() => {\n if (mobileMoneyStep === \"SUCCESS\" || virtualPaymentStatus.success) {\n showSnackbar(\"info\", \"Redirection Notification\", \"You will be redirected in 10 seconds\");\n setTimeout(() => {\n window.open(userData?.merchantSiteUrl, \"_self\");\n }, 10000);\n }\n }, [virtualPaymentStatus, mobileMoneyStep]);\n\n const handleMobileHeaderText = () => {\n if (kudaStep === \"OTP\" || palmpayStep === \"OTP\" || opayStep === \"OTP\") {\n return (\n <MobileTextBox>\n <Header>Enter OTP</Header>\n <BodyText>\n A 6-digit code has been sent to your phone number{\" \"}\n </BodyText>\n </MobileTextBox>\n );\n } else {\n if (selectedMethod === \"CARD\") {\n return (\n <MobileTextBox>\n <MobileHeader>Pay with bank card</MobileHeader>\n <MobileSubText>Enter your card details to pay</MobileSubText>\n </MobileTextBox>\n );\n } else if (selectedMethod === \"USSD\") {\n return (\n <MobileTextBox>\n <MobileHeader>Pay with USSD</MobileHeader>\n <MobileSubText>Select a bank to get the USSD code</MobileSubText>\n </MobileTextBox>\n );\n } else {\n return (\n <MobileTextBox>\n <MobileHeader>Pay via transfer</MobileHeader>\n <MobileSubText>\n Make the transfer to the account below\n </MobileSubText>\n </MobileTextBox>\n );\n }\n }\n };\n\n const BasicAmountInfo = () => {\n return (\n <AmountBoxRow bold>\n <Label>Total Amount</Label>\n <Value>\n {formatAmountWithSymbol(userData.amount, userData.currencyCode)}\n </Value>\n </AmountBoxRow>\n );\n };\n\n const LoadingScreen = () => (\n <FullscreenLoader>\n <Spinner />\n <LoadingText size=\"18px\" weight={500} style={{ marginTop: \"30px\" }}>\n Initializing SDK...\n </LoadingText>\n <LoadingText size=\"14px\" weight={300}>\n Setting up your secure payment environment.\n </LoadingText>\n </FullscreenLoader>\n );\n\n if (!checkoutResponseData) {\n return <LoadingScreen />;\n }\n\n const color = 'red';\n if (color) {\n return (\n <div style={{ background: \"#f0f0f0\", padding: \"2rem\", textAlign: \"center\" }}>\n <h1 style={{ color: \"green\" }}>✅ SDK Loaded</h1>\n <pre>{JSON.stringify(userData, null, 2)}</pre>\n </div>\n );\n }\n\n return (\n <>\n {!isPaymanetSuccessful &&\n !isPaymanetFailed &&\n !show3DSIframe &&\n !redirect3DSUrl && (\n <Container>\n <Wrapper>\n <Sidebar open={isDrawerOpen}>\n <TitleHeader>Make Payment</TitleHeader>\n <Divider />\n {methods\n .filter((method) => payments.includes(method.value))\n .map((method) => {\n const IconOrUrl = method.icon;\n const selected = selectedMethod === method.value;\n return (\n <Option\n key={method.value}\n selected={selected}\n onClick={() => {\n resetState();\n setSelectedMethod(method.value);\n setStep(\"FORM\");\n }}\n style={{\n backgroundColor: selected ? \"#DED8FB\" : \"transparent\",\n }}\n >\n {typeof IconOrUrl === \"string\" ? (\n <img\n src={IconOrUrl || \"/placeholder.svg\"}\n alt={`${method.label} icon`}\n style={{ width: 24, height: 24, marginRight: 8 }}\n />\n ) : (\n <IconOrUrl\n style={{ marginRight: 8, fontWeight: 500 }}\n color={selected ? \"#28119C\" : \"#52525B\"}\n />\n )}\n {method.label}\n </Option>\n );\n })}\n </Sidebar>\n\n <RightPanel>\n <Box>\n <MenuButton onClick={() => setIsDrawerOpen(true)}>\n <FaArrowLeftIcon />\n </MenuButton>\n {handleMobileHeaderText()}\n </Box>\n {![\"OPAY\", \"PALMPAY\", \"KUDA\", \"MOBILEMONEY\"].includes(\n selectedMethod\n ) &&\n step !== \"PIN\" && <BasicAmountInfo />}\n {payments.includes(\"CARD\") &&\n step === \"FORM\" &&\n selectedMethod === \"CARD\" && (\n <>\n {!show3DSIframe && !redirect3DSUrl && (\n <>\n <CardNumbertext>Card Number</CardNumbertext>\n <CardNumberInputBox>\n <CardNumberInput\n name=\"number\"\n placeholder=\"0000 0000 0000 0000\"\n value={cardDetails.number}\n onChange={handleInputChange}\n ref={cardNumberRef}\n style={{ marginBottom: \"0\" }}\n />\n {detectedCardType ? (\n cardIconsMap[detectedCardType]\n ) : (\n <DefaultCardIcon />\n )}\n </CardNumberInputBox>\n <FlexRow>\n <div>\n <CardNumbertext>Expiry Date</CardNumbertext>\n <div\n style={{\n display: \"flex\",\n width: \"100px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"100px\",\n }}\n >\n <InputWrapper\n width=\"40px\"\n style={{ maxWidth: \"30px\", minWidth: \"30px\" }}\n withSlash={true}\n >\n <Input\n name=\"expiryMonth\"\n placeholder=\"MM\"\n maxLength={2}\n ref={monthRef}\n value={cardDetails.expiryMonth}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n\n {/* <Separator>/</Separator> */}\n\n <InputWrapper\n width=\"40px\"\n style={{ maxWidth: \"30px\", minWidth: \"30px\" }}\n >\n <Input\n name=\"expiryYear\"\n placeholder=\"YY\"\n maxLength={2}\n ref={yearRef}\n value={cardDetails.expiryYear}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n </div>\n </div>\n\n <InputWrapper\n width=\"50px\"\n style={{\n paddingRight: \"24px\",\n maxWidth: \"50px\",\n minWidth: \"50px\",\n }}\n >\n <CardNumbertext>CVV</CardNumbertext>\n <Input\n name=\"cvv\"\n placeholder=\"CVV\"\n maxLength={4}\n ref={cvcRef}\n value={cardDetails.cvv}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n </FlexRow>\n <CardNumbertext>Card Holder Name</CardNumbertext>\n <Input\n name=\"cardHolderName\"\n type=\"text\"\n placeholder=\"Card Holder Name\"\n value={cardDetails.cardHolderName}\n onChange={handleInputChange}\n ref={cardHolderNameRef}\n style={{ marginBottom: \"0\" }}\n />\n <CardNumbertext>Description</CardNumbertext>\n <Input\n name=\"productDescription\"\n type=\"text\"\n placeholder=\"Product Description Optional\"\n value={cardDetails.productDescription}\n onChange={handleInputChange}\n />\n <ConfirmButton\n onClick={() => {\n if (detectedCardType === \"verve\") {\n setStep(\"PIN\");\n } else {\n handleCardPayment();\n }\n }}\n disabled={isLoading || !isCardFormComplete()}\n isDisable={isLoading || !isCardFormComplete()}\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {step === \"PIN\" && detectedCardType === \"verve\" && (\n <>\n {!isOtpModal && (\n <>\n <SectionTitle\n style={{ width: \"100%\", textAlign: \"center\" }}\n >\n Card Pin\n </SectionTitle>\n <PinInputGroup>\n {pin.map((val, i) => (\n <PinInput\n ref={(ref) => {\n pinRefs.current[i] = ref;\n }}\n key={i}\n type=\"password\"\n maxLength={1}\n value={val}\n onChange={(e) => {\n handlePinChange(i, e.target.value);\n if (e.target.value && i < pin.length - 1) {\n pinRefs.current[i + 1]?.focus();\n }\n }}\n />\n ))}\n </PinInputGroup>\n {!intiateCardPaymentResponse?.message.includes(\n \"Duplicate transaction reference\"\n ) && (\n <ConfirmButton\n onClick={() => {\n handleCardPayment();\n }}\n disabled={isLoading}\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n )}\n </>\n )}\n {/* {isOtpModal && (\n <OtpVerification\n setIsOtpModal={setIsOtpModal}\n setOtp={setOtp}\n otp={otp}\n paymentMethod=\"CARD\"\n />\n )} */}\n </>\n )}\n {isOtpModal && (\n <OtpVerification\n setIsOtpModal={setIsOtpModal}\n setOtp={setOtp}\n otp={otp}\n paymentMethod=\"CARD\"\n handleOtp={handleOtp}\n />\n )}\n {intiateCardPaymentResponse?.message.includes(\n \"Duplicate transaction reference\"\n ) && (\n <ConfirmButton\n onClick={() => {\n handleGenerateTransactionRef();\n handleCardPayment();\n }}\n disabled={isLoading}\n >\n {isLoading ? \"Loading...\" : \"Try Again\"}\n </ConfirmButton>\n )}\n\n {payments.includes(\"USSD\") &&\n selectedMethod === \"USSD\" &&\n step === \"FORM\" && (\n <>\n <SectionTitle>Choose bank</SectionTitle>\n <BankSelectXDropdown\n selected={selectedBank}\n onChange={setSelectedBank}\n currency={\"GH\"}\n />\n {selectedBank && (\n <>\n <USSDCode>\n <span>*737*000*1234#</span>\n <FaCopyIcon />\n </USSDCode>\n <p\n style={{\n fontSize: \"14px\",\n marginTop: \"8px\",\n textAlign: \"center\",\n color: \"#666666\",\n }}\n >\n Tap on the code to dial\n </p>\n <ConfirmButton>\n I have made this payment\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {payments.includes(\"BANKTRANSFER\") &&\n step === \"FORM\" &&\n selectedMethod === \"BANKTRANSFER\" && (\n <>\n {!virtualPaymentStatus.success && (\n <SectionTitle>\n Transfer to the account below\n </SectionTitle>\n )}\n\n {!virtualPaymentStatus.success ? (\n <AccountCard>\n <Row isLast={false}>\n <span className=\"label\">ACCOUNT NUMBER</span>\n <span className=\"value\">\n {virtualResponse?.data.account_number}\n <FaCopyIcon />\n </span>\n </Row>\n\n <Row isLast={false}>\n <span className=\"label\">BANK NAME</span>\n <span className=\"value\">\n {virtualResponse?.data.bank_name}\n </span>\n </Row>\n\n {/* <Row isLast={true}>\n <span className=\"label\">BENEFICIARY</span>\n <span className=\"value\">Payment</span>\n </Row> */}\n\n <InfoBanner>\n <FaInfoIcon />\n <span>\n Account number only valid for this transaction\n </span>\n </InfoBanner>\n </AccountCard>\n ) : (\n <AccountCard style={{ textAlign: \"center\", }}>\n <FaSuccessicon />\n <h3>{virtualPaymentStatus.message}</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment has been successfully completed\n </p>\n </AccountCard>\n )}\n {!virtualPaymentStatus.success && (\n <>\n <TimerRow>\n <FaTimerIcon />\n <span>{formatTime(timeRemaining)}</span>\n </TimerRow>\n\n <ConfirmButton\n onClick={() => handleVirtualAccountPayment()}\n >\n I have made this payment\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {payments.includes(\"NQR\") &&\n selectedMethod === \"NQR\" &&\n step === \"FORM\" && (\n <>\n <SectionTitle style={{ textAlign: \"center\" }}>\n Scan the QR code to make payment\n </SectionTitle>\n\n <QRContainer>\n <FaQRCodeIcon />\n </QRContainer>\n\n <ConfirmButton>I have made this payment</ConfirmButton>\n </>\n )}\n {payments.includes(\"OPAY\") &&\n selectedMethod === \"OPAY\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img src={OpayLogo || \"/placeholder.svg\"} alt=\"\" />\n </div>\n\n {opayStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton onClick={() => setOpayStep(\"CREDS\")}>\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {opayStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Ten Digit Phone Number\"\n value={opayPhone}\n onChange={(e) => setOpayPhone(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={opayPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter your 6-digit Opay password\"\n value={opayPass}\n onChange={(e) => setOpayPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setOpayPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={opayPassVisible ? faEyeSlash : faEye}\n color={\"#979797\"}\n fontWeight={500}\n />\n </TogglePassword>\n </PasswordWrapper>\n <NextButton\n disabled={!(opayPhone && opayPass.length === 6)}\n onClick={() => setOpayStep(\"OTP\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {opayStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setOpayStep(\"AUTH\");\n }\n }}\n paymentMethod=\"OPAY\"\n />\n )}\n </>\n )}\n {payments.includes(\"PALMPAY\") &&\n selectedMethod === \"PALMPAY\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img\n src={PalmpayIcon || \"/placeholder.svg\"}\n alt=\"PalmpayIcon\"\n />\n </div>\n\n {palmpayStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton\n onClick={() => setPalmPayStep(\"CREDS\")}\n >\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {palmpayStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Ten Digit Phone Number\"\n value={palmpayPhone}\n onChange={(e) => setPalmPayPhone(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={palmpayPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter your 6-digit Password for your PalmPay account\"\n value={palmpayPass}\n onChange={(e) => setPalmPayPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setPalmPayPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={palmpayPassVisible ? faEyeSlash : faEye}\n color=\"#979797\"\n />\n </TogglePassword>\n </PasswordWrapper>\n\n <NextButton\n disabled={\n !(palmpayPhone && palmpayPass.length === 6)\n }\n onClick={() => setPalmPayStep(\"OTP\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {palmpayStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setPalmPayStep(\"AUTH\");\n }\n }}\n paymentMethod=\"PALMPAY\"\n />\n )}\n </>\n )}\n {payments.includes(\"KUDA\") &&\n selectedMethod === \"KUDA\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img src={KudaLogo || \"/placeholder.svg\"} alt=\"Kuda\" />\n </div>\n\n {kudaStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton onClick={() => setKudaStep(\"CREDS\")}>\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {kudaStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Email\"\n value={kudaEmail}\n onChange={(e) => setKudaEmail(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={kudaPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter Your Password\"\n value={kudaPass}\n onChange={(e) => setKudaPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setKudaPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={kudaPassVisible ? faEyeSlash : faEye}\n color=\"#979797\"\n />\n </TogglePassword>\n </PasswordWrapper>\n\n <NextButton\n disabled={!(kudaEmail && kudaPass.length > 0)}\n onClick={() => setKudaStep(\"SELECT\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {kudaStep === \"SELECT\" && (\n <OpayBox\n style={{\n border: \"2px solid transparent\",\n borderRadius: 16,\n padding: \"0px 20px\",\n }}\n >\n {[\n {\n id: \"WALLET\",\n label: \"Wallet\",\n balance: \"470,000\",\n },\n {\n id: \"OWEALTH\",\n label: \"Owealth\",\n balance: \"470,000\",\n },\n ].map((acc) => (\n <div\n key={acc.id}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"12px 24px\",\n fontWeight: 500,\n color: \"#52525B\",\n cursor: \"pointer\",\n width: \"90%\",\n }}\n onClick={() => setKudaAccount(acc.id as any)}\n >\n <label\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n color: \"#52525B\",\n fontWeight: 400,\n }}\n >\n <input\n type=\"radio\"\n name=\"kudaAcct\"\n checked={kudaAccount === acc.id}\n readOnly\n />\n {acc.label}\n </label>\n <span>{acc.balance}</span>\n </div>\n ))}\n\n <NextButton\n style={{\n margin: \"24px\",\n backgroundColor: \"#41276D\",\n borderRadius: \"24px\",\n }}\n disabled={!kudaAccount}\n onClick={() => setKudaStep(\"OTP\")}\n >\n Pay Now\n </NextButton>\n </OpayBox>\n )}\n\n {kudaStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setKudaStep(\"AUTH\");\n }\n }}\n paymentMethod=\"KUDA\"\n />\n )}\n </>\n )}\n {payments.includes(\"MOBILEMONEY\") &&\n selectedMethod === \"MOBILEMONEY\" &&\n step === \"FORM\" && (\n <>\n <BasicAmountInfo />\n\n {mobileMoneyStep === \"FORM\" && (\n <>\n <label\n style={{\n display: \"block\",\n fontWeight: 400,\n marginBottom: 8,\n color: \"#454D54\",\n fontSize: \"14px\",\n }}\n >\n Choose Network\n </label>\n <NetworkProviderDropdown\n selected={mobileMoneyNetwork}\n onChange={(value) => {\n setMobileMoneyNetwork(value)\n console.log(\"Selected network ->\", value);\n }}\n currency={userData?.countryCode ?? 'GHA'}\n />\n <label\n style={{\n display: \"block\",\n fontWeight: 400,\n marginBottom: 8,\n color: \"#999999\",\n fontSize: \"14px\",\n }}\n >\n Phone number\n </label>\n <Input\n type=\"text\"\n placeholder=\"9012345678\"\n value={mobileMoneyPhone}\n onChange={(e) =>\n setMobileMoneyPhone(e.target.value)\n }\n />\n\n <ConfirmButton\n onClick={() => {\n handleInitiateMomo();\n }}\n disabled={\n !mobileMoneyNetwork ||\n mobileMoneyPhone.length < 10 ||\n isLoading\n }\n isDisable={\n !mobileMoneyNetwork ||\n mobileMoneyPhone.length < 10 ||\n isLoading\n }\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n </>\n )}\n\n {(mobileMoneyStep === \"CALL\" && initiateMomoResponse?.responseDetails.responseMessage.toLowerCase() !== 'failed') && (\n <>\n <div\n style={{ textAlign: \"center\", margin: \"40px 0\" }}\n >\n <div\n style={{\n width: 80,\n height: 80,\n borderRadius: \"50%\",\n backgroundColor: \"#4f46e5\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n margin: \"0 auto 20px\",\n }}\n >\n <span style={{ fontSize: 32, color: \"white\" }}>\n 📞\n </span>\n </div>\n <p style={{ color: \"#a1a1aa\", fontSize: \"14px\" }}>\n Please kindly complete the payment on your mobile\n phone\n </p>\n </div>\n {!isMomoPaymentValidated && (\n <ConfirmButton\n onClick={() => {\n handleSimulateMomo();\n }}\n >\n Verify Payment\n </ConfirmButton>\n )}\n {isMomoPaymentValidated && (\n <ConfirmButton\n onClick={() => {\n checkMomoTransactionStatus();\n }}\n >\n I have made this payment\n </ConfirmButton>\n )}\n </>\n )}\n\n {mobileMoneyStep === \"SUCCESS\" && (\n <div style={{ textAlign: \"center\" }}>\n <FaSuccessicon />\n <h3>Transaction Successful</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment has been successfully completed\n </p>\n </div>\n )}\n {mobileMoneyStep === \"FAILED\" && (\n <div\n style={{\n textAlign: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n }}\n >\n <RedCircle>✕</RedCircle>\n <h3>Transaction Failed</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment was not successful\n </p>\n <NextButton\n onClick={() => {\n setSelectedMethod(\"MOBILEMONEY\");\n setMobileMoneyStep(\"FORM\");\n setMobileMoneyNetwork(\"\");\n setMobileMoneyPhone(\"\");\n }}\n style={{ marginTop: 24 }}\n >\n Try Again\n </NextButton>\n </div>\n )}\n </>\n )}\n </RightPanel>\n </Wrapper>\n <AcceptedCardsBox>\n <span style={{ fontWeight: 600, color: \"rgb(40, 17, 156)\" }}>\n We accept:\n </span>\n <AcceptedCardsInnerBox>\n <VisaIcon width=\"40\" height=\"30\" />\n <MasterCardIcon width=\"40\" height=\"30\" />\n <VerveIcon width=\"40\" height=\"30\" />\n <AmexIcon width=\"40\" height=\"30\" />\n <DiscoverIcon width=\"40\" height=\"30\" />\n </AcceptedCardsInnerBox>\n </AcceptedCardsBox>\n <SecureBox>\n <FaLockIcon />\n <DivBox>\n <span\n style={{ fontWeight: 400, margin: \"0px 5px\", color: \"#000\" }}\n >\n secured by\n </span>\n <span style={{ color: \"#28119C\" }}>Blusalt</span>\n </DivBox>\n </SecureBox>\n {isDrawerOpen && <Overlay onClick={() => setIsDrawerOpen(false)} />}\n </Container>\n )}\n\n {isPaymanetSuccessful && (\n <PaymentSuccessView\n reason={intiateCardPaymentResponse?.message}\n merchantSiteUrl={userData?.merchantSiteUrl}\n />\n )}\n {isPaymanetFailed && (\n <PaymentFailedView\n reason={intiateCardPaymentResponse?.message}\n merchantSiteUrl={userData?.merchantSiteUrl}\n handleReset={resetState}\n handleSelectedMethod={handleSelectedMethod}\n />\n )}\n {show3DSIframe && redirect3DSUrl && (\n <Container>\n <h2>3DS Authentication</h2>\n <Iframe ref={iframeRef} src={redirect3DSUrl} allow=\"fullscreen\" />\n </Container>\n )}\n {SnackbarUI()}\n </>\n );\n};\n\nexport default PaygateCheckoutSdk;\n","export { default as PaygateCheckoutSdk } from '../containers/Payment/PaygateCheckoutSdk';\nexport type {\n MerchantDataProps as UserBasicDataType,\n PaygateCheckoutSdkProps\n } from '../shared/types';\n console.log(\"✅ PaygateCheckoutSdk entry point loaded\");"],"names":["clone_1","clone","matches_1","matches","addMatchingCardsToResults_1","require$$0","require$$1","addMatchingCardsToResults","isValidInputType_1","isValidInputType","findBestMatch_1","findBestMatch","this","require$$2","require$$3","require$$4","_defineProperty","ownKeys","_objectSpread2","PRODUCTION","reactIsModule","propTypesModule","parse","_jsx","_jsxs","css"],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA0BA;AACO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;AACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,QAAQ,CAAC;AACT,IAAI,OAAO,CAAC,CAAC;AACb,CAAC;AA6DD;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,IAAI,CAAC,CAAC,CAAC;AACP,CAAC;AA6MD;AACuB,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE;AACvH,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;AACrF;;;;;;;;;;;;AC1UA,CAAA,IAAI,SAAS,GAAG;AAChB,KAAI,IAAI,EAAE;SACF,QAAQ,EAAE,MAAM;SAChB,IAAI,EAAE,MAAM;AACpB,SAAQ,QAAQ,EAAE,CAAC,CAAC,CAAC;SACb,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAChB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,UAAU,EAAE;SACR,QAAQ,EAAE,YAAY;SACtB,IAAI,EAAE,YAAY;AAC1B,SAAQ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;SAC1E,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,kBAAkB,EAAE;SAChB,QAAQ,EAAE,kBAAkB;SAC5B,IAAI,EAAE,kBAAkB;AAChC,SAAQ,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1B,SAAQ,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACrB,SAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,aAAa,EAAE;SACX,QAAQ,EAAE,aAAa;SACvB,IAAI,EAAE,aAAa;AAC3B,SAAQ,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC1C,SAAQ,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;SACb,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,QAAQ,EAAE;SACN,QAAQ,EAAE,UAAU;SACpB,IAAI,EAAE,UAAU;AACxB,SAAQ,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SAChC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,GAAG,EAAE;SACD,QAAQ,EAAE,KAAK;SACf,IAAI,EAAE,KAAK;AACnB,SAAQ,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACpC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAChB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjC,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,QAAQ,EAAE;SACN,QAAQ,EAAE,UAAU;SACpB,IAAI,EAAE,UAAU;AACxB,SAAQ,QAAQ,EAAE;AAClB,aAAY,GAAG;AACf,aAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,aAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,aAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,aAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,MAAM;AAClB,aAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AAC1B,aAAY,CAAC,GAAG,EAAE,GAAG,CAAC;AACtB,aAAY,IAAI;AAChB,aAAY,IAAI;AAChB,aAAY,IAAI;AAChB,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACxB,aAAY,IAAI;AAChB,aAAY,IAAI;AAChB,aAAY,GAAG;AACf,aAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACxB,aAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACxB,aAAY,CAAC,IAAI,EAAE,IAAI,CAAC;AACxB,aAAY,CAAC,IAAI,EAAE,IAAI,CAAC;UACf;SACD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzC,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,OAAO,EAAE;SACL,QAAQ,EAAE,SAAS;SACnB,IAAI,EAAE,SAAS;AACvB,SAAQ,QAAQ,EAAE;AAClB,aAAY,MAAM;AAClB,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,EAAE,EAAE,EAAE,CAAC;AACpB,aAAY,EAAE;AACd,aAAY,EAAE;AACd,aAAY,CAAC;UACJ;SACD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjD,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,GAAG,EAAE;SACD,QAAQ,EAAE,KAAK;SACf,IAAI,EAAE,KAAK;AACnB,SAAQ,QAAQ,EAAE;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,MAAM;AAClB,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,aAAY,CAAC,MAAM,EAAE,MAAM,CAAC;UACnB;SACD,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,GAAG,EAAE;SACD,QAAQ,EAAE,KAAK;SACf,IAAI,EAAE,KAAK;SACX,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SAChB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjC,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,KAAK,EAAE;SACH,QAAQ,EAAE,OAAO;SACjB,IAAI,EAAE,OAAO;AACrB,SAAQ,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SACtE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;AACL,KAAI,SAAS,EAAE;SACP,QAAQ,EAAE,WAAW;SACrB,IAAI,EAAE,WAAW;AACzB,SAAQ,QAAQ,EAAE,CAAC,MAAM,CAAC;SAClB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxB,SAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;AACrB,SAAQ,IAAI,EAAE;aACF,IAAI,EAAE,KAAK;aACX,IAAI,EAAE,CAAC;UACV;MACJ;EACJ;AACD,CAAA,WAAc,GAAG,SAAS;;;;;;;;;;;;;AChM1B,CAAA,MAAM,CAAC,cAAc,CAACA,KAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAAA,KAAA,CAAA,KAAa,GAAG,MAAM;CACtB,SAASC,OAAK,CAAC,cAAc,EAAE;KAC3B,IAAI,CAAC,cAAc,EAAE;AACzB,SAAQ,OAAO,IAAI;AACnB,KAAA;KACI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AACrD,CAAA;AACA,CAAAD,KAAA,CAAA,KAAa,GAAGC,OAAK;;;;;;;;;;;ACRrB;AACA;AACA;AACA,CAAA,MAAM,CAAC,cAAc,CAACC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAAA,OAAA,CAAA,OAAe,GAAG,MAAM;AACxB,CAAA,SAAS,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE;KACxC,IAAI,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM;KACzC,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC;KACnD,IAAI,iCAAiC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;AAChE,KAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAC5D,KAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;KACxD,QAAQ,iCAAiC,IAAI,GAAG;SAC5C,iCAAiC,IAAI,GAAG;AAChD,CAAA;AACA,CAAA,SAAS,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE;AAC7C,KAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;KACzB,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC;SAC3C,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;AAC/C,CAAA;AACA,CAAA,SAASC,SAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,KAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChC,SAAQ,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/D,KAAA;AACA,KAAI,OAAO,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC;AAC9C,CAAA;AACA,CAAAD,OAAA,CAAA,OAAe,GAAGC,SAAO;;;;;;;;;ACzBzB,CAAA,MAAM,CAAC,cAAc,CAACC,yBAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAAA,yBAAA,CAAA,yBAAiC,GAAG,MAAM;CAC1C,IAAI,OAAO,GAAGC,YAAA,EAAkB;CAChC,IAAI,SAAS,GAAGC,cAAA,EAAoB;AACpC,CAAA,SAASC,2BAAyB,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE;KACvE,IAAI,CAAC,EAAE,aAAa;AACxB,KAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;SACpD,IAAI,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnD,SAAQ,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;aAC9C;AACZ,SAAA;SACQ,IAAI,uBAAuB,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC;AAC3E,SAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;aACxB,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACrD,SAAA;cACa;AACb,aAAY,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM;AAClD,SAAA;AACA,SAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,EAAE;AAChD,aAAY,uBAAuB,CAAC,aAAa,GAAG,aAAa;AACjE,SAAA;AACA,SAAQ,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;SACrC;AACR,KAAA;AACA,CAAA;AACA,CAAAH,yBAAA,CAAA,yBAAiC,GAAGG,2BAAyB;;;;;;;;;;;ACzB7D,CAAA,MAAM,CAAC,cAAc,CAACC,gBAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAAA,gBAAA,CAAA,gBAAwB,GAAG,MAAM;CACjC,SAASC,kBAAgB,CAAC,UAAU,EAAE;KAClC,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,YAAY,MAAM;AACzE,CAAA;AACA,CAAAD,gBAAA,CAAA,gBAAwB,GAAGC,kBAAgB;;;;;;;;;;;ACL3C,CAAA,MAAM,CAAC,cAAc,CAACC,aAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAAA,aAAA,CAAA,aAAqB,GAAG,MAAM;CAC9B,SAAS,oCAAoC,CAAC,OAAO,EAAE;AACvD,KAAI,IAAI,sCAAsC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA,CAAE,CAAC,CAAC,MAAM;AAC1H;AACA;AACA;AACA;AACA;KACI,QAAQ,sCAAsC,GAAG,CAAC;AACtD,SAAQ,sCAAsC,KAAK,OAAO,CAAC,MAAM;AACjE,CAAA;CACA,SAASC,eAAa,CAAC,OAAO,EAAE;AAChC,KAAI,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC,EAAE;AACxD,SAAQ,OAAO,IAAI;AACnB,KAAA;KACI,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE,MAAM,EAAE;SAC/C,IAAI,CAAC,SAAS,EAAE;AACxB,aAAY,OAAO,MAAM;AACzB,SAAA;AACA;AACA;AACA;AACA;AACA,SAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AAC5E,aAAY,OAAO,MAAM;AACzB,SAAA;AACA,SAAQ,OAAO,SAAS;AACxB,KAAA,CAAK,CAAC;AACN,CAAA;AACA,CAAAD,aAAA,CAAA,aAAqB,GAAGC,eAAa;;;;;;;;;;CC9BrC,IAAI,QAAQ,GAAG,CAACC,IAAI,IAAIA,IAAI,CAAC,QAAQ,KAAK,YAAY;KAClD,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;SACpC,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,aAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC5B,aAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC3D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;AACA,SAAQ,OAAO,CAAC;KAChB,CAAK;KACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1C,CAAC;CACD,IAAI,SAAS,GAAGP,gBAAA,EAA2B;CAC3C,IAAI,+BAA+B,GAAGC,gCAAA,EAA8C;CACpF,IAAI,qBAAqB,GAAGO,uBAAA,EAAoC;CAChE,IAAI,iBAAiB,GAAGC,oBAAA,EAAgC;CACxD,IAAI,OAAO,GAAGC,YAAA,EAAsB;CACpC,IAAI,WAAW,GAAG,EAAE;AACpB,CAAA,IAAI,SAAS,GAAG;KACZ,IAAI,EAAE,MAAM;KACZ,UAAU,EAAE,YAAY;KACxB,gBAAgB,EAAE,kBAAkB;KACpC,WAAW,EAAE,aAAa;KAC1B,QAAQ,EAAE,UAAU;KACpB,GAAG,EAAE,KAAK;KACV,QAAQ,EAAE,UAAU;KACpB,OAAO,EAAE,SAAS;KAClB,GAAG,EAAE,KAAK;KACV,GAAG,EAAE,KAAK;KACV,KAAK,EAAE,OAAO;KACd,SAAS,EAAE,WAAW;EACzB;AACD,CAAA,IAAI,mBAAmB,GAAG;KACtB,SAAS,CAAC,IAAI;KACd,SAAS,CAAC,UAAU;KACpB,SAAS,CAAC,gBAAgB;KAC1B,SAAS,CAAC,WAAW;KACrB,SAAS,CAAC,QAAQ;KAClB,SAAS,CAAC,GAAG;KACb,SAAS,CAAC,QAAQ;KAClB,SAAS,CAAC,OAAO;KACjB,SAAS,CAAC,GAAG;KACb,SAAS,CAAC,GAAG;KACb,SAAS,CAAC,KAAK;KACf,SAAS,CAAC,SAAS;EACtB;CACD,IAAI,SAAS,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACvD,SAAS,QAAQ,CAAC,QAAQ,EAAE;KACxB,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC;AACvD,CAAA;AACA,CAAA,SAAS,eAAe,GAAG;KACvB,OAAO,SAAS,CAAC,GAAG,CAAC,UAAU,QAAQ,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC;AAChG,CAAA;AACA,CAAA,SAAS,eAAe,CAAC,IAAI,EAAE,yBAAyB,EAAE;KACtD,IAAI,yBAAyB,KAAK,MAAM,EAAE,EAAE,yBAAyB,GAAG,KAAK,CAAC,CAAA;KAC9E,IAAI,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACtC,IAAI,CAAC,yBAAyB,IAAI,QAAQ,KAAK,EAAE,EAAE;SAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,GAAG,iCAAiC,CAAC;AACvE,KAAA;AACA,KAAI,OAAO,QAAQ;AACnB,CAAA;CACA,SAAS,cAAc,CAAC,UAAU,EAAE;KAChC,IAAI,OAAO,GAAG,EAAE;KAChB,IAAI,CAAC,IAAI,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE;AAClE,SAAQ,OAAO,OAAO;AACtB,KAAA;AACA,KAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;SACzB,OAAO,eAAe,EAAE;AAChC,KAAA;AACA,KAAI,SAAS,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC1C,SAAQ,IAAI,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAClD,SAAQ,IAAI,+BAA+B,CAAC,yBAAyB,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,CAAC;AAC9G,KAAA,CAAK,CAAC;KACF,IAAI,SAAS,GAAG,IAAI,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC;KAC7D,IAAI,SAAS,EAAE;SACX,OAAO,CAAC,SAAS,CAAC;AAC1B,KAAA;AACA,KAAI,OAAO,OAAO;AAClB,CAAA;AACA,CAAA,cAAc,CAAC,WAAW,GAAG,UAAU,QAAQ,EAAE;AACjD,KAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACjD,CAAC;AACD,CAAA,cAAc,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE;AAC5C,KAAI,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC;AACxC,KAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;CACjC,CAAC;AACD,CAAA,cAAc,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE;KACvC,IAAI,oBAAoB,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;AACjE,KAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM;AACrC,KAAI,IAAI,oBAAoB,KAAK,EAAE,EAAE;AACrC,SAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACnC,KAAA;CACA,CAAC;AACD,CAAA,cAAc,CAAC,UAAU,GAAG,UAAU,QAAQ,EAAE,OAAO,EAAE;KACrD,IAAI,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC;KACjE,IAAI,CAAC,cAAc,EAAE;AACzB,SAAQ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,sDAAsD,CAAC,CAAC;AACtG,KAAA;AACA,KAAI,IAAI,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;AAC9D,SAAQ,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC;AAC3D,KAAA;KACI,IAAI,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;AACvD,KAAI,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC;AAC5D,KAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU;CAC7C,CAAC;AACD,CAAA,cAAc,CAAC,WAAW,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE;AACvD,KAAI,IAAI,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC;AAC/C,KAAI,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;KACpC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;CACvC,CAAC;CACD,cAAc,CAAC,kBAAkB,GAAG,YAAY;KAC5C,SAAS,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC;KACnD,WAAW,GAAG,EAAE;CACpB,CAAC;CACD,cAAc,CAAC,KAAK,GAAG,SAAS;AAChC,CAAA,IAAc,GAAG,cAAc;;;;;;ACjHF,MAAM,CAAC,GAAG,CAAA;;;;;AAMjB,MAAM,CAAC,GAAG,CAA8C;;;;;;;AAOlE,UAAA,EAAA,CAAC,EAAE,WAAW,EAAE,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC,CAAA;AAC7D,WAAA,EAAA,CAAC,EAAE,WAAW,EAAE,MAAM,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;;;;;;;;;;;;;;;;AAgBjC,sBAAA,EAAA,CAAC,EAAC,OAAO,EAAC,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAA;;;AAIhD,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;AAaV,MAAM,CAAC,GAAG,CAAgD;;;;;AAKlE,UAAA,EAAA,CAAC,EAAE,WAAW,EAAE,MAAM,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC,CAAA;;AAE1D,cAAA,EAAA,CAAC,EAAC,SAAS,EAAC,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC,CAAA;;;;;;;;;;;;;;;;;;ACtDxE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC;AAC3D;;ACJD;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAClC,EAAE,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;AACpE,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,UAAU,EAAE,IAAE;AAClB,IAAI,YAAY,EAAE,IAAE;AACpB,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB;AAaA,SAASC,SAAO,CAAC,CAAC,EAAE,CAAC,EAAE;AACvB,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACpC,MAAM,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;AAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE;AACF,EAAE,OAAO,CAAC;AACV;AACA,SAASC,gBAAc,CAAC,CAAC,EAAE;AAC3B,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACpD,IAAI,CAAC,GAAG,CAAC,GAAGD,SAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACxD,MAAMD,iBAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAGC,SAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACtJ,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,OAAO,CAAC;AACV;AAMA,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE;AAC5B,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;AAC1C,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AAC/B,EAAE,IAAI,MAAM,KAAK,CAAC,EAAE;AACpB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAc,CAAC;AACrC,IAAI,IAAI,QAAQ,IAAI,OAAO,CAAC,EAAE,OAAO,CAAC;AACtC,IAAI,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC;AACvE,EAAE;AACF,EAAE,OAAO,CAAC,QAAQ,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAC9C;AACA,SAAS,cAAc,CAAC,CAAC,EAAE;AAC3B,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC;AACnC,EAAE,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;AAC1C;;AAiDA,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI,SAAS,GAAG,EAAE;AAClB,IAAI,kBAAkB,GAAG,IAAI;AAC7B,IAAI,YAAY,GAAG;AACnB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI;AACJ,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,GAAG,MAAM;AACrD,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,SAAS,GAAG,QAAQ;AAC3D,EAAE,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE,kBAAkB,GAAG,gBAAgB;AACpF,EAAE,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,YAAY,GAAG,WAAW;AACpE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AACb,MAAM;AACN,EAAE,SAAS,GAAG;AACd,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE;AAC3B,MAAM,MAAM,GAAG,OAAO;AACtB,MAAM,QAAQ,GAAG,SAAS;AAC1B,MAAM,iBAAiB,GAAG,kBAAkB;AAC5C,MAAM,WAAW,GAAG,YAAY;AACb,CAAC,CAAC,MAAM,CAAC;AAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,gBAAgB,KAAK,UAAU,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU;AAC/J,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;;AAE1E,IAAI,CAAC,GAAG,kEAAkE;AAC1E,EAAE,CAAC,GAAG,uGAAuG;AAC7G,IAAI,CAAC,GAAG;AACR,IAAI,OAAO,EAAE;AACb,MAAM,EAAE,EAAE,OAAO;AACjB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,GAAG,EAAE,SAAS;AACpB,MAAM,YAAY,EAAE,SAAS;AAC7B,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,SAAS,EAAE,MAAM;AACvB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,WAAW,EAAE;AACnB,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,EAAE,EAAE,OAAO;AACjB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,YAAY,EAAE,OAAO;AAC3B,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,YAAY,EAAE,SAAS;AAC7B,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,EAAE,EAAE,OAAO;AACjB,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,YAAY,EAAE,SAAS;AAC7B,MAAM,IAAI,EAAE,OAAO;AACnB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,EAAE,EAAE,OAAO;AACjB,MAAM,KAAK,EAAE,OAAO;AACpB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,KAAK,EAAE,SAAS;AACtB,MAAM,YAAY,EAAE,SAAS;AAC7B,MAAM,KAAK,EAAE,OAAO;AACpB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,SAAS,EAAE;AACjB;AACA,GAAG;AACH,EAAE,CAAC,GAAG;AACN,IAAI,KAAK,EAAE,eAAe;AAC1B,IACI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC;AAClE,IAAI,CAAC,GAAG,SAAS;AACjB,EAAE,CAAC,GAAG,SAAS;AACf,EAAE,CAAC,GAAG,OAAO;AACb,EAAE,CAAC,GAAG,eAAe;AACrB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClB,IAAI,CAAC,GAAG;AACR,IAAI,OAAO,EAAE;AACb,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,GAAG,EAAE;AACX;AACA,GAAG;AACH,IAAI,EAAE,GAAG;AACT,IAAI,qBAAqB,EAAE;AAC3B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,oBAAoB,EAAE;AAC1B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,uBAAuB,EAAE;AAC7B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,wBAAwB,EAAE;AAC9B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,sBAAsB,EAAE;AAC5B,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,8BAA8B,EAAE;AACpC,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,GAAG,EAAE;AACX;AACA,GAAG;AACH,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;AAC9B,IAAI,oBAAoB,EAAE,KAAK;AAC/B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC7D,IAAI,cAAc,EAAE,EAAE;AACtB,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE;AAChB,IAAI,oBAAoB,EAAE,MAAM;AAChC,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACnD,IAAI,cAAc,EAAE,EAAE;AACtB,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE;AAClB,IAAI,oBAAoB,EAAE,KAAK;AAC/B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACnD,IAAI,cAAc,EAAE,EAAE;AACtB,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE;AACxB,IAAI,oBAAoB,EAAE,OAAO;AACjC,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACnD,IAAI,cAAc,EAAE,EAAE;AACtB,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,EAAE,GAAG;AACP,IAAI,OAAO,EAAE;AACb,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,OAAO,EAAE,KAAK;AACpB,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,KAAK,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,KAAK,EAAE,OAAO;AACpB,MAAM,IAAI,EAAE;AACZ;AACA,GAAG;AACH,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC;AACpD,EAAE,EAAE,GAAG;AACP,IAAI,GAAG,EAAE;AACT,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,QAAQ,EAAE;AAChB,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,IAAI,EAAE,aAAa;AACzB,MAAM,gBAAgB,EAAE;AACxB;AACA,GAAG;AACH,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC;AACd,IAAI,EAAE,GAAG;AACT,EAAE,GAAG,EAAE;AACP,IAAI,QAAQ,EAAE;AACd,GAIA,CAAC;AACD,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AACxB,EAAE,EAAE,GAAG;AACP,IAAI,GAAG,EAAE;AACT,MAAM,GAAG,EAAE;AACX,KAIE,CAAC;AACH,IAAI,EAAE,GAAG;AACT,IAAI,GAAG,EAAE;AACT,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,aAAa,EAAE;AACnB,MAAM,aAAa,EAAE;AACrB;AACA,GAAG;;AAEH,IAAI,GAAG,GAAG;AACV,IAAI,KAAK,EAAE,eAAe;AAC1B,IAAI,YAAY,EAAE,cAAc;AAChC,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC;AACpE,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC;AACtD,IAAI,EAAE,GAAG;AACT,IAAI,kBAAkB,EAAE;AACxB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,0BAA0B,EAAE;AAChC,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,MAAM,EAAE;AACd;AACA,GAAG;AACH,IAAI,EAAE,GAAG;AACT,IAAI,OAAO,EAAE;AACb,MAAM,WAAW,EAAE,KAAK;AACxB,MAAM,YAAY,EAAE,KAAK;AACzB,MAAM,UAAU,EAAE,KAAK;AACvB,MAAM,YAAY,EAAE,KAAK;AACzB,MAAM,UAAU,EAAE,KAAK;AACvB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,YAAY,EAAE,MAAM;AAC1B,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,YAAY,EAAE,MAAM;AAC1B,MAAM,UAAU,EAAE,MAAM;AACxB,MAAM,SAAS,EAAE;AACjB,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,YAAY,EAAE,OAAO;AAC3B,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,SAAS,EAAE;AACjB;AACA,GAAG;AACH,EAAE,GAAG,GAAG;AACR,IAAI,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAChD,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AACrC,IAAI,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3C,IAAI,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;AACxD,GAAG;AACH,EAAE,EAAE,GAAG;AACP,IAAI,OAAO,EAAE;AACb,MAAM,GAAG,EAAE,WAAW;AACtB,MAAM,GAAG,EAAE,YAAY;AACvB,MAAM,GAAG,EAAE,UAAU;AACrB,MAAM,GAAG,EAAE,YAAY;AACvB,MAAM,GAAG,EAAE,UAAU;AACrB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,OAAO,EAAE;AACb,MAAM,IAAI,EAAE,YAAY;AACxB,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,KAAK,EAAE;AACX,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,IAAI,EAAE,YAAY;AACxB,MAAM,IAAI,EAAE,UAAU;AACtB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,eAAe,EAAE;AACrB,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,KAAK,EAAE,YAAY;AACzB,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,KAAK,EAAE;AACb;AACA,GAAG;AACH,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC;AAClF,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AACjK,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;AAClE,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACvC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5D,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5iB,IAAI,EAAE,GAAG;AACT,IAAI,qBAAqB,EAAE;AAC3B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,oBAAoB,EAAE;AAC1B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,GAAG,EAAE;AACX,KAAK;AACL,IAAI,uBAAuB,EAAE;AAC7B,MAAM,GAAG,EAAE,KAAK;AAChB,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,wBAAwB,EAAE;AAC9B,MAAM,GAAG,EAAE;AACX;AACA,GAAG;;AAEH,MAAM,oBAAoB,GAAG,oBAAoB;AACjD,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,kBAAkB,GAAG,IAAI;AAC/B,MAAM,yBAAyB,GAAG,gBAAgB;AAClD,MAAM,aAAa,GAAG,eAAe;AACrC,MAAM,sBAAsB,GAAG,wBAAwB;AACvD,MAAM,8BAA8B,GAAG,gCAAgC;AACvE,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,SAAS,GAAG,WAAW;AAC7B,MAAM,2BAA2B,GAAG,mBAAmB;AACvD,MAAM,uBAAuB,GAAG,OAAO;AACvC,MAAM,mCAAmC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;AAC/E,MAAME,YAAU,GAAG,CAAC,MAAM;AAC1B,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;AAChD,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;AACjB,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,CAAC,GAAG;AACJ,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B;AACA,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;AACxB,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE;AACtB,MAAM,OAAO,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACtD,IAAI;AACJ,GAAG,CAAC;AACJ;AACA,MAAM,gBAAgB,GAAGD,gBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;;AAE9C;AACA;AACA;AACA,gBAAgB,CAAC,CAAC,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE;AACtF,EAAE,YAAY,EAAE;AAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;AACzC,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC;AACrD,MAAM,gBAAgB,GAAGA,gBAAc,CAAC,EAAE,EAAE,EAAE,CAAC;;AAE/C;AACA;AACA,gBAAgB,CAAC,CAAC,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE;AACtF,EAAE,OAAO,EAAE;AACX,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;AACxD,MAAM,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC;AACrD,MAAM,qBAAqB,GAAGA,gBAAc,CAAC,EAAE,EAAE,EAAE,CAAC;AACpD,qBAAqB,CAAC,CAAC,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAClG,MAAM,oBAAoB,GAAG,WAAW,CAAC,qBAAqB,CAAC;AAC/D,MAAM,qBAAqB,GAAGA,gBAAc,CAAC,EAAE,EAAE,EAAE,CAAC;AACpD,qBAAqB,CAAC,CAAC,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AACrE,WAAW,CAAC,qBAAqB;AAC9D,MAAM,6BAA6B,GAAG,CAAC,CAAC;;AAExC,MAAM,qBAAqB,GAAG,gBAAgB;AAC9C,MAAM,mBAAmB,GAAG,CAAC;AAC7B,MAAM,sBAAsB,GAAGA,gBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;AACtB,WAAW,CAAC,sBAAsB;AAChE,MAAM,+BAA+B,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,CAAC;AAClH,MAAM,eAAe,GAAG,CAAC;AACzB,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;;AAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,IAAI,EAAE;AAC9C,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,GAAG,GAAG,CAAC;AAC9D,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AACrC,EAAE;AACF;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB;AACA;AACA,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,OAAO,IAAI;AAC7B,EAAE,IAAI,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK;AACnC,EAAE,IAAI,GAAG,KAAK,MAAM,EAAE,OAAO,IAAI;AACjC,EAAE,OAAO,GAAG;AACZ;AACA,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE;AAC9D,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,CAAC,qBAAqB,EAAE,eAAe,CAAC,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC;AAC7nB,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;AACxB,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI;AAC1B,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3C,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;AAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;AACxB,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,aAAa,EAAE,CAAC;AAClB,EAAE,SAAS,EAAE,kBAAkB;AAC/B,EAAE,gBAAgB,EAAE,yBAAyB;AAC7C,EAAE,cAAc,EAAE,IAAI;AACtB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,oBAAoB,EAAE,KAAK;AAC7B,EAAE,gBAAgB,EAAE,IAAI;AACxB,EAAE,cAAc,EAAE,OAAO;AACzB,EAAE,kBAAkB,EAAE,IAAI;AAC1B,EAAE,kBAAkB,EAAE,KAAK;AAC3B,EAAE,gBAAgB,EAAE;AACpB,CAAC;;AAED;AACA,IAAI,OAAO,CAAC,YAAY,EAAE;AAC1B,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;AAC1C;AACA,MAAM,OAAO,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;AACrE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,GAAG,KAAK;AAC7D,MAAM,MAAM,GAAG,EAAE;AACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;AACrC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;AACrC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,GAAG,EAAE,UAAU,GAAG,EAAE;AACxB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;AACxB,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;AAC3C,IAAI,CAAC;AACL,IAAI,GAAG,EAAE,YAAY;AACrB,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC;AACzB,IAAI;AACJ,GAAG,CAAC;AACJ,CAAC,CAAC;;AAEF;AACA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE;AAC9C,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,GAAG,EAAE,UAAU,GAAG,EAAE;AACtB,IAAI,OAAO,CAAC,SAAS,GAAG,GAAG;AAC3B,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;AACzC,EAAE,CAAC;AACH,EAAE,GAAG,EAAE,YAAY;AACnB,IAAI,OAAO,OAAO,CAAC,SAAS;AAC5B,EAAE;AACF,CAAC,CAAC;AACF,MAAM,CAAC,iBAAiB,GAAG,MAAM;AACjC,MAAM,WAAW,GAAG,EAAE;AACtB,SAAS,QAAQ,CAAC,EAAE,EAAE;AACtB,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;AACtB,EAAE,OAAO,MAAM;AACf,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClD,EAAE,CAAC;AACH;;AAEA,MAAM,GAAG,GAAG,aAAa;AACzB,MAAM,oBAAoB,GAAG;AAC7B,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,KAAK,EAAE;AACT,CAAC;AACD,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;AACvB,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC/C,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;AACxC,EAAE,KAAK,CAAC,SAAS,GAAG,GAAG;AACvB,EAAE,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU;AAC/C,EAAE,IAAI,WAAW,GAAG,IAAI;AACxB,EAAE,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACrD,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,WAAW,EAAE;AACvD,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;AACjD,MAAM,WAAW,GAAG,KAAK;AACzB,IAAI;AACJ,EAAE;AACF,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC;AAChD,EAAE,OAAO,GAAG;AACZ;AACA,MAAM,MAAM,GAAG,gEAAgE;AAC/E,SAAS,YAAY,GAAG;AACxB,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,IAAI,EAAE,GAAG,EAAE;AACb,EAAE,OAAO,IAAI,EAAE,GAAG,CAAC,EAAE;AACrB,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,EAAE;AACF,EAAE,OAAO,EAAE;AACX;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG;AAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACrB,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AACtB,IAAI,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,EAAE;AACF;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;AACzI;AACA,SAAS,cAAc,CAAC,UAAU,EAAE;AACpC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,KAAK;AACtE,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC;AACrG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;AACf;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK;AAC9D,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;AACjF,EAAE,CAAC,EAAE,EAAE,CAAC;AACR;AACA,SAAS,qBAAqB,CAAC,SAAS,EAAE;AAC1C,EAAE,OAAO,SAAS,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;AACnO;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI;AACN,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,OAAO;AAC9D,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;AACnG,EAAE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAC3J,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;AACjE,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW;AACxF,GAAG;AACH,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ;AAC/D,GAAG;AACH,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI;AACJ,GAAG;AACH;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,IAAI;AACN,IAAI,SAAS;AACb,IAAI,KAAK,GAAG,aAAa;AACzB,IAAI,MAAM,GAAG,aAAa;AAC1B,IAAI,aAAa,GAAG;AACpB,GAAG,GAAG,KAAK;AACX,EAAE,IAAI,GAAG,GAAG,EAAE;AACd,EAAE,IAAI,aAAa,IAAI,KAAK,EAAE;AAC9B,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC;AACpH,EAAE,CAAC,MAAM,IAAI,aAAa,EAAE;AAC5B,IAAI,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC;AACrH,EAAE,CAAC,MAAM;AACT,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC;AAC3F,EAAE;AACF,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AACjJ,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;AACpD,EAAE,OAAO,GAAG;AACZ;;AAEA,IAAI,UAAU,GAAG,ynZAAynZ;;AAE1oZ,SAAS,GAAG,GAAG;AACf,EAAE,MAAM,GAAG,GAAG,kBAAkB;AAChC,EAAE,MAAM,GAAG,GAAG,yBAAyB;AACvC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS;AAC7B,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB;AACpC,EAAE,IAAI,CAAC,GAAG,UAAU;AACpB,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE;AAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;AAC3D,IAAI,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;AACrE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;AACpD,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC1H,EAAE;AACF,EAAE,OAAO,CAAC;AACV;AACA,IAAI,YAAY,GAAG,KAAK;AACxB,SAAS,SAAS,GAAG;AACrB,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;AAC1C,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;AACpB,IAAI,YAAY,GAAG,IAAI;AACvB,EAAE;AACF;AACA,IAAI,SAAS,GAAG;AAChB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,GAAG,EAAE;AACX,QAAQ,GAAG;AACX,QAAQ,SAAS,EAAE;AACnB;AACA,KAAK;AACL,EAAE,CAAC;AACH,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,wBAAwB,GAAG;AACjC,QAAQ,SAAS,EAAE;AACnB,MAAM,CAAC;AACP,MAAM,WAAW,GAAG;AACpB,QAAQ,SAAS,EAAE;AACnB,MAAM;AACN,KAAK;AACL,EAAE;AACF,CAAC;;AAED,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE;AACtB,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE;AAC1D,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,EAAE;AACxE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,GAAG,EAAE;AACtE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,GAAG,EAAE;AACtE,IAAI,SAAS,GAAG,CAAC,CAAC,oBAAoB,CAAC;;AAEvC,MAAM,SAAS,GAAG,EAAE;AACpB,MAAM,QAAQ,GAAG,YAAY;AAC7B,EAAE,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AAC5D,EAAE,MAAM,GAAG,CAAC;AACZ,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;AAC3B,CAAC;AACD,IAAI,MAAM,GAAG,KAAK;AAClB,IAAI,MAAM,EAAE;AACZ,EAAE,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,YAAY,GAAG,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AACzG,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AACtE;AACA,SAAS,QAAQ,EAAE,EAAE,EAAE;AACvB,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,EAAE,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACjD;;AAEA,SAAS,MAAM,CAAC,aAAa,EAAE;AAC/B,EAAE,MAAM;AACR,IAAI,GAAG;AACP,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,QAAQ,GAAG;AACf,GAAG,GAAG,aAAa;AACnB,EAAE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACzC,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC;AACpC,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;AACpI,EAAE;AACF;;AAEA,SAAS,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;AACpD,EAAE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC/D,IAAI,OAAO;AACX,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ;AACpC,KAAK;AACL,EAAE;AACF;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,SAAS,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;AAC/E,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;AACxB,IAAI,QAAQ,GAAgE,EAAE;AAC9E,IAAI,CAAC;AACL,IAAI,GAAG;AACP,IAAI,MAAM;AACV,EAAE,IAAI,YAAY,KAAK,SAAS,EAAE;AAClC,IAAI,CAAC,GAAG,CAAC;AACT,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,EAAE,CAAC,MAAM;AACT,IAAI,CAAC,GAAG,CAAC;AACT,IAAI,MAAM,GAAG,YAAY;AACzB,EAAE;AACF,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACjB,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC;AACzD,EAAE;AACF,EAAE,OAAO,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,IAAI,OAAO,GAAG,CAAC;AACjB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC9B,EAAE,OAAO,OAAO,GAAG,MAAM,EAAE;AAC3B,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC9C,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,OAAO,GAAG,MAAM,EAAE;AAChE,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAChD,MAAM,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,MAAM,EAAE;AACtC;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC;AACxE,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,SAAS,KAAK,CAAC,OAAO,EAAE;AACxB,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AACrC,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI;AAC9D;AACA,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM;AAC5B,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACtC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;AAC9D,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;AACzC,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;AAC9C,MAAM,OAAO,CAAC,KAAK,GAAG,MAAM,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;AACjE,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,KAAK;AACd;;AAEA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AACtD,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;AAChC,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;AAChC,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI;AACpC,IAAI,CAAC,MAAM;AACX,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI;AAC1B,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR;AACA,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,SAAS,GAAG;AAChB,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC;AAC1C,EAAE,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,SAAS,EAAE;AACnE,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;AAC1D,EAAE,CAAC,MAAM;AACT,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC;AAC7G,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAM,KAAK,KAAK,EAAE;AACxB,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5B,EAAE;AACF;;AAeA,MAAM;AACN,EAAE,MAAM;AACR,EAAE;AACF,CAAC,GAAG,SAAS;AACb,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACtD,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AACnE,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC7D,EAAE,OAAO,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC;AACN,IAAI,oBAAoB,GAAG,IAAI;AAC/B,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,QAAQ,GAAG,EAAE;AACjB,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC;AACA,SAAS,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE;AACrC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACzB,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3C,EAAE,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AACxE,IAAI,OAAO,QAAQ;AACnB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,MAAM,KAAK,GAAG,MAAM;AACpB,EAAE,MAAM,MAAM,GAAG,OAAO,IAAI;AAC5B,IAAI,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK;AACnD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;AAC/C,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,EAAE,CAAC;AACH,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,KAAK;AAC/C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ;AAC7B,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI;AAC7C,QAAQ,OAAO,OAAO,IAAI,KAAK,QAAQ;AACvC,MAAM,CAAC,CAAC;AACR,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;AAC/B,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ;AAC1C,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,CAAC;AACJ,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,KAAK;AAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAC5B,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;AACjB,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI;AAC7C,QAAQ,OAAO,OAAO,IAAI,KAAK,QAAQ;AACvC,MAAM,CAAC,CAAC;AACR,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;AAC/B,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ;AAC7B,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,CAAC;AACJ,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,KAAK;AAC7C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;AAC7B,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ;AAC3B,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,CAAC;;AAEJ;AACA;AACA,EAAE,MAAM,UAAU,GAAG,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY;AAC3D,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AACnD,IAAI,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACxB,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AACzC,MAAM,MAAM,GAAG,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;AACnD,MAAM,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG;AACzC,QAAQ,MAAM;AACd,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,qBAAqB,KAAK,QAAQ,EAAE;AACnD,MAAM,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG;AACzD,QAAQ,MAAM;AACd,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE;AACL,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,UAAU,GAAG,WAAW,CAAC,KAAK;AAChC,EAAE,aAAa,GAAG,WAAW,CAAC,QAAQ;AACtC,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE;AACjE,IAAI,MAAM,EAAE,MAAM,CAAC;AACnB,GAAG,CAAC;AACJ,CAAC;AACD,QAAQ,CAAC,IAAI,IAAI;AACjB,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE;AAC/D,IAAI,MAAM,EAAE,MAAM,CAAC;AACnB,GAAG,CAAC;AACJ,CAAC,CAAC;AACF,KAAK,EAAE;AACP,SAAS,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;AACpC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC;AAC5C;AACA,SAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE;AACtC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC;AAC9C;AACA,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;AAChC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;AACxC;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI;AAC7B,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE;AACd,GAAG;AACH;AACA,SAAS,YAAY,CAAC,OAAO,EAAE;AAC/B,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;AAC3C,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC;AAC9C,EAAE,OAAO,UAAU,KAAK,UAAU,GAAG;AACrC,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,QAAQ,EAAE;AACd,GAAG,GAAG,IAAI,CAAC,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE;AACd,GAAG;AACH;AACA,SAAS,sBAAsB,GAAG;AAClC,EAAE,OAAO,oBAAoB;AAC7B;AACA,MAAM,kBAAkB,GAAG,MAAM;AACjC,EAAE,OAAO;AACT,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,IAAI,EAAE;AACV,GAAG;AACH,CAAC;AACD,SAAS,WAAW,CAAC,MAAM,EAAE;AAC7B,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AAC1D,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrE,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AACxB,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;AAClH,MAAM,MAAM,GAAG,QAAQ;AACvB,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,MAAM;AACf;AACA,SAAS,kBAAkB,CAAC,aAAa,EAAE;AAC3C,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,MAAM,GAAG;AACb,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;;AAEtD;AACA,EAAE,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;AACtC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AACzF,EAAE,MAAM,OAAO,GAAG,aAAa,IAAI,SAAS,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI;AAC1E,EAAE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,IAAI,IAAI;AAC1C,EAAE,OAAO,MAAM;AACf;AACA,SAAS,sBAAsB,CAAC,UAAU,EAAE;AAC5C,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,IAAI,QAAQ,GAAG,IAAI;AACrB,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI;AAC5B,IAAI,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;AACrD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,QAAQ,GAAG,MAAM;AACvB,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;AACpB,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACpB,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK;AAClD,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;AACvC,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,WAAW,GAAG;AAClB,GAAG,GAAG,MAAM;AACZ,EAAE,IAAI,WAAW,GAAG,IAAI;AACxB,EAAE,MAAM,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,EAAE,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1G,EAAE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7F,EAAE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,IAAI;AACxD,IAAI,WAAW,GAAG,GAAG;AACrB,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAC3B,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,QAAQ;AAC3C,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC;AACpD,EAAE,MAAM,SAAS,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,sBAAsB,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE;AAC5G,IAAI,MAAM,EAAE,kBAAkB,CAAC,eAAe,EAAE;AAChD,MAAM;AACN,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAOA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,yBAAyB,CAAC;AAChG,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI;AACJ,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AAC9D;AACA,SAAS,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE;AAChE,EAAE,IAAI;AACN,IAAI,MAAM;AACV,IAAI;AACJ,GAAG,GAAG,SAAS;AACf,EAAE,IAAI,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE;AAC3C,IAAI,OAAO;AACX,MAAM,MAAM;AACZ,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,WAAW,KAAK,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE;AAC9D,EAAE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,IAAI,QAAQ;AACvD,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM;AAChC,EAAE,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;AACnF;AACA;AACA,IAAI,MAAM,GAAG,KAAK;AAClB,EAAE;AACF,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI;AACJ,GAAG;AACH;AACA,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI;AAClD,EAAE,OAAO,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;AACzC,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAC3G,SAAS,yBAAyB,CAAC,aAAa,EAAE;AAClD,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,MAAM,GAAG,EAAE;AACf,IAAI,MAAM,EAAE,SAAS,GAAG;AACxB,GAAG,GAAG,aAAa;AACnB,EAAE,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC;AACtC,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClF,EAAE,MAAM,sBAAsB,GAAG,SAAS,CAAC,aAAa,KAAK,SAAS;AACtE,EAAE,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,YAAY;AAClG,EAAE,IAAI,CAAC,eAAe,KAAK,gBAAgB,IAAI,sBAAsB,IAAI,wBAAwB,CAAC,EAAE;AACpG,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK;AAC5B,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK;AAC5B,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAClE,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzF,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC,YAAY,EAAE;AAC/C,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,oBAAoB;AAC/D,MAAM,SAAS,CAAC,MAAM,GAAG,aAAa;AACtC,MAAM,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ;AAC9F,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;AACzD;AACA;AACA,IAAI,SAAS,CAAC,MAAM,GAAG,sBAAsB,EAAE,IAAI,KAAK;AACxD,EAAE;AACF,EAAE,OAAO,SAAS;AAClB;;AAEA,MAAM,OAAO,CAAC;AACd,EAAE,WAAW,GAAG;AAChB,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,EAAE;AACF,EAAE,GAAG,GAAG;AACR,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AACpG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AACzC,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;AACnE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;AAC1C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7G,MAAM,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;;AAEtC;AACA,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACrD,MAAM,IAAI,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,KAAK,EAAE;AACb,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,EAAE;AACF,EAAE,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE;AAC1C,IAAI,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,GAAG;AACrF,MAAM,CAAC,EAAE;AACT,KAAK,GAAG,UAAU;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;AACvC,MAAM,MAAM;AACZ,QAAQ,MAAM;AACd,QAAQ,QAAQ;AAChB,QAAQ;AACR,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;AACzB,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE;AACpD,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,QAAQ,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI;AACjC,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACzC,YAAY,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI;AAC3C,UAAU;AACV,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI;AACxC,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,SAAS;AACpB,EAAE;AACF;;AAEA,IAAI,QAAQ,GAAG,EAAE;AACjB,IAAI,MAAM,GAAG,EAAE;AACf,MAAM,SAAS,GAAG,EAAE;AACpB,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AAClD,SAAS,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE;AAC5C,EAAE,IAAI;AACN,IAAI,SAAS,EAAE;AACf,GAAG,GAAG,IAAI;AACV,EAAE,QAAQ,GAAG,WAAW;AACxB,EAAE,MAAM,GAAG,EAAE;AACb,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI;AACtC,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AAC/C,MAAM,OAAO,SAAS,CAAC,CAAC,CAAC;AACzB,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI;AAC7B,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;AACvD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI;AACtC,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE;AAC5C,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAC5B,MAAM;AACN,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC1C,QAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI;AAC9C,UAAU,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACxB,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;AACxB,UAAU;AACV,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACtC,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;AACtB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE;AAClC,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;AACzC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC3B,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;AAC3B,QAAQ;AACR,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AACzB,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;AAChC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE;AACvC,EAAE,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC9G,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AACpC,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAC5B,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7D,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,WAAW;AACpB;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE;AACrH,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;AACtC,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;AACpC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5B,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,SAAS;AAClB;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;AAC3B,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACvD,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS;AACxE;;AAEA,SAAS,kBAAkB,CAAC,UAAU,EAAE;AACxC,EAAE,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE;AAClC,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK;AAC7B,EAAE;AACF,EAAE,IAAI;AACN,IAAI;AACJ,GAAG,GAAG,UAAU;AAChB,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,sBAAsB,EAAE;AAC9D,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,QAAQ;AAClD,EAAE,OAAO,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AACtH;AACA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;AAC7B,MAAM,MAAM,GAAG,MAAM;AACrB,EAAE,MAAM,CAAC,cAAc,GAAG,KAAK;AAC/B,EAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK;AACjC,EAAE,SAAS,CAAC,QAAQ,CAAC;AACrB,CAAC;AACD,MAAM,GAAG,GAAG;AACZ,EAAE,KAAK,EAAE,YAAY;AACrB,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACvF,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;AACtC,MAAM,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC;AAChD,MAAM,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;AAC1C,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AAChF,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,KAAK,EAAE,YAAY;AACrB,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACvF,IAAI,MAAM;AACV,MAAM;AACN,KAAK,GAAG,MAAM;AACd,IAAI,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE;AACzC,MAAM,MAAM,CAAC,cAAc,GAAG,IAAI;AAClC,IAAI;AACJ,IAAI,MAAM,CAAC,gBAAgB,GAAG,IAAI;AAClC,IAAI,QAAQ,CAAC,MAAM;AACnB,MAAM,WAAW,CAAC;AAClB,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,EAAE;AACF,CAAC;AACD,MAAM,KAAK,GAAG;AACd,EAAE,IAAI,EAAE,IAAI,IAAI;AAChB,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAClE,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM;AAC3B,QAAQ,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;AAC9D,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAChF,MAAM,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,OAAO;AACb,QAAQ,MAAM;AACd,QAAQ,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;AAC/C,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE;AACxI,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AAC9D,QAAQ,WAAW,EAAE;AACrB,OAAO,CAAC;AACR,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,sBAAsB,EAAE;AAChE,QAAQ,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC;AACzF,OAAO;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAClC,MAAM,MAAM,MAAM,GAAG,sBAAsB,EAAE;AAC7C,MAAM,OAAO;AACb,QAAQ,MAAM;AACd,QAAQ,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI;AAC3C,OAAO;AACP,IAAI;AACJ,EAAE;AACF,CAAC;AACD,MAAM,GAAG,GAAG;AACZ,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,kBAAkB;AACpB,EAAE;AACF,CAAC;AACD,MAAM,WAAW,GAAG,YAAY;AAChC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,kBAAkB,GAAG;AACzB,GAAG,GAAG,MAAM;AACZ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1H,IAAI,IAAI,EAAE;AACV,GAAG,CAAC;AACJ,CAAC;;AAED,SAAS,WAAW,CAAC,GAAG,EAAE,eAAe,EAAE;AAC3C,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE;AACzC,IAAI,GAAG,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,IAAI,GAAG,EAAE,YAAY;AACrB,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7C,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,IAAI,GAAG,EAAE,YAAY;AACrB,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACrD,MAAM,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI;AACpC,MAAM,OAAO,SAAS,CAAC,QAAQ;AAC/B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,GAAG;AACZ;;AAEA,SAAS,MAAM,EAAE,IAAI,EAAE;AACvB,EAAE,IAAI;AACN,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,IAAI,qBAAqB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrE,IAAI,MAAM;AACV,MAAM,KAAK;AACX,MAAM;AACN,KAAK,GAAG,IAAI;AACZ,IAAI,MAAM,MAAM,GAAG;AACnB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC;AAC3B,MAAM,CAAC,EAAE;AACT,KAAK;AACL,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;AACpF,MAAM,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI;AAChH,KAAK,CAAC,CAAC;AACP,EAAE;AACF,EAAE,OAAO,CAAC;AACV,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,UAAU;AACd,IAAI;AACJ,GAAG,CAAC;AACJ;;AAEA,SAAS,QAAQ,EAAE,IAAI,EAAE;AACzB,EAAE,IAAI;AACN,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI;AACJ,GAAG,GAAG,IAAI;AACV,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM;AAC7G,EAAE,OAAO,CAAC;AACV,IAAI,GAAG,EAAE,KAAK;AACd,IAAI,UAAU,EAAE;AAChB,MAAM,KAAK,EAAE;AACb,KAAK;AACL,IAAI,QAAQ,EAAE,CAAC;AACf,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE;AACrE,QAAQ;AACR,OAAO,CAAC;AACR,MAAM;AACN,KAAK;AACL,GAAG,CAAC;AACJ;;AAEA,SAAS,qBAAqB,CAAC,MAAM,EAAE;AACvC,EAAE,MAAM;AACR,IAAI,KAAK,EAAE;AACX,MAAM,IAAI;AACV,MAAM;AACN,KAAK;AACL,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,SAAS,GAAG;AAChB,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI;AACJ,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI;AAC9B,EAAE,MAAM,cAAc,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5C,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzO,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE;AACzE,MAAM,aAAa,EAAE,MAAM;AAC3B,MAAM,WAAW,EAAE,QAAQ;AAC3B,MAAM,OAAO,EAAE,SAAS;AACxB,MAAM,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK;AAC5C,MAAM,OAAO,EAAE,4BAA4B;AAC3C,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM;AACxD,KAAK;AACL,GAAG;AACH,EAAE,MAAM,sBAAsB,GAAG,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;AACtF,IAAI,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI;AACvD,GAAG,GAAG,EAAE;AACR,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAC1C,EAAE;AACF,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,UAAU,EAAE;AAClB,QAAQ,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,EAAE;AAC9F,OAAO;AACP,MAAM,QAAQ,EAAE,CAAC,KAAK;AACtB,KAAK,CAAC;AACN,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK;AACnC,EAAE;AACF,EAAE,MAAM,IAAI,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE;AAC/D,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,MAAM,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,sBAAsB,CAAC,EAAE,KAAK,CAAC,MAAM;AACnF,GAAG,CAAC;AACJ,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI;AAC/E,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,UAAU,EAAE;AAChB,GAAG,GAAG,YAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI;AACpD,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,UAAU,EAAE;AAChB,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC1B,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU;AAC9B,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,EAAE;AACF;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE;AACxC,EAAE,MAAM;AACR,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,SAAS,GAAG;AAChB,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM,UAAU,GAAGA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG;AACjG,IAAI,OAAO,EAAE;AACb,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;AACf,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;AACnC,GAAG,CAAC;AACJ,EAAE,IAAI,SAAS,EAAE;AACjB,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAClC,EAAE;AACF,EAAE,MAAM,MAAM,GAAGA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;AACjD,EAAE,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE;AACxC,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;AAC1C,MAAM,SAAS;AACf,MAAM,aAAa,EAAE,IAAI;AACzB,MAAM,KAAK;AACX,MAAM;AACN,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;AACrD,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;AACxC,EAAE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,WAAW;AACrC,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,EAAE;AAChB,EAAE,GAAG,CAAC,IAAI,CAAC;AACX,IAAI,GAAG,EAAE,MAAM;AACf,IAAI,UAAU;AACd,IAAI,QAAQ,EAAE,CAAC,OAAO;AACtB,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,GAAG,CAAC,IAAI,CAAC;AACb,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,UAAU,EAAE;AAClB,QAAQ,KAAK,EAAE;AACf,OAAO;AACP,MAAM,QAAQ,EAAE,CAAC,KAAK;AACtB,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAC3C,EAAE,MAAM;AACR,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI;AACJ,GAAG,GAAG,MAAM;AACZ,EAAE,MAAM,UAAU,GAAGA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG;AACjG,IAAI,OAAO,EAAE;AACb,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;AACf,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;AACnC,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9C,EAAE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,WAAW;AACrC,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,EAAE;AAChB,EAAE,GAAG,CAAC,IAAI,CAAC;AACX,IAAI,GAAG,EAAE,MAAM;AACf,IAAI,UAAU;AACd,IAAI,QAAQ,EAAE,CAAC,OAAO;AACtB,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,GAAG,CAAC,IAAI,CAAC;AACb,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,UAAU,EAAE;AAClB,QAAQ,KAAK,EAAE;AACf,OAAO;AACP,MAAM,QAAQ,EAAE,CAAC,KAAK;AACtB,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;;AAEA,MAAM;AACN,EAAE,MAAM,EAAE;AACV,CAAC,GAAG,SAAS;AACb,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACvB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,EAAE,IAAI,OAAO,GAAG,IAAI;AACpB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACjC,IAAI,OAAO,GAAG;AACd,MAAM,GAAG,EAAE,GAAG;AACd,MAAM,UAAU,EAAE;AAClB,QAAQ,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK;AAC5E,OAAO;AACP,MAAM,QAAQ,EAAE,CAAC;AACjB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAE;AACpB,UAAU,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;AACnF,UAAU,IAAI,EAAE,cAAc;AAC9B,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;AACzB;AACA,OAAO,EAAE;AACT,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAE;AACpB,UAAU,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;AACjF,UAAU,IAAI,EAAE,cAAc;AAC9B,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;AACzB;AACA,OAAO;AACP,KAAK;AACL,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,GAAG;AACd,MAAM,GAAG,EAAE,MAAM;AACjB,MAAM,UAAU,EAAE;AAClB,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,CAAC,EAAE;AACX;AACA,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,IAAI,EAAE;AACV,GAAG;AACH;AACA,MAAM,0BAA0B,GAAG;AACnC,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,MAAM,EAAE;AACV,CAAC;AACD,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC9C,EAAE,IAAI,CAACC,YAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,QAAQ,EAAE;AAC3D,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC5G,EAAE;AACF;AACA,SAAS,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;AACpC,EAAE,IAAI,WAAW,GAAG,MAAM;AAC1B,EAAE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;AACvD,IAAI,MAAM,GAAG,sBAAsB,EAAE;AACrC,EAAE;AACF,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1C,IAAI,IAAI,WAAW,KAAK,IAAI,EAAE;AAC9B,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ;AAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM;AACpC,IAAI;AACJ,IAAI,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC9E,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AAC7C,MAAM,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvC,IAAI;AACJ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACxC,IAAI,OAAO,CAACD,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE;AAC/E,MAAM,IAAI,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ,GAAG,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG;AAC9F,KAAK,CAAC,CAAC;AACP,EAAE,CAAC,CAAC;AACJ;;AAEA,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;AACvB,MAAM,GAAG,GAAG,MAAM,CAAC,kBAAkB,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,GAAG,WAAW,GAAG;AAChH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,OAAO,EAAE;AACX,CAAC;AACD,MAAM,QAAQ,GAAG,cAAc;AAC/B,MAAM,KAAK,GAAG,IAAI,IAAI;AACtB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5D,EAAE,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC;AACxB,CAAC;AACD,MAAM,GAAG,GAAG,IAAI,IAAI;AACpB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1D,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtJ,CAAC;AACD,IAAI,IAAI,GAAG;AACX,EAAE,KAAK;AACP,EAAE;AACF,CAAC;;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;AACvB,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI;AAC3E,EAAE,OAAO,OAAO,KAAK,KAAK,QAAQ;AAClC;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI;AAC1E,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI;AACtE,EAAE,OAAO,MAAM,IAAI,IAAI;AACvB;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAC9G;AACA,SAAS,UAAU,GAAG;AACtB,EAAE,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE;AACtC,IAAI,OAAO,QAAQ,CAAC,OAAO;AAC3B,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;AACjD,EAAE,OAAO,OAAO,IAAI,QAAQ,CAAC,OAAO;AACpC;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,OAAO,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,GAAG,CAAC;AACpE;AACA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,EAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACpC;AACA,SAAS,UAAU,CAAC,WAAW,EAAE;AACjC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,KAAK,KAAK,GAAG,eAAe,GAAG;AACzD,GAAG,GAAG,MAAM;AACZ,EAAE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACvC,IAAI,OAAO,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC;AAC/C,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AACnC,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACnE,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACtD,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE;AAC7C,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACpC,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE;AACtC,MAAM;AACN,KAAK,CAAC,CAAC;AACP,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;AAC/C;AACA,EAAE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,+BAA+B,CAAC;AAC/D;AACA,EAAE,OAAO,OAAO;AAChB;AACA,MAAM,QAAQ,GAAG;AACjB,EAAE,OAAO,EAAE,UAAU,QAAQ,EAAE;AAC/B,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI;AACtC,QAAQ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;AAChE,MAAM,CAAC,CAAC;AACR,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,kBAAkB,EAAE;AAClF,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;AACnD,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM;AACN,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,IAAI,EAAE,UAAU,QAAQ,EAAE;AAC5B,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC5B,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;;AAEhC;AACA;AACA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;AAC5D,MAAM,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;AACvC,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;AACpC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACxF,QAAQ,IAAI,GAAG,KAAK,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAClE,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,QAAQ,CAAC,MAAM;AACf,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAQ;AACR,QAAQ,OAAO,GAAG;AAClB,MAAM,CAAC,EAAE;AACT,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;AACjE,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5C,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjE,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;AACxC,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY;AACjC,EAAE;AACF,CAAC;AACD,SAAS,oBAAoB,CAAC,EAAE,EAAE;AAClC,EAAE,EAAE,EAAE;AACN;AACA,SAAS,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE;AACtC,EAAE,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,GAAG,MAAM;AAC7E,EAAE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,IAAI,gBAAgB,EAAE;AACtB,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,KAAK,GAAG,oBAAoB;AACpC,IAAI,IAAI,MAAM,CAAC,cAAc,KAAK,uBAAuB,EAAE;AAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,IAAI,oBAAoB;AAClE,IAAI;AACJ,IAAI,KAAK,CAAC,MAAM;AAChB,MAAM,MAAM,OAAO,GAAG,UAAU,EAAE;AAClC,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvC,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AAC5B,MAAM,IAAI,EAAE;AACZ,MAAM,gBAAgB,EAAE;AACxB,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,IAAI,QAAQ,GAAG,KAAK;AACpB,SAAS,kBAAkB,GAAG;AAC9B,EAAE,QAAQ,GAAG,IAAI;AACjB;AACA,SAAS,iBAAiB,GAAG;AAC7B,EAAE,QAAQ,GAAG,KAAK;AAClB;AACA,IAAI,EAAE,GAAG,IAAI;AACb,SAAS,OAAO,CAAC,OAAO,EAAE;AAC1B,EAAE,IAAI,CAAC,iBAAiB,EAAE;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AAChC,IAAI;AACJ,EAAE;AACF,EAAE,MAAM;AACR,IAAI,YAAY,GAAG,MAAM;AACzB,IAAI,YAAY,GAAG,MAAM;AACzB,IAAI,sBAAsB,GAAG,MAAM;AACnC,IAAI,oBAAoB,GAAG;AAC3B,GAAG,GAAG,OAAO;AACb,EAAE,EAAE,GAAG,IAAI,iBAAiB,CAAC,OAAO,IAAI;AACxC,IAAI,IAAI,QAAQ,EAAE;AAClB,IAAI,MAAM,aAAa,GAAG,sBAAsB,EAAE;AAClD,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI;AAC/C,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;AACnI,QAAQ,IAAI,MAAM,CAAC,oBAAoB,EAAE;AACzC,UAAU,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC;AACvD,QAAQ;AACR,QAAQ,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC;AAC3C,MAAM;AACN,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,oBAAoB,EAAE;AACnH,QAAQ,sBAAsB,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;AAChE,MAAM;AACN,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;AAC9J,QAAQ,IAAI,cAAc,CAAC,aAAa,KAAK,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;AACjG,UAAU,MAAM;AAChB,YAAY,MAAM;AAClB,YAAY;AACZ,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjE,UAAU,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI,aAAa,CAAC;AAClF,UAAU,IAAI,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;AAC/E,QAAQ,CAAC,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;AAC3D,UAAU,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC;AAC7C,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE;AACnC,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;AACA,SAAS,UAAU,GAAG;AACtB,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,EAAE,EAAE,CAAC,UAAU,EAAE;AACjB;;AAEA,SAAS,WAAW,EAAE,IAAI,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AAC1C,EAAE,IAAI,GAAG,GAAG,EAAE;AACd,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;AAClD,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACrC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AAC5B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AAC1C,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;;AAEA,SAAS,WAAW,EAAE,IAAI,EAAE;AAC5B,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AACzD,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;AACzD,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;AAC7E,EAAE,IAAI,GAAG,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9C,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;AACnB,IAAI,GAAG,CAAC,MAAM,GAAG,sBAAsB,EAAE;AACzC,EAAE;AACF,EAAE,IAAI,cAAc,IAAI,gBAAgB,EAAE;AAC1C,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc;AAC/B,IAAI,GAAG,CAAC,QAAQ,GAAG,gBAAgB;AACnC,EAAE;AACF,EAAE,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE;AAClC,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,IAAI,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACzG,EAAE;AACF,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC9G,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI;AACvC,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;;AAEA,SAAS,gBAAgB,EAAE,IAAI,EAAE;AACjC,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACzE,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;AACtD,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;AACjC,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;AACvD,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,eAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC1H,IAAI,CAAC,MAAM;AACX,MAAM,eAAe,CAAC,aAAa,CAAC,GAAG,MAAM;AAC7C,MAAM,eAAe,CAAC,WAAW,CAAC,GAAG,OAAO;AAC5C,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,eAAe;AACxB;;AAEA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,IAAI,EAAE;AACV,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,MAAM,OAAO,EAAE,EAAE;AACjB,MAAM,MAAM,EAAE,EAAE;AAChB,MAAM,UAAU,EAAE;AAClB;AACA,GAAG;AACH;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG;AACnF,IAAI,WAAW,EAAE;AACjB,GAAG;AACH,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,IAAI,EAAE;AACV,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC;AACvB,EAAE,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAChD,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;AAC/D,EAAE,OAAOA,gBAAc,CAAC;AACxB,IAAI,QAAQ;AACZ,IAAI,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACrC,IAAI,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;AAClD,IAAI,MAAM;AACV,IAAI,SAAS,EAAE,oBAAoB;AACnC,IAAI,IAAI,EAAE;AACV,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,KAAK,EAAE;AACX,MAAM,OAAO,EAAE,YAAY;AAC3B,MAAM,MAAM,EAAE,WAAW;AACzB,MAAM,UAAU,EAAE;AAClB;AACA,GAAG,EAAE,UAAU,CAAC;AAChB;;AAEA,MAAM;AACN,EAAE,MAAM,EAAE;AACV,CAAC,GAAG,SAAS;AACb,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,KAAK,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE;AACtE,IAAI,WAAW,EAAE;AACjB,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AACtB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAC9D,IAAI,OAAO,YAAY,CAAC,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC;AAC7D,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,YAAY,CAAC,gCAAgC,EAAE,IAAI,EAAE,QAAQ,CAAC;AACzE,EAAE;AACF;AACA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;AACvB;AACA,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;AACzF,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,OAAO,CAAC,OAAO,EAAE;AACvC,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS;AAC1D,EAAE,MAAM,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACxG,EAAE,MAAM,SAAS,GAAG,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9G,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7F,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,EAAE;AACF,EAAE,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACpM,EAAE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,IAAI,OAAO,OAAO,CAAC,OAAO,EAAE;AAC5B,EAAE;AACF,EAAE,IAAI,UAAU,GAAG,EAAE;AACrB,EAAE,IAAI;AACN,IAAI,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AACjE,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;AACjB;AACA,EAAE;AACF,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,IAAI,MAAM,CAAC,SAAS,CAAC;AACrB,IAAI,SAAS,CAAC,UAAU,CAAC;AACzB,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,OAAO,CAAC,OAAO,EAAE;AAC5B,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnC,EAAE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACrD,IAAI,IAAI;AACR,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC7C,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1B,MAAM;AACN,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;AACnB,MAAM,IAAI,CAACC,YAAU,EAAE;AACvB,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;AACzC,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AAC7B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI;AACrD,MAAM,OAAO,CAAC,iBAAiB,EAAE,MAAM;AACvC,QAAQ,MAAM,CAAC,QAAQ,CAAC;AACxB,QAAQ,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAQ,SAAS,CAAC,SAAS,CAAC;AAC5B,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,QAAQ,EAAE;AACtD,QAAQ,IAAI,EAAE;AACd,QAAQ,OAAO,EAAE;AACjB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI;AACrB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;AACzF,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI;AAC1C,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;AACnC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,UAAU,mBAAmB,EAAE;AACxC,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACvF,IAAI,MAAM,cAAc,GAAG,CAAC,mBAAmB,IAAI,EAAE,EAAE,IAAI,GAAG,mBAAmB,GAAG,kBAAkB,CAAC,mBAAmB,IAAI,EAAE,CAAC;AACjI,IAAI,IAAI;AACR,MAAM;AACN,KAAK,GAAG,MAAM;AACd,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC;AACtE,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,cAAc,EAAED,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE;AAC/E,MAAM;AACN,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH;AACA,MAAM,MAAM,GAAG,UAAU,cAAc,EAAE;AACzC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACrF,EAAE,MAAM;AACR,IAAI,SAAS,GAAG,oBAAoB;AACpC,IAAI,MAAM,GAAG,KAAK;AAClB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,KAAK,GAAG,IAAI;AAChB,IAAI,OAAO,GAAG,IAAI;AAClB,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,MAAM,GAAG;AACb,GAAG,GAAG,MAAM;AACZ,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG,GAAG,cAAc;AACpB,EAAE,OAAO,WAAW,CAACA,gBAAc,CAAC;AACpC,IAAI,IAAI,EAAE;AACV,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM;AAC5B,IAAI,SAAS,CAAC,0BAA0B,EAAE;AAC1C,MAAM,cAAc;AACpB,MAAM;AACN,KAAK,CAAC;AACN,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AACzB,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;AACvH,MAAM,CAAC,MAAM;AACb,QAAQ,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM;AAC1C,QAAQ,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO;AACzC,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,qBAAqB,CAAC;AACjC,MAAM,KAAK,EAAE;AACb,QAAQ,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;AAC/B,QAAQ,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9C,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,KAAK,EAAE,IAAI;AACrB,UAAU,MAAM,EAAE,IAAI;AACtB,UAAU,IAAI,EAAE;AAChB;AACA,OAAO;AACP,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,SAAS,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,SAAS,CAAC;AACpF,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,KAAK,EAAE;AACb,QAAQ,UAAU;AAClB,QAAQ,MAAM;AACd,QAAQ;AACR;AACA,KAAK,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,IAAI,eAAe,GAAG;AACtB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,IAAI,EAAE,YAAY,CAAC,MAAM;AAC/B,KAAK;AACL,EAAE,CAAC;AACH,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,yBAAyB,CAAC,WAAW,EAAE;AAC7C,QAAQ,WAAW,CAAC,YAAY,GAAG,MAAM;AACzC,QAAQ,WAAW,CAAC,YAAY,GAAG,MAAM;AACzC,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,YAAY,EAAE;AACzB,IAAI,YAAY,CAAC,KAAK,GAAG,UAAU,MAAM,EAAE;AAC3C,MAAM,MAAM;AACZ,QAAQ,IAAI,GAAG,QAAQ;AACvB,QAAQ,QAAQ,GAAG,MAAM,CAAC;AAC1B,OAAO,GAAG,MAAM;AAChB,MAAM,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnC,IAAI,CAAC;AACL,IAAI,YAAY,CAAC,8BAA8B,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE;AAC5E,MAAM,MAAM;AACZ,QAAQ,QAAQ;AAChB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,QAAQ,MAAM;AACd,QAAQ;AACR,OAAO,GAAG,QAAQ;AAClB,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC9C,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;AACxH,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,MAAM,EAAE,GAAG;AACrB,UAAU,IAAI,EAAE;AAChB,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;AAC1B,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI;AACjC,UAAU,OAAO,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC;AAC/C,YAAY,KAAK,EAAE;AACnB,cAAc,IAAI;AAClB,cAAc;AACd,aAAa;AACb,YAAY,MAAM;AAClB,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB,YAAY,MAAM;AAClB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,YAAY,OAAO;AACnB,YAAY,KAAK;AACjB,YAAY,SAAS,EAAE;AACvB,WAAW,CAAC,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AACxB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC;AACL,IAAI,YAAY,CAAC,oBAAoB,GAAG,UAAU,KAAK,EAAE;AACzD,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,IAAI;AACZ,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,GAAG,KAAK;AACf,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;AAC5C,MAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,QAAQ,UAAU,CAAC,OAAO,CAAC,GAAG,WAAW;AACzC,MAAM;AACN,MAAM,IAAI,SAAS;AACnB,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE;AAC5C,QAAQ,SAAS,GAAG,YAAY,CAAC,mCAAmC,EAAE;AACtE,UAAU,IAAI;AACd,UAAU,SAAS;AACnB,UAAU,cAAc,EAAE,IAAI,CAAC,KAAK;AACpC,UAAU,SAAS,EAAE,IAAI,CAAC;AAC1B,SAAS,CAAC;AACV,MAAM;AACN,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;AAC3C,MAAM,OAAO;AACb,QAAQ,QAAQ;AAChB,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,IAAI,MAAM,GAAG;AACb,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,KAAK,CAAC,SAAS,EAAE;AACvB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AAC3F,QAAQ,MAAM;AACd,UAAU,OAAO,GAAG;AACpB,SAAS,GAAG,MAAM;AAClB,QAAQ,OAAO,WAAW,CAAC;AAC3B,UAAU,IAAI,EAAE;AAChB,SAAS,EAAE,MAAM;AACjB,UAAU,SAAS,CAAC,0BAA0B,EAAE;AAChD,YAAY,SAAS;AACrB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,IAAI,QAAQ,GAAG,EAAE;AAC3B,UAAU,SAAS,CAAC,IAAI,IAAI;AAC5B,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;AAChD,cAAc,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,YAAY,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1D,UAAU,CAAC,CAAC;AACZ,UAAU,OAAO,CAAC;AAClB,YAAY,GAAG,EAAE,MAAM;AACvB,YAAY,UAAU,EAAE;AACxB,cAAc,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG;AAClF,aAAa;AACb,YAAY;AACZ,WAAW,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,CAAC;;AAED,IAAI,aAAa,GAAG;AACpB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,OAAO,CAAC,OAAO,EAAE;AACvB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AAC3F,QAAQ,MAAM;AACd,UAAU,KAAK,GAAG,IAAI;AACtB,UAAU,OAAO,GAAG,EAAE;AACtB,UAAU,UAAU,GAAG,EAAE;AACzB,UAAU,MAAM,GAAG;AACnB,SAAS,GAAG,MAAM;AAClB,QAAQ,OAAO,WAAW,CAAC;AAC3B,UAAU,IAAI,EAAE,SAAS;AACzB,UAAU;AACV,SAAS,EAAE,MAAM;AACjB,UAAU,SAAS,CAAC,0BAA0B,EAAE;AAChD,YAAY,OAAO;AACnB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,OAAO,yBAAyB,CAAC;AAC3C,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;AACvC,YAAY,KAAK;AACjB,YAAY,KAAK,EAAE;AACnB,cAAc,UAAU;AACxB,cAAc,MAAM;AACpB,cAAc,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,GAAG,OAAO;AAClF;AACA,WAAW,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,KAAK;AACL,EAAE;AACF,CAAC;;AAED,IAAI,UAAU,GAAG;AACjB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AAC3F,QAAQ,MAAM;AACd,UAAU,SAAS,GAAG,oBAAoB;AAC1C,UAAU,KAAK,GAAG,IAAI;AACtB,UAAU,OAAO,GAAG,EAAE;AACtB,UAAU,UAAU,GAAG,EAAE;AACzB,UAAU,MAAM,GAAG;AACnB,SAAS,GAAG,MAAM;AAClB,QAAQ,OAAO,WAAW,CAAC;AAC3B,UAAU,IAAI,EAAE,MAAM;AACtB,UAAU;AACV,SAAS,EAAE,MAAM;AACjB,UAAU,SAAS,CAAC,0BAA0B,EAAE;AAChD,YAAY,OAAO;AACnB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,OAAO,sBAAsB,CAAC;AACxC,YAAY,OAAO;AACnB,YAAY,SAAS,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE,SAAS,CAAC;AAC1F,YAAY,KAAK;AACjB,YAAY,KAAK,EAAE;AACnB,cAAc,UAAU;AACxB,cAAc,MAAM;AACpB,cAAc,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,GAAG,OAAO;AAC/E;AACA,WAAW,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,YAAY,EAAE;AACzB,IAAI,YAAY,CAAC,kBAAkB,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE;AAChE,MAAM,MAAM;AACZ,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO,GAAG,QAAQ;AAClB,MAAM,IAAI,KAAK,GAAG,IAAI;AACtB,MAAM,IAAI,MAAM,GAAG,IAAI;AACvB,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC9E,QAAQ,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC/D,QAAQ,KAAK,GAAG,kBAAkB,CAAC,KAAK,GAAG,gBAAgB;AAC3D,QAAQ,MAAM,GAAG,kBAAkB,CAAC,MAAM,GAAG,gBAAgB;AAC7D,MAAM;AACN,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE;AACrC,QAAQ,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,MAAM;AAChD,MAAM;AACN,MAAM,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,sBAAsB,CAAC;AAC3D,QAAQ,OAAO,EAAE,IAAI,CAAC,SAAS;AAC/B,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ,SAAS,EAAE;AACnB,OAAO,CAAC,CAAC,CAAC;AACV,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;AACxD,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AAClD,MAAM,6BAA6B,GAAGA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE;AACtG,EAAE,WAAW,EAAE;AACf,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,GAAG,EAAE;AACT;AACA,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACjB,MAAM,4BAA4B,GAAG,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACrG,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,6BAA6B,CAAC,GAAG,CAAC;AAC7D,EAAE,OAAO,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC;AACN,MAAM,2BAA2B,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK;AAC1G,EAAE,MAAM,OAAO,GAAG,4BAA4B,CAAC,UAAU,CAAC;AAC1D,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,EAAE,OAAO,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC;AACN,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;AAC5D,EAAE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3C,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,uBAAuB,CAAC,CAAC,CAAC;AACzG,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK;AAC5E,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACzD,IAAI,WAAW,EAAE,YAAY,IAAI;AACjC,GAAG;AACH;AACA,SAAS,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE;AAC3C,EAAE,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;AAClF,EAAE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC;AAChD,EAAE,MAAM,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,QAAQ,GAAG,iBAAiB;AACrF,EAAE,OAAO,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,mBAAmB,CAAC,IAAI,2BAA2B,CAAC,mBAAmB,CAAC;AAC3I;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC5C,EAAE,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACvG,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1C,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;AACtD;AACA,MAAM,OAAO,OAAO,EAAE;AACtB,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C,IAAI,MAAM,6BAA6B,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5H,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC1D,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAC7D,IAAI,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC;AACjE,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAC7D,IAAI,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACtD,IAAI,IAAI,6BAA6B,IAAI,CAAC,eAAe,EAAE;AAC3D;AACA;AACA;AACA,MAAM,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC;AACrD,MAAM,OAAO,OAAO,EAAE;AACtB,IAAI,CAAC,MAAM,IAAI,eAAe,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,EAAE,EAAE;AACxE,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;AACxD,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;AACpD,MAAM,MAAM;AACZ,QAAQ,KAAK,EAAE,QAAQ;AACvB,QAAQ;AACR,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;AACtC,MAAM,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;AAC/D,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AAChD,MAAM,IAAI,cAAc,GAAG,QAAQ;AACnC,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;AAChD,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE;AACpD,UAAU,QAAQ,GAAG,SAAS,CAAC,QAAQ;AACvC,UAAU,MAAM,GAAG,SAAS,CAAC,MAAM;AACnC,QAAQ;AACR,MAAM;;AAEN;AACA;AACA,MAAM,IAAI,QAAQ,IAAI,CAAC,WAAW,KAAK,CAAC,6BAA6B,IAAI,6BAA6B,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,cAAc,CAAC,EAAE;AAC1N,QAAQ,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC;AAC3D,QAAQ,IAAI,6BAA6B,EAAE;AAC3C;AACA,UAAU,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC;AACzD,QAAQ;AACR,QAAQ,MAAM,IAAI,GAAG,SAAS,EAAE;AAChC,QAAQ,MAAM;AACd,UAAU;AACV,SAAS,GAAG,IAAI;AAChB,QAAQ,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,QAAQ;AAC3D,QAAQ,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI;AAChD,UAAU,MAAM,QAAQ,GAAG,qBAAqB,CAACA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AAC9F,YAAY,KAAK,EAAE;AACnB,cAAc,IAAI;AAClB,cAAc,IAAI,EAAE,kBAAkB;AACtC,aAAa;AACb,YAAY,MAAM;AAClB,YAAY,QAAQ,EAAE,cAAc;AACpC,YAAY,KAAK;AACjB,YAAY,SAAS,EAAE;AACvB,WAAW,CAAC,CAAC;AACb,UAAU,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC;AACvF,UAAU,IAAI,QAAQ,KAAK,UAAU,EAAE;AACvC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;AACvD,UAAU,CAAC,MAAM;AACjB,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACrC,UAAU;AACV,UAAU,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3E,UAAU,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;AAChD,UAAU,OAAO,EAAE;AACnB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AACxB,MAAM,CAAC,MAAM;AACb,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,OAAO,CAAC,IAAI,EAAE;AACvB,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AACjG;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,mCAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC;AAChO;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1C,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;AAC3F,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;AAClD,IAAI,kBAAkB,EAAE;AACxB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM;AACvC,MAAM,GAAG,EAAE;AACX,MAAM,iBAAiB,EAAE;AACzB,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;AACnB,MAAM,GAAG,EAAE;AACX,MAAM,iBAAiB,EAAE;AACzB,MAAM,MAAM,EAAE;AACd,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ;AACA,IAAI,cAAc,GAAG;AACrB,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,yBAAyB,CAAC,WAAW,EAAE;AAC7C,QAAQ,WAAW,CAAC,sBAAsB,GAAG,oBAAoB;AACjE,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,SAAS,CAAC,kBAAkB,GAAG,UAAU,MAAM,EAAE;AACrD,MAAM,MAAM;AACZ,QAAQ,IAAI,GAAG;AACf,OAAO,GAAG,MAAM;AAChB,MAAM,IAAI,MAAM,CAAC,oBAAoB,EAAE;AACvC,QAAQ,oBAAoB,CAAC,IAAI,CAAC;AAClC,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,kBAAkB,GAAG;AACzB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,GAAG,EAAE;AACX,QAAQ,OAAO,GAAG;AAClB,UAAU,kBAAkB,EAAE;AAC9B,UAAU,UAAU,GAAG,IAAI;AAC3B,QAAQ;AACR;AACA,KAAK;AACL,EAAE,CAAC;AACH,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,SAAS,GAAG;AAClB,QAAQ,OAAO,CAAC,UAAU,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,CAAC;AACP,MAAM,MAAM,GAAG;AACf,QAAQ,UAAU,EAAE;AACpB,MAAM,CAAC;AACP,MAAM,KAAK,CAAC,MAAM,EAAE;AACpB,QAAQ,MAAM;AACd,UAAU;AACV,SAAS,GAAG,MAAM;AAClB,QAAQ,IAAI,UAAU,EAAE;AACxB,UAAU,iBAAiB,EAAE;AAC7B,QAAQ,CAAC,MAAM;AACf,UAAU,OAAO,CAAC,UAAU,CAAC,2BAA2B,EAAE;AAC1D,YAAY;AACZ,WAAW,CAAC,CAAC;AACb,QAAQ;AACR,MAAM;AACN,KAAK;AACL,EAAE;AACF,CAAC;;AAED,MAAM,oBAAoB,GAAG,eAAe,IAAI;AAChD,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,IAAI,EAAE,EAAE;AACZ,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,MAAM,EAAE;AACZ,GAAG;AACH,EAAE,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;AACrE,IAAI,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5C,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AAC1B,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACvC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE;AAC/B,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI;AACtB,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,EAAE;AAC/B,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI;AACtB,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAC3B,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;AACrB,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,QAAQ,KAAK;AACjB,MAAM,KAAK,MAAM;AACjB,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI;AAClC,QAAQ;AACR,MAAM,KAAK,QAAQ;AACnB,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI;AAClC,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,QAAQ;AACR,MAAM,KAAK,OAAO;AAClB,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,QAAQ;AACR,MAAM,KAAK,IAAI;AACf,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,QAAQ;AACR,MAAM,KAAK,MAAM;AACjB,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI;AAC5B,QAAQ;AACR,MAAM,KAAK,QAAQ;AACnB,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI;AACtC,QAAQ;AACR;AACA,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,SAAS,CAAC;AACf,CAAC;AACD,IAAI,eAAe,GAAG;AACtB,EAAE,MAAM,GAAG;AACX,IAAI,OAAO;AACX,MAAM,KAAK,EAAE;AACb,QAAQ,SAAS,EAAE,eAAe,IAAI;AACtC,UAAU,OAAO,oBAAoB,CAAC,eAAe,CAAC;AACtD,QAAQ;AACR;AACA,KAAK;AACL,EAAE,CAAC;AACH,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE;AAC7C,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;AACtE,QAAQ,IAAI,eAAe,EAAE;AAC7B,UAAU,WAAW,CAAC,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC;AACvE,QAAQ;AACR,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,SAAS,CAAC,iCAAiC,GAAG,UAAU,IAAI,EAAE;AAClE,MAAM,IAAI;AACV,QAAQ,IAAI;AACZ,QAAQ,SAAS;AACjB,QAAQ,cAAc;AACtB,QAAQ;AACR,OAAO,GAAG,IAAI;AACd,MAAM,MAAM,KAAK,GAAG;AACpB,QAAQ,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,OAAO;AAClE,OAAO;AACP,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;AACvG,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAC/J,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;AACrE,MAAM,MAAM,KAAK,GAAG;AACpB,QAAQ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW;AAC5F,OAAO;AACP,MAAM,MAAM,IAAI,GAAG;AACnB,QAAQ,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ;AACnE,OAAO;AACP,MAAM,MAAM,UAAU,GAAG;AACzB,QAAQ,KAAK;AACb,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO;AACP,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,UAAU,EAAEA,gBAAc,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC;AACxD,QAAQ,QAAQ,EAAE,CAAC;AACnB,UAAU,GAAG,EAAE,GAAG;AAClB,UAAU,UAAU,EAAEA,gBAAc,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC;AAC1D,UAAU,QAAQ,EAAE,CAAC;AACrB,YAAY,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;AAC9B,YAAY,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;AACxC,YAAY,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI;AAChG,WAAW;AACX,SAAS;AACT,OAAO;AACP,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,MAAM,SAAS,GAAG;AAClB,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,MAAM,EAAE;AACV,CAAC;AACD,SAAS,SAAS,CAAC,QAAQ,EAAE;AAC7B,EAAE,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;AACtF,EAAE,IAAI,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;AAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO;AACtC,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,OAAO,CAAC,QAAQ,EAAE;AAC3B,EAAE,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE;AAC5B,IAAI,OAAO,QAAQ,CAAC,QAAQ;AAC5B,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,CAAC,QAAQ,CAAC;AACrB,EAAE;AACF;AACA,IAAI,KAAK,GAAG;AACZ,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE;AAC7C,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;AAC1D,QAAQ,MAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,kBAAkB,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChH,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAC1B,UAAU,IAAI,CAAC,MAAM,GAAG,sBAAsB,EAAE;AAChD,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,GAAG,IAAI;AAC/B,QAAQ,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;AACjE,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,KAAK;AACL,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,SAAS,CAAC,oBAAoB,GAAG,UAAU,IAAI,EAAE;AACrD,MAAM,IAAI;AACV,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,IAAI;AACZ,QAAQ,IAAI;AACZ,QAAQ,MAAM,EAAE,cAAc;AAC9B,QAAQ;AACR,OAAO,GAAG,IAAI;AACd,MAAM,MAAM;AACZ,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,IAAI,EAAE;AACd,OAAO,GAAG,IAAI;AACd,MAAM,MAAM;AACZ,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,IAAI,EAAE;AACd,OAAO,GAAG,IAAI;AACd,MAAM,MAAM,KAAK,GAAG,eAAe,CAAC;AACpC,QAAQ,SAAS;AACjB,QAAQ,cAAc,EAAE,SAAS;AACjC,QAAQ,SAAS,EAAE;AACnB,OAAO,CAAC;AACR,MAAM,MAAM,QAAQ,GAAG;AACvB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE;AACtE,UAAU,IAAI,EAAE;AAChB,SAAS;AACT,OAAO;AACP,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC,QAAQ,GAAG;AAC9D,QAAQ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS;AACjD,OAAO,GAAG,EAAE;AACZ,MAAM,MAAM,cAAc,GAAG;AAC7B,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,UAAU,EAAEA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;AACnD,QAAQ,QAAQ,EAAE,CAAC,SAAS,CAACA,gBAAc,CAAC;AAC5C,UAAU,GAAG,EAAE,QAAQ,CAAC,GAAG;AAC3B,UAAU,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI;AACxF,SAAS,EAAE,2BAA2B,CAAC,CAAC;AACxC,OAAO;AACP,MAAM,MAAM,cAAc,GAAG;AAC7B,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,UAAU,EAAEA,gBAAc,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;AACnD,QAAQ,QAAQ,EAAE,CAAC,cAAc;AACjC,OAAO;AACP,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,IAAI,YAAY,EAAE,CAAC;AACrE,MAAM,MAAM,OAAO,GAAG;AACtB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE;AACtE,UAAU,EAAE,EAAE,MAAM;AACpB,UAAU,SAAS,EAAE,gBAAgB;AACrC,UAAU,gBAAgB,EAAE;AAC5B,SAAS,CAAC;AACV,QAAQ,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc;AAC3C,OAAO;AACP,MAAM,MAAM,IAAI,GAAG;AACnB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,QAAQ,EAAE,CAAC;AACnB,UAAU,GAAG,EAAE,UAAU;AACzB,UAAU,UAAU,EAAE;AACtB,YAAY,EAAE,EAAE;AAChB,WAAW;AACX,UAAU,QAAQ,EAAE,OAAO,CAAC,QAAQ;AACpC,SAAS,EAAE,OAAO;AAClB,OAAO;AACP,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;AAC1B,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAEA,gBAAc,CAAC;AACnC,UAAU,IAAI,EAAE,cAAc;AAC9B,UAAU,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;AAClD,UAAU,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG;AAC1C,SAAS,EAAE,SAAS;AACpB,OAAO,CAAC;AACR,MAAM,OAAO;AACb,QAAQ,QAAQ;AAChB,QAAQ;AACR,OAAO;AACP,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,IAAI,oBAAoB,GAAG;AAC3B,EAAE,QAAQ,CAAC,SAAS,EAAE;AACtB,IAAI,IAAI,YAAY,GAAG,KAAK;AAC5B,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE;AAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO;AAClF,IAAI;AACJ,IAAI,SAAS,CAAC,mBAAmB,GAAG,YAAY;AAChD,MAAM,MAAM,SAAS,GAAG,EAAE;AAC1B,MAAM,MAAM,IAAI,GAAG;AACnB,QAAQ,IAAI,EAAE;AACd,OAAO;AACP,MAAM,MAAM,cAAc,GAAG;AAC7B,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,WAAW,EAAE,YAAY;AACjC,QAAQ,GAAG,EAAE;AACb,OAAO;;AAEP;AACA,MAAM,SAAS,CAAC,IAAI,CAAC;AACrB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACjE,UAAU,CAAC,EAAE;AACb,SAAS;AACT,OAAO,CAAC;AACR,MAAM,MAAM,eAAe,GAAGA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;AACrF,QAAQ,aAAa,EAAE;AACvB,OAAO,CAAC;AACR,MAAM,MAAM,GAAG,GAAG;AAClB,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACjE,UAAU,EAAE,EAAE,KAAK;AACnB,UAAU,EAAE,EAAE,KAAK;AACnB,UAAU,CAAC,EAAE;AACb,SAAS,CAAC;AACV,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,UAAU,GAAG,EAAE,SAAS;AACxB,UAAU,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;AAC7E,YAAY,aAAa,EAAE,GAAG;AAC9B,YAAY,MAAM,EAAE;AACpB,WAAW;AACX,SAAS,EAAE;AACX,UAAU,GAAG,EAAE,SAAS;AACxB,UAAU,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE;AAC9E,YAAY,MAAM,EAAE;AACpB,WAAW;AACX,SAAS,CAAC;AACV,MAAM;AACN,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACzB,MAAM,SAAS,CAAC,IAAI,CAAC;AACrB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACjE,UAAU,OAAO,EAAE,GAAG;AACtB,UAAU,CAAC,EAAE;AACb,SAAS,CAAC;AACV,QAAQ,QAAQ,EAAE,YAAY,GAAG,EAAE,GAAG,CAAC;AACvC,UAAU,GAAG,EAAE,SAAS;AACxB,UAAU,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE;AAC9E,YAAY,MAAM,EAAE;AACpB,WAAW;AACX,SAAS;AACT,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB;AACA,QAAQ,SAAS,CAAC,IAAI,CAAC;AACvB,UAAU,GAAG,EAAE,MAAM;AACrB,UAAU,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACnE,YAAY,OAAO,EAAE,GAAG;AACxB,YAAY,CAAC,EAAE;AACf,WAAW,CAAC;AACZ,UAAU,QAAQ,EAAE,CAAC;AACrB,YAAY,GAAG,EAAE,SAAS;AAC1B,YAAY,UAAU,EAAEA,gBAAc,CAACA,gBAAc,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE;AAChF,cAAc,MAAM,EAAE;AACtB,aAAa;AACb,WAAW;AACX,SAAS,CAAC;AACV,MAAM;AACN,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,UAAU,EAAE;AACpB,UAAU,OAAO,EAAE;AACnB,SAAS;AACT,QAAQ,QAAQ,EAAE;AAClB,OAAO;AACP,IAAI,CAAC;AACL,EAAE;AACF,CAAC;;AAED,IAAI,UAAU,GAAG;AACjB,EAAE,KAAK,GAAG;AACV,IAAI,OAAO;AACX,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE;AAC7C,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC9D,QAAQ,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,GAAG,KAAK,GAAG,UAAU,KAAK,EAAE,GAAG,IAAI,GAAG,UAAU;AAC1F,QAAQ,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM;AACtC,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,KAAK;AACL,EAAE;AACF,CAAC;;AAED,IAAI,OAAO,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC;;AAE3K,eAAe,CAAC,OAAO,EAAE;AACzB,EAAE,SAAS,EAAE;AACb,CAAC,CAAC;AACe,GAAG,CAAC;AACJ,GAAG,CAAC;AACH,GAAG,CAAC;AACR,GAAG,CAAC;AAClB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK;AACI,GAAG,CAAC;AAChB,GAAG,CAAC;AACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI;AACP,GAAG,CAAC;AACL,GAAG,CAAC;AACD,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;AC97FP,IAAI,CAAC,CAAC,UAAU,GAAG,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrf,CAAA,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK;AACvQ,CAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,sBAAA,CAAA,SAAiB,CAAC,CAAC,CAAC,sBAAA,CAAA,cAAsB,CAAC,CAAC,CAAC,sBAAA,CAAA,eAAuB,CAAC,CAAC,CAAC,sCAAuB,CAAC,CAAC,CAAC,sBAAA,CAAA,OAAe,CAAC,CAAC,CAAC,sBAAA,CAAA,UAAkB,CAAC,CAAC,CAAC,sBAAA,CAAA,QAAgB,CAAC,CAAC,CAAC,sBAAA,CAAA,IAAY,CAAC,CAAC,CAAC,2BAAY,CAAC,CAAC,CAAC,sBAAA,CAAA,MAAc,CAAC,CAAC;AACjf,CAAA,sBAAA,CAAA,QAAgB,CAAC,CAAC,CAAC,sBAAA,CAAA,UAAkB,CAAC,CAAC,CAAC,sBAAA,CAAA,QAAgB,CAAC,CAAC,CAAC,sBAAA,CAAA,WAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,gBAAwB,CAAC,CAAC,CAAC,sBAAA,CAAA,iBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,iBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,SAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,YAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,UAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,MAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3d,CAAA,sBAAA,CAAA,MAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,+BAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,UAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,YAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAA,CAAA,UAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3O,CAAA,sBAAA,CAAA,kBAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAA,CAAA,MAAc,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACDpU,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,GAAE,CAAC,WAAW;;AAGd;AACA;CACA,IAAI,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG;CAC1D,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM;CACzE,IAAI,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM;CACvE,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;CAC3E,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM;CACjF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;CAC3E,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;AAC3E,CAAA,IAAI,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;AAC1E;;CAEA,IAAI,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,MAAM;CAC/E,IAAI,0BAA0B,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM;CACzF,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM;CACjF,IAAI,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,MAAM;CAC3E,IAAI,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,MAAM;CACrF,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM;CACnE,IAAI,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM;CACnE,IAAI,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM;CACrE,IAAI,sBAAsB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,MAAM;CACjF,IAAI,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM;CAC7E,IAAI,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM;;CAErE,SAAS,kBAAkB,CAAC,IAAI,EAAE;GAChC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,UAAU;AAC/D,GAAE,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,0BAA0B,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,wBAAwB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,sBAAsB,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,CAAC;AACrmB,CAAA;;CAEA,SAAS,MAAM,CAAC,MAAM,EAAE;GACtB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AACrD,KAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ;;AAElC,KAAI,QAAQ,QAAQ;AACpB,OAAM,KAAK,kBAAkB;AAC7B,SAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;;AAE9B,SAAQ,QAAQ,IAAI;AACpB,WAAU,KAAK,qBAAqB;AACpC,WAAU,KAAK,0BAA0B;AACzC,WAAU,KAAK,mBAAmB;AAClC,WAAU,KAAK,mBAAmB;AAClC,WAAU,KAAK,sBAAsB;AACrC,WAAU,KAAK,mBAAmB;AAClC,aAAY,OAAO,IAAI;;WAEb;AACV,aAAY,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ;;AAEpD,aAAY,QAAQ,YAAY;AAChC,eAAc,KAAK,kBAAkB;AACrC,eAAc,KAAK,sBAAsB;AACzC,eAAc,KAAK,eAAe;AAClC,eAAc,KAAK,eAAe;AAClC,eAAc,KAAK,mBAAmB;AACtC,iBAAgB,OAAO,YAAY;;eAErB;AACd,iBAAgB,OAAO,QAAQ;AAC/B;;AAEA;;AAEA,OAAM,KAAK,iBAAiB;AAC5B,SAAQ,OAAO,QAAQ;AACvB;AACA,GAAA;;AAEA,GAAE,OAAO,SAAS;CAClB,CAAC;;CAED,IAAI,SAAS,GAAG,qBAAqB;CACrC,IAAI,cAAc,GAAG,0BAA0B;CAC/C,IAAI,eAAe,GAAG,kBAAkB;CACxC,IAAI,eAAe,GAAG,mBAAmB;CACzC,IAAI,OAAO,GAAG,kBAAkB;CAChC,IAAI,UAAU,GAAG,sBAAsB;CACvC,IAAI,QAAQ,GAAG,mBAAmB;CAClC,IAAI,IAAI,GAAG,eAAe;CAC1B,IAAI,IAAI,GAAG,eAAe;CAC1B,IAAI,MAAM,GAAG,iBAAiB;CAC9B,IAAI,QAAQ,GAAG,mBAAmB;CAClC,IAAI,UAAU,GAAG,sBAAsB;CACvC,IAAI,QAAQ,GAAG,mBAAmB;CAClC,IAAI,mCAAmC,GAAG,KAAK,CAAC;;CAEhD,SAAS,WAAW,CAAC,MAAM,EAAE;GAC3B;KACE,IAAI,CAAC,mCAAmC,EAAE;OACxC,mCAAmC,GAAG,IAAI,CAAC;;OAE3C,OAAO,CAAC,MAAM,CAAC,CAAC,uDAAuD,GAAG,4DAA4D,GAAG,gEAAgE,CAAC;AAChN,KAAA;AACA,GAAA;;GAEE,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,qBAAqB;AAC7E,CAAA;CACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,0BAA0B;AACtD,CAAA;CACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB;AAC9C,CAAA;CACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB;AAC/C,CAAA;CACA,SAAS,SAAS,CAAC,MAAM,EAAE;AAC3B,GAAE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB;AAChG,CAAA;CACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB;AAClD,CAAA;CACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB;AAC/C,CAAA;CACA,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe;AAC3C,CAAA;CACA,SAAS,MAAM,CAAC,MAAM,EAAE;AACxB,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe;AAC3C,CAAA;CACA,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC1B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,iBAAiB;AAC7C,CAAA;CACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB;AAC/C,CAAA;CACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB;AAClD,CAAA;CACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,GAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB;AAC/C,CAAA;;AAEA,CAAA,mBAAA,CAAA,SAAiB,GAAG,SAAS;AAC7B,CAAA,mBAAA,CAAA,cAAsB,GAAG,cAAc;AACvC,CAAA,mBAAA,CAAA,eAAuB,GAAG,eAAe;AACzC,CAAA,mBAAA,CAAA,eAAuB,GAAG,eAAe;AACzC,CAAA,mBAAA,CAAA,OAAe,GAAG,OAAO;AACzB,CAAA,mBAAA,CAAA,UAAkB,GAAG,UAAU;AAC/B,CAAA,mBAAA,CAAA,QAAgB,GAAG,QAAQ;AAC3B,CAAA,mBAAA,CAAA,IAAY,GAAG,IAAI;AACnB,CAAA,mBAAA,CAAA,IAAY,GAAG,IAAI;AACnB,CAAA,mBAAA,CAAA,MAAc,GAAG,MAAM;AACvB,CAAA,mBAAA,CAAA,QAAgB,GAAG,QAAQ;AAC3B,CAAA,mBAAA,CAAA,UAAkB,GAAG,UAAU;AAC/B,CAAA,mBAAA,CAAA,QAAgB,GAAG,QAAQ;AAC3B,CAAA,mBAAA,CAAA,WAAmB,GAAG,WAAW;AACjC,CAAA,mBAAA,CAAA,gBAAwB,GAAG,gBAAgB;AAC3C,CAAA,mBAAA,CAAA,iBAAyB,GAAG,iBAAiB;AAC7C,CAAA,mBAAA,CAAA,iBAAyB,GAAG,iBAAiB;AAC7C,CAAA,mBAAA,CAAA,SAAiB,GAAG,SAAS;AAC7B,CAAA,mBAAA,CAAA,YAAoB,GAAG,YAAY;AACnC,CAAA,mBAAA,CAAA,UAAkB,GAAG,UAAU;AAC/B,CAAA,mBAAA,CAAA,MAAc,GAAG,MAAM;AACvB,CAAA,mBAAA,CAAA,MAAc,GAAG,MAAM;AACvB,CAAA,mBAAA,CAAA,QAAgB,GAAG,QAAQ;AAC3B,CAAA,mBAAA,CAAA,UAAkB,GAAG,UAAU;AAC/B,CAAA,mBAAA,CAAA,YAAoB,GAAG,YAAY;AACnC,CAAA,mBAAA,CAAA,UAAkB,GAAG,UAAU;AAC/B,CAAA,mBAAA,CAAA,kBAA0B,GAAG,kBAAkB;AAC/C,CAAA,mBAAA,CAAA,MAAc,GAAG,MAAM;AACvB,GAAA,CAAG,GAAG;AACN,CAAA;;;;;;;;;;AClLA,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;GACzCE,OAAA,CAAA,OAAc,GAAGf,6BAAA,EAA2C;AAC9D,CAAA,CAAC,MAAM;GACLe,OAAA,CAAA,OAAc,GAAGd,0BAAA,EAAwC;AAC3D,CAAA;;;;;;;;;;;;;;;;ACCA;AACA,CAAA,IAAI,qBAAqB,GAAG,MAAM,CAAC,qBAAqB;AACxD,CAAA,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc;AACpD,CAAA,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB;;CAE5D,SAAS,QAAQ,CAAC,GAAG,EAAE;EACtB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;AACxC,GAAE,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC;AAC9E,EAAA;;AAEA,EAAC,OAAO,MAAM,CAAC,GAAG,CAAC;AACnB,CAAA;;AAEA,CAAA,SAAS,eAAe,GAAG;AAC3B,EAAC,IAAI;AACL,GAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACtB,IAAG,OAAO,KAAK;AACf,GAAA;;AAEA;;AAEA;GACE,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,GAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;AACjB,GAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACpD,IAAG,OAAO,KAAK;AACf,GAAA;;AAEA;GACE,IAAI,KAAK,GAAG,EAAE;AAChB,GAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AAC/B,IAAG,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1C,GAAA;AACA,GAAE,IAAI,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAClE,IAAG,OAAO,KAAK,CAAC,CAAC,CAAC;AAClB,GAAA,CAAG,CAAC;GACF,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE;AACxC,IAAG,OAAO,KAAK;AACf,GAAA;;AAEA;GACE,IAAI,KAAK,GAAG,EAAE;GACd,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE;AAC7D,IAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;AACzB,GAAA,CAAG,CAAC;AACJ,GAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACpD,KAAI,sBAAsB,EAAE;AAC5B,IAAG,OAAO,KAAK;AACf,GAAA;;AAEA,GAAE,OAAO,IAAI;EACb,CAAE,CAAC,OAAO,GAAG,EAAE;AACf;AACA,GAAE,OAAO,KAAK;AACd,EAAA;AACA,CAAA;;AAEA,CAAA,YAAc,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE,MAAM,EAAE;AAC/E,EAAC,IAAI,IAAI;AACT,EAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC1B,EAAC,IAAI,OAAO;;AAEZ,EAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;GAC1C,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;AAE7B,GAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;IACrB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;KACnC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,IAAA;AACA,GAAA;;GAEE,IAAI,qBAAqB,EAAE;AAC7B,IAAG,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5C,KAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,MAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtC,KAAA;AACA,IAAA;AACA,GAAA;AACA,EAAA;;AAEA,EAAC,OAAO,EAAE;CACV,CAAC;;;;;;;;;;;;;;;;;;CChFD,IAAI,oBAAoB,GAAG,8CAA8C;;AAEzE,CAAA,sBAAc,GAAG,oBAAoB;;;;;;;;;;ACXrC,CAAA,GAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;CCSpE,IAAI,YAAY,GAAG,WAAW,CAAA,CAAE;;AAEhC,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;GACzC,IAAI,oBAAoB,iBAAGD,2BAAA,EAAqC;GAChE,IAAI,kBAAkB,GAAG,EAAE;GAC3B,IAAI,GAAG,iBAAGC,UAAA,EAAoB;;AAEhC,GAAE,YAAY,GAAG,SAAS,IAAI,EAAE;AAChC,KAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI;AACpC,KAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACxC,OAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,KAAA;AACA,KAAI,IAAI;AACR;AACA;AACA;AACA,OAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;KAC9B,CAAK,CAAC,OAAO,CAAC,EAAE,OAAA;GAChB,CAAG;AACH,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CACA,SAAS,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;GAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC7C,KAAI,KAAK,IAAI,YAAY,IAAI,SAAS,EAAE;AACxC,OAAM,IAAI,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;AACxC,SAAQ,IAAI,KAAK;AACjB;AACA;AACA;AACA,SAAQ,IAAI;AACZ;AACA;WACU,IAAI,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU,EAAE;aACjD,IAAI,GAAG,GAAG,KAAK;AAC3B,eAAc,CAAC,aAAa,IAAI,aAAa,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB;eAChG,8EAA8E,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI;eACtH;cACD;AACb,aAAY,GAAG,CAAC,IAAI,GAAG,qBAAqB;AAC5C,aAAY,MAAM,GAAG;AACrB,WAAA;AACA,WAAU,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,CAAC;SACpH,CAAS,CAAC,OAAO,EAAE,EAAE;WACX,KAAK,GAAG,EAAE;AACpB,SAAA;SACQ,IAAI,KAAK,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,EAAE;AAChD,WAAU,YAAY;AACtB,aAAY,CAAC,aAAa,IAAI,aAAa,IAAI,0BAA0B;AACzE,aAAY,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,iCAAiC;AAC9E,aAAY,2DAA2D,GAAG,OAAO,KAAK,GAAG,IAAI;AAC7F,aAAY,iEAAiE;AAC7E,aAAY,gEAAgE;aAChE;YACD;AACX,SAAA;AACA,SAAQ,IAAI,KAAK,YAAY,KAAK,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,EAAE;AAC9E;AACA;AACA,WAAU,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI;;WAExC,IAAI,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,EAAE;;AAEhD,WAAU,YAAY;AACtB,aAAY,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE;YAC/E;AACX,SAAA;AACA,OAAA;AACA,KAAA;AACA,GAAA;AACA,CAAA;;AAEA;AACA;AACA;AACA;AACA;CACA,cAAc,CAAC,iBAAiB,GAAG,WAAW;GAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;KACzC,kBAAkB,GAAG,EAAE;AAC3B,GAAA;AACA,CAAA;;AAEA,CAAA,gBAAc,GAAG,cAAc;;;;;;;;;;;;;;;;;;CC7F/B,IAAI,OAAO,GAAGD,cAAA,EAAmB;CACjC,IAAI,MAAM,GAAGC,mBAAA,EAAwB;;CAErC,IAAI,oBAAoB,iBAAGO,2BAAA,EAAqC;CAChE,IAAI,GAAG,iBAAGC,UAAA,EAAoB;CAC9B,IAAI,cAAc,iBAAGC,qBAAA,EAA2B;;CAEhD,IAAI,YAAY,GAAG,WAAW,CAAA,CAAE;;AAEhC,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AAC3C,GAAE,YAAY,GAAG,SAAS,IAAI,EAAE;AAChC,KAAI,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI;AACpC,KAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACxC,OAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,KAAA;AACA,KAAI,IAAI;AACR;AACA;AACA;AACA,OAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;KAC9B,CAAK,CAAC,OAAO,CAAC,EAAE,CAAA;GAChB,CAAG;AACH,CAAA;;AAEA,CAAA,SAAS,4BAA4B,GAAG;AACxC,GAAE,OAAO,IAAI;AACb,CAAA;;AAEA,CAAA,uBAAc,GAAG,SAAS,cAAc,EAAE,mBAAmB,EAAE;AAC/D;GACE,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ;AACvE,GAAE,IAAI,oBAAoB,GAAG,YAAY,CAAC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,aAAa,CAAC,aAAa,EAAE;AACxC,KAAI,IAAI,UAAU,GAAG,aAAa,KAAK,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAChI,KAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,OAAM,OAAO,UAAU;AACvB,KAAA;AACA,GAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;GAEE,IAAI,SAAS,GAAG,eAAe;;AAEjC;AACA;GACE,IAAI,cAAc,GAAG;AACvB,KAAI,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;AAC9C,KAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD,KAAI,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC;AAC/C,KAAI,IAAI,EAAE,0BAA0B,CAAC,UAAU,CAAC;AAChD,KAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD,KAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD,KAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;AAChD,KAAI,MAAM,EAAE,0BAA0B,CAAC,QAAQ,CAAC;;KAE5C,GAAG,EAAE,oBAAoB,EAAE;KAC3B,OAAO,EAAE,wBAAwB;KACjC,OAAO,EAAE,wBAAwB,EAAE;KACnC,WAAW,EAAE,4BAA4B,EAAE;KAC3C,UAAU,EAAE,yBAAyB;KACrC,IAAI,EAAE,iBAAiB,EAAE;KACzB,QAAQ,EAAE,yBAAyB;KACnC,KAAK,EAAE,qBAAqB;KAC5B,SAAS,EAAE,sBAAsB;KACjC,KAAK,EAAE,sBAAsB;KAC7B,KAAK,EAAE,4BAA4B;IACpC;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AACpB;AACA,KAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AACjB;AACA;OACM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,KAAA,CAAK,MAAM;AACX;AACA,OAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B,KAAA;AACA,GAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE;AACxC,KAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,KAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,EAAE,EAAE;AAC3D,KAAI,IAAI,CAAC,KAAK,GAAG,EAAE;AACnB,GAAA;AACA;AACA,GAAE,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;;AAE3C,GAAE,SAAS,0BAA0B,CAAC,QAAQ,EAAE;KAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;OACzC,IAAI,uBAAuB,GAAG,EAAE;OAChC,IAAI,0BAA0B,GAAG,CAAC;AACxC,KAAA;AACA,KAAI,SAAS,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACnG,OAAM,aAAa,GAAG,aAAa,IAAI,SAAS;AAChD,OAAM,YAAY,GAAG,YAAY,IAAI,QAAQ;;AAE7C,OAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE;SACnC,IAAI,mBAAmB,EAAE;AACjC;AACA,WAAU,IAAI,GAAG,GAAG,IAAI,KAAK;AAC7B,aAAY,sFAAsF;AAClG,aAAY,iDAAiD;aACjD;YACD;AACX,WAAU,GAAG,CAAC,IAAI,GAAG,qBAAqB;AAC1C,WAAU,MAAM,GAAG;AACnB,SAAA,CAAS,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AAC5F;AACA,WAAU,IAAI,QAAQ,GAAG,aAAa,GAAG,GAAG,GAAG,QAAQ;WAC7C;AACV,aAAY,CAAC,uBAAuB,CAAC,QAAQ,CAAC;AAC9C;AACA,aAAY,0BAA0B,GAAG;aAC7B;AACZ,aAAY,YAAY;AACxB,eAAc,wDAAwD;eACxD,oBAAoB,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,wBAAwB;AAC5G,eAAc,yDAAyD;AACvE,eAAc,gEAAgE;AAC9E,eAAc,+DAA+D,GAAG;cACnE;AACb,aAAY,uBAAuB,CAAC,QAAQ,CAAC,GAAG,IAAI;AACpD,aAAY,0BAA0B,EAAE;AACxC,WAAA;AACA,SAAA;AACA,OAAA;AACA,OAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;SAC3B,IAAI,UAAU,EAAE;AACxB,WAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;aAC5B,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,0BAA0B,IAAI,MAAM,GAAG,aAAa,GAAG,6BAA6B,CAAC,CAAC;AACrK,WAAA;WACU,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,6BAA6B,IAAI,GAAG,GAAG,aAAa,GAAG,kCAAkC,CAAC,CAAC;AACxK,SAAA;AACA,SAAQ,OAAO,IAAI;AACnB,OAAA,CAAO,MAAM;AACb,SAAQ,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC;AAC/E,OAAA;AACA,KAAA;;KAEI,IAAI,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;KAClD,gBAAgB,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;;AAE5D,KAAI,OAAO,gBAAgB;AAC3B,GAAA;;AAEA,GAAE,SAAS,0BAA0B,CAAC,YAAY,EAAE;AACpD,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACtF,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AAC3C,OAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;AACrC;AACA;AACA;AACA,SAAQ,IAAI,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC;;SAE3C,OAAO,IAAI,aAAa;WACtB,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,GAAG,GAAG,YAAY,GAAG,IAAI,CAAC;WACnK,CAAC,YAAY,EAAE,YAAY;UAC5B;AACT,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;GAEE,SAAS,oBAAoB,GAAG;AAClC,KAAI,OAAO,0BAA0B,CAAC,4BAA4B,CAAC;AACnE,GAAA;;AAEA,GAAE,SAAS,wBAAwB,CAAC,WAAW,EAAE;AACjD,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AAC7C,SAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,iDAAiD,CAAC;AACtJ,OAAA;AACA,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;OAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACrC,SAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;SACrC,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC;AAC7K,OAAA;AACA,OAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;SACzC,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,oBAAoB,CAAC;AAC1H,SAAQ,IAAI,KAAK,YAAY,KAAK,EAAE;AACpC,WAAU,OAAO,KAAK;AACtB,SAAA;AACA,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;GAEE,SAAS,wBAAwB,GAAG;AACtC,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AACtC,SAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;SACrC,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,oCAAoC,CAAC,CAAC;AAC1L,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;GAEE,SAAS,4BAA4B,GAAG;AAC1C,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;OAC/B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE;AAClD,SAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;SACrC,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,yCAAyC,CAAC,CAAC;AAC/L,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,yBAAyB,CAAC,aAAa,EAAE;AACpD,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;OACxE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,aAAa,CAAC,EAAE;AACvD,SAAQ,IAAI,iBAAiB,GAAG,aAAa,CAAC,IAAI,IAAI,SAAS;SACvD,IAAI,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3D,SAAQ,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,eAAe,GAAG,iBAAiB,GAAG,aAAa,GAAG,cAAc,CAAC,IAAI,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC;AAC1N,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,qBAAqB,CAAC,cAAc,EAAE;KAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;OAClC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACjD,SAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,WAAU,YAAY;AACtB,aAAY,8DAA8D,GAAG,SAAS,CAAC,MAAM,GAAG,cAAc;aAClG;YACD;AACX,SAAA,CAAS,MAAM;WACL,YAAY,CAAC,wDAAwD,CAAC;AAChF,SAAA;AACA,OAAA;AACA,OAAM,OAAO,4BAA4B;AACzC,KAAA;;AAEA,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;SAC9C,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9C,WAAU,OAAO,IAAI;AACrB,SAAA;AACA,OAAA;;AAEA,OAAM,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;AACtF,SAAQ,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC;AACxC,SAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE;AAC/B,WAAU,OAAO,MAAM,CAAC,KAAK,CAAC;AAC9B,SAAA;AACA,SAAQ,OAAO,KAAK;AACpB,OAAA,CAAO,CAAC;AACR,OAAM,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,qBAAqB,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC;AACxM,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,yBAAyB,CAAC,WAAW,EAAE;AAClD,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AAC7C,SAAQ,OAAO,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,GAAG,kBAAkB,GAAG,aAAa,GAAG,kDAAkD,CAAC;AACvJ,OAAA;AACA,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AAC3C,OAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;SACzB,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,YAAY,IAAI,GAAG,GAAG,QAAQ,GAAG,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAAC;AAC9K,OAAA;AACA,OAAM,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE;AACjC,SAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;WACvB,IAAI,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAE,oBAAoB,CAAC;AAC1H,WAAU,IAAI,KAAK,YAAY,KAAK,EAAE;AACtC,aAAY,OAAO,KAAK;AACxB,WAAA;AACA,SAAA;AACA,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,sBAAsB,CAAC,mBAAmB,EAAE;KACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;AAC7C,OAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAG,YAAY,CAAC,wEAAwE,CAAC,GAAG,MAAM;AAC7I,OAAM,OAAO,4BAA4B;AACzC,KAAA;;AAEA,KAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzD,OAAM,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC1C,OAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACzC,SAAQ,YAAY;AACpB,WAAU,oFAAoF;WACpF,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG;UACtE;AACT,SAAQ,OAAO,4BAA4B;AAC3C,OAAA;AACA,KAAA;;AAEA,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;OACxE,IAAI,aAAa,GAAG,EAAE;AAC5B,OAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3D,SAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC5C,SAAQ,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC;AACjH,SAAQ,IAAI,aAAa,IAAI,IAAI,EAAE;AACnC,WAAU,OAAO,IAAI;AACrB,SAAA;AACA,SAAQ,IAAI,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;WACjE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;AAC7D,SAAA;AACA,OAAA;OACM,IAAI,oBAAoB,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE;OACvH,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,oBAAoB,GAAG,GAAG,CAAC,CAAC;AACzJ,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;GAEE,SAAS,iBAAiB,GAAG;AAC/B,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;OACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;SAC5B,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,gBAAgB,IAAI,GAAG,GAAG,aAAa,GAAG,0BAA0B,CAAC,CAAC;AACrJ,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE;KAC/E,OAAO,IAAI,aAAa;AAC5B,OAAM,CAAC,aAAa,IAAI,aAAa,IAAI,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,gBAAgB;OAC5G,8EAA8E,GAAG,IAAI,GAAG;MACzF;AACL,GAAA;;AAEA,GAAE,SAAS,sBAAsB,CAAC,UAAU,EAAE;AAC9C,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AAC3C,OAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;SACzB,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC;AAC7K,OAAA;AACA,OAAM,KAAK,IAAI,GAAG,IAAI,UAAU,EAAE;AAClC,SAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;AACrC,SAAQ,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AAC3C,WAAU,OAAO,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3G,SAAA;SACQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAE,oBAAoB,CAAC;SAC5G,IAAI,KAAK,EAAE;AACnB,WAAU,OAAO,KAAK;AACtB,SAAA;AACA,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;AACA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,4BAA4B,CAAC,UAAU,EAAE;AACpD,KAAI,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE;AAC9E,OAAM,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;AACrC,OAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AAC3C,OAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE;SACzB,OAAO,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,GAAG,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,uBAAuB,CAAC,CAAC;AAC7K,OAAA;AACA;AACA,OAAM,IAAI,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;AAC3D,OAAM,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;AAC/B,SAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;AACrC,SAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACnE,WAAU,OAAO,qBAAqB,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3G,SAAA;SACQ,IAAI,CAAC,OAAO,EAAE;WACZ,OAAO,IAAI,aAAa;AAClC,aAAY,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,GAAG,GAAG,iBAAiB,GAAG,aAAa,GAAG,IAAI;AACpH,aAAY,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1E,aAAY,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI;YACtE;AACX,SAAA;SACQ,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,GAAG,GAAG,GAAG,GAAG,EAAE,oBAAoB,CAAC;SAC5G,IAAI,KAAK,EAAE;AACnB,WAAU,OAAO,KAAK;AACtB,SAAA;AACA,OAAA;AACA,OAAM,OAAO,IAAI;AACjB,KAAA;;AAEA,KAAI,OAAO,0BAA0B,CAAC,QAAQ,CAAC;AAC/C,GAAA;;AAEA,GAAE,SAAS,MAAM,CAAC,SAAS,EAAE;KACzB,QAAQ,OAAO,SAAS;AAC5B,OAAM,KAAK,QAAQ;AACnB,OAAM,KAAK,QAAQ;AACnB,OAAM,KAAK,WAAW;AACtB,SAAQ,OAAO,IAAI;AACnB,OAAM,KAAK,SAAS;SACZ,OAAO,CAAC,SAAS;AACzB,OAAM,KAAK,QAAQ;AACnB,SAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,WAAU,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AACxC,SAAA;SACQ,IAAI,SAAS,KAAK,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;AAC7D,WAAU,OAAO,IAAI;AACrB,SAAA;;AAEA,SAAQ,IAAI,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;SACzC,IAAI,UAAU,EAAE;WACd,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AACnD,WAAU,IAAI,IAAI;AAClB,WAAU,IAAI,UAAU,KAAK,SAAS,CAAC,OAAO,EAAE;aACpC,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;eACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACvC,iBAAgB,OAAO,KAAK;AAC5B,eAAA;AACA,aAAA;AACA,WAAA,CAAW,MAAM;AACjB;aACY,OAAO,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;AACnD,eAAc,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;eACtB,IAAI,KAAK,EAAE;iBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACvC,mBAAkB,OAAO,KAAK;AAC9B,iBAAA;AACA,eAAA;AACA,aAAA;AACA,WAAA;AACA,SAAA,CAAS,MAAM;AACf,WAAU,OAAO,KAAK;AACtB,SAAA;;AAEA,SAAQ,OAAO,IAAI;OACb;AACN,SAAQ,OAAO,KAAK;AACpB;AACA,GAAA;;AAEA,GAAE,SAAS,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;AACzC;AACA,KAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;AAC/B,OAAM,OAAO,IAAI;AACjB,KAAA;;AAEA;KACI,IAAI,CAAC,SAAS,EAAE;AACpB,OAAM,OAAO,KAAK;AAClB,KAAA;;AAEA;AACA,KAAI,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE;AACjD,OAAM,OAAO,IAAI;AACjB,KAAA;;AAEA;KACI,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,SAAS,YAAY,MAAM,EAAE;AACrE,OAAM,OAAO,IAAI;AACjB,KAAA;;AAEA,KAAI,OAAO,KAAK;AAChB,GAAA;;AAEA;AACA,GAAE,SAAS,WAAW,CAAC,SAAS,EAAE;AAClC,KAAI,IAAI,QAAQ,GAAG,OAAO,SAAS;AACnC,KAAI,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAClC,OAAM,OAAO,OAAO;AACpB,KAAA;AACA,KAAI,IAAI,SAAS,YAAY,MAAM,EAAE;AACrC;AACA;AACA;AACA,OAAM,OAAO,QAAQ;AACrB,KAAA;AACA,KAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;AACvC,OAAM,OAAO,QAAQ;AACrB,KAAA;AACA,KAAI,OAAO,QAAQ;AACnB,GAAA;;AAEA;AACA;AACA,GAAE,SAAS,cAAc,CAAC,SAAS,EAAE;KACjC,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,IAAI,EAAE;OAC1D,OAAO,EAAE,GAAG,SAAS;AAC3B,KAAA;AACA,KAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;AACzC,KAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;AAC/B,OAAM,IAAI,SAAS,YAAY,IAAI,EAAE;AACrC,SAAQ,OAAO,MAAM;AACrB,OAAA,CAAO,MAAM,IAAI,SAAS,YAAY,MAAM,EAAE;AAC9C,SAAQ,OAAO,QAAQ;AACvB,OAAA;AACA,KAAA;AACA,KAAI,OAAO,QAAQ;AACnB,GAAA;;AAEA;AACA;AACA,GAAE,SAAS,wBAAwB,CAAC,KAAK,EAAE;AAC3C,KAAI,IAAI,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC;AACpC,KAAI,QAAQ,IAAI;AAChB,OAAM,KAAK,OAAO;AAClB,OAAM,KAAK,QAAQ;SACX,OAAO,KAAK,GAAG,IAAI;AAC3B,OAAM,KAAK,SAAS;AACpB,OAAM,KAAK,MAAM;AACjB,OAAM,KAAK,QAAQ;SACX,OAAO,IAAI,GAAG,IAAI;OACpB;AACN,SAAQ,OAAO,IAAI;AACnB;AACA,GAAA;;AAEA;AACA,GAAE,SAAS,YAAY,CAAC,SAAS,EAAE;AACnC,KAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;AAC/D,OAAM,OAAO,SAAS;AACtB,KAAA;AACA,KAAI,OAAO,SAAS,CAAC,WAAW,CAAC,IAAI;AACrC,GAAA;;AAEA,GAAE,cAAc,CAAC,cAAc,GAAG,cAAc;AAChD,GAAE,cAAc,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB;AACrE,GAAE,cAAc,CAAC,SAAS,GAAG,cAAc;;AAE3C,GAAE,OAAO,cAAc;CACvB,CAAC;;;;;;;;;;;;;;;;;;CCxlBD,IAAI,oBAAoB,iBAAGV,2BAAA,EAAqC;;AAEhE,CAAA,SAAS,aAAa,GAAG,CAAA;AACzB,CAAA,SAAS,sBAAsB,GAAG,CAAA;CAClC,sBAAsB,CAAC,iBAAiB,GAAG,aAAa;;AAExD,CAAA,wBAAc,GAAG,WAAW;AAC5B,GAAE,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AAChF,KAAI,IAAI,MAAM,KAAK,oBAAoB,EAAE;AACzC;OACM;AACN,KAAA;AACA,KAAI,IAAI,GAAG,GAAG,IAAI,KAAK;AACvB,OAAM,sFAAsF;AAC5F,OAAM,+CAA+C;OAC/C;MACD;AACL,KAAI,GAAG,CAAC,IAAI,GAAG,qBAAqB;AACpC,KAAI,MAAM,GAAG;GACb,CACA,GAAE,IAAI,CAAC,UAAU,GAAG,IAAI;GACtB,SAAS,OAAO,GAAG;AACrB,KAAI,OAAO,IAAI;GACf,CACA;AACA;GACE,IAAI,cAAc,GAAG;KACnB,KAAK,EAAE,IAAI;KACX,MAAM,EAAE,IAAI;KACZ,IAAI,EAAE,IAAI;KACV,IAAI,EAAE,IAAI;KACV,MAAM,EAAE,IAAI;KACZ,MAAM,EAAE,IAAI;KACZ,MAAM,EAAE,IAAI;KACZ,MAAM,EAAE,IAAI;;KAEZ,GAAG,EAAE,IAAI;KACT,OAAO,EAAE,OAAO;KAChB,OAAO,EAAE,IAAI;KACb,WAAW,EAAE,IAAI;KACjB,UAAU,EAAE,OAAO;KACnB,IAAI,EAAE,IAAI;KACV,QAAQ,EAAE,OAAO;KACjB,KAAK,EAAE,OAAO;KACd,SAAS,EAAE,OAAO;KAClB,KAAK,EAAE,OAAO;KACd,KAAK,EAAE,OAAO;;KAEd,cAAc,EAAE,sBAAsB;AAC1C,KAAI,iBAAiB,EAAE;IACpB;;AAEH,GAAE,cAAc,CAAC,SAAS,GAAG,cAAc;;AAE3C,GAAE,OAAO,cAAc;CACvB,CAAC;;;;;;;;;;;;;;;;ACzDD,CAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;GACzC,IAAI,OAAO,GAAGA,cAAA,EAAmB;;AAEnC;AACA;GACE,IAAI,mBAAmB,GAAG,IAAI;GAC9BgB,SAAA,CAAA,OAAc,iBAAGf,8BAAA,EAAoC,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC;AAC/F,CAAA,CAAC,MAAM;AACP;AACA;GACEe,SAAA,CAAA,OAAc,iBAAGR,+BAAA,EAAqC,EAAE;AAC1D,CAAA;;;;;;;ACdA,SAAS,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE;AACzC,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEhC,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;AACtD,IAAI,cAAc,KAAK,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AAC/D,MAAM,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU;AACpE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,EAAE;;AAEF,EAAE,OAAO,IAAI;AACb;;AAEA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,IAAI,IAAI,MAAM,GAAG,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;AACzD,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AAC/D,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/C,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AACvK,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtF,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf;;AAEA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,yBAAyB;;AAE3B,EAAE,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;AACtG,IAAI,OAAO,OAAO,GAAG;AACrB,EAAE,CAAC,GAAG,UAAU,GAAG,EAAE;AACrB,IAAI,OAAO,GAAG,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG;AAC/H,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;AACjB;;AAEA,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;AAC1C,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;AAClB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;AACpC,MAAM,KAAK,EAAE,KAAK;AAClB,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,QAAQ,EAAE;AAChB,KAAK,CAAC;AACN,EAAE,CAAC,MAAM;AACT,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;AACpB,EAAE;;AAEF,EAAE,OAAO,GAAG;AACZ;;AAEA,SAAS,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE;AACzD,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE;AAC/B,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC,EAAE,IAAI,GAAG,EAAE,CAAC;;AAEZ,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC;AACvB,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf;;AAEA,SAAS,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE;AACpD,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE;;AAE/B,EAAE,IAAI,MAAM,GAAG,6BAA6B,CAAC,MAAM,EAAE,QAAQ,CAAC;;AAE9D,EAAE,IAAI,GAAG,EAAE,CAAC;;AAEZ,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;;AAE/D,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC/B,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACtC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AACpE,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/B,IAAI;AACJ,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf;;AAEA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,kBAAkB,EAAE;AACrH;;AAEA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,iBAAiB,CAAC,GAAG,CAAC;AACvD;;AAEA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3H;;AAEA,SAAS,2BAA2B,CAAC,CAAC,EAAE,MAAM,EAAE;AAChD,EAAE,IAAI,CAAC,CAAC,EAAE;AACV,EAAE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;AAChE,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACxD,EAAE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI;AAC7D,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,EAAE,IAAI,CAAC,KAAK,WAAW,IAAI,0CAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC;AAClH;;AAEA,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE;AACrC,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM;;AAEvD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;;AAEvE,EAAE,OAAO,IAAI;AACb;;AAEA,SAAS,kBAAkB,GAAG;AAC9B,EAAE,MAAM,IAAI,SAAS,CAAC,sIAAsI,CAAC;AAC7J;;AAEA;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,IAAI,QAAQ;;AAEd,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;AACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;AACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;AACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;AACzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU;AACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;;AAExB,EAAE,IAAI,OAAO,IAAI,QAAQ,GAAG;AAC5B,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,cAAc,EAAE,QAAQ;AAC5B,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,iBAAiB,EAAE,WAAW;AAClC,IAAI,eAAe,EAAE,SAAS;AAC9B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,YAAY,EAAE,OAAO;AACzB,IAAI,WAAW,EAAE,MAAM;AACvB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,SAAS,EAAE,IAAI,KAAK,IAAI;AAC5B,IAAI,oBAAoB,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,MAAM;AAClE,IAAI,kBAAkB,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK;AACxD,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACjZ;;AAEA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;AACjD,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;AACpC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AAC3B,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;;AAEhB,EAAE,OAAO,GAAG,KAAK,GAAG;AACpB;;AAEA,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC1B,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC;;;AAGH,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,GAAG,EAAE;AACjE,IAAI,OAAO,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE;AACvC,EAAE,CAAC,CAAC,CAAC;;AAEL,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D;;AAEA,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC;;AAEzB,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD;;AAEA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC3C,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE;AACnB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AACzB,IAAI,OAAO,CAAC;AACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE;AACjC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAC7B,IAAI,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;AACxC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;AACjF,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE,EAAE,CAAC;AACR;;AAEA,SAAS,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE;AACzC,EAAE,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;;AAEzF,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,OAAO,OAAO;AAClB,EAAE;;AAEF,EAAE,IAAI,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,UAAU,KAAK,EAAE;AAC/D,IAAI,OAAO,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC;AACxC,EAAE,CAAC,CAAC;AACJ;;AAEA,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE;AAChF,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;;AAErC,IAAI,QAAQ,GAAG;AACf,MAAM,KAAK,OAAO;AAClB,QAAQ,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG;AACpC,QAAQ,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC/C,QAAQ;;AAER,MAAM;AACN,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtE,UAAU,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG;AAC5C,QAAQ,CAAC,MAAM;AACf,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;AACxC,QAAQ;;AAER;;AAEA,IAAI,OAAO,GAAG;AACd,EAAE,CAAC,EAAE;AACL,IAAI,KAAK,EAAE;AACX,GAAG,CAAC;;AAEJ,EAAE,IAAI,iBAAiB,GAAG,UAAU,CAAC,KAAK;AAC1C,MAAM,aAAa,GAAG,iBAAiB,KAAK,MAAM,GAAG,EAAE,GAAG,iBAAiB;AAC3E,MAAM,SAAS,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC;;AAEjE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC;AAClG;;AAEA,EAAE,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrJ;;AAEA,IAAI,UAAU,GAAG,KAAK;;AAEtB,IAAI;AACJ,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;AACpD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;;AAEb,SAAS,GAAG,IAAI;AAChB,EAAE,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE;AACrE,IAAI,IAAI,QAAQ;;AAEhB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzD,EAAE;AACF;;AAEA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC;AACA;AACA,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;AACvF,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,IAAIS,OAAK,CAAC,IAAI,EAAE;AAClB,IAAI,OAAOA,OAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,EAAE,CAAC;;;AAGH,EAAE,IAAI,IAAI,KAAK,IAAI,EAAE;AACrB,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;;;AAGH,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC1E,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;;;AAGH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD;AACA,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AACrB,MAAM,QAAQ,EAAE,IAAI,CAAC,CAAC;AACtB,KAAK;AACL,EAAE,CAAC;;;AAGH,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,QAAQ,EAAE;AAChB,KAAK;AACL,EAAE;AACF;;AAEA;AACA;AACA;AACA,SAAS,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE;AACnC;AACA;AACA;AACA;AACA,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;AAC1H;;AAEA,IAAI,YAAY,GAAG;AACnB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,UAAU,EAAE,KAAK;AACnB,EAAE,OAAO,EAAE,KAAK;AAChB,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,WAAW,EAAE,KAAK;AACpB,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,QAAQ,EAAE,KAAK;AACjB,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,WAAW,EAAE;AACf,CAAC;AACD,IAAI,eAAe,gBAAgB,KAAK,CAAC,UAAU,CAAC,UAAU,KAAK,EAAE,GAAG,EAAE;AAC1E,EAAE,IAAI,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC;;AAExE,EAAE,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI;AAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI;AAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS;AACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK;AAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO;AAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC9B,EAAE,IAAI,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC9C,EAAE,IAAI,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9I,EAAE,IAAI,SAAS,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,GAAGA,OAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC/I,EAAE,IAAI,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC/D,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;AACvI,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC,CAAC;;AAEL,EAAE,IAAI,CAAC,YAAY,EAAE;AACrB,IAAI,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC;AAC1C,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,IAAI,QAAQ,GAAG,YAAY,CAAC,QAAQ;AACtC,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,GAAG,EAAE;AACT,GAAG;AACH,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AAC/C;AACA,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC3C,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;AACrC,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;AAC9C,CAAC,CAAC;AACF,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAC/C,eAAe,CAAC,SAAS,GAAG;AAC5B,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;AACtB,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;AACxB,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI;AACxB,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM;AAC7B,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;AACtB,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;AACvB,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClF,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM;AAC1B,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI;AAC5B,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI;AACzB,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACxE,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAClF,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI;AAC1B,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1C,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;AACvB,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9C,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;AACvB,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5H,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI;AACtB,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;AAC3B,EAAE,WAAW,EAAE,SAAS,CAAC,IAAI;AAC7B,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACjE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM;AACzB,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM;AAC3B,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACtE,EAAE,WAAW,EAAE,SAAS,CAAC;AACzB,CAAC;AACD,IAAI,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;;ACxarC,MAAM,CAAC,KAAK,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BX,MAAM,CAAC,MAAM,CAAwB;;;;;;;;;;;;;;;;;;;;;;AAuB5C,MAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;;AAcN,MAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;;AAcP,MAAM,CAAC,GAAG,CAAA;;;;;;;;;ACpF5B,MAAM,SAAS,GAAG,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,MAAM,aAAa,GAAG,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7D,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC;AAE5C,SAAU,oBAAoB,CAClC,MAAA,GAAiB,EAAE,EAAA;IAEnB,IAAI,MAAM,GAAG,EAAE;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;AACxD,QAAA,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC;AACzB,IAAA;AACD,IAAA,OAAO,MAAM;AACf;AAEO,MAAM,+BAA+B,GAAG,MAAa;AAC1D,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;IACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACpE,IAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AAE3D,IAAA,OAAO,CAAA,QAAA,EAAW,aAAa,CAAA,CAAA,EAAI,QAAQ,EAAE;AAC/C,CAAC;AAsBM,MAAM,oBAAoB,GAAG,CAClC,iBAAyB,EACzB,oBAA4B,EAC5B,cAAsB,KACZ;AACV,IAAA,MAAM,SAAS,GAAG,CAAA,EAAG,iBAAiB,CAAA,EAAG,oBAAoB,CAAA,EAAG,cAAc,CAAA,CAAE,CAAC,IAAI,EAAE;AACvF,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAEM,MAAM,YAAY,GAAG,CAAC,KAAa,KAAY;AACpD,IAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC;AAEiC,IAAI,KAAK,CAAyB,EAAE,EAAE;AACtE,IAAA,GAAG,EAAE,CAAC,MAAM,EAAE,YAAoB,KAAI;;AACpC,QAAA,IAAI,EAAE,YAAY,IAAI,MAAM,CAAC,EAAE;YAC7B,IAAI;gBACF,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACzC,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,eAAe,EAAE,cAAc;iBAChC;qBACE,aAAa,CAAC,CAAC;AACf,qBAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,YAAY;AAEhE,gBAAA,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM;AAC9B,YAAA;YAAC,OAAA,EAAA,EAAM;AACN,gBAAA,MAAM,CAAC,YAAY,CAAC,GAAG,YAAY;AACpC,YAAA;AACF,QAAA;AACD,QAAA,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;AACF,CAAA;;ACpED,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAqB,MACvEC,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EAAA,EAAA,QAAA,EACnBC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAAA,EAAA,QAAA,EAAA,CAChED,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,EAC5DA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,MAAM,0BAExD,CAAA,EAAA,CAAA,CACH,EAAA,CAAA,CACA,CACP;;ACbD,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,IAAI,EACb,KAAK,GACa,MAClBA,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EAAA,EAAA,QAAA,EACfC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAAA,EAAA,QAAA,EAAA,CAEhED,GAAA,CAAA,QAAA,EAAA,EAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAG,EAChDA,GAAA,CAAA,QAAA,EAAA,EAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAG,CAAA,EAAA,CAAA,CAC5C,EAAA,CAAA,CACF,CACP;;ACZD,MAAM,SAAS,GAAG,CAAC,EACjB,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,IAAI,EACb,KAAK,GACa,MAClBA,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EAAA,EAAA,QAAA,EACfC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAAA,EAAA,QAAA,EAAA,CAChED,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,EACrDA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,MAAM,2BAE1D,CAAA,EAAA,CAAA,CACH,EAAA,CAAA,CACF,CACP;;ACbD,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,IAAI,EACb,KAAK,GACa,MAClBA,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EAAA,EAAA,QAAA,EACfC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAAA,EAAA,QAAA,EAAA,CAChED,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,EAC5DA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,MAAM,sCAExD,CAAA,EAAA,CAAA,CACH,EAAA,CAAA,CACF,CACP;;ACbD,MAAM,YAAY,GAAG,CAAC,EACpB,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,IAAI,EACb,KAAK,GACa,MAClBA,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAA,EAAA,EAAA,QAAA,EACfC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAAA,EAAA,QAAA,EAAA,CAChED,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,GAAG,EAC5DA,GAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,MAAM,8BAExD,CAAA,EAAA,CAAA,CACH,EAAA,CAAA,CACF,CACP;;ACdoC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;AAsB/C,MAAM,QAAQ,GAAG,SAAS,CAAA;;;CAGzB;AAEiC,MAAM,CAAC,GAAG,CAAA;;;;;;AAOhB,MAAM,CAAC,GAAG,CAAA;;;;;;;eAOvB,QAAQ,CAAA;;AAGE,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;AAeP,MAAM,CAAC,EAAE,CAAA;;;;;;;AAQN,MAAM,CAAC,CAAC,CAAA;;;;;;;;ACnEhC,MAAM,KAAK,GAAG;IAGjB,KAAK,EAAE,SAAS;AAChB,IAKA,MAAM,EAAE,SAAS;AACjB,IAiBG;AACA,IAAA,GAAG,EAAE,SAAS;AACd,IAQH,MAAM,EAAE,SAAS;AACjB,IAKA;AACA,IAAA,MAAM,EAAE,UAmBX;CAoCsB;IACnB,SAAS,EAAEE,KAAG,CAAA;;;AAGb,IAAA,CAAA;IACD,WAAW,EAAEA,KAAG,CAAA;;;;AAIf,IAAA,CAAA;IACD,YAAY,EAAEA,KAAG,CAAA;;;;AAIhB,IAAA;;;AChHL,MAAM,OAAO,GAAG,SAAS,CAAA;;;;;;;;;CASxB;AAEM,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQ1C;AAEM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAoD;;;;;;;;;eASvE,OAAO,CAAA;;AAEA,oBAAA,EAAA,CAAC,EAAE,IAAI,EAAE,KAAI;AAC/B,IAAA,QAAQ,IAAI;AACV,QAAA,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM;AACrB,QAAA,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,GAAG;AAClB,QAAA,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM;AACrB,QAAA,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,KAAK;AACpB,QAAA;YACE,OAAO,KAAK,CAAC,MAAM;AACtB;AACH,CAAC,CAAA;CACF;AAEM,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGtC;AAEM,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGxC;;AC1CM,MAAM,WAAW,GAAG,MAAK;IAC9B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC;IAEtE,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,KAAa,EAAE,OAAe,KAAI;AAC1E,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAE/D,UAAU,CAAC,MAAK;YACd,YAAY,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC,EAAE,IAAI,CAAC;AACV,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,OACjBF,GAAA,CAAC,iBAAiB,EAAA,EAAA,QAAA,EACf,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAC1CC,IAAA,CAAC,QAAQ,EAAA,MAAA,CAAA,MAAA,CAAA,EAAU,IAAI,EAAE,IAAI,iBAC3BD,GAAA,CAAC,aAAa,EAAA,EAAA,QAAA,EAAE,KAAK,EAAA,CAAiB,EACtCA,IAAC,eAAe,EAAA,EAAA,QAAA,EAAE,OAAO,EAAA,CAAmB,CAAA,EAAA,CAAA,EAF/B,EAAE,CAGN,CACZ,CAAC,EAAA,CACgB,CACrB;AAED,IAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;AACrC,CAAC;;ACvCmC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;AAqBrB,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;AAcR,MAAM,CAAC,EAAE,CAAA;;;;;;;AAQR,MAAM,CAAC,CAAC,CAAA;;;;;;;;ACSX,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;AAgBZ,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;AAiBV,MAAM,CAAC,GAAG,CAAoB;;;;;;;;;;;;;;AAcpC,eAAA,EAAA,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,eAAe,GAAG,mBAAmB,CAAC,CAAA;;;;;AAMtD,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;AAcP,MAAM,CAAC,MAAM,CAAA;;;;;;;;;;;AAYjB,MAAM,CAAC,MAAM,CAAuB;AAC1C,cAAA,EAAA,CAAC,EAAE,QAAQ,EAAE,MAAM,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC,CAAA;;;;;;;;;;;AAW7D,SAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,CAAA;;;;;;;AAQpC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;AAWR,MAAM,CAAC,EAAE,CAAA;;;;;;AAO9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;;;CAOhC;AAE8B,MAAM,CAAC,KAAK,CAAA;;;;;;;;;;;;;AAcT,MAAM,CAAC,GAAG,CAAA;;;;;;;;AASnB,MAAM,CAAC,GAAG,CAAA;;;;;AAM5B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAyB;;;;;;;;AAQvD,UAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC,CAAA;;CAEnE;AAEuB,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;AAaL,MAAM,CAAC,GAAG,CAAA;;;;;;AAOf,MAAM,CAAC,KAAK,CAAA;;;;;;;;AAST,MAAM,CAAC,CAAC,CAAA;;;;;;;;;AAUhB,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;AAWN,MAAM,CAAC,GAAG,CAAA;;;AAIR,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;AAqBL,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;AAgBf,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;AAeb,MAAM,CAAC,GAAG,CAAA;;;;;;;AAQF,MAAM,CAAC,CAAC,CAAA;;;;;;;;;AAUX,MAAM,CAAC,GAAG,CAAA;;;;;;AAOlB,MAAM,CAAC,CAAC,EAAmB,KAAI;AAAvB,IAAA,IAAA,EAAE,MAAM,EAAA,GAAA,EAAW,EAAN,IAAI,GAAA,MAAA,CAAA,EAAA,EAAjB,UAAmB,CAAF;IAAO,OAAAA,GAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAS,IAAI,CAAA,CAAI;AAAA,CAAA,CAAC,CAEnE;;AAEiB,iBAAA,EAAA,CAAC,KAAK,MAAM,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,qBAAqB,CAAC,CAAA;;;;;;;;;;;;;;;;;;AAmBpD,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;AAYZ,MAAM,CAAC,GAAG,CAAA;;;;;;;;;AAUP,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;AAWd,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;AAiBL,MAAM,CAAC,CAAC,CAAA;;;;;;;;AASP,MAAM,CAAC,CAAC,CAAA;;;;;;;AAQR,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;AAWZ,MAAM,CAAC,KAAK,CAAC,CAAA;;;;;;;AAQT,MAAM,CAAC,GAAG,CAAA;;;;;;;AAQX,MAAM,CAAC,MAAM,CAAA;;;;;;;;;AAUjB,MAAM,CAAC,aAAa,CAAC,CAAA;;;;AAKzB,MAAM,CAAC,CAAC,CAAA;;;;;;;;;AAUN,MAAM,CAAC,CAAC,CAAA;;;;;;;;;AAUT,MAAM,CAAC,GAAG,CAAA;;;;;;AAOL,MAAM,CAAC,GAAG,CAAA;;;;;AAMV,MAAM,CAAC,GAAG,CAAyC;WACpE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,MAAM,CAAA;;;AAGrC,EAAA,EAAA,CAAC,EAAE,SAAS,EAAE,KACd,SAAS;AACT,IAAA;;;;;;;;;;AAUD,EAAA,CAAA;;AAGsB,MAAM,CAAC,IAAI,CAAA;;;AAIR,MAAM,CAAC,GAAG,CAAoB;;;;AAIzC,eAAA,EAAA,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;;;;;;AAO5B,MAAM,CAAC,IAAI,CAAA;;;AAIX,MAAM,CAAC,IAAI,CAAA;;;AAIA,MAAM,CAAC,GAAG,CAAA;;;;;AAMlB,MAAM,CAAC,GAAG,CAAA;;;AAIX,MAAM,CAAC,GAAG,CAAA;;;;;AAMT,MAAM,CAAC,IAAI,CAAA;;;AAIV,MAAM,CAAC,IAAI,CAAA;;;AAIJ,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;AAkBL,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;AAiBvB,MAAM,CAAC,GAAG,CAAA;;;;AAK3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;CAUzC;AAEM,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAoC;;eAExD,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,MAAM,CAAA;iBAC1B,CAAC,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,CAAA;;;CAG7C;AAEM,MAAM,IAAI,GAAG,SAAS,CAAA;;;;CAI5B;AAEM,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;eAMlB,IAAI,CAAA;CAClB;AAEqB,MAAM,CAAC,MAAM,CAAA;;;;;AA2BnC,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA2B,KAAI;;IACnE,MAAM,EAAE,aAA0B,GAAG,WAAW,EAAE;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACvD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACnD,IAAA,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC;AAC7C,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,kBAAkB,EAAE,EAAE;AACvB,KAAA,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,MAAM,CAAC;AACxD,IAAA,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA2B,MAAM,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,MAAM,CACP;IACD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAClD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACnE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,MAAM,CACP;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAA4B,EAAE,CAAC;IAC7E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAEpD,MAAM,CAAC;IACT,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;IACpE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;AACxE,IAAA,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACnD,QAAQ,CAAyB;AAC/B,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,OAAO,EAAE,KAAK;AACf,KAAA,CAAC;IACJ,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACnD,QAAQ,EAA6B;IACvC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACnD,QAAQ,EAAyB;IACnC,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAC/D,QAAQ,EAAuB;IACjC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACrD,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC;IACtD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GACzC,QAAQ,EAA0B;IACpC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;IAC7E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC/D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACvE,MAAM,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,GACvE,QAAQ,CAAC,EAAE,CAAC;IACd,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IAChE,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC3E,IAAgB,MAAM,CAA8B,EAAE;AACtD,IAAgB,MAAM,CAAmB,IAAI;AAC7C,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC;AAC9C,IAAA,MAAM,MAAM,GAAG,MAAM,CAAmB,IAAI,CAAC;AAC7C,IAAA,MAAM,aAAa,GAAG,MAAM,CAAmB,IAAI,CAAC;AACpD,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAmB,IAAI,CAAC;AACxD,IAAA,MAAM,6BAA6B,GAAG,MAAM,CAAgB,IAAI,CAAC;IACjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACzD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC;AACzE,IAAkB,MAAM,CAA2B,IAAI;AACvD,IAAA,MAAM,uBAAuB,GAAG,YAAY,CAC1C,MAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,CAClC;AAaD,KAAkD;QAChD,IAAI,EAAEA,GAAA,CAAC,QAAQ,EAAA,EAAA,CAAG;QAClB,UAAU,EAAEA,GAAA,CAAC,cAAc,EAAA,EAAA,CAAG;QAC9B,KAAK,EAAEA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG;QACpB,kBAAkB,EAAEA,GAAA,CAAC,QAAQ,EAAA,EAAA,CAAG;QAChC,QAAQ,EAAEA,GAAA,CAAC,YAAY,EAAA,EAAA,CAAG;;AA0F5B,IAA0B,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;;QAC/C,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,mBAAmB,GACvB,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;AACtC,aAAA,CAAA,EAAA,GAAA,aAAa,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAClD,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI;AACF,YAAA,MAAM,cAAc,GAAG;gBACrB,4BAA4B,EAAE,6BAA6B,CAAC,OAAO;gBACnE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC9C,QAAQ,EAAE,QAAQ,CAAC,YAAY;AAC/B,gBAAA,WAAW,EAAE,mBAAmB;gBAChC,iBAAiB,EAAE,WAAW,CAAC,WAAW,KAAI,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA;AACrE,gBAAA,gBAAgB,EAAE,CAAA,EAAA,EAChB,WAAW,CAAC,UAAU,KAAI,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAClD,CAAA,CAAE;gBACF,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAI,CAAA,EAAA,GAAA,MAAM,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA;gBAClD,QAAQ,EAAE,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,SAAS;gBACjE,gBAAgB,EACd,WAAW,CAAC,cAAc,KAAI,CAAA,EAAA,GAAA,iBAAiB,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA;gBAChE,cAAc,EAAE,QAAQ,CAAC,KAAK;AAC9B,gBAAA,qBAAqB,EAAE,GAAG,GAAG,QAAQ,CAAC,WAAW;gBACjD,gBAAgB,EAAE,QAAQ,CAAC,eAAe;gBAC1C,mBAAmB,EAAE,QAAQ,CAAC,SAAS;gBACvC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ;gBACrC,aAAa,EAAE,QAAQ,CAAC,YAAY;gBACpC,cAAc,EAAE,QAAQ,CAAC,aAAa;gBACtC,gBAAgB,EAAE,QAAQ,CAAC,eAAe;gBAC1C,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;;gBAEjD,mBAAmB,EAAE,WAAW,CAAC,kBAAkB;;gBAEnD,gBAAgB,EAAE,QAAQ,CAAC,eAAe;gBAC1C,UAAU,EAAE,QAAQ,CAAC,SAAS;gBAC9B,iBAAiB,EAAE,QAAQ,CAAC,eAAe;gBAC3C,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB;aACpD;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,CAAA,wDAAA,CAA0D,EAC1D,cAAc,EACd;AACE,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;;oBAElC,oBAAoB,EAAE,QAAQ,CAAC,iBAAiB;AACjD,iBAAA;AACF,aAAA,CACF;YAED,IAAI,QAAQ,CAAC,MAAM,EAAE;AACnB,gBAAA,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7C,YAAA;AACF,QAAA;AAAC,QAAA,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,KAAI,KAAK,CAAC,OAAO,CAAC;YACtE,6BAA6B,CAAC,MAAA,KAAK,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,CAAC;YACnD,YAAY,CAAC,OAAO,EAAE,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,UAAU,EAAE,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,OAAO,CAAC;AACrF,QAAA;AAAS,gBAAA;YACR,YAAY,CAAC,KAAK,CAAC;AACpB,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,CAAC,GAAG,CAAC;AAER,IAA2B,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;;QAChD,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,CAAA,gEAAA,CAAkE,EAClE;AACE,gBAAA,aAAa,EAAE;AACb,oBAAA,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE,MAAK,KAAK,GAAG,IAAI,GAAG,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE,IAAG,cAAc;AACzI,iBAAA;AACD,gBAAA,oBAAoB,EAAE,kBAAkB;gBACxC,kBAAkB,EAAE,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE,MAAK,KAAK,GAAG,IAAI,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE;aAC/H,EACD;AACE,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,kBAAkB;AAC1B,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACF,aAAA,CACF;YAED,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,SAAS,EAAE;gBACnD,yBAAyB,CAAC,IAAI,CAAC;AAChC,YAAA;AACD,YAAA,OAAO,IAAI;AACZ,QAAA;AAAC,QAAA,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CACX,uBAAuB,EACvB,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,KAAI,KAAK,CAAC,OAAO,CACtC;AACF,QAAA;AAAS,gBAAA;YACR,YAAY,CAAC,KAAK,CAAC;AACpB,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,CAAC,kBAAkB,CAAC;AAEvB,IAA2B,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;;QAChD,YAAY,CAAC,IAAI,CAAC;QAClB,IAAI;AACF,YAAA,MAAM,oBAAoB,GAAG,+BAA+B,EAAE;YAC9D,qBAAqB,CAAC,oBAAoB,CAAC;YAE3C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,CAAA,uDAAA,CAAyD,EACzD;AACE,gBAAA,aAAa,EAAE;oBACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AAC3B,oBAAA,WAAW,EAAE,aAAa;AAC3B,iBAAA;AACD,gBAAA,YAAY,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ;gBACpD,aAAa,EAAE,QAAQ,CAAC,KAAK;AAC7B,gBAAA,cAAc,EAAE,gBAAgB;AAChC,gBAAA,oBAAoB,EAAE,oBAAoB;AAC1C,gBAAA,sBAAsB,EAAE,EAAE;gBAC1B,iBAAiB,EAAE,QAAQ,CAAC,MAAM;gBAClC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;gBACjD,kBAAkB,EAAE,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE,MAAK,KAAK,GAAG,IAAI,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,EAAE;AAC9H,gBAAA,UAAU,EAAE,EAAE;AACd,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,UAAU,EAAE,EAAE;aACf,EACD;AACE,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,kBAAkB;AAC1B,oBAAA,UAAU,EAAE,oBAAoB,CAC9B,QAAQ,CAAC,MAAM,EACf,oBAAoB,EACpB,gBAAgB,CAAC,QAAQ,EAAE,CAC5B;AACD,oBAAA,YAAY,EAAE,uBAAuB;AACrC,oBAAA,OAAO,EAAE,UAAU;AACnB,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACF,aAAA,CACF;YAED,uBAAuB,CAAC,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;gBACnE,kBAAkB,CAAC,MAAM,CAAC;AAC3B,YAAA;AAAI,iBAAA;gBACH,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,iDAAiD,CAAC;AAC5G,YAAA;AACF,QAAA;AAAC,QAAA,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,KAAI,KAAK,CAAC,OAAO,CAAC;AACrE,QAAA;AAAS,gBAAA;YACR,YAAY,CAAC,KAAK,CAAC;AACpB,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,CAAC,gBAAgB,CAAC;AA+CrB,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;;QAClD,IAAI;YACF,MAAM,GAAG,GAAG,CAAA,+FAAA,CAAiG;AAE7G,YAAA,MAAM,OAAO,GAAG;gBACd,iBAAiB,EAAE,oBAAoB,EAAE;AACzC,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,gBAAgB,EAAE,YAAY;AAC9B,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,kBAAkB,EAAE,EAAE;AACtB,gBAAA,mBAAmB,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,SAAS;AACxC,gBAAA,kBAAkB,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,QAAQ;AACtC,gBAAA,cAAc,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,KAAK;gBAC/B,qBAAqB,EAAE,GAAG,IAAG,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,WAAW,CAAA;AAClD,gBAAA,uBAAuB,EAAE,EAAE;gBAC3B,kBAAkB,EAAE,CAAA,EAAA,GAAA,oBAAoB,KAAA,IAAA,IAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,kBAAkB;aACnE;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;AAC/C,YAAA,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClC,QAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACxD,QAAA;AACH,IAAA,CAAC,CAAA,EAAE;QACD,CAAA,EAAA,GAAA,oBAAoB,aAApB,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApB,oBAAoB,CAAE,IAAI,0CAAE,kBAAkB;AAC9C,QAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,KAAK;AACf,QAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,SAAS;AACnB,QAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,QAAQ;AAClB,QAAA,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,WAAW;AACtB,KAAA,CAAC;IAEF,MAAM,4BAA4B,GAAG,MAAK;AACxC,QAAA,MAAM,cAAc,GAAG,+BAA+B,EAAE;QACxD,iCAAiC,CAAC,cAAc,CAAC;AACjD,QAAA,6BAA6B,CAAC,OAAO,GAAG,cAAc;AAEtD,QAAA,OAAO,cAAc;AACvB,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;AACvC,QAAA,MAAM,cAAc,GAAG,4BAA4B,EAAE;QAErD,qBAAqB,CAAC,cAAc,CAAC;QACrC,IAAI;AACF,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,YAAY,EAAE,EAAE;gBAChB,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB;AAC9C,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,eAAe,EAAE,EAAE;gBACnB,qBAAqB,EAAE,6BAA6B,CAAC,OAAO;gBAC5D,eAAe,EAAE,QAAQ,CAAC,MAAM;gBAChC,aAAa,EAAE,QAAQ,CAAC,YAAY;gBACpC,UAAU,EAAE,QAAQ,CAAC,SAAS;gBAC9B,SAAS,EAAE,QAAQ,CAAC,QAAQ;gBAC5B,aAAa,EAAE,QAAQ,CAAC,KAAK;gBAC7B,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,YAAY,EAAE,QAAQ,CAAC,WAAW;AAClC,gBAAA,eAAe,EAAE,EAAE;AACnB,gBAAA,kBAAkB,EAAE,EAAE;aACvB;AAED,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,CAAA,6CAAA,CAA+C,EAC/C,OAAO,EACP;AACE,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AAClC,oBAAA,aAAa,EACX,8EAA8E;AACjF,iBAAA;AACF,aAAA,CACF;YAED,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,uBAAuB,CAAC,IAAI,CAAC;AAC9B,YAAA;AACF,QAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAClB,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,EAAE,CAAC;IAEN,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,cAAc,CAAC;AACb,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,kBAAkB,EAAE,EAAE;AACvB,SAAA,CAAC;QACF,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxB,QAAA,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAChC,eAAe,CAAC,EAAE,CAAC;QACnB,WAAW,CAAC,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,CAAC;QACzB,cAAc,CAAC,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,CAAC;QAClB,qBAAqB,CAAC,KAAK,CAAC;QAC5B,WAAW,CAAC,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,CAAC;QAChB,WAAW,CAAC,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,CAAC;QACzB,cAAc,CAAC,EAAE,CAAC;QAClB,kBAAkB,CAAC,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,CAAC;QACvB,qBAAqB,CAAC,EAAE,CAAC;AACzB,QAAA,uBAAuB,CAAC;AACtB,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CAAC;QACF,uBAAuB,CAAC,SAAS,CAAC;QAClC,kBAAkB,CAAC,SAAS,CAAC;QAC7B,aAAa,CAAC,KAAK,CAAC;QACpB,iBAAiB,CAAC,IAAI,CAAC;QACvB,gBAAgB,CAAC,KAAK,CAAC;QACvB,uBAAuB,CAAC,KAAK,CAAC;QAC9B,mBAAmB,CAAC,KAAK,CAAC;AAC1B,QAAA,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;QACzB,yBAAyB,CAAC,KAAK,CAAC;AAClC,IAAA,CAAC;AAUD,IAAoC,WAAW,CAAC,MAAW,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;;QACzD,IAAI;YACF,MAAM,GAAG,GAAG,CAAA,mFAAA,CAAqF;YAEjG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrC,cAAc,EAAE,CAAA,EAAA,GAAA,eAAe,KAAA,IAAA,IAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc;gBACrD,MAAM,EAAE,CAAA,EAAA,GAAA,oBAAoB,KAAA,IAAA,IAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,kBAAkB;AACvD,aAAA,CAAC;YAEF,uBAAuB,CAAC,IAAI,CAAC;AAC9B,QAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACxD,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,CAAC,eAAe,CAAC;AAEpB,IAAkB,WAAW,CAAC,CAAO,KAAa,KAAI,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;QACpD,IAAI;YACF,MAAM,GAAG,GAAG,CAAA,8DAAA,CAAgE;AAC5E,YAAA,MAAM,WAAW,GAAG;gBAClB,qBAAqB,EAAE,6BAA6B,CAAC,OAAO;AAC5D,gBAAA,QAAQ,EAAE,KAAK;aAChB;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE;AAClD,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AAClC,oBAAA,oBAAoB,EAAE,yBAAyB;oBAC/C,oBAAoB,EAAE,QAAQ,CAAC,iBAAiB;AACjD,iBAAA;AACF,aAAA,CAAC;AAEF,YAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE;gBACzC,uBAAuB,CAAC,IAAI,CAAC;AAC9B,YAAA;;AAEF,QAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC;AAE5C,QAAA;AACH,IAAA,CAAC,CAAA,EAAE,EAAE;IA+BL,SAAS,CAAC,MAAK;AACb,QAAA,SAAS,EAAE;QACX,yBAAyB,CAAC,KAAK,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,QAAwB;AAE5B,QAAA,IAAI,WAAW,IAAI,aAAa,GAAG,CAAC,EAAE;AACpC,YAAA,QAAQ,GAAG,WAAW,CAAC,MAAK;gBAC1B,gBAAgB,CAAC,CAAC,QAAQ,KAAK,QAAQ,GAAG,CAAC,CAAC;YAC9C,CAAC,EAAE,IAAI,CAAC;AACT,QAAA;aAAM,IAAI,aAAa,KAAK,CAAC,EAAE;YAC9B,cAAc,CAAC,KAAK,CAAC;AACtB,QAAA;AAED,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,QAAQ;gBAAE,aAAa,CAAC,QAAQ,CAAC;AACvC,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhC,SAAS,CAAC,MAAK;;AACb,QAAA,IAAI,OAAO,GACT,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,oBAAoB,KAAA,IAAA,IAApB,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApB,oBAAoB,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAC9C,CAAC,KAAK,KAAK,KAAK,CAAC,aAAa,CAC/B,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;QACT,WAAW,CAAC,OAAO,CAAC;AACtB,IAAA,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAE1B,SAAS,CAAC,MAAK;QACb,IAAI,cAAc,KAAK,cAAc,EAAE;AACrC,YAAA,oBAAoB,EAAE;YACtB,cAAc,CAAC,IAAI,CAAC;AACpB,YAAA,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;AAC1B,QAAA;AACH,IAAA,CAAC,EAAE,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAE1C,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,oBAAoB,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC;AACtB,QAAA;AACH,IAAA,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAE1B,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAA,0BAA0B,KAAA,IAAA,IAA1B,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1B,0BAA0B,CAAE,MAAM,KAAI,gBAAgB,KAAK,OAAO,EAAE;YACtE,aAAa,CAAC,IAAI,CAAC;AACpB,QAAA;AAAM,aAAA;YACL,IACE,CAAA,0BAA0B,KAAA,IAAA,IAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,MAAK,aAAa;AACpD,iBAAA,0BAA0B,aAA1B,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1B,0BAA0B,CAAE,gBAAgB,CAAA,EAC5C;gBACA,iBAAiB,CAAC,0BAA0B,KAAA,IAAA,IAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,gBAAgB,CAAC;gBAC/D,gBAAgB,CAAC,IAAI,CAAC;AACtB,gBAAA,YAAY,CACV,MAAM,EACN,oBAAoB,EACpB,mEAAmE,CACpE;AACF,YAAA;AAAM,iBAAA;gBACL,IAAI,CAAA,0BAA0B,KAAA,IAAA,IAA1B,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1B,0BAA0B,CAAE,MAAM,MAAK,YAAY,EAAE;oBACvD,uBAAuB,CAAC,IAAI,CAAC;AAC9B,gBAAA;gBAED,IAAI,CAAA,0BAA0B,KAAA,IAAA,IAA1B,0BAA0B,KAAA,MAAA,GAAA,MAAA,GAA1B,0BAA0B,CAAE,MAAM,MAAK,QAAQ,EAAE;oBACnD,mBAAmB,CAAC,IAAI,CAAC;oBAEzB,UAAU,CAAC,MAAK;AACd,wBAAA,UAAU,EAAE;wBACZ,mBAAmB,CAAC,KAAK,CAAC;oBAC5B,CAAC,EAAE,IAAI,CAAC;AACT,gBAAA;AACF,YAAA;AACF,QAAA;AACH,IAAA,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;IAEhC,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,eAAe,KAAK,SAAS,IAAI,oBAAoB,CAAC,OAAO,EAAE;AACjE,YAAA,YAAY,CAAC,MAAM,EAAE,0BAA0B,EAAE,sCAAsC,CAAC;YACxF,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,MAAA,GAAA,MAAA,GAAR,QAAQ,CAAE,eAAe,EAAE,OAAO,CAAC;YACjD,CAAC,EAAE,KAAK,CAAC;AACV,QAAA;AACH,IAAA,CAAC,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAmD3C,MAAM,aAAa,GAAG,OACpBC,IAAA,CAAC,gBAAgB,EAAA,EAAA,QAAA,EAAA,CACfD,GAAA,CAAC,OAAO,EAAA,EAAA,CAAG,EACXA,IAAC,WAAW,EAAA,MAAA,CAAA,MAAA,CAAA,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAA,EAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,CAEpD,EACdA,GAAA,CAAC,WAAW,kBAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,EAAA,EAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,CAAA,CAEtB,CAAA,EAAA,CACG,CACpB;IAED,IAAI,CAAC,oBAAoB,EAAE;QACzB,OAAOA,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG;AACzB,IAAA;AAGD,IAAW;AACT,QAAA,QACEC,IAAA,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAK,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAA,EAAA,EAAA,QAAA,EAAA,CACzED,0BAAI,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAmB,EAChDA,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAA,CAAO,CAAA,EAAA,CAAA,CAC1C;AAET,IAAA;AAo8BH;;ACl1EE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,18,19,20,21]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/credit-card-type/dist/lib/card-types.js","../node_modules/credit-card-type/dist/lib/clone.js","../node_modules/credit-card-type/dist/lib/matches.js","../node_modules/credit-card-type/dist/lib/add-matching-cards-to-results.js","../node_modules/credit-card-type/dist/lib/is-valid-input-type.js","../node_modules/credit-card-type/dist/lib/find-best-match.js","../node_modules/credit-card-type/dist/index.js","../src/components/dropdowns/styles/BankSelectXDropdownStyle.ts","../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@fortawesome/react-fontawesome/index.es.js","../src/containers/Payment/OtpVerification.tsx","../src/shared/utils/index.tsx","../src/assets/icons/VisaIcon.tsx","../src/assets/icons/MasterCardIcon.tsx","../src/assets/icons/VerveIcon.tsx","../src/assets/icons/AmexIcon.tsx","../src/assets/icons/DiscoverIcon.tsx","../src/components/checkout/styles/PaymentSuccessful.ts","../src/shared/utils/Styles.ts","../src/shared/hooks/Styles/SnackbarStyle.ts","../src/shared/hooks/useSnackBar.tsx","../src/components/checkout/styles/PaymentFailedStyl.ts","../src/containers/Payment/PaygateCheckoutSdk.tsx","../src/lib/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","\"use strict\";\nvar cardTypes = {\n visa: {\n niceType: \"Visa\",\n type: \"visa\",\n patterns: [4],\n gaps: [4, 8, 12],\n lengths: [16, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n mastercard: {\n niceType: \"Mastercard\",\n type: \"mastercard\",\n patterns: [[51, 55], [2221, 2229], [223, 229], [23, 26], [270, 271], 2720],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n \"american-express\": {\n niceType: \"American Express\",\n type: \"american-express\",\n patterns: [34, 37],\n gaps: [4, 10],\n lengths: [15],\n code: {\n name: \"CID\",\n size: 4,\n },\n },\n \"diners-club\": {\n niceType: \"Diners Club\",\n type: \"diners-club\",\n patterns: [[300, 305], 36, 38, 39],\n gaps: [4, 10],\n lengths: [14, 16, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n discover: {\n niceType: \"Discover\",\n type: \"discover\",\n patterns: [6011, [644, 649], 65],\n gaps: [4, 8, 12],\n lengths: [16, 19],\n code: {\n name: \"CID\",\n size: 3,\n },\n },\n jcb: {\n niceType: \"JCB\",\n type: \"jcb\",\n patterns: [2131, 1800, [3528, 3589]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVV\",\n size: 3,\n },\n },\n unionpay: {\n niceType: \"UnionPay\",\n type: \"unionpay\",\n patterns: [\n 620,\n [62100, 62182],\n [62184, 62187],\n [62185, 62197],\n [62200, 62205],\n [622010, 622999],\n 622018,\n [62207, 62209],\n [623, 626],\n 6270,\n 6272,\n 6276,\n [627700, 627779],\n [627781, 627799],\n [6282, 6289],\n 6291,\n 6292,\n 810,\n [8110, 8131],\n [8132, 8151],\n [8152, 8163],\n [8164, 8171],\n ],\n gaps: [4, 8, 12],\n lengths: [14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVN\",\n size: 3,\n },\n },\n maestro: {\n niceType: \"Maestro\",\n type: \"maestro\",\n patterns: [\n 493698,\n [500000, 504174],\n [504176, 506698],\n [506779, 508999],\n [56, 59],\n 63,\n 67,\n 6,\n ],\n gaps: [4, 8, 12],\n lengths: [12, 13, 14, 15, 16, 17, 18, 19],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n elo: {\n niceType: \"Elo\",\n type: \"elo\",\n patterns: [\n 401178,\n 401179,\n 438935,\n 457631,\n 457632,\n 431274,\n 451416,\n 457393,\n 504175,\n [506699, 506778],\n [509000, 509999],\n 627780,\n 636297,\n 636368,\n [650031, 650033],\n [650035, 650051],\n [650405, 650439],\n [650485, 650538],\n [650541, 650598],\n [650700, 650718],\n [650720, 650727],\n [650901, 650978],\n [651652, 651679],\n [655000, 655019],\n [655021, 655058],\n ],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVE\",\n size: 3,\n },\n },\n mir: {\n niceType: \"Mir\",\n type: \"mir\",\n patterns: [[2200, 2204]],\n gaps: [4, 8, 12],\n lengths: [16, 17, 18, 19],\n code: {\n name: \"CVP2\",\n size: 3,\n },\n },\n hiper: {\n niceType: \"Hiper\",\n type: \"hiper\",\n patterns: [637095, 63737423, 63743358, 637568, 637599, 637609, 637612],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n hipercard: {\n niceType: \"Hipercard\",\n type: \"hipercard\",\n patterns: [606282],\n gaps: [4, 8, 12],\n lengths: [16],\n code: {\n name: \"CVC\",\n size: 3,\n },\n },\n};\nmodule.exports = cardTypes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.clone = void 0;\nfunction clone(originalObject) {\n if (!originalObject) {\n return null;\n }\n return JSON.parse(JSON.stringify(originalObject));\n}\nexports.clone = clone;\n","\"use strict\";\n/*\n * Adapted from https://github.com/polvo-labs/card-type/blob/aaab11f80fa1939bccc8f24905a06ae3cd864356/src/cardType.js#L37-L42\n * */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.matches = void 0;\nfunction matchesRange(cardNumber, min, max) {\n var maxLengthToCheck = String(min).length;\n var substr = cardNumber.substr(0, maxLengthToCheck);\n var integerRepresentationOfCardNumber = parseInt(substr, 10);\n min = parseInt(String(min).substr(0, substr.length), 10);\n max = parseInt(String(max).substr(0, substr.length), 10);\n return (integerRepresentationOfCardNumber >= min &&\n integerRepresentationOfCardNumber <= max);\n}\nfunction matchesPattern(cardNumber, pattern) {\n pattern = String(pattern);\n return (pattern.substring(0, cardNumber.length) ===\n cardNumber.substring(0, pattern.length));\n}\nfunction matches(cardNumber, pattern) {\n if (Array.isArray(pattern)) {\n return matchesRange(cardNumber, pattern[0], pattern[1]);\n }\n return matchesPattern(cardNumber, pattern);\n}\nexports.matches = matches;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addMatchingCardsToResults = void 0;\nvar clone_1 = require(\"./clone\");\nvar matches_1 = require(\"./matches\");\nfunction addMatchingCardsToResults(cardNumber, cardConfiguration, results) {\n var i, patternLength;\n for (i = 0; i < cardConfiguration.patterns.length; i++) {\n var pattern = cardConfiguration.patterns[i];\n if (!(0, matches_1.matches)(cardNumber, pattern)) {\n continue;\n }\n var clonedCardConfiguration = (0, clone_1.clone)(cardConfiguration);\n if (Array.isArray(pattern)) {\n patternLength = String(pattern[0]).length;\n }\n else {\n patternLength = String(pattern).length;\n }\n if (cardNumber.length >= patternLength) {\n clonedCardConfiguration.matchStrength = patternLength;\n }\n results.push(clonedCardConfiguration);\n break;\n }\n}\nexports.addMatchingCardsToResults = addMatchingCardsToResults;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidInputType = void 0;\nfunction isValidInputType(cardNumber) {\n return typeof cardNumber === \"string\" || cardNumber instanceof String;\n}\nexports.isValidInputType = isValidInputType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findBestMatch = void 0;\nfunction hasEnoughResultsToDetermineBestMatch(results) {\n var numberOfResultsWithMaxStrengthProperty = results.filter(function (result) { return result.matchStrength; }).length;\n /*\n * if all possible results have a maxStrength property that means the card\n * number is sufficiently long enough to determine conclusively what the card\n * type is\n * */\n return (numberOfResultsWithMaxStrengthProperty > 0 &&\n numberOfResultsWithMaxStrengthProperty === results.length);\n}\nfunction findBestMatch(results) {\n if (!hasEnoughResultsToDetermineBestMatch(results)) {\n return null;\n }\n return results.reduce(function (bestMatch, result) {\n if (!bestMatch) {\n return result;\n }\n /*\n * If the current best match pattern is less specific than this result, set\n * the result as the new best match\n * */\n if (Number(bestMatch.matchStrength) < Number(result.matchStrength)) {\n return result;\n }\n return bestMatch;\n });\n}\nexports.findBestMatch = findBestMatch;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar cardTypes = require(\"./lib/card-types\");\nvar add_matching_cards_to_results_1 = require(\"./lib/add-matching-cards-to-results\");\nvar is_valid_input_type_1 = require(\"./lib/is-valid-input-type\");\nvar find_best_match_1 = require(\"./lib/find-best-match\");\nvar clone_1 = require(\"./lib/clone\");\nvar customCards = {};\nvar cardNames = {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n AMERICAN_EXPRESS: \"american-express\",\n DINERS_CLUB: \"diners-club\",\n DISCOVER: \"discover\",\n JCB: \"jcb\",\n UNIONPAY: \"unionpay\",\n MAESTRO: \"maestro\",\n ELO: \"elo\",\n MIR: \"mir\",\n HIPER: \"hiper\",\n HIPERCARD: \"hipercard\",\n};\nvar ORIGINAL_TEST_ORDER = [\n cardNames.VISA,\n cardNames.MASTERCARD,\n cardNames.AMERICAN_EXPRESS,\n cardNames.DINERS_CLUB,\n cardNames.DISCOVER,\n cardNames.JCB,\n cardNames.UNIONPAY,\n cardNames.MAESTRO,\n cardNames.ELO,\n cardNames.MIR,\n cardNames.HIPER,\n cardNames.HIPERCARD,\n];\nvar testOrder = (0, clone_1.clone)(ORIGINAL_TEST_ORDER);\nfunction findType(cardType) {\n return customCards[cardType] || cardTypes[cardType];\n}\nfunction getAllCardTypes() {\n return testOrder.map(function (cardType) { return (0, clone_1.clone)(findType(cardType)); });\n}\nfunction getCardPosition(name, ignoreErrorForNotExisting) {\n if (ignoreErrorForNotExisting === void 0) { ignoreErrorForNotExisting = false; }\n var position = testOrder.indexOf(name);\n if (!ignoreErrorForNotExisting && position === -1) {\n throw new Error('\"' + name + '\" is not a supported card type.');\n }\n return position;\n}\nfunction creditCardType(cardNumber) {\n var results = [];\n if (!(0, is_valid_input_type_1.isValidInputType)(cardNumber)) {\n return results;\n }\n if (cardNumber.length === 0) {\n return getAllCardTypes();\n }\n testOrder.forEach(function (cardType) {\n var cardConfiguration = findType(cardType);\n (0, add_matching_cards_to_results_1.addMatchingCardsToResults)(cardNumber, cardConfiguration, results);\n });\n var bestMatch = (0, find_best_match_1.findBestMatch)(results);\n if (bestMatch) {\n return [bestMatch];\n }\n return results;\n}\ncreditCardType.getTypeInfo = function (cardType) {\n return (0, clone_1.clone)(findType(cardType));\n};\ncreditCardType.removeCard = function (name) {\n var position = getCardPosition(name);\n testOrder.splice(position, 1);\n};\ncreditCardType.addCard = function (config) {\n var existingCardPosition = getCardPosition(config.type, true);\n customCards[config.type] = config;\n if (existingCardPosition === -1) {\n testOrder.push(config.type);\n }\n};\ncreditCardType.updateCard = function (cardType, updates) {\n var originalObject = customCards[cardType] || cardTypes[cardType];\n if (!originalObject) {\n throw new Error(\"\\\"\".concat(cardType, \"\\\" is not a recognized type. Use `addCard` instead.'\"));\n }\n if (updates.type && originalObject.type !== updates.type) {\n throw new Error(\"Cannot overwrite type parameter.\");\n }\n var clonedCard = (0, clone_1.clone)(originalObject);\n clonedCard = __assign(__assign({}, clonedCard), updates);\n customCards[clonedCard.type] = clonedCard;\n};\ncreditCardType.changeOrder = function (name, position) {\n var currentPosition = getCardPosition(name);\n testOrder.splice(currentPosition, 1);\n testOrder.splice(position, 0, name);\n};\ncreditCardType.resetModifications = function () {\n testOrder = (0, clone_1.clone)(ORIGINAL_TEST_ORDER);\n customCards = {};\n};\ncreditCardType.types = cardNames;\nmodule.exports = creditCardType;\n","import styled from \"styled-components\";\n\nexport const SelectWrapper = styled.div`\n position: relative;\n width: 100%;\n margin-bottom: 1rem;\n`;\n\nexport const Toggle = styled.div<{ $isOpen?: boolean, $isDisabled?: boolean }>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n border-radius: 8px;\n background-color: #ffffff;\n cursor: ${({ $isDisabled }) => ($isDisabled ? \"not-allowed\" : \"pointer\")};\n opacity: ${({ $isDisabled }) => ($isDisabled ? 0.6 : 1)};\n\n border: 2px solid transparent;\n background-image:\n linear-gradient(white, white),\n linear-gradient(134deg, #40175e 0%, #1aa0cf 50%, #6d00ff 100%);\n background-origin: padding-box, border-box;\n background-clip: padding-box, border-box;\n\n & > span {\n font-size: 14px;\n color: #8F99A3;\n }\n\n & svg {\n transition: transform 0.2s;\n transform: rotate(${({$isOpen}) => ($isOpen ? \"180deg\" : \"0deg\")});\n }\n`;\n\nexport const Menu = styled.div`\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n width: 100%;\n background: #ffffff;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n max-height: 240px;\n overflow-y: auto;\n z-index: 10;\n`;\n\nexport const Item = styled.div<{ $selected?: boolean; $isDisabled?: boolean }>`\n display: flex;\n align-items: center;\n padding: 8px 12px;\n gap: 10px;\n cursor: ${({ $isDisabled }) => ($isDisabled ? \"not-allowed\" : \"pointer\")};\n color: #100407;\n background: ${({$selected}) => ($selected ? \"#f2f2f2\" : \"transparent\")};\n\n &:hover, &:focus {\n background: #f9f9f9;\n color: #fff;\n }\n\n & img, & svg {\n width: 24px;\n height: 24px;\n }\n\n & span {\n font-size: 14px;\n color: #100407;\n }\n`;\n","/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && _setPrototypeOf(t, e);\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function (e, r) {\n return new BabelRegExp(e, void 0, r);\n };\n var e = RegExp.prototype,\n r = new WeakMap();\n function BabelRegExp(e, t, p) {\n var o = RegExp(e, t);\n return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n }\n function buildGroups(e, t) {\n var p = r.get(t);\n return Object.keys(p).reduce(function (r, t) {\n var o = p[t];\n if (\"number\" == typeof o) r[t] = e[o];else {\n for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n r[t] = e[o[i]];\n }\n return r;\n }, Object.create(null));\n }\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n var t = e.exec.call(this, r);\n if (t) {\n t.groups = buildGroups(t, this);\n var p = t.indices;\n p && (p.groups = buildGroups(p, this));\n }\n return t;\n }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n if (\"string\" == typeof p) {\n var o = r.get(this);\n return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)>/g, function (e, r) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\n }));\n }\n if (\"function\" == typeof p) {\n var i = this;\n return e[Symbol.replace].call(this, t, function () {\n var e = arguments;\n return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n });\n }\n return e[Symbol.replace].call(this, t, p);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\n classic: {\n fa: \"solid\",\n fas: \"solid\",\n \"fa-solid\": \"solid\",\n far: \"regular\",\n \"fa-regular\": \"regular\",\n fal: \"light\",\n \"fa-light\": \"light\",\n fat: \"thin\",\n \"fa-thin\": \"thin\",\n fab: \"brands\",\n \"fa-brands\": \"brands\"\n },\n duotone: {\n fa: \"solid\",\n fad: \"solid\",\n \"fa-solid\": \"solid\",\n \"fa-duotone\": \"solid\",\n fadr: \"regular\",\n \"fa-regular\": \"regular\",\n fadl: \"light\",\n \"fa-light\": \"light\",\n fadt: \"thin\",\n \"fa-thin\": \"thin\"\n },\n sharp: {\n fa: \"solid\",\n fass: \"solid\",\n \"fa-solid\": \"solid\",\n fasr: \"regular\",\n \"fa-regular\": \"regular\",\n fasl: \"light\",\n \"fa-light\": \"light\",\n fast: \"thin\",\n \"fa-thin\": \"thin\"\n },\n \"sharp-duotone\": {\n fa: \"solid\",\n fasds: \"solid\",\n \"fa-solid\": \"solid\",\n fasdr: \"regular\",\n \"fa-regular\": \"regular\",\n fasdl: \"light\",\n \"fa-light\": \"light\",\n fasdt: \"thin\",\n \"fa-thin\": \"thin\"\n }\n },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\n classic: {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n duotone: {\n 900: \"fad\",\n 400: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n sharp: {\n 900: \"fass\",\n 400: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"sharp-duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp\", {\n defaultShortPrefixId: \"fass\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }], [\"sharp-duotone\", {\n defaultShortPrefixId: \"fasds\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n futureStyleIds: [],\n defaultFontWeight: 900\n }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\n kit: {\n fak: \"kit\",\n \"fa-kit\": \"kit\"\n },\n \"kit-duotone\": {\n fakd: \"kit-duotone\",\n \"fa-kit-duotone\": \"kit-duotone\"\n }\n },\n At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar ua = {\n classic: {\n \"fa-brands\": \"fab\",\n \"fa-duotone\": \"fad\",\n \"fa-light\": \"fal\",\n \"fa-regular\": \"far\",\n \"fa-solid\": \"fas\",\n \"fa-thin\": \"fat\"\n },\n duotone: {\n \"fa-regular\": \"fadr\",\n \"fa-light\": \"fadl\",\n \"fa-thin\": \"fadt\"\n },\n sharp: {\n \"fa-solid\": \"fass\",\n \"fa-regular\": \"fasr\",\n \"fa-light\": \"fasl\",\n \"fa-thin\": \"fast\"\n },\n \"sharp-duotone\": {\n \"fa-solid\": \"fasds\",\n \"fa-regular\": \"fasdr\",\n \"fa-light\": \"fasdl\",\n \"fa-thin\": \"fasdt\"\n }\n },\n I$1 = {\n classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n duotone: [\"fadr\", \"fadl\", \"fadt\"],\n sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"]\n },\n ga = {\n classic: {\n fab: \"fa-brands\",\n fad: \"fa-duotone\",\n fal: \"fa-light\",\n far: \"fa-regular\",\n fas: \"fa-solid\",\n fat: \"fa-thin\"\n },\n duotone: {\n fadr: \"fa-regular\",\n fadl: \"fa-light\",\n fadt: \"fa-thin\"\n },\n sharp: {\n fass: \"fa-solid\",\n fasr: \"fa-regular\",\n fasl: \"fa-light\",\n fast: \"fa-thin\"\n },\n \"sharp-duotone\": {\n fasds: \"fa-solid\",\n fasdr: \"fa-regular\",\n fasdl: \"fa-light\",\n fasdt: \"fa-thin\"\n }\n },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\n \"Font Awesome 5 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 5 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\"\n },\n \"Font Awesome 5 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 5 Duotone\": {\n 900: \"fad\"\n }\n };\n\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e$$1) {\n return false;\n }\n})();\nfunction familyProxy(obj) {\n // Defaults to the classic family if family is not available\n return new Proxy(obj, {\n get(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles. But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\n\nconst initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n if (element) {\n return element.getAttribute(attr);\n }\n}\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n const attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config[key];\n }\n });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const tagName = (child.tagName || '').toUpperCase();\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(i => i);\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((acc, styleName) => {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let val = '';\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n }\n val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar baseStyles = \":root, :host {\\n --fa-font-solid: normal 900 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-2xs {\\n vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n vertical-align: -0.0714285705em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: var(--fa-counter-background-color, #ff253a);\\n border-radius: var(--fa-counter-border-radius, 1em);\\n box-sizing: border-box;\\n color: var(--fa-inverse, #fff);\\n line-height: var(--fa-counter-line-height, 1);\\n max-width: var(--fa-counter-max-width, 5em);\\n min-width: var(--fa-counter-min-width, 1.5em);\\n overflow: hidden;\\n padding: var(--fa-counter-padding, 0.25em 0.5em);\\n right: var(--fa-right, 0);\\n text-overflow: ellipsis;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-counter-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: var(--fa-bottom, 0);\\n right: var(--fa-right, 0);\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: var(--fa-bottom, 0);\\n left: var(--fa-left, 0);\\n right: auto;\\n top: auto;\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n top: var(--fa-top, 0);\\n right: var(--fa-right, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: var(--fa-left, 0);\\n right: auto;\\n top: var(--fa-top, 0);\\n transform: scale(var(--fa-layers-scale, 0.25));\\n transform-origin: top left;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-2xs {\\n font-size: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(-1 * var(--fa-li-width, 2em));\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border-color: var(--fa-border-color, #eee);\\n border-radius: var(--fa-border-radius, 0.1em);\\n border-style: var(--fa-border-style, solid);\\n border-width: var(--fa-border-width, 0.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n animation-name: fa-beat;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n animation-name: fa-bounce;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n animation-name: fa-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n animation-name: fa-beat-fade;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n animation-name: fa-flip;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n animation-name: fa-shake;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n animation-name: fa-spin;\\n animation-delay: var(--fa-animation-delay, 0s);\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 2s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n animation-name: fa-spin;\\n animation-direction: var(--fa-animation-direction, normal);\\n animation-duration: var(--fa-animation-duration, 1s);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fa-beat,\\n.fa-bounce,\\n.fa-fade,\\n.fa-beat-fade,\\n.fa-flip,\\n.fa-pulse,\\n.fa-shake,\\n.fa-spin,\\n.fa-spin-pulse {\\n animation-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n transform: scale(1);\\n }\\n 45% {\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n }\\n 30% {\\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n }\\n 50% {\\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n }\\n 57% {\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-flip {\\n 50% {\\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n transform: rotate(-15deg);\\n }\\n 4% {\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n transform: rotate(18deg);\\n }\\n 16% {\\n transform: rotate(-22deg);\\n }\\n 20% {\\n transform: rotate(22deg);\\n }\\n 32% {\\n transform: rotate(-12deg);\\n }\\n 36% {\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\";\n\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n return s;\n}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet loaded = false;\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix,\n iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const expanded = !!icon.icon;\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n return acc;\n }, {});\n}\nfunction defineIcons(prefix, icons) {\n let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const normalized = normalizeIcons(icons);\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalizeIcons(icons));\n } else {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n }\n\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll ease the upgrade process for our users by automatically defining\n * this as well.\n */\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n return acc;\n });\n\n // If we have a Kit, we can't determine if regular is available since we\n // could be auto-fetching it. We'll have to assume that it is available.\n const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n iconName\n };\n }\n return acc;\n }, {\n names: {},\n unicodes: {}\n });\n _byOldName = shimLookups.names;\n _byOldUnicode = shimLookups.unicodes;\n _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n family: config.familyDefault\n });\n};\nonChange(c$$1 => {\n _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n family: config.familyDefault\n });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\nfunction byOldUnicode(unicode) {\n const oldUnicode = _byOldUnicode[unicode];\n const newUnicode = byUnicode('fas', unicode);\n return oldUnicode || (newUnicode ? {\n prefix: 'fas',\n iconName: newUnicode\n } : null) || {\n prefix: null,\n iconName: null\n };\n}\nfunction getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n // handles the exception of passing in only a family of 'duotone' with no style\n if (family === t && !styleOrPrefix) {\n return 'fad';\n }\n const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const result = getIconName(config.cssPrefix, cls);\n if (result) {\n iconName = result;\n } else if (cls) {\n rest.push(cls);\n }\n });\n return {\n iconName,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const aliasIconName = byAlias(prefix, iconName);\n iconName = shim.iconName || aliasIconName || iconName;\n prefix = shim.prefix || prefix;\n if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n // Allow a fallback from the regular style to solid if regular is not available\n // but only if we aren't auto-fetching SVGs\n prefix = 'fas';\n }\n return {\n prefix,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n canonical.prefix = 'fad';\n }\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.get(family).defaultShortPrefixId;\n canonical.prefix = defaultPrefix;\n canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n }\n }\n if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n // The fa prefix is not canonical. So if it has made it through until this point\n // we will shift it to the correct prefix.\n canonical.prefix = getDefaultUsablePrefix() || 'fas';\n }\n return canonical;\n}\n\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(alias => {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n}\n\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(tk => {\n if (typeof mixout[tk] === 'function') {\n obj[tk] = mixout[tk];\n }\n if (typeof mixout[tk] === 'object') {\n Object.keys(mixout[tk]).forEach(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(hook => {\n if (!_hooks[hook]) {\n _hooks[hook] = [];\n }\n _hooks[hook].push(hooks[hook]);\n });\n }\n if (plugin.provides) {\n plugin.provides(providers);\n }\n });\n return obj;\n}\nfunction chainHooks(hook, accumulator) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\n });\n return accumulator;\n}\nfunction callHooks(hook) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const args = Array.prototype.slice.call(arguments, 1);\n return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n if (iconLookup.prefix === 'fa') {\n iconLookup.prefix = 'fas';\n }\n let {\n iconName\n } = iconLookup;\n const prefix = iconLookup.prefix || getDefaultUsablePrefix();\n if (!iconName) return;\n iconName = byAlias(prefix, iconName) || iconName;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n }\n },\n watch: function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n icon: icon => {\n if (icon === null) {\n return null;\n }\n if (typeof icon === 'object' && icon.prefix && icon.iconName) {\n return {\n prefix: icon.prefix,\n iconName: byAlias(icon.prefix, icon.iconName) || icon.iconName\n };\n }\n if (Array.isArray(icon) && icon.length === 2) {\n const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n prefix,\n iconName: byAlias(prefix, iconName) || iconName\n };\n }\n if (typeof icon === 'string' && (icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n const canonicalIcon = getCanonicalIcon(icon.split(' '), {\n skipLookups: true\n });\n return {\n prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n };\n }\n if (typeof icon === 'string') {\n const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nfunction domVariants(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n return [{\n tag: 'svg',\n attributes,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let content = {\n children: [],\n attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\n args.children = children;\n args.attributes = attributes;\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let element = null;\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n return {\n found: true,\n width,\n height,\n icon: element\n };\n}\nconst missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n if (!PRODUCTION && !config.showMissingIcons && iconName) {\n console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n }\n}\nfunction findIcon(iconName, prefix) {\n let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\n if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n const icon = styles$1[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n maybeNotifyMissing(iconName, prefix);\n resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n }));\n });\n}\n\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst end = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n begin,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n const mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const abstract = mutation[1];\n\n // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((acc, cls) => {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\n }\n const newInnerHTML = abstract.map(a => toHtml(a)).join('\\n');\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\nfunction performOperationSync(op) {\n op();\n}\nfunction perform(mutations, callback) {\n const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(mutationRecord => {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n treeCallback(mutationRecord.target);\n }\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\n mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n } else if (hasBeenReplaced(mutationRecord.target)) {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const value = styles.slice(1);\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n return acc;\n }, {});\n }\n return val;\n}\n\nfunction classParser (node) {\n const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let val = getCanonicalIcon(classArray(node));\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n if (val.iconName && val.prefix) {\n return val;\n }\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\n return val;\n}\n\nfunction attributesParser (node) {\n const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix,\n transform: meaninglessTransform,\n mask: {\n iconName: null,\n prefix: null,\n rest: []\n },\n maskId: null,\n symbol: false,\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n }, pluginMeta);\n}\n\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return callProvided('generateLayersText', node, nodeMeta);\n } else {\n return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n }\n}\nfunction getKnownPrefixes() {\n return [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let candidates = [];\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e$$1) {\n // noop\n }\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const mutation = generateMutation(node);\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e$$1) {\n if (!PRODUCTION) {\n if (e$$1.name === 'MissingIcon') {\n console.error(e$$1);\n }\n }\n }\n return acc;\n }, []);\n return new Promise((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((resolve, reject) => {\n Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n found: false,\n width: 512,\n height: 512,\n icon: {}\n })]).then(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(a => {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.cssPrefix, \"-layers\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const content = styles.getPropertyValue('content');\n if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const iconName4 = byOldUnicode(hexValue);\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\n }\n }\n\n // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n // already done so with the same prefix and iconName\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n element.outerHTML = abstract.map(a$$1 => toHtml(a$$1)).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n return transformString.toLowerCase().split(' ').reduce((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let rest = parts.slice(1).join('-');\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n rest = parseFloat(rest);\n if (isNaN(rest)) {\n return acc;\n }\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n case 'left':\n acc.x = acc.x - rest;\n break;\n case 'right':\n acc.x = acc.x + rest;\n break;\n case 'up':\n acc.y = acc.y - rest;\n break;\n case 'down':\n acc.y = acc.y + rest;\n break;\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n return acc;\n }, transform);\n};\nvar PowerTransforms = {\n mixout() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n path\n };\n return {\n tag: 'g',\n attributes: _objectSpread2({}, operations.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread2({}, operations.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n }]\n }]\n };\n };\n }\n};\n\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n return abstract;\n}\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\nvar Masks = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\n accumulator.mask = mask;\n accumulator.maskId = node.getAttribute('data-fa-mask-id');\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.inner),\n children: [fillBlack(_objectSpread2({\n tag: mainPath.tag,\n attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const maskTag = {\n tag: 'mask',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n const defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread2({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n };\n\n // Ring\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n });\n const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const dot = {\n tag: 'circle',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: []\n };\n if (!reduceMotion) {\n dot.children.push({\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;1;1;0;1;'\n })\n });\n }\n gChildren.push(dot);\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: reduceMotion ? [] : [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '1;0;0;0;0;1;'\n })\n }]\n });\n if (!reduceMotion) {\n // Exclamation\n gChildren.push({\n tag: 'path',\n attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n values: '0;0;1;1;0;0;'\n })\n }]\n });\n }\n return {\n tag: 'g',\n attributes: {\n 'class': 'missing'\n },\n children: gChildren\n };\n };\n }\n};\n\nvar SvgSymbols = {\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n accumulator['symbol'] = symbol;\n return accumulator;\n }\n };\n }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n mixoutsTo: api\n});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar FontAwesomeIcon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var allProps = _objectSpread2(_objectSpread2({}, defaultProps), props);\n\n var iconArgs = allProps.icon,\n maskArgs = allProps.mask,\n symbol = allProps.symbol,\n className = allProps.className,\n title = allProps.title,\n titleId = allProps.titleId,\n maskId = allProps.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || '').split(' '))));\n var transform = objectWithKey('transform', typeof allProps.transform === 'string' ? parse.transform(allProps.transform) : allProps.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(allProps).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!defaultProps.hasOwnProperty(key)) {\n extraProps[key] = allProps[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","import React, { useEffect, useRef } from \"react\";\nimport styled from \"styled-components\";\n\nexport const Input = styled.input`\n width: 48px;\n height: 48px;\n font-size: 28px;\n line-height: 48px;\n text-align: center;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n color: #1e1e1e;\n background: #f8f8f8;\n\n &::placeholder {\n color: #ccc;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &:focus {\n outline: none;\n border: 2px solid #4e3eff;\n }\n\n @media (max-width: 500px) {\n width: 38px;\n height: 38px;\n }\n`;\n\nexport const Button = styled.button<{ disabled?: boolean }>`\n width: 100%;\n padding: 12px;\n color: #fff;\n border: none;\n cursor: pointer;\n background: linear-gradient(90deg, #050055, #3b2cfa);\n border-radius: 6px;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n @media (min-width: 501px) and (max-width: 768px) {\n width: 70%;\n }\n\n @media (max-width: 500px) {\n width: 90%;\n }\n`;\n\nconst Header = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 24px;\n letter-spacing: 0px;\n color: #2a3362;\n margin-bottom: -10px;\n text-align: center;\n\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nconst BodyText = styled.p`\n font-family: Gilroy;\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0px;\n color: #333333;\n margin-bottom: 20px;\n text-align: center;\n\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nconst Container = styled.div`\n @media (max-width: 768px) {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n`;\n\ntype OtpVerificationProps = {\n setIsOtpModal: (value: boolean) => void;\n setOtp: (value: string[]) => void;\n otp: string[];\n paymentMethod?: string;\n handleOtp?: (value: string) => void;\n};\n\nconst OtpVerification: React.FC<OtpVerificationProps> = ({\n otp,\n setOtp,\n setIsOtpModal,\n paymentMethod,\n handleOtp\n}) => {\n const prevPaymentMethod = useRef<string | undefined>(undefined);\n\n useEffect(() => {\n if (prevPaymentMethod.current !== paymentMethod) {\n setOtp([\"\", \"\", \"\", \"\", \"\", \"\"]);\n }\n prevPaymentMethod.current = paymentMethod;\n }, [paymentMethod, setOtp]);\n\n const verifyOtp = () => {\n const otpCode = otp.join(\"\")\n handleOtp?.(otpCode);\n };\n\n const handleOtpChange = (index: number, value: string) => {\n if (!/^\\d?$/.test(value)) return;\n\n const newOtp = [...otp];\n newOtp[index] = value;\n setOtp(newOtp);\n\n if (value && index < otp.length - 1) {\n const next = document.getElementById(`otp-${index + 1}`);\n next?.focus();\n }\n };\n\n return (\n <Container>\n <Header>Enter OTP</Header>\n <BodyText>A 6-digit code has been sent to your phone number </BodyText>\n <div\n style={{\n display: \"flex\",\n gap: \"8px\",\n justifyContent: \"center\",\n alignItems: \"center\",\n marginBottom: \"16px\",\n }}\n >\n {otp.map((val, i) => (\n <Input\n key={i}\n id={`otp-${i}`}\n type=\"text\"\n maxLength={1}\n value={val ? \"*\" : \"\"}\n onChange={(e) => handleOtpChange(i, e.target.value)}\n autoFocus={i === 0}\n />\n ))}\n </div>\n <Button disabled={otp.some((digit) => digit === \"\")} onClick={verifyOtp}>\n Verify\n </Button>\n </Container>\n );\n};\n\nexport default OtpVerification;\n","const ALPHABETS = \"abcdefghijklmnopqrstuvwxyz\".split(\"\");\nconst SPECIAL_CHARS = \"!@#$%^&*()_+-=[]{}|;:,.<>?/\".split(\"\");\nconst CHAR_POOL = [...ALPHABETS, ...SPECIAL_CHARS];\n\nexport function generateRandomString(\n length: number = 20\n): string {\n let result = \"\";\n for (let i = 0; i < length; i++) {\n const idx = Math.floor(Math.random() * CHAR_POOL.length);\n result += CHAR_POOL[idx];\n }\n return result;\n}\n\nexport const generateSdkTransactionReference = (): string => {\n const today = new Date();\n const yyyymmdd = today.toISOString().split('T')[0].replace(/-/g, '');\n const randomSegment = Math.floor(100 + Math.random() * 900);\n\n return `SDK_TXN_${randomSegment}_${yyyymmdd}`;\n};\n\nexport const isValidCardNumber = (cardNumber: string): boolean => {\n const digits = cardNumber.replace(/\\s/g, \"\");\n let sum = 0;\n let shouldDouble = false;\n\n for (let i = digits.length - 1; i >= 0; i--) {\n let digit = parseInt(digits[i], 10);\n\n if (shouldDouble) {\n digit *= 2;\n if (digit > 9) digit -= 9;\n }\n\n sum += digit;\n shouldDouble = !shouldDouble;\n }\n\n return sum % 10 === 0;\n};\n\nexport const generateXModelHeader = (\n transactionAmount: number,\n transactionReference: string,\n customerNumber: string\n): string => {\n const rawString = `${transactionAmount}${transactionReference}${customerNumber}`.trim();\n return btoa(unescape(encodeURIComponent(rawString.trim())));\n};\n\nexport const encodeString = (input: string): string => {\n return btoa(unescape(encodeURIComponent(input.trim())));\n}\n\nexport const allCurrencySymbols = new Proxy<Record<string, string>>({}, {\n get: (target, currencyCode: string) => {\n if (!(currencyCode in target)) {\n try {\n const symbol = new Intl.NumberFormat(\"en\", {\n style: \"currency\",\n currency: currencyCode,\n currencyDisplay: \"narrowSymbol\",\n })\n .formatToParts(1)\n .find(part => part.type === \"currency\")?.value ?? currencyCode;\n\n target[currencyCode] = symbol;\n } catch {\n target[currencyCode] = currencyCode;\n }\n }\n return target[currencyCode];\n },\n});\n\n\nexport const getCurrencySymbol = (code: string): string => {\n return allCurrencySymbols[code.toUpperCase()] || code;\n}\n\nexport const formatAmountWithSymbol = (\n amount: number = 0,\n currency: string = \"NGN\",\n locale: string = \"en-NG\"\n): string => {\n const symbol = getCurrencySymbol(currency);\n const formatted = new Intl.NumberFormat(locale, {\n style: \"decimal\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(amount);\n\n return `${symbol} ${\" \"} ${formatted}`;\n}\n\nexport const isVerveCard = (cardNumber: string): boolean => {\n const cleaned = cardNumber.replace(/\\s+/g, '');\n const prefix = cleaned.slice(0, 6);\n return (\n /^5061\\d{2}/.test(prefix) ||\n /^5078\\d{2}/.test(prefix) ||\n /^6500\\d{2}/.test(prefix) ||\n /^628051/.test(prefix)\n );\n}\n","import React from \"react\";\n\nexport type CardTypeIconProps = {\n width?: string;\n height?: string;\n style?: any;\n};\nconst VisaIcon = ({ width = \"48\", height = \"32\", style }: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#1A1F71\" />\n <text x=\"8\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n VISA\n </text>\n </svg>\n </div>\n);\n\nexport default VisaIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst MasterCardIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n {/* <rect width={width} height={height} rx=\"3\" fill=\"#EB001B\" /> */}\n <circle cx=\"20\" cy=\"16\" r=\"10\" fill=\"#FF5F00\" />\n <circle cx=\"30\" cy=\"16\" r=\"10\" fill=\"#F79E1B\" />\n </svg>\n </div>\n);\n\nexport default MasterCardIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst VerveIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width=\"48\" height=\"32\" rx=\"3\" fill=\"#000000\" />\n <text x=\"8\" y=\"20\" fill=\"#FFFFFF\" fontSize=\"10\" fontWeight=\"bold\">\n Verve\n </text>\n </svg>\n </div>\n);\n\nexport default VerveIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst AmexIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#2E77BC\" />\n <text x=\"3\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n AMERICAN EXPRESS\n </text>\n </svg>\n </div>\n);\n\nexport default AmexIcon;\n","import React from \"react\";\nimport { CardTypeIconProps } from \"./VisaIcon\";\n\nconst DiscoverIcon = ({\n width = \"48\",\n height = \"32\",\n style,\n}: CardTypeIconProps) => (\n <div style={style}>\n <svg width={width} height={height} viewBox=\"0 0 48 32\" fill=\"none\">\n <rect width={width} height={height} rx=\"3\" fill=\"#FF6000\" />\n <text x=\"3\" y=\"20\" fill=\"white\" fontSize=\"10\" fontWeight=\"bold\">\n DISCOVER\n </text>\n </svg>\n </div>\n);\n\nexport default DiscoverIcon;\n","import styled, { keyframes } from \"styled-components\";\n\nexport const PaymentSuccessWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 700px;\n height: 100%;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n align-items: center;\n justify-content: center;\n padding: 40px;\n height: 70vh;\n\n @media (max-width: 768px) {\n box-shadow: none;\n height: 100%;\n }\n`;\n\nconst spinOnce = keyframes`\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n`;\n\nexport const GreenCircleWrapper = styled.div`\n position: relative;\n width: 60px;\n height: 60px;\n margin-bottom: 20px;\n`;\n\nexport const GreenSpinner = styled.div`\n position: absolute;\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: 4px solid rgba(40, 167, 69, 0.3);\n border-top-color: #28a745;\n animation: ${spinOnce} 1s ease-in-out;\n`;\n\nexport const CheckMark = styled.div`\n width: 90px;\n height: 90px;\n border-radius: 50%;\n background-color: #28a745;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 60px;\n font-weight: 700;\n color: white;\n z-index: 1;\n position: relative;\n`;\n\nexport const SuccessTitle = styled.h2`\n font-size: 24px;\n font-weight: 600;\n color: #28a745;\n margin-bottom: 10px;\n text-align: center;\n`;\n\nexport const SuccessSubtitle = styled.p`\n font-size: 14px;\n color: #666;\n text-align: center;\n max-width: 400px;\n line-height: 1;\n`;\n","import { css } from \"styled-components\";\n\nexport const color = {\n // Blue\n blue: '#14066F',\n blue1: \"#28119C\",\n blue2: '#17087A',\n blue3: \"#0742A6\",\n\n // Black\n black: '#000000',\n black1: '#100407',\n black2: \"#27272A\",\n\n // White \n white: '#fff',\n white1: '#f6f6f6',\n white2: \"#F0F1F3\",\n white3: \"#F5F5F5\",\n white4: \"#FCFCFD\",\n\n // Grey\n grey: '#F4F4F5',\n grey1: \"#71717A\",\n grey2: '#999999',\n grey3: '#E3E5E8',\n grey4: '#454D54',\n grey5: '#52525B',\n\n // Red\n red: \"#EA0707\",\n red1: \"#FEF3F2\",\n\n\n // Pink\n \n\n // Green\n green: \"#E9F0E7\",\n green1: '#028849',\n green2: \"#ECFDF3\",\n green3: \"#03BB7F\",\n green4: \"#B3EBD9\",\n green5: \"#025928\",\n\n // Yellow\n yellow: \"#FEF4E6\",\n yellow1: \"#E18308\",\n yellow2: \"#D96704\",\n\n\n // Purple\n purple: \"#F6F4FF\",\n purple1: \"#DED8FB\",\n\n // Error\n error: '#DF2935',\n error1: '#E23E49',\n error2: '#E5545D',\n error3: '#E96972',\n error4: '#EC7F86',\n error5: '#EF949A',\n error6: '#F2A9AE',\n error7: '#F5BFC2',\n error8: '#F9D4D7',\n}\n\nexport const size = {\n gridSize: 12,\n gutterWidth: '16px',\n outerMargin: '16px',\n xsMin: 0,\n smMin: 320,\n mdMin: 600,\n lgMin: 992,\n xlMin: 1200,\n xxlMin: 1600\n };\n\nexport const breakpoint = {\n xs: `@media (min-width: ${size.xsMin}px)`,\n sm: `@media (min-width: ${size.smMin}px)`, // mobile\n md: `@media (min-width: ${size.mdMin}px)`, // tablet\n lg: `@media (min-width: ${size.lgMin}px)`, // tablet & desktop\n xl: `@media (min-width: ${size.xlMin}px)`, // desktop\n xxl: `@media (min-width: ${size.xxlMin}px)` // extra large desktop\n };\n \n export const device = {\n mobile: `@media (min-width: ${size.xsMin}px) and (max-width: calc(${size.mdMin}px))`,\n tablet: `@media (min-width: ${size.mdMin}px) and (max-width: calc(${size.lgMin}px))`,\n desktop: `@media (min-width: ${size.lgMin}px)`\n };\n\n export const gradient = {\n primary: `linear-gradient(45deg, ${color.blue} 0%, ${color.blue2} 50%, ${color.blue1} 100%);`,\n primaryActive: `linear-gradient(45deg, #1A3D83 0%, ${color.blue} 75%, ${color.blue1} 100%)`,\n light: `linear-gradient(225deg, ${color.blue} 0%, ${color.blue1} 100%);`,\n error: `linear-gradient(45deg, ${color.error} 0%, ${color.error2} 50%, ${color.error3} 100%);`\n };\n\n export const mixin = {\n clickable: css`\n cursor: pointer;\n user-select: none;\n `,\n scrollableY: css`\n overflow-x: hidden;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n `,\n truncateText: css`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n `\n };","import styled, { keyframes } from \"styled-components\";\nimport { color } from \"../../utils/Styles\";\n\nconst slideIn = keyframes`\n from {\n transform: translateX(100%);\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n`;\n\nexport const SnackbarContainer = styled.div`\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n gap: 10px;\n`;\n\nexport const Snackbar = styled.div<{ type: \"success\" | \"error\" | \"info\" | \"warning\" }>`\n display: flex;\n flex-direction: column;\n padding: 12px 16px;\n border-radius: 6px;\n max-width: 300px;\n font-size: 14px;\n color: white;\n box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);\n animation: ${slideIn} 0.3s ease-out;\n\n background-color: ${({ type }) => {\n switch (type) {\n case \"success\":\n return color.green1;\n case \"error\":\n return color.red;\n case \"warning\":\n return color.yellow;\n case \"info\":\n return color.blue1;\n default:\n return color.black1;\n }\n }};\n`;\n\nexport const SnackbarTitle = styled.div`\n font-weight: bold;\n margin-bottom: 4px;\n`;\n\nexport const SnackbarMessage = styled.div`\n font-size: 13px;\n opacity: 0.9;\n`;","import { useState } from \"react\";\nimport {\n Snackbar,\n SnackbarContainer,\n SnackbarMessage,\n SnackbarTitle,\n} from \"./Styles/SnackbarStyle\";\n\ntype SnackbarType = \"success\" | \"error\" | \"info\" | \"warning\";\n\ninterface SnackbarMessageProps {\n id: number;\n type: SnackbarType;\n title: string;\n message: string;\n}\n\nexport const useSnackbar = () => {\n const [snackbars, setSnackbars] = useState<SnackbarMessageProps[]>([]);\n\n const showSnackbar = (type: SnackbarType, title: string, message: string) => {\n const id = Date.now();\n setSnackbars((prev) => [...prev, { id, type, title, message }]);\n\n setTimeout(() => {\n setSnackbars((prev) => prev.filter((snack) => snack.id !== id));\n }, 6000);\n };\n\n const SnackbarUI = () => (\n <SnackbarContainer>\n {snackbars.map(({ id, type, title, message }) => (\n <Snackbar key={id} type={type}>\n <SnackbarTitle>{title}</SnackbarTitle>\n <SnackbarMessage>{message}</SnackbarMessage>\n </Snackbar>\n ))}\n </SnackbarContainer>\n );\n\n return { showSnackbar, SnackbarUI };\n};","import styled from \"styled-components\";\n\nexport const PaymentFailedWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 700px;\n height: 70vh;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n align-items: center;\n justify-content: center;\n padding: 40px;\n\n @media (max-width: 768px) {\n box-shadow: none;\n height: 100%;\n }\n`;\n\nexport const RedCircle = styled.div`\n width: 90px;\n height: 90px;\n border-radius: 50%;\n background-color: #ff4d4f;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 60px;\n font-weight: 700;\n color: white;\n margin-bottom: 20px;\n`;\n\nexport const FailedTitle = styled.h2`\n font-size: 24px;\n font-weight: 600;\n color: #ff4d4f;\n margin-bottom: 10px;\n text-align: center;\n`;\n\nexport const FailedReason = styled.p`\n font-size: 14px;\n color: #666;\n text-align: center;\n max-width: 400px;\n line-height: 1.6;\n`;\n","import type React from \"react\";\nimport creditCardType from \"credit-card-type\";\nimport { JSX, useCallback, useEffect, useRef, useState } from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport FaBankCardIcon from \"../../assets/icons/FaBankCardIcon\";\nimport FaUssdIcon from \"../../assets/icons/FaUssdIcon\";\nimport FaBankTransferIcon from \"../../assets/icons/FaBankTransferIcon\";\nimport FaNQRIcon from \"../../assets/icons/FaNQRIcon\";\nimport FaOpaySvgIcon from \"../../assets/icons/FaOpayIcon.svg\";\nimport FaPalmPaySvgIcon from \"../../assets/icons/FaPalmpayIcon.svg\";\nimport FaKudaSvgIcon from \"../../assets/icons/FaKudaIcon.svg\";\nimport FaLockIcon from \"../../assets/icons/FaLockIcon\";\nimport FaCopyIcon from \"../../assets/icons/FaCopyIcon\";\nimport BankSelectXDropdown from \"../../components/dropdowns/BankSelectXDropdown\";\nimport FaInfoIcon from \"../../assets/icons/FaInfoIcon\";\nimport FaTimerIcon from \"../../assets/icons/FaTimerIcon\";\nimport FaQRCodeIcon from \"../../assets/icons/FaQRCodeIcon\";\nimport OpayLogo from \"../../assets/icons/FaOpayFullIcon.svg\";\nimport { faEye, faEyeSlash } from \"@fortawesome/free-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport PalmpayIcon from \"../../assets/icons/FaPalmpayFullIcon.svg\";\nimport KudaLogo from \"../../assets/icons/FaKudaFullIcon.svg\";\nimport OtpVerification from \"./OtpVerification\";\nimport FaMobileIcon from \"../../assets/icons/FaMobileIcon\";\nimport FaSuccessicon from \"../../assets/icons/FaSuccessicon\";\nimport FaArrowLeftIcon from \"../../assets/icons/FaArrowLeftIcon\";\nimport NetworkProviderDropdown from \"../../components/dropdowns/NetworkProviderDropdown\";\nimport axios from \"axios\";\nimport type {\n CheckoutReadyResponse,\n PaygateCheckoutSdkProps,\n TransactionResponse,\n MerchantDataProps,\n VirtualAccountResponse,\n} from \"../../shared/types\";\nimport {\n encodeString,\n formatAmountWithSymbol,\n generateRandomString,\n generateSdkTransactionReference,\n generateXModelHeader,\n isVerveCard,\n} from \"../../shared/utils\";\nimport VisaIcon from \"../../assets/icons/VisaIcon\";\nimport MasterCardIcon from \"../../assets/icons/MasterCardIcon\";\nimport VerveIcon from \"../../assets/icons/VerveIcon\";\nimport AmexIcon from \"../../assets/icons/AmexIcon\";\nimport DiscoverIcon from \"../../assets/icons/DiscoverIcon\";\nimport DefaultCardIcon from \"../../assets/icons/DefaultCardIcon\";\nimport PaymentSuccessView from \"../../components/checkout/PaymentSuccessView\";\nimport PaymentFailedView from \"../../components/checkout/PaymentFailedView\";\nimport { RedCircle } from \"../../components/checkout/styles/PaymentFailedStyl\";\nimport { useSnackbar } from \"../../shared/hooks/useSnackBar\";\n\nexport const Container = styled.div`\n display: flex;\n width: 70%;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n background: #f5f5f5;\n height: 100vh;\n\n @media (max-width: 768px) {\n background-color: #ffffff;\n height: 100vh;\n width: 90%;\n }\n`;\n\nexport const Wrapper = styled.div`\n display: flex;\n width: 100%;\n max-width: 700px;\n background: white;\n margin: 10px auto 0 auto;\n border-radius: 12px;\n overflow: hidden;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);\n\n @media (max-width: 768px) {\n flex-direction: column;\n box-shadow: none;\n height: 100%;\n }\n`;\n\nexport const Sidebar = styled.div<{ open?: boolean }>`\n background: #f4f2fd;\n padding: 24px 0px;\n display: flex;\n flex-direction: column;\n width: 250px;\n transition: transform 0.3s ease-in-out;\n\n @media (max-width: 768px) {\n position: fixed;\n top: 0;\n left: 0;\n height: 100vh;\n z-index: 1000;\n transform: ${({ open }) => (open ? \"translateX(0)\" : \"translateX(-100%)\")};\n box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);\n background: white;\n }\n`;\n\nexport const Overlay = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.3);\n z-index: 999;\n\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const MenuButton = styled.button`\n background: transparent;\n border: none;\n font-size: 24px;\n margin: 16px;\n cursor: pointer;\n\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const Option = styled.button<{ selected: boolean }>`\n background: ${({ selected }) => (selected ? \"#e9e4ff\" : \"transparent\")};\n border: none;\n padding: 12px 16px;\n display: flex;\n align-items: center;\n padding-left: 60px;\n cursor: pointer;\n width: 90%;\n text-align: center;\n border-radius: 8px;\n font-size: 14px;\n color: ${(props) => (props.selected ? \"#28119C\" : \"#2d2d2d\")};\n margin: 20px 10px 8px 10px;\n\n &:hover {\n background: #f1f1f9;\n }\n`;\n\nexport const RightPanel = styled.div`\n flex: 1;\n padding: 24px;\n background: #ffffff;\n\n @media (max-width: 768px) {\n padding: 0 16px 16px !important;\n overflow-y: scroll;\n }\n`;\n\nexport const SectionTitle = styled.h3`\n font-size: 16px;\n font-weight: 600;\n margin-bottom: 16px;\n color: #100407;\n`;\n\nexport const Input = styled.input`\n width: 94%;\n padding: 10px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 14px;\n margin-bottom: 12px;\n`;\n\nexport const CardNumberInput = styled.input`\n width: 94%;\n border: unset;\n border-radius: 4px;\n font-size: 14px;\n margin-bottom: 12px;\n padding: 5px 12px !important;\n\n &:focus {\n outline: unset;\n border: unset;\n }\n`;\n\nexport const CardNumberInputBox = styled.div`\n width: 98%;\n padding: 3px 4px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 14px;\n display: flex;\n`;\n\nexport const FlexGroup = styled.div`\n display: flex;\n gap: 20px;\n width: 100%;\n`;\n\nexport const ConfirmButton = styled.button<{ isDisable?: boolean }>`\n width: 100%;\n padding: 12px;\n border-radius: 4px;\n background: linear-gradient(90deg, #0b0b3b, #2400ff);\n color: white;\n font-weight: bold;\n border: none;\n cursor: ${(props) => (props.isDisable ? \"not-allowed\" : \"pointer\")};\n margin-top: 12px;\n`;\n\nexport const USSDCode = styled.div`\n margin-top: 16px;\n padding: 20px 40px;\n background: #f4f4f4;\n border-radius: 8px;\n font-size: 16px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 87%;\n`;\n\nexport const PinInputGroup = styled.div`\n display: flex;\n justify-content: center;\n gap: 12px;\n margin: 32px 0 12px;\n`;\n\nexport const PinInput = styled.input`\n width: 48px;\n height: 48px;\n text-align: center;\n font-size: 20px;\n border-radius: 8px;\n border: 1px solid #ccc;\n`;\n\nexport const TitleHeader = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 20px;\n line-height: 100%;\n letter-spacing: 0%;\n text-align: center;\n color: #28119c;\n`;\n\nexport const Box = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n @media (max-width: 768px) {\n justify-content: flex-start;\n width: 100%;\n }\n`;\n\nexport const Divider = styled.div`\n border: 0.5px solid #ded8fb;\n`;\n\nexport const AmountBox = styled.div`\n top: 69px;\n left: 295px;\n border-radius: 14px;\n gap: 16px;\n padding-top: 16px;\n padding-bottom: 16px;\n background-color: #f4f4f5;\n color: #27272a;\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n line-height: 18.2px;\n letter-spacing: -2.5%;\n vertical-align: bottom;\n display: flex;\n justify-content: space-between;\n padding: 20px;\n margin-bottom: 30px;\n`;\n\nexport const AmountOuterBox = styled.div`\n border-radius: 4px;\n gap: 16px;\n background-color: unset;\n color: #27272a;\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n line-height: 18.2px;\n letter-spacing: -2.5%;\n vertical-align: bottom;\n padding: 20px;\n margin-bottom: 30px;\n min-height: 100px;\n`;\n\nexport const SecureBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n background-color: #ffffff;\n padding: 20px;\n margin-bottom: 20px;\n border: 1px solid #e6e6e6;\n\n @media (max-width: 768px) {\n padding: 10px;\n }\n`;\n\nexport const DivBox = styled.div`\n font-family: Inter;\n font-weight: 700;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: -2.5%;\n`;\n\nexport const CardNumbertext = styled.p`\n font-family: Inter;\n font-weight: 500;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: 0%;\n color: #000;\n margin: 20px 0px 10px 0px;\n`;\n\nexport const AccountCard = styled.div`\n background: #f4f4f5;\n border-radius: 14px;\n padding: 24px;\n margin-bottom: 24px;\n`;\n\nexport const Row = styled(({ isLast, ...rest }) => <div {...rest} />)<{\n isLast?: boolean;\n}>`\n margin-bottom: 16px;\n border-bottom: ${(props) => (props.isLast ? \"unset\" : \"0.6px solid #E4E3E7\")};\n padding-bottom: 16px;\n & > span.label {\n display: block;\n font-size: 12px;\n font-weight: 400;\n color: #71717a;\n margin-bottom: 4px;\n }\n & > span.value {\n font-size: 16px;\n font-weight: 600;\n color: #27272a;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n`;\n\nexport const InfoBanner = styled.div`\n background: #e4e4e7;\n border-radius: 8px;\n padding: 12px;\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #27272a;\n margin-top: 8px;\n`;\n\nexport const TimerRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-size: 16px;\n margin-bottom: 16px;\n color: #27272a;\n`;\n\nexport const QRContainer = styled.div`\n width: 280px;\n height: 280px;\n background: #f4f4f4;\n border-radius: 8px;\n margin: 0 auto 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const OpayBox = styled.div`\n border: 2px solid transparent;\n border-radius: 16px;\n padding: 24px;\n margin: 0 auto 24px;\n max-width: 400px;\n background-image: linear-gradient(white, white),\n linear-gradient(134deg, #40175e 0%, #1aa0cf 50%, #6d00ff 100%);\n background-origin: padding-box, border-box;\n background-clip: padding-box, border-box;\n\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n`;\n\nexport const MobileHeader = styled.p`\n font-family: Inter;\n font-weight: 500;\n font-size: 20px;\n text-align: center;\n color: #000000;\n margin-bottom: -10px;\n`;\n\nexport const MobileSubText = styled.p`\n font-family: Inter;\n font-weight: 400;\n font-size: 14px;\n text-align: center;\n color: #52525b;\n`;\n\nexport const MobileTextBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n width: 80%;\n @media (min-width: 769px) {\n display: none;\n }\n`;\n\nexport const StyledInput = styled(Input)`\n width: 95%;\n margin-bottom: 16px;\n font-size: 14px;\n border-radius: 24px;\n padding: 14px;\n`;\n\nexport const PasswordWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n`;\n\nexport const TogglePassword = styled.button`\n position: absolute;\n right: 16px;\n // top: 50%;\n transform: translateY(-50%);\n border: none;\n background: none;\n cursor: pointer;\n`;\n\nexport const NextButton = styled(ConfirmButton)`\n background: #4caf50;\n margin-top: 0;\n`;\n\nexport const Header = styled.p`\n font-family: Gilroy;\n font-weight: 600;\n font-size: 24px;\n letter-spacing: 0px;\n color: #2a3362;\n margin-bottom: -10px;\n text-align: center;\n`;\n\nexport const BodyText = styled.p`\n font-family: Gilroy;\n font-weight: 400;\n font-size: 14px;\n letter-spacing: 0px;\n color: #333333;\n margin-bottom: 20px;\n text-align: center;\n`;\n\nexport const FlexRow = styled.div`\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n justify-content: space-between;\n`;\n\nexport const InnerFlexRow = styled.div`\n display: flex;\n align-items: flex-start;\n justify-content: flex-end;\n`;\n\nexport const InputWrapper = styled.div<{ width?: string; withSlash?: boolean }>`\n width: ${({ width }) => width || \"100%\"};\n position: relative;\n\n ${({ withSlash }) =>\n withSlash &&\n `\n &::after {\n content: '/';\n position: absolute;\n left: 60px;\n top: 35%;\n transform: translateY(-50%);\n font-size: 18px;\n color: #333;\n }\n `}\n`;\n\nexport const Separator = styled.span`\n font-size: 20px;\n`;\n\nexport const AmountBoxRow = styled.div<{ bold?: boolean }>`\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n font-weight: ${({ bold }) => (bold ? 700 : 400)};\n background-color: #f4f4f5;\n padding: 20px 10px;\n margin-bottom: 20px;\n border-radius: 8px;\n`;\n\nexport const Label = styled.span`\n color: #6b7280;\n`;\n\nexport const Value = styled.span`\n color: #111827;\n`;\n\nexport const AmountBoxDivider = styled.div`\n height: 1px;\n background-color: #e5e7eb;\n margin: 12px 0;\n`;\n\nexport const ItemList = styled.div`\n margin-bottom: 8px;\n`;\n\nexport const ItemRow = styled.div`\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n`;\n\nexport const ItemName = styled.span`\n color: #111827;\n`;\n\nexport const ItemPrice = styled.span`\n color: #111827;\n`;\n\nexport const AcceptedCardsBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 12px;\n padding: 16px 0;\n flex-wrap: wrap;\n width: 100%;\n\n @media (max-width: 768px) {\n padding: 8px 0;\n }\n\n @media (max-width: 600px) {\n flex-direction: column;\n }\n`;\n\nexport const AcceptedCardsInnerBox = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n width: 250px;\n\n @media (max-width: 992px) {\n width: 50%;\n }\n\n @media (max-width: 600px) {\n gap: 8px;\n width: 70%;\n }\n`;\n\nexport const CardLogo = styled.img`\n height: 24px;\n object-fit: contain;\n`;\n\nexport const FullscreenLoader = styled.div`\n height: 100vh;\n width: 100vw;\n background-color: rgba(52, 52, 52, 0.3);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: #ffffff;\n font-family: Inter, sans-serif;\n`;\n\nexport const LoadingText = styled.p<{ size?: string; weight?: number }>`\n margin-top: 12px;\n font-size: ${({ size }) => size || \"16px\"};\n font-weight: ${({ weight }) => weight || 400};\n text-align: center;\n color: white;\n`;\n\nexport const spin = keyframes`\nto {\n transform: rotate(360deg);\n}\n`;\n\nexport const Spinner = styled.div`\n width: 40px;\n height: 40px;\n border: 4px solid #28119c;\n border-top-color: #ffffff;\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n\nexport const Iframe = styled.iframe`\n width: 100%;\n height: 600px;\n border: 0;\n`;\n\n// export const Container = styled.div`\n// background: #f9f9f9;\n// border-radius: 8px;\n// padding: 20px;\n// margin-top: 20px;\n// `;\n\ntype VirtualPaymentResponse = {\n message: string;\n success: boolean;\n};\n\ntype InitiateMomoResponseProps = {\n responseDetails: {\n responseCode: string;\n responseMessage: string;\n failedReason?: string;\n };\n transactionReference: string;\n};\n\nconst PaygateCheckoutSdk = ({ userData }: PaygateCheckoutSdkProps) => {\n console.log(\":::: PaygateCheckoutSdk ::::\");\n \n const { showSnackbar, SnackbarUI } = useSnackbar();\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\n const [selectedMethod, setSelectedMethod] = useState(\"CARD\");\n const [isOtpModal, setIsOtpModal] = useState(false);\n const [cardDetails, setCardDetails] = useState({\n number: \"\",\n expiryMonth: \"\",\n expiryYear: \"\",\n cvv: \"\",\n cardHolderName: \"\",\n productDescription: \"\",\n });\n const [selectedBank, setSelectedBank] = useState(\"\");\n const [step, setStep] = useState<\"FORM\" | \"PIN\">(\"FORM\");\n const [pin, setPin] = useState([\"\", \"\", \"\", \"\"]);\n const [otp, setOtp] = useState([\"\", \"\", \"\", \"\", \"\", \"\"]);\n const [opayStep, setOpayStep] = useState<\"AUTH\" | \"CREDS\" | \"OTP\">(\"AUTH\");\n const [opayPhone, setOpayPhone] = useState(\"\");\n const [opayPass, setOpayPass] = useState(\"\");\n const [opayPassVisible, setOpayPassVisible] = useState(false);\n const [palmpayStep, setPalmPayStep] = useState<\"AUTH\" | \"CREDS\" | \"OTP\">(\n \"AUTH\"\n );\n const [palmpayPhone, setPalmPayPhone] = useState(\"\");\n const [palmpayPass, setPalmPayPass] = useState(\"\");\n const [palmpayPassVisible, setPalmPayPassVisible] = useState(false);\n const [kudaStep, setKudaStep] = useState<\"AUTH\" | \"CREDS\" | \"SELECT\" | \"OTP\">(\n \"AUTH\"\n );\n const [kudaEmail, setKudaEmail] = useState(\"\");\n const [kudaPass, setKudaPass] = useState(\"\");\n const [kudaPassVisible, setKudaPassVisible] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [kudaAccount, setKudaAccount] = useState<\"WALLET\" | \"OWEALTH\" | \"\">(\"\");\n const [mobileMoneyStep, setMobileMoneyStep] = useState<\n \"FORM\" | \"CALL\" | \"SUCCESS\" | \"FAILED\"\n >(\"FORM\");\n const [mobileMoneyPhone, setMobileMoneyPhone] = useState<string>(\"\");\n const [mobileMoneyNetwork, setMobileMoneyNetwork] = useState<string>(\"\");\n const [virtualPaymentStatus, setVirtualPaymentStatus] =\n useState<VirtualPaymentResponse>({\n message: \"\",\n success: false,\n });\n const [initiateMomoResponse, setInitiateMomoResponse] =\n useState<InitiateMomoResponseProps>();\n const [checkoutResponseData, setCheckoutResponseData] =\n useState<CheckoutReadyResponse>();\n const [intiateCardPaymentResponse, setIntiateCardPaymentResponse] =\n useState<TransactionResponse>();\n const [timerActive, setTimerActive] = useState(false);\n const [timeRemaining, setTimeRemaining] = useState(30 * 60);\n const [payments, setPayments] = useState<string[]>([]);\n const [virtualResponse, setVirtualResponse] =\n useState<VirtualAccountResponse>();\n const [momoTransactionRef, setMomoTransactionRef] = useState(\"\");\n const [detectedCardType, setDetectedCardType] = useState<string | null>(null);\n const [isPaymanetFailed, setIsPaymanetFailed] = useState(false);\n const [isPaymanetSuccessful, setIsPaymanetSuccessful] = useState(false);\n const [initiateCheckoutTransactionRef, setInitiateCheckoutTransactionRef] =\n useState(\"\");\n const [cardTransactionRef, setCardTransactionRef] = useState(\"\");\n const [isMomoPaymentValidated, setIsMomoPaymentValidated] = useState(false);\n const pinRefs = useRef<(HTMLInputElement | null)[]>([]);\n const cardRef = useRef<HTMLInputElement>(null);\n const monthRef = useRef<HTMLInputElement>(null);\n const yearRef = useRef<HTMLInputElement>(null);\n const cvcRef = useRef<HTMLInputElement>(null);\n const cardNumberRef = useRef<HTMLInputElement>(null);\n const cardHolderNameRef = useRef<HTMLInputElement>(null);\n const initialCheckoutTransactionRef = useRef<string | null>(null);\n const [show3DSIframe, setShow3DSIframe] = useState(false);\n const [redirect3DSUrl, setRedirect3DSUrl] = useState<string | null>(null);\n const iframeRef = useRef<HTMLIFrameElement | null>(null);\n const merchantPublickeyBase64 = encodeString(\n userData?.merchantPublicKey ?? \"\"\n );\n\n const methods = [\n { label: \"Bank card\", value: \"CARD\", icon: FaBankCardIcon },\n { label: \"USSD\", value: \"USSD\", icon: FaUssdIcon },\n { label: \"Bank transfer\", value: \"BANKTRANSFER\", icon: FaBankTransferIcon },\n { label: \"NQR\", value: \"NQR\", icon: FaNQRIcon },\n { label: \"Pay with Opay\", value: \"OPAY\", icon: FaOpaySvgIcon },\n { label: \"Pay with PalmPay\", value: \"PALMPAY\", icon: FaPalmPaySvgIcon },\n { label: \"Pay with Kuda\", value: \"KUDA\", icon: FaKudaSvgIcon },\n { label: \"Mobile Money\", value: \"MOBILEMONEY\", icon: FaMobileIcon },\n ];\n\n const cardIconsMap: Record<string, JSX.Element> = {\n visa: <VisaIcon />,\n mastercard: <MasterCardIcon />,\n verve: <VerveIcon />,\n \"american-express\": <AmexIcon />,\n discover: <DiscoverIcon />,\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n\n if (name === \"number\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 19);\n const grouped = cleaned.replace(/(.{4})/g, \"$1 \").trim();\n setCardDetails((prev) => ({ ...prev, number: grouped }));\n\n const cardInfo = creditCardType(cleaned);\n const isVerveCardValid = isVerveCard(cleaned);\n if (isVerveCardValid) {\n setDetectedCardType(\"verve\");\n } else {\n if (cardInfo.length) {\n setDetectedCardType(cardInfo[0].type);\n } else {\n setDetectedCardType(null);\n }\n }\n\n // const cardInfo = valid.number(cleaned);\n // const isVerveCardValid = isVerveCard(cleaned);\n // if(isVerveCardValid){\n // setDetectedCardType(\"verve\");\n // }else{\n // if (cardInfo.card) {\n // setDetectedCardType(cardInfo.card.type);\n // } else {\n // setDetectedCardType(null);\n // }\n\n // }\n\n if (cleaned.length >= 16 && monthRef.current) {\n monthRef.current.focus();\n }\n return;\n }\n\n if (name === \"expiryMonth\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 2);\n setCardDetails((prev) => ({ ...prev, expiryMonth: cleaned }));\n\n if (cleaned.length === 2 && yearRef.current) {\n yearRef.current.focus();\n }\n return;\n }\n\n if (name === \"expiryYear\") {\n const cleaned = value.replace(/\\D/g, \"\").slice(0, 2);\n const prev = cardDetails.expiryYear;\n setCardDetails((prevState) => ({ ...prevState, expiryYear: cleaned }));\n\n if (cleaned.length === 2 && cvcRef.current) {\n cvcRef.current.focus();\n }\n\n if (prev.length === 1 && cleaned === \"\" && monthRef.current) {\n monthRef.current.focus();\n }\n\n return;\n }\n\n if (name === \"cvv\") {\n const maxLength = detectedCardType === \"american-express\" ? 4 : 3;\n const cleaned = value.replace(/\\D/g, \"\").slice(0, maxLength);\n const prev = cardDetails.cvv;\n setCardDetails((prevState) => ({ ...prevState, cvv: cleaned }));\n\n if (prev.length === 1 && cleaned === \"\" && yearRef.current) {\n yearRef.current.focus();\n }\n\n return;\n }\n\n setCardDetails((prev) => ({ ...prev, [name]: value }));\n };\n\n const handlePinChange = (index: number, value: string) => {\n const newPin = [...pin];\n newPin[index] = value;\n setPin(newPin);\n };\n\n const handleCardPayment = useCallback(async () => {\n const formattedPin = pin.join(\"\");\n const formattedCardNumber =\n cardDetails.number.replaceAll(\" \", \"\") ||\n cardNumberRef.current?.value.replaceAll(\" \", \"\");\n setIsLoading(true);\n try {\n const paymentRequest = {\n client_transaction_reference: initialCheckoutTransactionRef.current,\n amount: parseFloat(userData.amount.toString()),\n currency: userData.currencyCode,\n card_number: formattedCardNumber,\n card_expiry_month: cardDetails.expiryMonth || monthRef.current?.value,\n card_expiry_year: `20${\n cardDetails.expiryYear || yearRef.current?.value\n }`,\n card_cvv: cardDetails.cvv || cvcRef.current?.value,\n card_pin: detectedCardType === \"verve\" ? formattedPin : undefined,\n card_holder_name:\n cardDetails.cardHolderName || cardHolderNameRef.current?.value,\n customer_email: userData.email,\n customer_phone_number: \"+\" + userData.phoneNumber,\n customer_address: userData.customerAddress,\n customer_first_name: userData.firstName,\n customer_last_name: userData.lastName,\n customer_city: userData.customerCity,\n customer_state: userData.customerState,\n customer_country: userData.customerCountry,\n customer_postal_code: userData.customerPostalCode,\n // redirect_url: userData.redirectUrl,\n payment_description: cardDetails.productDescription,\n // webhook_url: userData.webhookUrl,\n device_signature: userData.deviceSignature,\n ip_address: userData.ipAddress,\n metadata_order_id: userData.metadataOrderId,\n metadata_product_info: userData.metadataProductInfo,\n };\n\n const response = await axios.post(\n `https://card.dev.mypaygate.co/api/v1/checkout-sdk/charge`,\n paymentRequest,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n // \"X-Internal-API-Key\": \"checkout-sdk-key-101112\",\n \"X-Business-API-Key\": userData.merchantSecretKey,\n },\n }\n );\n\n if (response.status) {\n setIntiateCardPaymentResponse(response.data);\n }\n } catch (error: any) {\n console.error(\"Payment Error:\", error.response?.data || error.message);\n setIntiateCardPaymentResponse(error.response?.data);\n showSnackbar(\"error\", error.response?.data.error_code, error.response?.data.message);\n } finally {\n setIsLoading(false);\n }\n }, [pin]);\n\n const handleSimulateMomo = useCallback(async () => {\n setIsLoading(true);\n try {\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/simulate-payin`,\n {\n requestHeader: {\n clientId: \"\",\n requestType: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase() + \"-Collections\",\n },\n transactionReference: momoTransactionRef,\n transactionCountry: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase(),\n },\n {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n if (data.responseMessage.toLowerCase() == \"success\") {\n setIsMomoPaymentValidated(true);\n }\n return data;\n } catch (error: any) {\n console.error(\n \"Simulate PayIn Error:\",\n error.response?.data || error.message\n );\n } finally {\n setIsLoading(false);\n }\n }, [momoTransactionRef]);\n\n const handleInitiateMomo = useCallback(async () => {\n setIsLoading(true);\n try {\n const transactionReference = generateSdkTransactionReference();\n setMomoTransactionRef(transactionReference);\n\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/payin`,\n {\n requestHeader: {\n clientId: userData.clientId,\n requestType: \"Collections\",\n },\n customerName: userData.firstName + userData.lastName,\n customerEmail: userData.email,\n customerNumber: mobileMoneyPhone,\n transactionReference: transactionReference,\n transactionDescription: \"\",\n transactionAmount: userData.amount,\n transactionCurrency: userData.transactionCurrency,\n transactionCountry: userData.transactionCurrency?.toUpperCase() === 'GHS' ? 'GH' : userData.transactionCurrency?.toUpperCase(),\n successUrl: \"\",\n errorUrl: \"\",\n cancelUrl: \"\",\n operatorCode: \"\",\n webhookUrl: \"\",\n },\n {\n headers: {\n Accept: \"application/json\",\n \"X-module\": generateXModelHeader(\n userData.amount,\n transactionReference,\n mobileMoneyPhone.toString()\n ),\n \"X-business\": merchantPublickeyBase64,\n \"X-app\": \"checkout\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n setInitiateMomoResponse(data);\n if (data.responseDetails.responseMessage.toLowerCase() !== 'failed') {\n setMobileMoneyStep(\"CALL\");\n }else{\n showSnackbar(\"error\", data.responseDetails.failedReason, \"Please check your account details and try again\")\n }\n } catch (error: any) {\n console.error(\"PayIn Error:\", error.response?.data || error.message);\n } finally {\n setIsLoading(false);\n }\n }, [mobileMoneyPhone]);\n\n const checkMomoTransactionStatus = async () => {\n setIsLoading(true);\n const xModuleBase64 = encodeString(momoTransactionRef);\n const xBusiness64 = encodeString(userData.merchantPublicKey ?? \"\");\n const payload = {\n requestHeader: {\n clientId: \"\",\n requestType: \"GH\" + \"-Collections\",\n },\n transactionReference: momoTransactionRef,\n transactionCountry: \"GH\",\n };\n\n try {\n const { data } = await axios.post(\n `https://subsidiary.dev.mypaygate.co/collection/v1/check-status`,\n payload,\n {\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"X-module\": xModuleBase64,\n \"X-business\": xBusiness64,\n \"X-app\": \"checkout\",\n },\n }\n );\n\n if (data.serverResponse.responseDetails.responseMessage !== \"SUCCESS\") {\n setMobileMoneyStep(\"FAILED\");\n } else {\n setMobileMoneyStep(\"SUCCESS\");\n }\n return data;\n } catch (error: any) {\n console.error(\n \"Error checking status:\",\n error.response?.data || error.message\n );\n throw error;\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleVirtualAccount = useCallback(async () => {\n try {\n const url = `https://virtual-account.dev.mypaygate.co/va/blusalt/v1/paygate/generate_dynamic_virtual_account`;\n\n const payload = {\n account_reference: generateRandomString(),\n business_fk: 24,\n account_category: \"Collection\",\n channel: \"VirtualAccount\",\n expires_in_minutes: 30,\n customer_first_name: userData?.firstName,\n customer_last_name: userData?.lastName,\n customer_email: userData?.email,\n customer_phone_number: \"+\" + userData?.phoneNumber,\n transaction_description: \"\",\n transaction_amount: checkoutResponseData?.data?.transaction_amount,\n };\n const response = await axios.post(url, payload);\n setVirtualResponse(response.data);\n } catch (error) {\n console.error(\"handleVirtualAccount error --> \", error);\n }\n }, [\n checkoutResponseData?.data?.transaction_amount,\n userData?.email,\n userData?.firstName,\n userData?.lastName,\n userData?.phoneNumber,\n ]);\n\n const handleGenerateTransactionRef = () => {\n const transactionRef = generateSdkTransactionReference();\n setInitiateCheckoutTransactionRef(transactionRef);\n initialCheckoutTransactionRef.current = transactionRef;\n\n return transactionRef;\n };\n\n const handlePay = useCallback(async () => {\n const transactionRef = handleGenerateTransactionRef();\n\n setCardTransactionRef(transactionRef);\n try {\n const payload = {\n redirect_url: \"\",\n merchant_key: \"\",\n merchant_reference: userData.merchantReference,\n biller_name: \"\",\n branch_id: \"\",\n payment_link_id: \"\",\n transaction_reference: initialCheckoutTransactionRef.current,\n checkout_amount: userData.amount,\n currency_code: userData.currencyCode,\n first_name: userData.firstName,\n last_name: userData.lastName,\n email_address: userData.email,\n phone_number: userData.phoneNumber,\n country_code: userData.countryCode,\n payment_channel: \"\",\n additional_details: {},\n };\n\n const { data } = await axios.post(\n `https://checkout-be.dev.mypaygate.co/checkout`,\n payload,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization:\n \"UEstMzEtYjc2ZmJmZDljY2ExNDVlYS1xQ243ckk1eWcteWwyTjdQT1o4S09RREhpbVBTYnVVQg==\",\n },\n }\n );\n\n if (data.status) {\n setCheckoutResponseData(data);\n }\n } catch (error) {\n console.error(\"\");\n }\n }, []);\n\n const resetState = () => {\n setCardDetails({\n number: \"\",\n expiryMonth: \"\",\n expiryYear: \"\",\n cvv: \"\",\n cardHolderName: \"\",\n productDescription: \"\",\n });\n setPin([\"\", \"\", \"\", \"\"]);\n setOtp([\"\", \"\", \"\", \"\", \"\", \"\"]);\n setSelectedBank(\"\");\n setOpayStep(\"AUTH\");\n setOpayPhone(\"\");\n setOpayPass(\"\");\n setOpayPassVisible(false);\n setPalmPayStep(\"AUTH\");\n setPalmPayPhone(\"\");\n setPalmPayPass(\"\");\n setPalmPayPassVisible(false);\n setKudaStep(\"AUTH\");\n setKudaEmail(\"\");\n setKudaPass(\"\");\n setKudaPassVisible(false);\n setKudaAccount(\"\");\n setMobileMoneyStep(\"FORM\");\n setMobileMoneyPhone(\"\");\n setMobileMoneyNetwork(\"\");\n setVirtualPaymentStatus({\n message: \"\",\n success: false,\n });\n setInitiateMomoResponse(undefined);\n setVirtualResponse(undefined);\n setIsOtpModal(false);\n setRedirect3DSUrl(null);\n setShow3DSIframe(false);\n setIsPaymanetSuccessful(false);\n setIsPaymanetFailed(false);\n setTimeRemaining(30 * 60);\n setIsMomoPaymentValidated(false);\n };\n\n const formatTime = (seconds: number): string => {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n return `${minutes.toString().padStart(2, \"0\")}:${remainingSeconds\n .toString()\n .padStart(2, \"0\")}`;\n };\n\n const handleVirtualAccountPayment = useCallback(async () => {\n try {\n const url = `https://virtual-account.dev.mypaygate.co/va/blusalt/v1/paygate/fund_virtual_account`;\n\n const { data } = await axios.post(url, {\n account_number: virtualResponse?.data?.account_number,\n amount: checkoutResponseData?.data?.transaction_amount,\n });\n\n setVirtualPaymentStatus(data);\n } catch (error) {\n console.error(\"fund_virtual_account error --> \", error);\n }\n }, [virtualResponse]);\n\n const handleOtp = useCallback(async (value: string) => {\n try {\n const url = `https://card.dev.mypaygate.co/api/v1/checkout-sdk/complete-otp`;\n const requestBody = {\n transaction_reference: initialCheckoutTransactionRef.current,\n otp_code: value,\n };\n\n const response = await axios.post(url, requestBody, {\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-Internal-API-Key\": \"checkout-sdk-key-101112\",\n \"X-Business-API-Key\": userData.merchantSecretKey,\n },\n });\n\n if (response.data.status === \"SUCCESSFUL\") {\n setIsPaymanetSuccessful(true);\n }\n // setIntiateCardPaymentResponse(response.data)\n } catch (error) {\n console.error('handleOtp error -> ', error);\n \n }\n }, []);\n\n const isCardFormComplete = () => {\n const cardNumber =\n cardDetails.number.replace(/\\s/g, \"\") ||\n cardNumberRef.current?.value?.replace(/\\s/g, \"\");\n const expiryMonth = cardDetails.expiryMonth || monthRef.current?.value;\n const expiryYear = cardDetails.expiryYear || yearRef.current?.value;\n const cvv = cardDetails.cvv || cvcRef.current?.value;\n const cardHolderName =\n cardDetails.cardHolderName || cardHolderNameRef.current?.value;\n\n return (\n !!cardNumber &&\n cardNumber.length >= 16 &&\n !!expiryMonth &&\n expiryMonth.length === 2 &&\n !!expiryYear &&\n expiryYear.length === 2 &&\n !!cvv &&\n (cvv.length === 3 ||\n (detectedCardType === \"american-express\" && cvv.length === 4)) &&\n !!cardHolderName\n );\n };\n\n const handleSelectedMethod = () => {\n setStep(\"FORM\");\n setSelectedMethod(\"CARD\");\n };\n\n useEffect(() => {\n handlePay();\n setIsMomoPaymentValidated(false);\n }, []);\n\n useEffect(() => {\n let interval: NodeJS.Timeout;\n\n if (timerActive && timeRemaining > 0) {\n interval = setInterval(() => {\n setTimeRemaining((prevTime) => prevTime - 1);\n }, 1000);\n } else if (timeRemaining === 0) {\n setTimerActive(false);\n }\n\n return () => {\n if (interval) clearInterval(interval);\n };\n }, [timerActive, timeRemaining]);\n\n useEffect(() => {\n let payment =\n checkoutResponseData?.data?.payment_options?.map(\n (value) => value.paymentOption\n ) ?? [];\n setPayments(payment);\n }, [checkoutResponseData]);\n\n useEffect(() => {\n if (selectedMethod === \"BANKTRANSFER\") {\n handleVirtualAccount();\n setTimerActive(true);\n setTimeRemaining(30 * 60);\n }\n }, [selectedMethod, handleVirtualAccount]);\n\n useEffect(() => {\n if (virtualPaymentStatus) {\n setTimerActive(false);\n }\n }, [virtualPaymentStatus]);\n\n useEffect(() => {\n if (intiateCardPaymentResponse?.status && detectedCardType === \"verve\") {\n setIsOtpModal(true);\n } else {\n if (\n intiateCardPaymentResponse?.status === \"PENDING_3DS\" &&\n intiateCardPaymentResponse?.redirect_url_3ds\n ) {\n setRedirect3DSUrl(intiateCardPaymentResponse?.redirect_url_3ds);\n setShow3DSIframe(true);\n showSnackbar(\n \"info\",\n \"3DS authentication\",\n \"3DS authentication required. Please complete the challenge below.\"\n );\n } else {\n if (intiateCardPaymentResponse?.status === \"SUCCESSFUL\") {\n setIsPaymanetSuccessful(true);\n }\n\n if (intiateCardPaymentResponse?.status === \"FAILED\") {\n setIsPaymanetFailed(true);\n\n setTimeout(() => {\n resetState();\n setIsPaymanetFailed(false);\n }, 3000);\n }\n }\n }\n }, [intiateCardPaymentResponse]);\n\n useEffect(() => {\n if (mobileMoneyStep === \"SUCCESS\" || virtualPaymentStatus.success) {\n showSnackbar(\"info\", \"Redirection Notification\", \"You will be redirected in 10 seconds\");\n setTimeout(() => {\n window.open(userData?.merchantSiteUrl, \"_self\");\n }, 10000);\n }\n }, [virtualPaymentStatus, mobileMoneyStep]);\n\n const handleMobileHeaderText = () => {\n if (kudaStep === \"OTP\" || palmpayStep === \"OTP\" || opayStep === \"OTP\") {\n return (\n <MobileTextBox>\n <Header>Enter OTP</Header>\n <BodyText>\n A 6-digit code has been sent to your phone number{\" \"}\n </BodyText>\n </MobileTextBox>\n );\n } else {\n if (selectedMethod === \"CARD\") {\n return (\n <MobileTextBox>\n <MobileHeader>Pay with bank card</MobileHeader>\n <MobileSubText>Enter your card details to pay</MobileSubText>\n </MobileTextBox>\n );\n } else if (selectedMethod === \"USSD\") {\n return (\n <MobileTextBox>\n <MobileHeader>Pay with USSD</MobileHeader>\n <MobileSubText>Select a bank to get the USSD code</MobileSubText>\n </MobileTextBox>\n );\n } else {\n return (\n <MobileTextBox>\n <MobileHeader>Pay via transfer</MobileHeader>\n <MobileSubText>\n Make the transfer to the account below\n </MobileSubText>\n </MobileTextBox>\n );\n }\n }\n };\n\n const BasicAmountInfo = () => {\n return (\n <AmountBoxRow bold>\n <Label>Total Amount</Label>\n <Value>\n {formatAmountWithSymbol(userData.amount, userData.currencyCode)}\n </Value>\n </AmountBoxRow>\n );\n };\n\n const LoadingScreen = () => (\n <FullscreenLoader>\n <Spinner />\n <LoadingText size=\"18px\" weight={500} style={{ marginTop: \"30px\" }}>\n Initializing SDK...\n </LoadingText>\n <LoadingText size=\"14px\" weight={300}>\n Setting up your secure payment environment.\n </LoadingText>\n </FullscreenLoader>\n );\n\n if (!checkoutResponseData) {\n return <LoadingScreen />;\n }\n\n const color = 'red';\n if (color) {\n return (\n <div style={{ background: \"#f0f0f0\", padding: \"2rem\", textAlign: \"center\" }}>\n <h1 style={{ color: \"green\" }}>✅ SDK Loaded</h1>\n <pre>{JSON.stringify(userData, null, 2)}</pre>\n </div>\n );\n }\n\n console.log(\"Got here network\");\n\n return (\n <>\n {!isPaymanetSuccessful &&\n !isPaymanetFailed &&\n !show3DSIframe &&\n !redirect3DSUrl && (\n <Container>\n <Wrapper>\n <Sidebar open={isDrawerOpen}>\n <TitleHeader>Make Payment</TitleHeader>\n <Divider />\n {methods\n .filter((method) => payments.includes(method.value))\n .map((method) => {\n const IconOrUrl = method.icon;\n const selected = selectedMethod === method.value;\n return (\n <Option\n key={method.value}\n selected={selected}\n onClick={() => {\n resetState();\n setSelectedMethod(method.value);\n setStep(\"FORM\");\n }}\n style={{\n backgroundColor: selected ? \"#DED8FB\" : \"transparent\",\n }}\n >\n {typeof IconOrUrl === \"string\" ? (\n <img\n src={IconOrUrl || \"/placeholder.svg\"}\n alt={`${method.label} icon`}\n style={{ width: 24, height: 24, marginRight: 8 }}\n />\n ) : (\n <IconOrUrl\n style={{ marginRight: 8, fontWeight: 500 }}\n color={selected ? \"#28119C\" : \"#52525B\"}\n />\n )}\n {method.label}\n </Option>\n );\n })}\n </Sidebar>\n\n <RightPanel>\n <Box>\n <MenuButton onClick={() => setIsDrawerOpen(true)}>\n <FaArrowLeftIcon />\n </MenuButton>\n {handleMobileHeaderText()}\n </Box>\n {![\"OPAY\", \"PALMPAY\", \"KUDA\", \"MOBILEMONEY\"].includes(\n selectedMethod\n ) &&\n step !== \"PIN\" && <BasicAmountInfo />}\n {payments.includes(\"CARD\") &&\n step === \"FORM\" &&\n selectedMethod === \"CARD\" && (\n <>\n {!show3DSIframe && !redirect3DSUrl && (\n <>\n <CardNumbertext>Card Number</CardNumbertext>\n <CardNumberInputBox>\n <CardNumberInput\n name=\"number\"\n placeholder=\"0000 0000 0000 0000\"\n value={cardDetails.number}\n onChange={handleInputChange}\n ref={cardNumberRef}\n style={{ marginBottom: \"0\" }}\n />\n {detectedCardType ? (\n cardIconsMap[detectedCardType]\n ) : (\n <DefaultCardIcon />\n )}\n </CardNumberInputBox>\n <FlexRow>\n <div>\n <CardNumbertext>Expiry Date</CardNumbertext>\n <div\n style={{\n display: \"flex\",\n width: \"100px\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n maxWidth: \"100px\",\n }}\n >\n <InputWrapper\n width=\"40px\"\n style={{ maxWidth: \"30px\", minWidth: \"30px\" }}\n withSlash={true}\n >\n <Input\n name=\"expiryMonth\"\n placeholder=\"MM\"\n maxLength={2}\n ref={monthRef}\n value={cardDetails.expiryMonth}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n\n {/* <Separator>/</Separator> */}\n\n <InputWrapper\n width=\"40px\"\n style={{ maxWidth: \"30px\", minWidth: \"30px\" }}\n >\n <Input\n name=\"expiryYear\"\n placeholder=\"YY\"\n maxLength={2}\n ref={yearRef}\n value={cardDetails.expiryYear}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n </div>\n </div>\n\n <InputWrapper\n width=\"50px\"\n style={{\n paddingRight: \"24px\",\n maxWidth: \"50px\",\n minWidth: \"50px\",\n }}\n >\n <CardNumbertext>CVV</CardNumbertext>\n <Input\n name=\"cvv\"\n placeholder=\"CVV\"\n maxLength={4}\n ref={cvcRef}\n value={cardDetails.cvv}\n onChange={handleInputChange}\n style={{ marginBottom: \"0\" }}\n />\n </InputWrapper>\n </FlexRow>\n <CardNumbertext>Card Holder Name</CardNumbertext>\n <Input\n name=\"cardHolderName\"\n type=\"text\"\n placeholder=\"Card Holder Name\"\n value={cardDetails.cardHolderName}\n onChange={handleInputChange}\n ref={cardHolderNameRef}\n style={{ marginBottom: \"0\" }}\n />\n <CardNumbertext>Description</CardNumbertext>\n <Input\n name=\"productDescription\"\n type=\"text\"\n placeholder=\"Product Description Optional\"\n value={cardDetails.productDescription}\n onChange={handleInputChange}\n />\n <ConfirmButton\n onClick={() => {\n if (detectedCardType === \"verve\") {\n setStep(\"PIN\");\n } else {\n handleCardPayment();\n }\n }}\n disabled={isLoading || !isCardFormComplete()}\n isDisable={isLoading || !isCardFormComplete()}\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {step === \"PIN\" && detectedCardType === \"verve\" && (\n <>\n {!isOtpModal && (\n <>\n <SectionTitle\n style={{ width: \"100%\", textAlign: \"center\" }}\n >\n Card Pin\n </SectionTitle>\n <PinInputGroup>\n {pin.map((val, i) => (\n <PinInput\n ref={(ref) => {\n pinRefs.current[i] = ref;\n }}\n key={i}\n type=\"password\"\n maxLength={1}\n value={val}\n onChange={(e) => {\n handlePinChange(i, e.target.value);\n if (e.target.value && i < pin.length - 1) {\n pinRefs.current[i + 1]?.focus();\n }\n }}\n />\n ))}\n </PinInputGroup>\n {!intiateCardPaymentResponse?.message.includes(\n \"Duplicate transaction reference\"\n ) && (\n <ConfirmButton\n onClick={() => {\n handleCardPayment();\n }}\n disabled={isLoading}\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n )}\n </>\n )}\n {/* {isOtpModal && (\n <OtpVerification\n setIsOtpModal={setIsOtpModal}\n setOtp={setOtp}\n otp={otp}\n paymentMethod=\"CARD\"\n />\n )} */}\n </>\n )}\n {isOtpModal && (\n <OtpVerification\n setIsOtpModal={setIsOtpModal}\n setOtp={setOtp}\n otp={otp}\n paymentMethod=\"CARD\"\n handleOtp={handleOtp}\n />\n )}\n {intiateCardPaymentResponse?.message.includes(\n \"Duplicate transaction reference\"\n ) && (\n <ConfirmButton\n onClick={() => {\n handleGenerateTransactionRef();\n handleCardPayment();\n }}\n disabled={isLoading}\n >\n {isLoading ? \"Loading...\" : \"Try Again\"}\n </ConfirmButton>\n )}\n\n {payments.includes(\"USSD\") &&\n selectedMethod === \"USSD\" &&\n step === \"FORM\" && (\n <>\n <SectionTitle>Choose bank</SectionTitle>\n <BankSelectXDropdown\n selected={selectedBank}\n onChange={setSelectedBank}\n currency={\"GH\"}\n />\n {selectedBank && (\n <>\n <USSDCode>\n <span>*737*000*1234#</span>\n <FaCopyIcon />\n </USSDCode>\n <p\n style={{\n fontSize: \"14px\",\n marginTop: \"8px\",\n textAlign: \"center\",\n color: \"#666666\",\n }}\n >\n Tap on the code to dial\n </p>\n <ConfirmButton>\n I have made this payment\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {payments.includes(\"BANKTRANSFER\") &&\n step === \"FORM\" &&\n selectedMethod === \"BANKTRANSFER\" && (\n <>\n {!virtualPaymentStatus.success && (\n <SectionTitle>\n Transfer to the account below\n </SectionTitle>\n )}\n\n {!virtualPaymentStatus.success ? (\n <AccountCard>\n <Row isLast={false}>\n <span className=\"label\">ACCOUNT NUMBER</span>\n <span className=\"value\">\n {virtualResponse?.data.account_number}\n <FaCopyIcon />\n </span>\n </Row>\n\n <Row isLast={false}>\n <span className=\"label\">BANK NAME</span>\n <span className=\"value\">\n {virtualResponse?.data.bank_name}\n </span>\n </Row>\n\n {/* <Row isLast={true}>\n <span className=\"label\">BENEFICIARY</span>\n <span className=\"value\">Payment</span>\n </Row> */}\n\n <InfoBanner>\n <FaInfoIcon />\n <span>\n Account number only valid for this transaction\n </span>\n </InfoBanner>\n </AccountCard>\n ) : (\n <AccountCard style={{ textAlign: \"center\", }}>\n <FaSuccessicon />\n <h3>{virtualPaymentStatus.message}</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment has been successfully completed\n </p>\n </AccountCard>\n )}\n {!virtualPaymentStatus.success && (\n <>\n <TimerRow>\n <FaTimerIcon />\n <span>{formatTime(timeRemaining)}</span>\n </TimerRow>\n\n <ConfirmButton\n onClick={() => handleVirtualAccountPayment()}\n >\n I have made this payment\n </ConfirmButton>\n </>\n )}\n </>\n )}\n {payments.includes(\"NQR\") &&\n selectedMethod === \"NQR\" &&\n step === \"FORM\" && (\n <>\n <SectionTitle style={{ textAlign: \"center\" }}>\n Scan the QR code to make payment\n </SectionTitle>\n\n <QRContainer>\n <FaQRCodeIcon />\n </QRContainer>\n\n <ConfirmButton>I have made this payment</ConfirmButton>\n </>\n )}\n {payments.includes(\"OPAY\") &&\n selectedMethod === \"OPAY\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img src={OpayLogo || \"/placeholder.svg\"} alt=\"\" />\n </div>\n\n {opayStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton onClick={() => setOpayStep(\"CREDS\")}>\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {opayStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Ten Digit Phone Number\"\n value={opayPhone}\n onChange={(e) => setOpayPhone(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={opayPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter your 6-digit Opay password\"\n value={opayPass}\n onChange={(e) => setOpayPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setOpayPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={opayPassVisible ? faEyeSlash : faEye}\n color={\"#979797\"}\n fontWeight={500}\n />\n </TogglePassword>\n </PasswordWrapper>\n <NextButton\n disabled={!(opayPhone && opayPass.length === 6)}\n onClick={() => setOpayStep(\"OTP\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {opayStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setOpayStep(\"AUTH\");\n }\n }}\n paymentMethod=\"OPAY\"\n />\n )}\n </>\n )}\n {payments.includes(\"PALMPAY\") &&\n selectedMethod === \"PALMPAY\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img\n src={PalmpayIcon || \"/placeholder.svg\"}\n alt=\"PalmpayIcon\"\n />\n </div>\n\n {palmpayStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton\n onClick={() => setPalmPayStep(\"CREDS\")}\n >\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {palmpayStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Ten Digit Phone Number\"\n value={palmpayPhone}\n onChange={(e) => setPalmPayPhone(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={palmpayPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter your 6-digit Password for your PalmPay account\"\n value={palmpayPass}\n onChange={(e) => setPalmPayPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setPalmPayPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={palmpayPassVisible ? faEyeSlash : faEye}\n color=\"#979797\"\n />\n </TogglePassword>\n </PasswordWrapper>\n\n <NextButton\n disabled={\n !(palmpayPhone && palmpayPass.length === 6)\n }\n onClick={() => setPalmPayStep(\"OTP\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {palmpayStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setPalmPayStep(\"AUTH\");\n }\n }}\n paymentMethod=\"PALMPAY\"\n />\n )}\n </>\n )}\n {payments.includes(\"KUDA\") &&\n selectedMethod === \"KUDA\" &&\n step === \"FORM\" && (\n <>\n <AmountBox\n style={{\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n }}\n >\n <BasicAmountInfo />\n <div\n style={{\n display: \"flex\",\n justifyContent: \"space-between\",\n width: \"100%\",\n marginTop: 8,\n }}\n >\n <span style={{ color: \"#71717A\" }}>\n Merchant Name\n </span>\n <span style={{ fontWeight: 600 }}>\n {userData?.merchantName}\n </span>\n </div>\n </AmountBox>\n\n <div\n style={{\n textAlign: \"center\",\n marginBottom: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n }}\n >\n <img src={KudaLogo || \"/placeholder.svg\"} alt=\"Kuda\" />\n </div>\n\n {kudaStep === \"AUTH\" && (\n <>\n <p style={{ textAlign: \"center\", marginBottom: 24 }}>\n Click the button below to authenticate with your\n bank\n </p>\n <ConfirmButton onClick={() => setKudaStep(\"CREDS\")}>\n Authenticate\n </ConfirmButton>\n </>\n )}\n\n {kudaStep === \"CREDS\" && (\n <OpayBox>\n <StyledInput\n placeholder=\"Enter Your Email\"\n value={kudaEmail}\n onChange={(e) => setKudaEmail(e.target.value)}\n />\n\n <PasswordWrapper>\n <StyledInput\n type={kudaPassVisible ? \"text\" : \"password\"}\n placeholder=\"Enter Your Password\"\n value={kudaPass}\n onChange={(e) => setKudaPass(e.target.value)}\n />\n <TogglePassword\n onClick={() => setKudaPassVisible((v) => !v)}\n >\n <FontAwesomeIcon\n icon={kudaPassVisible ? faEyeSlash : faEye}\n color=\"#979797\"\n />\n </TogglePassword>\n </PasswordWrapper>\n\n <NextButton\n disabled={!(kudaEmail && kudaPass.length > 0)}\n onClick={() => setKudaStep(\"SELECT\")}\n style={{ borderRadius: \"24px\" }}\n >\n Next\n </NextButton>\n </OpayBox>\n )}\n\n {kudaStep === \"SELECT\" && (\n <OpayBox\n style={{\n border: \"2px solid transparent\",\n borderRadius: 16,\n padding: \"0px 20px\",\n }}\n >\n {[\n {\n id: \"WALLET\",\n label: \"Wallet\",\n balance: \"470,000\",\n },\n {\n id: \"OWEALTH\",\n label: \"Owealth\",\n balance: \"470,000\",\n },\n ].map((acc) => (\n <div\n key={acc.id}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"12px 24px\",\n fontWeight: 500,\n color: \"#52525B\",\n cursor: \"pointer\",\n width: \"90%\",\n }}\n onClick={() => setKudaAccount(acc.id as any)}\n >\n <label\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n color: \"#52525B\",\n fontWeight: 400,\n }}\n >\n <input\n type=\"radio\"\n name=\"kudaAcct\"\n checked={kudaAccount === acc.id}\n readOnly\n />\n {acc.label}\n </label>\n <span>{acc.balance}</span>\n </div>\n ))}\n\n <NextButton\n style={{\n margin: \"24px\",\n backgroundColor: \"#41276D\",\n borderRadius: \"24px\",\n }}\n disabled={!kudaAccount}\n onClick={() => setKudaStep(\"OTP\")}\n >\n Pay Now\n </NextButton>\n </OpayBox>\n )}\n\n {kudaStep === \"OTP\" && (\n <OtpVerification\n otp={otp}\n setOtp={setOtp}\n setIsOtpModal={(val) => {\n if (!val) {\n setSelectedMethod(\"CARD\");\n setStep(\"FORM\");\n setKudaStep(\"AUTH\");\n }\n }}\n paymentMethod=\"KUDA\"\n />\n )}\n </>\n )}\n {payments.includes(\"MOBILEMONEY\") &&\n selectedMethod === \"MOBILEMONEY\" &&\n step === \"FORM\" && (\n <>\n <BasicAmountInfo />\n\n {mobileMoneyStep === \"FORM\" && (\n <>\n <label\n style={{\n display: \"block\",\n fontWeight: 400,\n marginBottom: 8,\n color: \"#454D54\",\n fontSize: \"14px\",\n }}\n >\n Choose Network\n </label>\n <NetworkProviderDropdown\n selected={mobileMoneyNetwork}\n onChange={(value) => {\n setMobileMoneyNetwork(value)\n }}\n currency={userData?.countryCode ?? 'GHA'}\n />\n <label\n style={{\n display: \"block\",\n fontWeight: 400,\n marginBottom: 8,\n color: \"#999999\",\n fontSize: \"14px\",\n }}\n >\n Phone number\n </label>\n <Input\n type=\"text\"\n placeholder=\"9012345678\"\n value={mobileMoneyPhone}\n onChange={(e) =>\n setMobileMoneyPhone(e.target.value)\n }\n />\n\n <ConfirmButton\n onClick={() => {\n handleInitiateMomo();\n }}\n disabled={\n !mobileMoneyNetwork ||\n mobileMoneyPhone.length < 10 ||\n isLoading\n }\n isDisable={\n !mobileMoneyNetwork ||\n mobileMoneyPhone.length < 10 ||\n isLoading\n }\n >\n {isLoading ? \"Loading...\" : \"Confirm\"}\n </ConfirmButton>\n </>\n )}\n\n {(mobileMoneyStep === \"CALL\" && initiateMomoResponse?.responseDetails.responseMessage.toLowerCase() !== 'failed') && (\n <>\n <div\n style={{ textAlign: \"center\", margin: \"40px 0\" }}\n >\n <div\n style={{\n width: 80,\n height: 80,\n borderRadius: \"50%\",\n backgroundColor: \"#4f46e5\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n margin: \"0 auto 20px\",\n }}\n >\n <span style={{ fontSize: 32, color: \"white\" }}>\n 📞\n </span>\n </div>\n <p style={{ color: \"#a1a1aa\", fontSize: \"14px\" }}>\n Please kindly complete the payment on your mobile\n phone\n </p>\n </div>\n {!isMomoPaymentValidated && (\n <ConfirmButton\n onClick={() => {\n handleSimulateMomo();\n }}\n >\n Verify Payment\n </ConfirmButton>\n )}\n {isMomoPaymentValidated && (\n <ConfirmButton\n onClick={() => {\n checkMomoTransactionStatus();\n }}\n >\n I have made this payment\n </ConfirmButton>\n )}\n </>\n )}\n\n {mobileMoneyStep === \"SUCCESS\" && (\n <div style={{ textAlign: \"center\" }}>\n <FaSuccessicon />\n <h3>Transaction Successful</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment has been successfully completed\n </p>\n </div>\n )}\n {mobileMoneyStep === \"FAILED\" && (\n <div\n style={{\n textAlign: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n }}\n >\n <RedCircle>✕</RedCircle>\n <h3>Transaction Failed</h3>\n <p style={{ color: \"#666666\", fontSize: \"14px\" }}>\n Your payment was not successful\n </p>\n <NextButton\n onClick={() => {\n setSelectedMethod(\"MOBILEMONEY\");\n setMobileMoneyStep(\"FORM\");\n setMobileMoneyNetwork(\"\");\n setMobileMoneyPhone(\"\");\n }}\n style={{ marginTop: 24 }}\n >\n Try Again\n </NextButton>\n </div>\n )}\n </>\n )}\n </RightPanel>\n </Wrapper>\n <AcceptedCardsBox>\n <span style={{ fontWeight: 600, color: \"rgb(40, 17, 156)\" }}>\n We accept:\n </span>\n <AcceptedCardsInnerBox>\n <VisaIcon width=\"40\" height=\"30\" />\n <MasterCardIcon width=\"40\" height=\"30\" />\n <VerveIcon width=\"40\" height=\"30\" />\n <AmexIcon width=\"40\" height=\"30\" />\n <DiscoverIcon width=\"40\" height=\"30\" />\n </AcceptedCardsInnerBox>\n </AcceptedCardsBox>\n <SecureBox>\n <FaLockIcon />\n <DivBox>\n <span\n style={{ fontWeight: 400, margin: \"0px 5px\", color: \"#000\" }}\n >\n secured by\n </span>\n <span style={{ color: \"#28119C\" }}>Blusalt</span>\n </DivBox>\n </SecureBox>\n {isDrawerOpen && <Overlay onClick={() => setIsDrawerOpen(false)} />}\n </Container>\n )}\n\n {isPaymanetSuccessful && (\n <PaymentSuccessView\n reason={intiateCardPaymentResponse?.message}\n merchantSiteUrl={userData?.merchantSiteUrl}\n />\n )}\n {isPaymanetFailed && (\n <PaymentFailedView\n reason={intiateCardPaymentResponse?.message}\n merchantSiteUrl={userData?.merchantSiteUrl}\n handleReset={resetState}\n handleSelectedMethod={handleSelectedMethod}\n />\n )}\n {show3DSIframe && redirect3DSUrl && (\n <Container>\n <h2>3DS Authentication</h2>\n <Iframe ref={iframeRef} src={redirect3DSUrl} allow=\"fullscreen\" />\n </Container>\n )}\n {SnackbarUI()}\n </>\n );\n};\n\nexport default PaygateCheckoutSdk;\n","export { default as PaygateCheckoutSdk } from '../containers/Payment/PaygateCheckoutSdk';\nexport type {\n MerchantDataProps as UserBasicDataType,\n PaygateCheckoutSdkProps\n } from '../shared/types';\n\n console.log(\":::: Lib Index ::::\");"],"names":["clone_1","clone","matches_1","matches","addMatchingCardsToResults_1","require$$0","require$$1","addMatchingCardsToResults","isValidInputType_1","isValidInputType","findBestMatch_1","findBestMatch","this","require$$2","require$$3","require$$4","_defineProperty","ownKeys","_objectSpread2","PRODUCTION","reactIsModule","propTypesModule","parse","_jsx","_jsxs","css"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20]}
|