@veilgroup/sdk-woro 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../node_modules/tslib/tslib.es6.mjs", "../node_modules/aws-cognito-srp-client/dist/cjs/bigInteger.js", "../node_modules/crypto-js/core.js", "../node_modules/crypto-js/sha256.js", "../node_modules/crypto-js/hmac.js", "../node_modules/crypto-js/hmac-sha256.js", "../node_modules/crypto-js/enc-base64.js", "../node_modules/crypto-js/enc-hex.js", "../node_modules/crypto-js/enc-utf8.js", "../node_modules/aws-cognito-srp-client/dist/cjs/cryptoUtils.js", "../node_modules/aws-cognito-srp-client/dist/cjs/index.js", "../src/index.ts", "../src/client.ts", "../src/errors.ts", "../src/payload.ts"],
4
+ "sourcesContent": ["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\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]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "\"use strict\";\n// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\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\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null)\n this.fromString(a, b);\n}\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null);\n}\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe;\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff, xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff, xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && navigator.appName == \"Microsoft Internet Explorer\") {\n BigInteger.prototype.am = am2;\n dbits = 30;\n}\nelse if (inBrowser && j_lm && navigator.appName != \"Netscape\") {\n BigInteger.prototype.am = am1;\n dbits = 26;\n}\nelse {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nvar BI_RC = [];\nvar rr, vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv)\n BI_RC[rr++] = vv;\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv)\n BI_RC[rr++] = vv;\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv)\n BI_RC[rr++] = vv;\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n// (protected) copy this to r\nfunction copyTo(r) {\n for (var i = this.t - 1; i >= 0; --i)\n r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n}\n// (protected) set from integer value x, -DV <= x < DV\nfunction fromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0)\n this[0] = x;\n else if (x < -1)\n this[0] = x + this.DV;\n else\n this.t = 0;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n// (protected) set from string and radix\nfunction fromString(s, b) {\n var k;\n if (b == 16)\n k = 4;\n else if (b == 8)\n k = 3;\n else if (b == 2)\n k = 1;\n else if (b == 32)\n k = 5;\n else if (b == 4)\n k = 2;\n else\n throw new Error(\"Only radix 2, 4, 8, 16, 32 are supported\");\n this.t = 0;\n this.s = 0;\n var i = s.length, mi = false, sh = 0;\n while (--i >= 0) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\")\n mi = true;\n continue;\n }\n mi = false;\n if (sh == 0)\n this[this.t++] = x;\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = x >> (this.DB - sh);\n }\n else\n this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB)\n sh -= this.DB;\n }\n this.clamp();\n if (mi)\n BigInteger.ZERO.subTo(this, this);\n}\n// (protected) clamp off excess high words\nfunction clamp() {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c)\n --this.t;\n}\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0)\n return \"-\" + this.negate().toString(b);\n var k;\n if (b == 16)\n k = 4;\n else if (b == 8)\n k = 3;\n else if (b == 2)\n k = 1;\n else if (b == 32)\n k = 5;\n else if (b == 4)\n k = 2;\n else\n throw new Error(\"Only radix 2, 4, 8, 16, 32 are supported\");\n var km = (1 << k) - 1;\n var d, m = false, r = \"\", i = this.t;\n var p = this.DB - ((i * this.DB) % k);\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0)\n m = true;\n if (m)\n r += int2char(d);\n }\n }\n return m ? r : \"0\";\n}\n// (public) -this\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0)\n return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0)\n return this.s < 0 ? -r : r;\n while (--i >= 0)\n if ((r = this[i] - a[i]) != 0)\n return r;\n return 0;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1, t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0)\n return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n}\n// (protected) r = this << n*DB\nfunction dlShiftTo(n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i)\n r[i + n] = this[i];\n for (i = n - 1; i >= 0; --i)\n r[i] = 0;\n r.t = this.t + n;\n r.s = this.s;\n}\n// (protected) r = this >> n*DB\nfunction drShiftTo(n, r) {\n for (var i = n; i < this.t; ++i)\n r[i - n] = this[i];\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n// (protected) r = this << n\nfunction lShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB);\n var c = (this.s << bs) & this.DM, i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i)\n r[i] = 0;\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n// (protected) r = this >> n\nfunction rShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0)\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n// (protected) r = this - a\nfunction subTo(a, r) {\n var i = 0, c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1)\n r[i++] = this.DV + c;\n else if (c > 0)\n r[i++] = c;\n r.t = i;\n r.clamp();\n}\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction multiplyTo(a, r) {\n var x = this.abs(), y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0)\n r[i] = 0;\n for (i = 0; i < y.t; ++i)\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n r.s = 0;\n r.clamp();\n if (this.s != a.s)\n BigInteger.ZERO.subTo(r, r);\n}\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction squareTo(r) {\n var x = this.abs();\n var i = (r.t = 2 * x.t);\n while (--i >= 0)\n r[i] = 0;\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >=\n x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0)\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction divRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0)\n return;\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null)\n q.fromInt(0);\n if (r != null)\n this.copyTo(r);\n return;\n }\n if (r == null)\n r = nbi();\n var y = nbi(), ts = this.s, ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0)\n return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;\n var i = r.t, j = i - ys;\n var t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys)\n y[y.t++] = 0;\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd)\n r.subTo(t, r);\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms)\n BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0)\n r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0)\n BigInteger.ZERO.subTo(r, r);\n}\n// (public) this mod a\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0)\n a.subTo(r, r);\n return r;\n}\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction invDigit() {\n if (this.t < 1)\n return 0;\n var x = this[0];\n if ((x & 1) == 0)\n return 0;\n var y = x & 3;\n // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf;\n // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff;\n // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - ((x * y) % this.DV))) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n}\n// (protected) r = this + a\nfunction addTo(a, r) {\n var i = 0, c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0)\n r[i++] = c;\n else if (c < -1)\n r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n// (public) this + a\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n}\n// (public) this - a\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n}\n// (public) this * a\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n// (public) this / a\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n}\n// xR mod m\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0)\n this.m.subTo(r, r);\n return r;\n}\n// x/R mod m\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2)\n // pad x so am has enough room later\n x[x.t++] = 0;\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = (j * this.mpl +\n (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) &\n x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0)\n x.subTo(this.m, x);\n}\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(), r = nbv(1);\n var z = new Montgomery(m);\n var k;\n if (i <= 0)\n return r;\n else if (i < 18)\n k = 1;\n else if (i < 48)\n k = 3;\n else if (i < 144)\n k = 4;\n else if (i < 768)\n k = 5;\n else\n k = 6;\n // precomputation\n var g = [], k1 = k - 1, km = (1 << k) - 1;\n var n = 3;\n g[1] = z.convert(this);\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1, w, is1 = true, r2 = nbi(), t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1)\n w = (e[j] >> (i - k1)) & km;\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0)\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0)\n z.sqrTo(r, r2);\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n var result = z.revert(r);\n if (callback) {\n callback(null, result);\n }\n return result;\n}\n// (public) this^e % m (HAC 14.85)\nfunction bnIsZero() {\n return this.compareTo(BigInteger.ZERO) == 0;\n}\n// protected\nBigInteger.prototype.copyTo = copyTo;\nBigInteger.prototype.fromInt = fromInt;\nBigInteger.prototype.fromString = fromString;\nBigInteger.prototype.clamp = clamp;\nBigInteger.prototype.dlShiftTo = dlShiftTo;\nBigInteger.prototype.drShiftTo = drShiftTo;\nBigInteger.prototype.lShiftTo = lShiftTo;\nBigInteger.prototype.rShiftTo = rShiftTo;\nBigInteger.prototype.subTo = subTo;\nBigInteger.prototype.multiplyTo = multiplyTo;\nBigInteger.prototype.squareTo = squareTo;\nBigInteger.prototype.divRemTo = divRemTo;\nBigInteger.prototype.invDigit = invDigit;\nBigInteger.prototype.addTo = addTo;\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\nBigInteger.prototype.isZero = bnIsZero;\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\nvar bigInt = function (str, radix) {\n return new BigInteger(str, radix);\n};\nexports.default = bigInt;\n", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t var crypto;\n\n\t // Native crypto from window (Browser)\n\t if (typeof window !== 'undefined' && window.crypto) {\n\t crypto = window.crypto;\n\t }\n\n\t // Native crypto in web worker (Browser)\n\t if (typeof self !== 'undefined' && self.crypto) {\n\t crypto = self.crypto;\n\t }\n\n\t // Native crypto from worker\n\t if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t crypto = globalThis.crypto;\n\t }\n\n\t // Native (experimental IE 11) crypto from window (Browser)\n\t if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t crypto = window.msCrypto;\n\t }\n\n\t // Native crypto from global (NodeJS)\n\t if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t crypto = global.crypto;\n\t }\n\n\t // Native crypto import via require (NodeJS)\n\t if (!crypto && typeof require === 'function') {\n\t try {\n\t crypto = require('crypto');\n\t } catch (err) {}\n\t }\n\n\t /*\n\t * Cryptographically secure pseudorandom number generator\n\t *\n\t * As Math.random() is cryptographically not safe to use\n\t */\n\t var cryptoSecureRandomInt = function () {\n\t if (crypto) {\n\t // Use getRandomValues method (Browser)\n\t if (typeof crypto.getRandomValues === 'function') {\n\t try {\n\t return crypto.getRandomValues(new Uint32Array(1))[0];\n\t } catch (err) {}\n\t }\n\n\t // Use randomBytes method (NodeJS)\n\t if (typeof crypto.randomBytes === 'function') {\n\t try {\n\t return crypto.randomBytes(4).readInt32LE();\n\t } catch (err) {}\n\t }\n\t }\n\n\t throw new Error('Native crypto module could not be used to get secure random number.');\n\t };\n\n\t /*\n\t * Local polyfill of Object.create\n\n\t */\n\t var create = Object.create || (function () {\n\t function F() {}\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }());\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var j = 0; j < thatSigBytes; j += 4) {\n\t thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t for (var i = 0; i < nBytes; i += 4) {\n\t words.push(cryptoSecureRandomInt());\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t var processedWords;\n\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var Base = C_lib.Base;\n\t var C_enc = C.enc;\n\t var Utf8 = C_enc.Utf8;\n\t var C_algo = C.algo;\n\n\t /**\n\t * HMAC algorithm.\n\t */\n\t var HMAC = C_algo.HMAC = Base.extend({\n\t /**\n\t * Initializes a newly created HMAC.\n\t *\n\t * @param {Hasher} hasher The hash algorithm to use.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @example\n\t *\n\t * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t */\n\t init: function (hasher, key) {\n\t // Init hasher\n\t hasher = this._hasher = new hasher.init();\n\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof key == 'string') {\n\t key = Utf8.parse(key);\n\t }\n\n\t // Shortcuts\n\t var hasherBlockSize = hasher.blockSize;\n\t var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t // Allow arbitrary length keys\n\t if (key.sigBytes > hasherBlockSizeBytes) {\n\t key = hasher.finalize(key);\n\t }\n\n\t // Clamp excess bits\n\t key.clamp();\n\n\t // Clone key for inner and outer pads\n\t var oKey = this._oKey = key.clone();\n\t var iKey = this._iKey = key.clone();\n\n\t // Shortcuts\n\t var oKeyWords = oKey.words;\n\t var iKeyWords = iKey.words;\n\n\t // XOR keys with pad constants\n\t for (var i = 0; i < hasherBlockSize; i++) {\n\t oKeyWords[i] ^= 0x5c5c5c5c;\n\t iKeyWords[i] ^= 0x36363636;\n\t }\n\t oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this HMAC to its initial state.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.reset();\n\t */\n\t reset: function () {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Reset\n\t hasher.reset();\n\t hasher.update(this._iKey);\n\t },\n\n\t /**\n\t * Updates this HMAC with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {HMAC} This HMAC instance.\n\t *\n\t * @example\n\t *\n\t * hmacHasher.update('message');\n\t * hmacHasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t this._hasher.update(messageUpdate);\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the HMAC computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @example\n\t *\n\t * var hmac = hmacHasher.finalize();\n\t * var hmac = hmacHasher.finalize('message');\n\t * var hmac = hmacHasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Shortcut\n\t var hasher = this._hasher;\n\n\t // Compute HMAC\n\t var innerHash = hasher.finalize(messageUpdate);\n\t hasher.reset();\n\t var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t return hmac;\n\t }\n\t });\n\t}());\n\n\n}));", ";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.HmacSHA256;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var C_enc = C.enc;\n\n\t /**\n\t * Base64 encoding strategy.\n\t */\n\t var Base64 = C_enc.Base64 = {\n\t /**\n\t * Converts a word array to a Base64 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Base64 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\t var map = this._map;\n\n\t // Clamp excess bits\n\t wordArray.clamp();\n\n\t // Convert\n\t var base64Chars = [];\n\t for (var i = 0; i < sigBytes; i += 3) {\n\t var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t }\n\t }\n\n\t // Add padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t while (base64Chars.length % 4) {\n\t base64Chars.push(paddingChar);\n\t }\n\t }\n\n\t return base64Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Base64 string to a word array.\n\t *\n\t * @param {string} base64Str The Base64 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t */\n\t parse: function (base64Str) {\n\t // Shortcuts\n\t var base64StrLength = base64Str.length;\n\t var map = this._map;\n\t var reverseMap = this._reverseMap;\n\n\t if (!reverseMap) {\n\t reverseMap = this._reverseMap = [];\n\t for (var j = 0; j < map.length; j++) {\n\t reverseMap[map.charCodeAt(j)] = j;\n\t }\n\t }\n\n\t // Ignore padding\n\t var paddingChar = map.charAt(64);\n\t if (paddingChar) {\n\t var paddingIndex = base64Str.indexOf(paddingChar);\n\t if (paddingIndex !== -1) {\n\t base64StrLength = paddingIndex;\n\t }\n\t }\n\n\t // Convert\n\t return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t },\n\n\t _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t };\n\n\t function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t var words = [];\n\t var nBytes = 0;\n\t for (var i = 0; i < base64StrLength; i++) {\n\t if (i % 4) {\n\t var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t var bitsCombined = bits1 | bits2;\n\t words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t nBytes++;\n\t }\n\t }\n\t return WordArray.create(words, nBytes);\n\t }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Hex;\n\n}));", ";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS.enc.Utf8;\n\n}));", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.computeSignature = exports.computehkdf = exports.randomValue = exports.hexHash = exports.hash = exports.padHex = void 0;\nvar tslib_1 = require(\"tslib\");\nvar bigInteger_1 = (0, tslib_1.__importDefault)(require(\"./bigInteger\"));\nvar sha256_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/sha256\"));\nvar hmac_sha256_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/hmac-sha256\"));\nvar enc_base64_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-base64\"));\nvar enc_hex_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-hex\"));\nvar enc_utf8_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-utf8\"));\nvar polyFillCrypto = function () {\n // Native crypto from window (Browser)\n if (typeof window !== \"undefined\" && window.crypto) {\n return window.crypto;\n }\n // Native (experimental IE 11) crypto from window (Browser)\n // @ts-expect-error window in IE11 contains msCrypto\n if (typeof window !== \"undefined\" && window.msCrypto) {\n // @ts-expect-error window in IE11 contains msCrypto\n return window.msCrypto;\n }\n // @ts-expect-error require is present in node env\n if (typeof require === \"function\") {\n // @ts-expect-error require is present in node env\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require(\"crypto\").webcrypto;\n }\n};\nvar crypto = polyFillCrypto();\nvar padHex = function (bigInteger) {\n var hashStr = bigInteger.toString(16);\n if (hashStr.length % 2 === 1) {\n hashStr = \"0\".concat(hashStr);\n }\n else if (\"89ABCDEFabcdef\".indexOf(hashStr[0]) !== -1) {\n hashStr = \"00\".concat(hashStr);\n }\n return hashStr;\n};\nexports.padHex = padHex;\nvar hash = function (str) {\n var hashHex = (0, sha256_1.default)(str).toString();\n return new Array(64 - hashHex.length).join(\"0\") + hashHex;\n};\nexports.hash = hash;\nvar hexHash = function (hexStr) {\n return (0, exports.hash)(enc_hex_1.default.parse(hexStr));\n};\nexports.hexHash = hexHash;\nvar getRandomIntFromNativeCrypto = function () {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === \"function\") {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n }\n catch (err) {\n // dont do anything here\n }\n }\n // Use randomBytes method (NodeJS)\n //@ts-expect-error nativeCrypto in NodeJs has randomBytes\n if (typeof crypto.randomBytes === \"function\") {\n try {\n //@ts-expect-error nativeCrypto in NodeJs has randomBytes\n return crypto.randomBytes(4).readInt32LE();\n }\n catch (err) {\n // dont do anything here\n }\n }\n }\n throw new Error(\"Native crypto module could not be used to get secure random number.\");\n};\nvar randomValue = function (nBytes) {\n var words = [];\n for (var i = 0; i < nBytes; i += 4) {\n words.push(getRandomIntFromNativeCrypto());\n }\n // Convert\n var hexChars = [];\n for (var i = 0; i < nBytes; i++) {\n var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n var hexRandom = hexChars.join(\"\");\n var randomInt = (0, bigInteger_1.default)(hexRandom, 16);\n return randomInt;\n};\nexports.randomValue = randomValue;\nvar computehkdf = function (ikm, salt) {\n var infoBits = enc_utf8_1.default\n .parse(\"Caldera Derived Key\")\n .concat(enc_utf8_1.default.parse(String.fromCharCode(1)));\n var prk = (0, hmac_sha256_1.default)(ikm, salt);\n var hmac = (0, hmac_sha256_1.default)(infoBits, prk);\n return enc_hex_1.default.parse(hmac.toString().slice(0, 32));\n};\nexports.computehkdf = computehkdf;\nvar computeSignature = function (message, key) {\n return enc_base64_1.default.stringify((0, hmac_sha256_1.default)(message, key));\n};\nexports.computeSignature = computeSignature;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar bigInteger_1 = (0, tslib_1.__importDefault)(require(\"./bigInteger\"));\nvar cryptoUtils_1 = require(\"./cryptoUtils\");\nvar enc_base64_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-base64\"));\nvar enc_hex_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-hex\"));\nvar enc_utf8_1 = (0, tslib_1.__importDefault)(require(\"crypto-js/enc-utf8\"));\nvar initN = \"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1\" +\n \"29024E088A67CC74020BBEA63B139B22514A08798E3404DD\" +\n \"EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245\" +\n \"E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED\" +\n \"EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D\" +\n \"C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F\" +\n \"83655D23DCA3AD961C62F356208552BB9ED529077096966D\" +\n \"670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B\" +\n \"E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9\" +\n \"DE2BCBF6955817183995497CEA956AE515D2261898FA0510\" +\n \"15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64\" +\n \"ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7\" +\n \"ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B\" +\n \"F12FFA06D98A0864D87602733EC86A64521F2B18177B200C\" +\n \"BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31\" +\n \"43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF\";\nvar Srp = /** @class */ (function () {\n function Srp(poolId) {\n this.g = (0, bigInteger_1.default)(\"2\", 16);\n this.N = (0, bigInteger_1.default)(initN, 16);\n this.k = (0, bigInteger_1.default)((0, cryptoUtils_1.hexHash)((0, cryptoUtils_1.padHex)(this.N) + (0, cryptoUtils_1.padHex)(this.g)), 16);\n this.poolName = poolId.split(\"_\")[1];\n }\n Srp.prototype.getA = function () {\n this.a = (0, cryptoUtils_1.randomValue)(128);\n this.A = this.g.modPow(this.a, this.N);\n if (this.A.mod(this.N).isZero()) {\n new Error(\"Illegal paramater. A mod N cannot be 0.\");\n }\n return this.A.toString(16);\n };\n Srp.prototype.getSignature = function (username, strB, strSalt, secretBlock, password) {\n var B = (0, bigInteger_1.default)(strB, 16);\n if (B.mod(this.N).isZero()) {\n new Error(\"Illegal paramater. B mod N cannot be 0.\");\n }\n var salt = (0, bigInteger_1.default)(strSalt, 16);\n var U = (0, bigInteger_1.default)((0, cryptoUtils_1.hexHash)((0, cryptoUtils_1.padHex)(this.A) + (0, cryptoUtils_1.padHex)(B)), 16);\n if (U.isZero()) {\n throw new Error(\"U cannot be zero.\");\n }\n var usernamePasswordHash = (0, cryptoUtils_1.hash)(enc_utf8_1.default.parse(this.poolName + username + \":\" + password));\n var x = (0, bigInteger_1.default)((0, cryptoUtils_1.hexHash)((0, cryptoUtils_1.padHex)(salt) + usernamePasswordHash), 16);\n var S = B.subtract(this.k.multiply(this.g.modPow(x, this.N))).modPow(this.a.add(U.multiply(x)), this.N);\n var paddedS = (0, cryptoUtils_1.padHex)(S);\n var hkdf = (0, cryptoUtils_1.computehkdf)(enc_hex_1.default.parse(paddedS), enc_hex_1.default.parse((0, cryptoUtils_1.padHex)(U)));\n var timestamp = getNowString();\n var message = enc_utf8_1.default\n .parse(this.poolName)\n .concat(enc_utf8_1.default.parse(username))\n .concat(enc_base64_1.default.parse(secretBlock))\n .concat(enc_utf8_1.default.parse(timestamp));\n var signature = (0, cryptoUtils_1.computeSignature)(message, hkdf);\n return { timestamp: timestamp, signature: signature };\n };\n return Srp;\n}());\nexports.default = Srp;\nvar getNowString = function () {\n var now = new Date();\n var monthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n var weekNames = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n if (hours < 10) {\n hours = \"0\".concat(hours);\n }\n var minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = \"0\".concat(minutes);\n }\n var seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = \"0\".concat(seconds);\n }\n var year = now.getUTCFullYear();\n // ddd MMM D HH:mm:ss UTC YYYY\n var dateNow = \"\".concat(weekDay, \" \").concat(month, \" \").concat(day, \" \").concat(hours, \":\").concat(minutes, \":\").concat(seconds, \" UTC \").concat(year);\n return dateNow;\n};\n", "export { WoroClient, WORO_PRODUCTION_URL } from './client.js';\nexport type {\n AccountBalance,\n AccountOverview,\n CognitoConfig,\n CreatedSecret,\n CreatedWriteToken,\n ReadOptions,\n ReadSecret,\n SecretStatus,\n WriteOptions,\n WriteTokenRecord,\n WoroClientOptions,\n} from './client.js';\nexport { WoroApiError, WoroAuthError, WoroPayloadError } from './errors.js';\nexport {\n WORO_ENVELOPE_CONTENT_TYPE,\n WORO_MAX_PAYLOAD_BYTES,\n decodePayload,\n encodePayload,\n toBytes,\n} from './payload.js';\nexport type { DecodedPayload, EncodedPayload, PayloadOptions, WoroInput } from './payload.js';\n", "import Srp from 'aws-cognito-srp-client';\nimport { WoroApiError, WoroAuthError } from './errors.js';\nimport {\n decodePayload,\n encodePayload,\n type PayloadOptions,\n type WoroInput,\n WORO_MAX_PAYLOAD_BYTES,\n} from './payload.js';\n\nexport const WORO_PRODUCTION_URL = 'https://woro.veilgroup.au';\n\nexport interface CognitoConfig {\n region: string;\n userPoolId: string;\n appClientId: string;\n}\n\nexport interface WoroClientOptions {\n baseUrl?: string;\n writeToken?: string;\n idToken?: string;\n cognito?: CognitoConfig;\n fetch?: typeof fetch;\n}\n\nexport interface WriteOptions extends PayloadOptions {\n writeToken?: string;\n}\n\nexport interface ReadOptions {\n encryptionKey?: Uint8Array;\n}\n\nexport interface CreatedSecret {\n readToken: string;\n expiresAt: string;\n}\n\nexport interface ReadSecret {\n data: Uint8Array;\n contentType: string;\n}\n\nexport interface SecretStatus {\n state: string | null;\n createdAt: string | null;\n expiresAt: string | null;\n uploadedAt: string | null;\n redeemedAt: string | null;\n deletedAt: string | null;\n}\n\nexport interface AccountOverview {\n id: string;\n email?: string;\n status?: string;\n createdAt?: string;\n credits: number;\n [key: string]: unknown;\n}\n\nexport interface AccountBalance {\n credits: number;\n [key: string]: unknown;\n}\n\nexport interface WriteTokenRecord {\n id: string;\n label?: string;\n createdAt?: string;\n active?: boolean;\n [key: string]: unknown;\n}\n\nexport interface CreatedWriteToken {\n id: string;\n token: string;\n label?: string;\n createdAt?: string;\n [key: string]: unknown;\n}\n\nexport class WoroClient {\n readonly baseUrl: string;\n private readonly fetcher: typeof fetch;\n private readonly cognito: CognitoConfig | undefined;\n private writeToken: string | undefined;\n private idToken: string | undefined;\n private idTokenExpiresAt: number | undefined;\n\n constructor(options: WoroClientOptions = {}) {\n this.baseUrl = (options.baseUrl ?? WORO_PRODUCTION_URL).replace(/\\/+$/, '');\n this.writeToken = options.writeToken;\n this.idToken = options.idToken;\n this.cognito = options.cognito;\n this.fetcher = options.fetch ?? fetch;\n }\n\n setWriteToken(token: string | undefined): void {\n this.writeToken = token;\n }\n\n setIdToken(token: string | undefined, expiresInSeconds?: number): void {\n this.idToken = token;\n this.idTokenExpiresAt = token && expiresInSeconds !== undefined\n ? Date.now() + expiresInSeconds * 1000\n : undefined;\n }\n\n signOut(): void {\n this.setIdToken(undefined);\n }\n\n async signIn(username: string, password: string): Promise<{ idToken: string; expiresIn: number }> {\n if (!this.cognito) throw new WoroAuthError('Cognito region, userPoolId, and appClientId are required for sign-in.');\n if (!username || !password) throw new WoroAuthError('A Cognito username and password are required.');\n const srp = new Srp(this.cognito.userPoolId);\n const endpoint = `https://cognito-idp.${this.cognito.region}.amazonaws.com/`;\n const initialResponse = await this.fetcher(endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': 'AWSCognitoIdentityProviderService.InitiateAuth',\n },\n body: JSON.stringify({\n AuthFlow: 'USER_SRP_AUTH',\n ClientId: this.cognito.appClientId,\n AuthParameters: { USERNAME: username, SRP_A: srp.getA() },\n }),\n });\n const initial = await parseCognitoResponse(initialResponse, 'InitiateAuth');\n if (initial.ChallengeName !== 'PASSWORD_VERIFIER') {\n throw new WoroAuthError(`Cognito requires an unsupported challenge (${String(initial.ChallengeName ?? 'unknown')}). This package supports SRP password sign-in without MFA or forced password reset.`);\n }\n const challenge = asRecord(initial.ChallengeParameters);\n const srpUsername = stringField(challenge, 'USER_ID_FOR_SRP') ?? username;\n const srpB = stringField(challenge, 'SRP_B');\n const salt = stringField(challenge, 'SALT');\n const secretBlock = stringField(challenge, 'SECRET_BLOCK');\n const session = stringField(initial, 'Session');\n if (!srpB || !salt || !secretBlock || !session) throw new WoroAuthError('Cognito returned an incomplete SRP challenge.');\n const proof = srp.getSignature(srpUsername, srpB, salt, secretBlock, password);\n const finalResponse = await this.fetcher(endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': 'AWSCognitoIdentityProviderService.RespondToAuthChallenge',\n },\n body: JSON.stringify({\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: this.cognito.appClientId,\n Session: session,\n ChallengeResponses: {\n USERNAME: srpUsername,\n PASSWORD_CLAIM_SECRET_BLOCK: secretBlock,\n PASSWORD_CLAIM_SIGNATURE: proof.signature,\n TIMESTAMP: proof.timestamp,\n },\n }),\n });\n const final = await parseCognitoResponse(finalResponse, 'RespondToAuthChallenge');\n const authResult = asRecord(final.AuthenticationResult);\n const idToken = stringField(authResult, 'IdToken');\n if (!idToken) throw new WoroAuthError('Cognito sign-in did not return an ID token.');\n const expiresIn = numberField(authResult, 'ExpiresIn') ?? 3600;\n this.setIdToken(idToken, expiresIn);\n return { idToken, expiresIn };\n }\n\n async writeSecret(input: WoroInput, options: WriteOptions = {}): Promise<CreatedSecret> {\n const encoded = await encodePayload(input, options);\n if (encoded.bytes.byteLength === 0) throw new TypeError('An empty payload creates an empty slot in WORO. Use createEmptySlot() explicitly.');\n this.assertPayloadSize(encoded.bytes);\n const response = await this.request('/secret', {\n method: 'POST',\n headers: {\n 'content-type': encoded.contentType,\n 'x-api-key': this.getWriteToken(options.writeToken),\n },\n body: new Blob([toArrayBuffer(encoded.bytes)]),\n });\n return await response.json() as CreatedSecret;\n }\n\n async createEmptySlot(writeToken?: string): Promise<CreatedSecret> {\n const response = await this.request('/secret', {\n method: 'POST',\n headers: { 'x-api-key': this.getWriteToken(writeToken) },\n });\n return await response.json() as CreatedSecret;\n }\n\n async fillSecret(readToken: string, input: WoroInput, options: PayloadOptions = {}): Promise<void> {\n const encoded = await encodePayload(input, options);\n if (encoded.bytes.byteLength === 0) throw new TypeError('An empty payload cannot fill a WORO slot.');\n this.assertPayloadSize(encoded.bytes);\n await this.request(`/secret/${encodeURIComponent(readToken)}`, {\n method: 'PUT',\n headers: { 'content-type': encoded.contentType },\n body: new Blob([toArrayBuffer(encoded.bytes)]),\n });\n }\n\n async readSecret(readToken: string, options: ReadOptions = {}): Promise<ReadSecret> {\n const response = await this.request(`/secret/${encodeURIComponent(readToken)}`, { method: 'GET' });\n const bytes = new Uint8Array(await response.arrayBuffer());\n const payload = await decodePayload(bytes, response.headers.get('content-type') ?? 'application/octet-stream', options.encryptionKey);\n return { data: payload.bytes, contentType: payload.contentType };\n }\n\n async deleteSecret(readToken: string): Promise<void> {\n await this.request(`/secret/${encodeURIComponent(readToken)}`, { method: 'DELETE' });\n }\n\n async getSecretStatus(readToken: string): Promise<SecretStatus> {\n const response = await this.request(`/secret/${encodeURIComponent(readToken)}`, {\n method: 'HEAD',\n headers: this.authorizationHeaders(),\n });\n return {\n state: response.headers.get('x-woro-secret-state'),\n createdAt: response.headers.get('x-woro-secret-created-at'),\n expiresAt: response.headers.get('x-woro-secret-expires-at'),\n uploadedAt: response.headers.get('x-woro-secret-uploaded-at'),\n redeemedAt: response.headers.get('x-woro-secret-redeemed-at'),\n deletedAt: response.headers.get('x-woro-secret-deleted-at'),\n };\n }\n\n async getAccount(): Promise<AccountOverview> {\n return await (await this.request('/account', { method: 'GET', headers: this.authorizationHeaders() })).json() as AccountOverview;\n }\n\n async getAccountBalance(): Promise<AccountBalance> {\n return await (await this.request('/account/balance', { method: 'GET', headers: this.authorizationHeaders() })).json() as AccountBalance;\n }\n\n async listWriteTokens(): Promise<WriteTokenRecord[]> {\n const body = await (await this.request('/account/tokens', { method: 'GET', headers: this.authorizationHeaders() })).json();\n if (Array.isArray(body)) return body as WriteTokenRecord[];\n const items = asRecord(body).tokens;\n return Array.isArray(items) ? items as WriteTokenRecord[] : [];\n }\n\n async createWriteToken(label: string): Promise<CreatedWriteToken> {\n const response = await this.request('/account/tokens', {\n method: 'POST',\n headers: { ...this.authorizationHeaders(), 'content-type': 'application/json' },\n body: JSON.stringify({ label }),\n });\n return await response.json() as CreatedWriteToken;\n }\n\n async revokeWriteToken(tokenId: string): Promise<void> {\n await this.request(`/account/tokens/${encodeURIComponent(tokenId)}`, {\n method: 'DELETE',\n headers: this.authorizationHeaders(),\n });\n }\n\n async checkWriteToken(writeToken = this.getWriteToken()): Promise<string | null> {\n const response = await this.request('/account/token', {\n method: 'HEAD',\n headers: { ...this.authorizationHeaders(), 'x-api-key': writeToken },\n });\n return response.headers.get('x-woro-token-state');\n }\n\n private getWriteToken(override?: string): string {\n const token = override ?? this.writeToken;\n if (!token) throw new WoroAuthError('A WORO write token is required for this operation.');\n return token;\n }\n\n private authorizationHeaders(): Record<string, string> {\n if (!this.idToken) throw new WoroAuthError('Sign in to the Cognito account before using this operation.');\n if (this.idTokenExpiresAt !== undefined && Date.now() >= this.idTokenExpiresAt) {\n this.signOut();\n throw new WoroAuthError('The Cognito ID token has expired; sign in again.');\n }\n return { authorization: `Bearer ${this.idToken}` };\n }\n\n private assertPayloadSize(bytes: Uint8Array): void {\n if (bytes.byteLength > WORO_MAX_PAYLOAD_BYTES) {\n throw new WoroApiError(413, `Encoded payload exceeds WORO's ${WORO_MAX_PAYLOAD_BYTES}-byte limit.`,'secret_too_large');\n }\n }\n\n private async request(path: string, init: RequestInit): Promise<Response> {\n const response = await this.fetcher(`${this.baseUrl}${path}`, { ...init, cache: 'no-store' });\n if (!response.ok) throw await apiError(response);\n return response;\n }\n}\n\nasync function parseCognitoResponse(response: Response, operation: string): Promise<Record<string, unknown>> {\n let result: unknown;\n try { result = await response.json(); } catch { result = undefined; }\n if (!response.ok) {\n const body = asRecord(result);\n const code = stringField(body, '__type')?.split('#').pop();\n const message = stringField(body, 'message') ?? `Cognito ${operation} failed with HTTP ${response.status}.`;\n throw new WoroAuthError(message, code);\n }\n return asRecord(result);\n}\n\nasync function apiError(response: Response): Promise<WoroApiError> {\n let code: string | undefined;\n let message = `WORO request failed with HTTP ${response.status}.`;\n try {\n const body = asRecord(await response.json());\n code = stringField(body, 'code') ?? stringField(body, 'error');\n const detail = stringField(body, 'error');\n if (detail && detail.length <= 200) message = detail;\n } catch {\n // Keep error bodies out of exceptions; they may contain untrusted response data.\n }\n return new WoroApiError(response.status, message, code);\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? value as Record<string, unknown>\n : {};\n}\n\nfunction stringField(value: Record<string, unknown>, key: string): string | undefined {\n return typeof value[key] === 'string' ? value[key] as string : undefined;\n}\n\nfunction numberField(value: Record<string, unknown>, key: string): number | undefined {\n return typeof value[key] === 'number' && Number.isFinite(value[key]) ? value[key] as number : undefined;\n}\n\nfunction toArrayBuffer(bytes: Uint8Array): ArrayBuffer {\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n", "export class WoroApiError extends Error {\n constructor(\n public readonly status: number,\n message: string,\n public readonly code?: string,\n ) {\n super(message);\n this.name = 'WoroApiError';\n }\n}\n\nexport class WoroAuthError extends Error {\n constructor(message: string, public readonly code?: string) {\n super(message);\n this.name = 'WoroAuthError';\n }\n}\n\nexport class WoroPayloadError extends Error {\n constructor(message: string, public readonly rawPayload?: Uint8Array) {\n super(message);\n this.name = 'WoroPayloadError';\n }\n}\n", "import { WoroPayloadError } from './errors.js';\n\nexport const WORO_MAX_PAYLOAD_BYTES = 1_048_576;\nexport const WORO_ENVELOPE_CONTENT_TYPE = 'application/vnd.woro.sdk-payload';\nconst MAGIC = new Uint8Array([0x57, 0x4f, 0x52, 0x4f]); // WORO\nconst VERSION = 1;\nconst FLAG_COMPRESSED = 1;\nconst FLAG_ENCRYPTED = 2;\nconst NONCE_BYTES = 12;\nconst TAG_BYTES = 16;\n\nexport type WoroInput = string | Blob | ArrayBuffer | ArrayBufferView;\n\nexport interface PayloadOptions {\n contentType?: string;\n compress?: boolean;\n encryptionKey?: Uint8Array;\n}\n\nexport interface EncodedPayload {\n bytes: Uint8Array;\n contentType: string;\n}\n\nexport interface DecodedPayload {\n bytes: Uint8Array;\n contentType: string;\n}\n\nexport async function toBytes(input: WoroInput): Promise<Uint8Array> {\n if (typeof input === 'string') return new TextEncoder().encode(input);\n if (input instanceof Blob) return new Uint8Array(await input.arrayBuffer());\n if (input instanceof ArrayBuffer) return new Uint8Array(input.slice(0));\n if (ArrayBuffer.isView(input)) {\n return new Uint8Array(input.buffer.slice(input.byteOffset, input.byteOffset + input.byteLength));\n }\n throw new TypeError('Payload must be a string, Blob, ArrayBuffer, or typed array.');\n}\n\nexport async function encodePayload(input: WoroInput, options: PayloadOptions = {}): Promise<EncodedPayload> {\n const original = await toBytes(input);\n if (original.byteLength > WORO_MAX_PAYLOAD_BYTES) {\n throw new WoroPayloadError(`Original payload exceeds WORO's ${WORO_MAX_PAYLOAD_BYTES}-byte limit.`);\n }\n const contentType = options.contentType ?? (input instanceof Blob && input.type ? input.type : typeof input === 'string' ? 'text/plain; charset=utf-8' : 'application/octet-stream');\n const encryptionKey = options.encryptionKey;\n if (encryptionKey && encryptionKey.byteLength !== 32) {\n throw new WoroPayloadError('AES-256-GCM requires a 32-byte encryption key.');\n }\n\n let data = original;\n let compressed = false;\n if (options.compress !== false && original.byteLength > 0) {\n const candidate = await gzip(original);\n const envelopeBytes = 7 + 2 + new TextEncoder().encode(contentType).byteLength;\n const savesBytes = encryptionKey\n ? candidate.byteLength < original.byteLength\n : candidate.byteLength + envelopeBytes < original.byteLength;\n if (savesBytes) {\n data = candidate;\n compressed = true;\n }\n }\n\n if (!compressed && !encryptionKey && contentType.split(';', 1)[0]?.trim().toLowerCase() !== WORO_ENVELOPE_CONTENT_TYPE) {\n return { bytes: original, contentType };\n }\n const mediaType = new TextEncoder().encode(contentType);\n if (mediaType.byteLength > 0xffff) throw new WoroPayloadError('Content-Type is too long to encode.');\n const cleartext = new Uint8Array(2 + mediaType.byteLength + data.byteLength);\n new DataView(cleartext.buffer).setUint16(0, mediaType.byteLength, false);\n cleartext.set(mediaType, 2);\n cleartext.set(data, 2 + mediaType.byteLength);\n\n const flags = (compressed ? FLAG_COMPRESSED : 0) | (encryptionKey ? FLAG_ENCRYPTED : 0);\n const nonce = encryptionKey ? crypto.getRandomValues(new Uint8Array(NONCE_BYTES)) : new Uint8Array(0);\n const header = new Uint8Array(7 + nonce.byteLength);\n header.set(MAGIC, 0);\n header[4] = VERSION;\n header[5] = flags;\n header[6] = nonce.byteLength;\n header.set(nonce, 7);\n\n const body = encryptionKey\n ? new Uint8Array(await crypto.subtle.encrypt(\n { name: 'AES-GCM', iv: asArrayBuffer(nonce), additionalData: asArrayBuffer(header), tagLength: TAG_BYTES * 8 },\n await importAesKey(encryptionKey, ['encrypt']),\n asArrayBuffer(cleartext),\n ))\n : cleartext;\n const bytes = new Uint8Array(header.byteLength + body.byteLength);\n bytes.set(header, 0);\n bytes.set(body, header.byteLength);\n return { bytes, contentType: WORO_ENVELOPE_CONTENT_TYPE };\n}\n\nexport async function decodePayload(bytes: Uint8Array, responseContentType: string, encryptionKey?: Uint8Array): Promise<DecodedPayload> {\n if (responseContentType.split(';', 1)[0]?.trim().toLowerCase() !== WORO_ENVELOPE_CONTENT_TYPE) {\n return { bytes, contentType: responseContentType || 'application/octet-stream' };\n }\n if (bytes.byteLength < 9 || !MAGIC.every((byte, index) => bytes[index] === byte)) {\n throw new WoroPayloadError('The WORO package payload envelope is invalid.');\n }\n const version = bytes[4]!;\n const flags = bytes[5]!;\n const nonceLength = bytes[6]!;\n if (version !== VERSION || (flags & ~(FLAG_COMPRESSED | FLAG_ENCRYPTED)) !== 0) {\n throw new WoroPayloadError('The WORO package payload uses an unsupported envelope version or option.');\n }\n const encrypted = (flags & FLAG_ENCRYPTED) !== 0;\n const compressed = (flags & FLAG_COMPRESSED) !== 0;\n if ((encrypted && nonceLength !== NONCE_BYTES) || (!encrypted && nonceLength !== 0)) {\n throw new WoroPayloadError('The WORO package payload envelope has an invalid nonce.');\n }\n const headerLength = 7 + nonceLength;\n if (bytes.byteLength < headerLength + (encrypted ? TAG_BYTES : 2)) {\n throw new WoroPayloadError('The WORO package payload envelope is truncated.');\n }\n let cleartext = bytes.subarray(headerLength);\n if (encrypted) {\n if (!encryptionKey) throw new WoroPayloadError('This payload is encrypted; provide its 32-byte encryption key.', bytes.slice());\n if (encryptionKey.byteLength !== 32) throw new WoroPayloadError('AES-256-GCM requires a 32-byte encryption key.');\n try {\n cleartext = new Uint8Array(await crypto.subtle.decrypt(\n { name: 'AES-GCM', iv: asArrayBuffer(bytes.subarray(7, headerLength)), additionalData: asArrayBuffer(bytes.subarray(0, headerLength)), tagLength: TAG_BYTES * 8 },\n await importAesKey(encryptionKey, ['decrypt']),\n asArrayBuffer(cleartext),\n ));\n } catch {\n throw new WoroPayloadError('Payload decryption failed; the key is wrong or the data was modified.', bytes.slice());\n }\n } else if (encryptionKey) {\n // Supplying a key for a non-encrypted package payload is almost always a caller mistake.\n }\n\n if (cleartext.byteLength < 2) throw new WoroPayloadError('The WORO package payload metadata is truncated.');\n const mediaTypeLength = new DataView(cleartext.buffer, cleartext.byteOffset, cleartext.byteLength).getUint16(0, false);\n if (cleartext.byteLength < 2 + mediaTypeLength) throw new WoroPayloadError('The WORO package payload media type is truncated.');\n let contentType: string;\n try {\n contentType = new TextDecoder('utf-8', { fatal: true }).decode(cleartext.subarray(2, 2 + mediaTypeLength));\n } catch {\n throw new WoroPayloadError('The WORO package payload media type is invalid.');\n }\n let payload = cleartext.subarray(2 + mediaTypeLength);\n if (compressed) {\n try {\n payload = await gunzip(payload);\n } catch (error) {\n if (error instanceof WoroPayloadError) throw new WoroPayloadError(error.message, bytes.slice());\n throw error;\n }\n if (payload.byteLength > WORO_MAX_PAYLOAD_BYTES) {\n throw new WoroPayloadError(`Decoded payload exceeds WORO's ${WORO_MAX_PAYLOAD_BYTES}-byte limit.`, bytes.slice());\n }\n }\n return { bytes: payload, contentType: contentType || 'application/octet-stream' };\n}\n\nasync function importAesKey(key: Uint8Array, usages: KeyUsage[]): Promise<CryptoKey> {\n return crypto.subtle.importKey('raw', asArrayBuffer(key), { name: 'AES-GCM', length: 256 }, false, usages);\n}\n\nasync function gzip(bytes: Uint8Array): Promise<Uint8Array> {\n if (typeof CompressionStream === 'undefined') throw new WoroPayloadError('This runtime does not provide gzip compression streams.');\n const stream = new Blob([asArrayBuffer(bytes)]).stream().pipeThrough(new CompressionStream('gzip'));\n return await collectStream(stream, WORO_MAX_PAYLOAD_BYTES + 64 * 1024);\n}\n\nasync function gunzip(bytes: Uint8Array): Promise<Uint8Array> {\n if (typeof DecompressionStream === 'undefined') throw new WoroPayloadError('This runtime does not provide gzip decompression streams.');\n try {\n const stream = new Blob([asArrayBuffer(bytes)]).stream().pipeThrough(new DecompressionStream('gzip'));\n return await collectStream(stream, WORO_MAX_PAYLOAD_BYTES);\n } catch (error) {\n if (error instanceof WoroPayloadError) throw error;\n throw new WoroPayloadError('The compressed WORO package payload is invalid.');\n }\n}\n\nasync function collectStream(stream: ReadableStream<Uint8Array>, maxBytes: number): Promise<Uint8Array> {\n const reader = stream.getReader();\n const chunks: Uint8Array[] = [];\n let total = 0;\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n total += value.byteLength;\n if (total > maxBytes) {\n await reader.cancel();\n throw new WoroPayloadError(`Decoded payload exceeds WORO's ${maxBytes}-byte limit.`);\n }\n chunks.push(value);\n }\n } finally {\n reader.releaseLock();\n }\n const output = new Uint8Array(total);\n let offset = 0;\n for (const chunk of chunks) {\n output.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return output;\n}\n\nfunction asArrayBuffer(bytes: Uint8Array): ArrayBuffer {\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength) as ArrayBuffer;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,UAAU,GAAG,GAAG;AAC9B,MAAI,OAAO,MAAM,cAAc,MAAM;AACjC,UAAM,IAAI,UAAU,yBAAyB,OAAO,CAAC,IAAI,+BAA+B;AAC5F,gBAAc,GAAG,CAAC;AAClB,WAAS,KAAK;AAAE,SAAK,cAAc;AAAA,EAAG;AACtC,IAAE,YAAY,MAAM,OAAO,OAAO,OAAO,CAAC,KAAK,GAAG,YAAY,EAAE,WAAW,IAAI,GAAG;AACpF;AAaO,SAAS,OAAO,GAAG,GAAG;AAC3B,MAAI,IAAI,CAAC;AACT,WAAS,KAAK,EAAG,KAAI,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI;AAC9E,MAAE,CAAC,IAAI,EAAE,CAAC;AACd,MAAI,KAAK,QAAQ,OAAO,OAAO,0BAA0B;AACrD,aAAS,IAAI,GAAG,IAAI,OAAO,sBAAsB,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK;AACpE,UAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,UAAU,qBAAqB,KAAK,GAAG,EAAE,CAAC,CAAC;AACzE,UAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,IACxB;AACJ,SAAO;AACT;AAEO,SAAS,WAAW,YAAY,QAAQ,KAAK,MAAM;AACxD,MAAI,IAAI,UAAU,QAAQ,IAAI,IAAI,IAAI,SAAS,SAAS,OAAO,OAAO,OAAO,yBAAyB,QAAQ,GAAG,IAAI,MAAM;AAC3H,MAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa,WAAY,KAAI,QAAQ,SAAS,YAAY,QAAQ,KAAK,IAAI;AAAA,MACxH,UAAS,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,IAAK,KAAI,IAAI,WAAW,CAAC,EAAG,MAAK,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;AAChJ,SAAO,IAAI,KAAK,KAAK,OAAO,eAAe,QAAQ,KAAK,CAAC,GAAG;AAC9D;AAEO,SAAS,QAAQ,YAAY,WAAW;AAC7C,SAAO,SAAU,QAAQ,KAAK;AAAE,cAAU,QAAQ,KAAK,UAAU;AAAA,EAAG;AACtE;AAEO,SAAS,aAAa,MAAM,cAAc,YAAY,WAAW,cAAc,mBAAmB;AACvG,WAAS,OAAO,GAAG;AAAE,QAAI,MAAM,UAAU,OAAO,MAAM,WAAY,OAAM,IAAI,UAAU,mBAAmB;AAAG,WAAO;AAAA,EAAG;AACtH,MAAI,OAAO,UAAU,MAAM,MAAM,SAAS,WAAW,QAAQ,SAAS,WAAW,QAAQ;AACzF,MAAI,SAAS,CAAC,gBAAgB,OAAO,UAAU,QAAQ,IAAI,OAAO,KAAK,YAAY;AACnF,MAAI,aAAa,iBAAiB,SAAS,OAAO,yBAAyB,QAAQ,UAAU,IAAI,IAAI,CAAC;AACtG,MAAI,GAAG,OAAO;AACd,WAAS,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;AAC7C,QAAI,UAAU,CAAC;AACf,aAAS,KAAK,UAAW,SAAQ,CAAC,IAAI,MAAM,WAAW,CAAC,IAAI,UAAU,CAAC;AACvE,aAAS,KAAK,UAAU,OAAQ,SAAQ,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC;AACtE,YAAQ,iBAAiB,SAAU,GAAG;AAAE,UAAI,KAAM,OAAM,IAAI,UAAU,wDAAwD;AAAG,wBAAkB,KAAK,OAAO,KAAK,IAAI,CAAC;AAAA,IAAG;AAC5K,QAAI,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,aAAa,EAAE,KAAK,WAAW,KAAK,KAAK,WAAW,IAAI,IAAI,WAAW,GAAG,GAAG,OAAO;AAC7H,QAAI,SAAS,YAAY;AACrB,UAAI,WAAW,OAAQ;AACvB,UAAI,WAAW,QAAQ,OAAO,WAAW,SAAU,OAAM,IAAI,UAAU,iBAAiB;AACxF,UAAI,IAAI,OAAO,OAAO,GAAG,EAAG,YAAW,MAAM;AAC7C,UAAI,IAAI,OAAO,OAAO,GAAG,EAAG,YAAW,MAAM;AAC7C,UAAI,IAAI,OAAO,OAAO,IAAI,EAAG,cAAa,QAAQ,CAAC;AAAA,IACvD,WACS,IAAI,OAAO,MAAM,GAAG;AACzB,UAAI,SAAS,QAAS,cAAa,QAAQ,CAAC;AAAA,UACvC,YAAW,GAAG,IAAI;AAAA,IAC3B;AAAA,EACJ;AACA,MAAI,OAAQ,QAAO,eAAe,QAAQ,UAAU,MAAM,UAAU;AACpE,SAAO;AACT;AAEO,SAAS,kBAAkB,SAAS,cAAc,OAAO;AAC9D,MAAI,WAAW,UAAU,SAAS;AAClC,WAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC1C,YAAQ,WAAW,aAAa,CAAC,EAAE,KAAK,SAAS,KAAK,IAAI,aAAa,CAAC,EAAE,KAAK,OAAO;AAAA,EAC1F;AACA,SAAO,WAAW,QAAQ;AAC5B;AAEO,SAAS,UAAU,GAAG;AAC3B,SAAO,OAAO,MAAM,WAAW,IAAI,GAAG,OAAO,CAAC;AAChD;AAEO,SAAS,kBAAkB,GAAG,MAAM,QAAQ;AACjD,MAAI,OAAO,SAAS,SAAU,QAAO,KAAK,cAAc,IAAI,OAAO,KAAK,aAAa,GAAG,IAAI;AAC5F,SAAO,OAAO,eAAe,GAAG,QAAQ,EAAE,cAAc,MAAM,OAAO,SAAS,GAAG,OAAO,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC;AACrH;AAEO,SAAS,WAAW,aAAa,eAAe;AACrD,MAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,aAAa,WAAY,QAAO,QAAQ,SAAS,aAAa,aAAa;AAC/H;AAEO,SAAS,UAAU,SAAS,YAAY,GAAG,WAAW;AAC3D,WAAS,MAAM,OAAO;AAAE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,cAAQ,KAAK;AAAA,IAAG,CAAC;AAAA,EAAG;AAC3G,SAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,aAAS,UAAU,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,KAAK,KAAK,CAAC;AAAA,MAAG,SAAS,GAAG;AAAE,eAAO,CAAC;AAAA,MAAG;AAAA,IAAE;AAC1F,aAAS,SAAS,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,MAAG,SAAS,GAAG;AAAE,eAAO,CAAC;AAAA,MAAG;AAAA,IAAE;AAC7F,aAAS,KAAK,QAAQ;AAAE,aAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,IAAG;AAC7G,UAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC;AAAA,EACxE,CAAC;AACH;AAEO,SAAS,YAAY,SAAS,MAAM;AACzC,MAAI,IAAI,EAAE,OAAO,GAAG,MAAM,WAAW;AAAE,QAAI,EAAE,CAAC,IAAI,EAAG,OAAM,EAAE,CAAC;AAAG,WAAO,EAAE,CAAC;AAAA,EAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,OAAO,QAAQ,OAAO,aAAa,aAAa,WAAW,QAAQ,SAAS;AAC/L,SAAO,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,GAAG,OAAO,WAAW,eAAe,EAAE,OAAO,QAAQ,IAAI,WAAW;AAAE,WAAO;AAAA,EAAM,IAAI;AAC1J,WAAS,KAAK,GAAG;AAAE,WAAO,SAAU,GAAG;AAAE,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AAAA,IAAG;AAAA,EAAG;AACjE,WAAS,KAAK,IAAI;AACd,QAAI,EAAG,OAAM,IAAI,UAAU,iCAAiC;AAC5D,WAAO,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,EAAG,KAAI;AAC1C,UAAI,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,OAAO,IAAI,EAAE,QAAQ,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,KAAM,QAAO;AAC3J,UAAI,IAAI,GAAG,EAAG,MAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK;AACtC,cAAQ,GAAG,CAAC,GAAG;AAAA,QACX,KAAK;AAAA,QAAG,KAAK;AAAG,cAAI;AAAI;AAAA,QACxB,KAAK;AAAG,YAAE;AAAS,iBAAO,EAAE,OAAO,GAAG,CAAC,GAAG,MAAM,MAAM;AAAA,QACtD,KAAK;AAAG,YAAE;AAAS,cAAI,GAAG,CAAC;AAAG,eAAK,CAAC,CAAC;AAAG;AAAA,QACxC,KAAK;AAAG,eAAK,EAAE,IAAI,IAAI;AAAG,YAAE,KAAK,IAAI;AAAG;AAAA,QACxC;AACI,cAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI;AAAE,gBAAI;AAAG;AAAA,UAAU;AAC3G,cAAI,GAAG,CAAC,MAAM,MAAM,CAAC,KAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,IAAK;AAAE,cAAE,QAAQ,GAAG,CAAC;AAAG;AAAA,UAAO;AACrF,cAAI,GAAG,CAAC,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG;AAAE,cAAE,QAAQ,EAAE,CAAC;AAAG,gBAAI;AAAI;AAAA,UAAO;AACpE,cAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG;AAAE,cAAE,QAAQ,EAAE,CAAC;AAAG,cAAE,IAAI,KAAK,EAAE;AAAG;AAAA,UAAO;AAClE,cAAI,EAAE,CAAC,EAAG,GAAE,IAAI,IAAI;AACpB,YAAE,KAAK,IAAI;AAAG;AAAA,MACtB;AACA,WAAK,KAAK,KAAK,SAAS,CAAC;AAAA,IAC7B,SAAS,GAAG;AAAE,WAAK,CAAC,GAAG,CAAC;AAAG,UAAI;AAAA,IAAG,UAAE;AAAU,UAAI,IAAI;AAAA,IAAG;AACzD,QAAI,GAAG,CAAC,IAAI,EAAG,OAAM,GAAG,CAAC;AAAG,WAAO,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,MAAM,KAAK;AAAA,EACnF;AACF;AAcO,SAAS,aAAa,GAAG,GAAG;AACjC,WAAS,KAAK,EAAG,KAAI,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,EAAG,iBAAgB,GAAG,GAAG,CAAC;AAC9G;AAEO,SAAS,SAAS,GAAG;AAC1B,MAAI,IAAI,OAAO,WAAW,cAAc,OAAO,UAAU,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI;AAC5E,MAAI,EAAG,QAAO,EAAE,KAAK,CAAC;AACtB,MAAI,KAAK,OAAO,EAAE,WAAW,SAAU,QAAO;AAAA,IAC1C,MAAM,WAAY;AACd,UAAI,KAAK,KAAK,EAAE,OAAQ,KAAI;AAC5B,aAAO,EAAE,OAAO,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE;AAAA,IAC1C;AAAA,EACJ;AACA,QAAM,IAAI,UAAU,IAAI,4BAA4B,iCAAiC;AACvF;AAEO,SAAS,OAAO,GAAG,GAAG;AAC3B,MAAI,IAAI,OAAO,WAAW,cAAc,EAAE,OAAO,QAAQ;AACzD,MAAI,CAAC,EAAG,QAAO;AACf,MAAI,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC/B,MAAI;AACA,YAAQ,MAAM,UAAU,MAAM,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,KAAM,IAAG,KAAK,EAAE,KAAK;AAAA,EAC7E,SACO,OAAO;AAAE,QAAI,EAAE,MAAa;AAAA,EAAG,UACtC;AACI,QAAI;AACA,UAAI,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,QAAQ,GAAI,GAAE,KAAK,CAAC;AAAA,IACnD,UACA;AAAU,UAAI,EAAG,OAAM,EAAE;AAAA,IAAO;AAAA,EACpC;AACA,SAAO;AACT;AAGO,SAAS,WAAW;AACzB,WAAS,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ;AAC3C,SAAK,GAAG,OAAO,OAAO,UAAU,CAAC,CAAC,CAAC;AACvC,SAAO;AACT;AAGO,SAAS,iBAAiB;AAC/B,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK,UAAU,QAAQ,IAAI,IAAI,IAAK,MAAK,UAAU,CAAC,EAAE;AAC7E,WAAS,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI;AACzC,aAAS,IAAI,UAAU,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,QAAQ,IAAI,IAAI,KAAK;AAC1D,QAAE,CAAC,IAAI,EAAE,CAAC;AAClB,SAAO;AACT;AAEO,SAAS,cAAc,IAAI,MAAM,MAAM;AAC5C,MAAI,QAAQ,UAAU,WAAW,EAAG,UAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,KAAK;AACjF,QAAI,MAAM,EAAE,KAAK,OAAO;AACpB,UAAI,CAAC,GAAI,MAAK,MAAM,UAAU,MAAM,KAAK,MAAM,GAAG,CAAC;AACnD,SAAG,CAAC,IAAI,KAAK,CAAC;AAAA,IAClB;AAAA,EACJ;AACA,SAAO,GAAG,OAAO,MAAM,MAAM,UAAU,MAAM,KAAK,IAAI,CAAC;AACzD;AAEO,SAAS,QAAQ,GAAG;AACzB,SAAO,gBAAgB,WAAW,KAAK,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC;AACrE;AAEO,SAAS,iBAAiB,SAAS,YAAY,WAAW;AAC/D,MAAI,CAAC,OAAO,cAAe,OAAM,IAAI,UAAU,sCAAsC;AACrF,MAAI,IAAI,UAAU,MAAM,SAAS,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;AAC5D,SAAO,IAAI,OAAO,QAAQ,OAAO,kBAAkB,aAAa,gBAAgB,QAAQ,SAAS,GAAG,KAAK,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,UAAU,WAAW,GAAG,EAAE,OAAO,aAAa,IAAI,WAAY;AAAE,WAAO;AAAA,EAAM,GAAG;AACtN,WAAS,YAAY,GAAG;AAAE,WAAO,SAAU,GAAG;AAAE,aAAO,QAAQ,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM;AAAA,IAAG;AAAA,EAAG;AAC9F,WAAS,KAAK,GAAG,GAAG;AAAE,QAAI,EAAE,CAAC,GAAG;AAAE,QAAE,CAAC,IAAI,SAAU,GAAG;AAAE,eAAO,IAAI,QAAQ,SAAU,GAAG,GAAG;AAAE,YAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,CAAC;AAAA,QAAG,CAAC;AAAA,MAAG;AAAG,UAAI,EAAG,GAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,IAAG;AAAA,EAAE;AACvK,WAAS,OAAO,GAAG,GAAG;AAAE,QAAI;AAAE,WAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAAA,IAAG,SAAS,GAAG;AAAE,aAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AAAA,IAAG;AAAA,EAAE;AACjF,WAAS,KAAK,GAAG;AAAE,MAAE,iBAAiB,UAAU,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AAAA,EAAG;AACvH,WAAS,QAAQ,OAAO;AAAE,WAAO,QAAQ,KAAK;AAAA,EAAG;AACjD,WAAS,OAAO,OAAO;AAAE,WAAO,SAAS,KAAK;AAAA,EAAG;AACjD,WAAS,OAAO,GAAG,GAAG;AAAE,QAAI,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,OAAQ,QAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAAA,EAAG;AACnF;AAEO,SAAS,iBAAiB,GAAG;AAClC,MAAI,GAAG;AACP,SAAO,IAAI,CAAC,GAAG,KAAK,MAAM,GAAG,KAAK,SAAS,SAAU,GAAG;AAAE,UAAM;AAAA,EAAG,CAAC,GAAG,KAAK,QAAQ,GAAG,EAAE,OAAO,QAAQ,IAAI,WAAY;AAAE,WAAO;AAAA,EAAM,GAAG;AAC1I,WAAS,KAAK,GAAG,GAAG;AAAE,MAAE,CAAC,IAAI,EAAE,CAAC,IAAI,SAAU,GAAG;AAAE,cAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI;AAAA,IAAG,IAAI;AAAA,EAAG;AACvI;AAEO,SAAS,cAAc,GAAG;AAC/B,MAAI,CAAC,OAAO,cAAe,OAAM,IAAI,UAAU,sCAAsC;AACrF,MAAI,IAAI,EAAE,OAAO,aAAa,GAAG;AACjC,SAAO,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,aAAa,aAAa,SAAS,CAAC,IAAI,EAAE,OAAO,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,GAAG,EAAE,OAAO,aAAa,IAAI,WAAY;AAAE,WAAO;AAAA,EAAM,GAAG;AAC9M,WAAS,KAAK,GAAG;AAAE,MAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAU,GAAG;AAAE,aAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAAE,YAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,SAAS,QAAQ,EAAE,MAAM,EAAE,KAAK;AAAA,MAAG,CAAC;AAAA,IAAG;AAAA,EAAG;AAC/J,WAAS,OAAO,SAAS,QAAQ,GAAG,GAAG;AAAE,YAAQ,QAAQ,CAAC,EAAE,KAAK,SAASA,IAAG;AAAE,cAAQ,EAAE,OAAOA,IAAG,MAAM,EAAE,CAAC;AAAA,IAAG,GAAG,MAAM;AAAA,EAAG;AAC7H;AAEO,SAAS,qBAAqB,QAAQ,KAAK;AAChD,MAAI,OAAO,gBAAgB;AAAE,WAAO,eAAe,QAAQ,OAAO,EAAE,OAAO,IAAI,CAAC;AAAA,EAAG,OAAO;AAAE,WAAO,MAAM;AAAA,EAAK;AAC9G,SAAO;AACT;AAiBO,SAAS,aAAa,KAAK;AAChC,MAAI,OAAO,IAAI,WAAY,QAAO;AAClC,MAAI,SAAS,CAAC;AACd,MAAI,OAAO;AAAM,aAAS,IAAI,QAAQ,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAI,EAAE,CAAC,MAAM,UAAW,iBAAgB,QAAQ,KAAK,EAAE,CAAC,CAAC;AAAA;AAC/H,qBAAmB,QAAQ,GAAG;AAC9B,SAAO;AACT;AAEO,SAAS,gBAAgB,KAAK;AACnC,SAAQ,OAAO,IAAI,aAAc,MAAM,EAAE,SAAS,IAAI;AACxD;AAEO,SAAS,uBAAuB,UAAU,OAAO,MAAM,GAAG;AAC/D,MAAI,SAAS,OAAO,CAAC,EAAG,OAAM,IAAI,UAAU,+CAA+C;AAC3F,MAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAG,OAAM,IAAI,UAAU,0EAA0E;AACjL,SAAO,SAAS,MAAM,IAAI,SAAS,MAAM,EAAE,KAAK,QAAQ,IAAI,IAAI,EAAE,QAAQ,MAAM,IAAI,QAAQ;AAC9F;AAEO,SAAS,uBAAuB,UAAU,OAAO,OAAO,MAAM,GAAG;AACtE,MAAI,SAAS,IAAK,OAAM,IAAI,UAAU,gCAAgC;AACtE,MAAI,SAAS,OAAO,CAAC,EAAG,OAAM,IAAI,UAAU,+CAA+C;AAC3F,MAAI,OAAO,UAAU,aAAa,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAG,OAAM,IAAI,UAAU,yEAAyE;AAChL,SAAQ,SAAS,MAAM,EAAE,KAAK,UAAU,KAAK,IAAI,IAAI,EAAE,QAAQ,QAAQ,MAAM,IAAI,UAAU,KAAK,GAAI;AACtG;AAEO,SAAS,sBAAsB,OAAO,UAAU;AACrD,MAAI,aAAa,QAAS,OAAO,aAAa,YAAY,OAAO,aAAa,WAAa,OAAM,IAAI,UAAU,wCAAwC;AACvJ,SAAO,OAAO,UAAU,aAAa,aAAa,QAAQ,MAAM,IAAI,QAAQ;AAC9E;AAEO,SAAS,wBAAwB,KAAK,OAAO,OAAO;AACzD,MAAI,UAAU,QAAQ,UAAU,QAAQ;AACtC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,WAAY,OAAM,IAAI,UAAU,kBAAkB;AACpG,QAAI,SAAS;AACb,QAAI,OAAO;AACT,UAAI,CAAC,OAAO,aAAc,OAAM,IAAI,UAAU,qCAAqC;AACnF,gBAAU,MAAM,OAAO,YAAY;AAAA,IACrC;AACA,QAAI,YAAY,QAAQ;AACtB,UAAI,CAAC,OAAO,QAAS,OAAM,IAAI,UAAU,gCAAgC;AACzE,gBAAU,MAAM,OAAO,OAAO;AAC9B,UAAI,MAAO,SAAQ;AAAA,IACrB;AACA,QAAI,OAAO,YAAY,WAAY,OAAM,IAAI,UAAU,wBAAwB;AAC/E,QAAI,MAAO,WAAU,WAAW;AAAE,UAAI;AAAE,cAAM,KAAK,IAAI;AAAA,MAAG,SAAS,GAAG;AAAE,eAAO,QAAQ,OAAO,CAAC;AAAA,MAAG;AAAA,IAAE;AACpG,QAAI,MAAM,KAAK,EAAE,OAAc,SAAkB,MAAa,CAAC;AAAA,EACjE,WACS,OAAO;AACd,QAAI,MAAM,KAAK,EAAE,OAAO,KAAK,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AAOO,SAAS,mBAAmB,KAAK;AACtC,WAAS,KAAK,GAAG;AACf,QAAI,QAAQ,IAAI,WAAW,IAAI,iBAAiB,GAAG,IAAI,OAAO,0CAA0C,IAAI;AAC5G,QAAI,WAAW;AAAA,EACjB;AACA,MAAI,GAAG,IAAI;AACX,WAAS,OAAO;AACd,WAAO,IAAI,IAAI,MAAM,IAAI,GAAG;AAC1B,UAAI;AACF,YAAI,CAAC,EAAE,SAAS,MAAM,EAAG,QAAO,IAAI,GAAG,IAAI,MAAM,KAAK,CAAC,GAAG,QAAQ,QAAQ,EAAE,KAAK,IAAI;AACrF,YAAI,EAAE,SAAS;AACb,cAAI,SAAS,EAAE,QAAQ,KAAK,EAAE,KAAK;AACnC,cAAI,EAAE,MAAO,QAAO,KAAK,GAAG,QAAQ,QAAQ,MAAM,EAAE,KAAK,MAAM,SAAS,GAAG;AAAE,iBAAK,CAAC;AAAG,mBAAO,KAAK;AAAA,UAAG,CAAC;AAAA,QACxG,MACK,MAAK;AAAA,MACZ,SACO,GAAG;AACR,aAAK,CAAC;AAAA,MACR;AAAA,IACF;AACA,QAAI,MAAM,EAAG,QAAO,IAAI,WAAW,QAAQ,OAAO,IAAI,KAAK,IAAI,QAAQ,QAAQ;AAC/E,QAAI,IAAI,SAAU,OAAM,IAAI;AAAA,EAC9B;AACA,SAAO,KAAK;AACd;AAEO,SAAS,iCAAiC,MAAM,aAAa;AAClE,MAAI,OAAO,SAAS,YAAY,WAAW,KAAK,IAAI,GAAG;AACnD,WAAO,KAAK,QAAQ,oDAAoD,SAAU,GAAG,KAAK,GAAG,KAAK,IAAI;AAClG,aAAO,MAAM,cAAc,SAAS,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,IAAK,IAAI,MAAM,MAAM,GAAG,YAAY,IAAI;AAAA,IAC7G,CAAC;AAAA,EACL;AACA,SAAO;AACT;AA7WA,IAgBI,eAeO,UAyHA,iBA2GP,oBAMA,SA8DA,kBAwCG;AA/WP;AAAA;AAgBA,IAAI,gBAAgB,SAAS,GAAG,GAAG;AACjC,sBAAgB,OAAO,kBAClB,EAAE,WAAW,CAAC,EAAE,aAAa,SAAS,SAAUC,IAAGC,IAAG;AAAE,QAAAD,GAAE,YAAYC;AAAA,MAAG,KAC1E,SAAUD,IAAGC,IAAG;AAAE,iBAAS,KAAKA,GAAG,KAAI,OAAO,UAAU,eAAe,KAAKA,IAAG,CAAC,EAAG,CAAAD,GAAE,CAAC,IAAIC,GAAE,CAAC;AAAA,MAAG;AACpG,aAAO,cAAc,GAAG,CAAC;AAAA,IAC3B;AAUO,IAAI,WAAW,WAAW;AAC/B,iBAAW,OAAO,UAAU,SAASC,UAAS,GAAG;AAC7C,iBAAS,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AACjD,cAAI,UAAU,CAAC;AACf,mBAAS,KAAK,EAAG,KAAI,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,EAAG,GAAE,CAAC,IAAI,EAAE,CAAC;AAAA,QAC/E;AACA,eAAO;AAAA,MACX;AACA,aAAO,SAAS,MAAM,MAAM,SAAS;AAAA,IACvC;AAgHO,IAAI,kBAAkB,OAAO,UAAU,SAAS,GAAG,GAAG,GAAG,IAAI;AAClE,UAAI,OAAO,OAAW,MAAK;AAC3B,UAAI,OAAO,OAAO,yBAAyB,GAAG,CAAC;AAC/C,UAAI,CAAC,SAAS,SAAS,OAAO,CAAC,EAAE,aAAa,KAAK,YAAY,KAAK,eAAe;AAC/E,eAAO,EAAE,YAAY,MAAM,KAAK,WAAW;AAAE,iBAAO,EAAE,CAAC;AAAA,QAAG,EAAE;AAAA,MAChE;AACA,aAAO,eAAe,GAAG,IAAI,IAAI;AAAA,IACnC,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI;AAC1B,UAAI,OAAO,OAAW,MAAK;AAC3B,QAAE,EAAE,IAAI,EAAE,CAAC;AAAA,IACb;AAiGA,IAAI,qBAAqB,OAAO,UAAU,SAAS,GAAG,GAAG;AACvD,aAAO,eAAe,GAAG,WAAW,EAAE,YAAY,MAAM,OAAO,EAAE,CAAC;AAAA,IACpE,KAAK,SAAS,GAAG,GAAG;AAClB,QAAE,SAAS,IAAI;AAAA,IACjB;AAEA,IAAI,UAAU,SAAS,GAAG;AACxB,gBAAU,OAAO,uBAAuB,SAAUC,IAAG;AACnD,YAAI,KAAK,CAAC;AACV,iBAAS,KAAKA,GAAG,KAAI,OAAO,UAAU,eAAe,KAAKA,IAAG,CAAC,EAAG,IAAG,GAAG,MAAM,IAAI;AACjF,eAAO;AAAA,MACT;AACA,aAAO,QAAQ,CAAC;AAAA,IAClB;AAuDA,IAAI,mBAAmB,OAAO,oBAAoB,aAAa,kBAAkB,SAAU,OAAO,YAAY,SAAS;AACrH,UAAI,IAAI,IAAI,MAAM,OAAO;AACzB,aAAO,EAAE,OAAO,mBAAmB,EAAE,QAAQ,OAAO,EAAE,aAAa,YAAY;AAAA,IACjF;AAqCA,IAAO,oBAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;AChZA;AAAA,+DAAAC,UAAA;AAAA;AAiBA,WAAO,eAAeA,UAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAgC5D,aAAS,WAAW,GAAG,GAAG;AACtB,UAAI,KAAK;AACL,aAAK,WAAW,GAAG,CAAC;AAAA,IAC5B;AAEA,aAAS,MAAM;AACX,aAAO,IAAI,WAAW,IAAI;AAAA,IAC9B;AAEA,QAAI;AAEJ,QAAI,SAAS;AACb,QAAI,QAAQ,SAAS,aAAa;AAQlC,aAAS,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAC3B,aAAO,EAAE,KAAK,GAAG;AACb,YAAI,IAAI,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,IAAI;AAC/B,YAAI,KAAK,MAAM,IAAI,QAAS;AAC5B,UAAE,GAAG,IAAI,IAAI;AAAA,MACjB;AACA,aAAO;AAAA,IACX;AAIA,aAAS,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAC3B,UAAI,KAAK,IAAI,OAAQ,KAAK,KAAK;AAC/B,aAAO,EAAE,KAAK,GAAG;AACb,YAAI,IAAI,KAAK,CAAC,IAAI;AAClB,YAAI,IAAI,KAAK,GAAG,KAAK;AACrB,YAAI,IAAI,KAAK,IAAI,IAAI;AACrB,YAAI,KAAK,MAAM,IAAI,UAAW,MAAM,EAAE,CAAC,KAAK,IAAI;AAChD,aAAK,MAAM,OAAO,MAAM,MAAM,KAAK,KAAK,MAAM;AAC9C,UAAE,GAAG,IAAI,IAAI;AAAA,MACjB;AACA,aAAO;AAAA,IACX;AAGA,aAAS,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;AAC3B,UAAI,KAAK,IAAI,OAAQ,KAAK,KAAK;AAC/B,aAAO,EAAE,KAAK,GAAG;AACb,YAAI,IAAI,KAAK,CAAC,IAAI;AAClB,YAAI,IAAI,KAAK,GAAG,KAAK;AACrB,YAAI,IAAI,KAAK,IAAI,IAAI;AACrB,YAAI,KAAK,MAAM,IAAI,UAAW,MAAM,EAAE,CAAC,IAAI;AAC3C,aAAK,KAAK,OAAO,KAAK,MAAM,KAAK;AACjC,UAAE,GAAG,IAAI,IAAI;AAAA,MACjB;AACA,aAAO;AAAA,IACX;AACA,QAAI,YAAY,OAAO,cAAc;AACrC,QAAI,aAAa,QAAQ,UAAU,WAAW,+BAA+B;AACzE,iBAAW,UAAU,KAAK;AAC1B,cAAQ;AAAA,IACZ,WACS,aAAa,QAAQ,UAAU,WAAW,YAAY;AAC3D,iBAAW,UAAU,KAAK;AAC1B,cAAQ;AAAA,IACZ,OACK;AAED,iBAAW,UAAU,KAAK;AAC1B,cAAQ;AAAA,IACZ;AACA,eAAW,UAAU,KAAK;AAC1B,eAAW,UAAU,MAAM,KAAK,SAAS;AACzC,eAAW,UAAU,KAAK,KAAK;AAC/B,QAAI,QAAQ;AACZ,eAAW,UAAU,KAAK,KAAK,IAAI,GAAG,KAAK;AAC3C,eAAW,UAAU,KAAK,QAAQ;AAClC,eAAW,UAAU,KAAK,IAAI,QAAQ;AAEtC,QAAI,QAAQ;AACZ,QAAI,QAAQ,CAAC;AACb,QAAI;AAAJ,QAAQ;AACR,SAAK,IAAI,WAAW,CAAC;AACrB,SAAK,KAAK,GAAG,MAAM,GAAG,EAAE;AACpB,YAAM,IAAI,IAAI;AAClB,SAAK,IAAI,WAAW,CAAC;AACrB,SAAK,KAAK,IAAI,KAAK,IAAI,EAAE;AACrB,YAAM,IAAI,IAAI;AAClB,SAAK,IAAI,WAAW,CAAC;AACrB,SAAK,KAAK,IAAI,KAAK,IAAI,EAAE;AACrB,YAAM,IAAI,IAAI;AAClB,aAAS,SAAS,GAAG;AACjB,aAAO,MAAM,OAAO,CAAC;AAAA,IACzB;AACA,aAAS,MAAM,GAAG,GAAG;AACjB,UAAI,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;AAC7B,aAAO,KAAK,OAAO,KAAK;AAAA,IAC5B;AAEA,aAAS,OAAO,GAAG;AACf,eAAS,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE;AAC/B,UAAE,CAAC,IAAI,KAAK,CAAC;AACjB,QAAE,IAAI,KAAK;AACX,QAAE,IAAI,KAAK;AAAA,IACf;AAEA,aAAS,QAAQ,GAAG;AAChB,WAAK,IAAI;AACT,WAAK,IAAI,IAAI,IAAI,KAAK;AACtB,UAAI,IAAI;AACJ,aAAK,CAAC,IAAI;AAAA,eACL,IAAI;AACT,aAAK,CAAC,IAAI,IAAI,KAAK;AAAA;AAEnB,aAAK,IAAI;AAAA,IACjB;AAEA,aAAS,IAAI,GAAG;AACZ,UAAI,IAAI,IAAI;AACZ,QAAE,QAAQ,CAAC;AACX,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG,GAAG;AACtB,UAAI;AACJ,UAAI,KAAK;AACL,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA;AAEJ,cAAM,IAAI,MAAM,0CAA0C;AAC9D,WAAK,IAAI;AACT,WAAK,IAAI;AACT,UAAI,IAAI,EAAE,QAAQ,KAAK,OAAO,KAAK;AACnC,aAAO,EAAE,KAAK,GAAG;AACb,YAAI,IAAI,MAAM,GAAG,CAAC;AAClB,YAAI,IAAI,GAAG;AACP,cAAI,EAAE,OAAO,CAAC,KAAK;AACf,iBAAK;AACT;AAAA,QACJ;AACA,aAAK;AACL,YAAI,MAAM;AACN,eAAK,KAAK,GAAG,IAAI;AAAA,iBACZ,KAAK,IAAI,KAAK,IAAI;AACvB,eAAK,KAAK,IAAI,CAAC,MAAM,KAAM,KAAM,KAAK,KAAK,MAAO,MAAO;AACzD,eAAK,KAAK,GAAG,IAAI,KAAM,KAAK,KAAK;AAAA,QACrC;AAEI,eAAK,KAAK,IAAI,CAAC,KAAK,KAAK;AAC7B,cAAM;AACN,YAAI,MAAM,KAAK;AACX,gBAAM,KAAK;AAAA,MACnB;AACA,WAAK,MAAM;AACX,UAAI;AACA,mBAAW,KAAK,MAAM,MAAM,IAAI;AAAA,IACxC;AAEA,aAAS,QAAQ;AACb,UAAI,IAAI,KAAK,IAAI,KAAK;AACtB,aAAO,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK;AACrC,UAAE,KAAK;AAAA,IACf;AAEA,aAAS,WAAW,GAAG;AACnB,UAAI,KAAK,IAAI;AACT,eAAO,MAAM,KAAK,OAAO,EAAE,SAAS,CAAC;AACzC,UAAI;AACJ,UAAI,KAAK;AACL,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA,eACC,KAAK;AACV,YAAI;AAAA;AAEJ,cAAM,IAAI,MAAM,0CAA0C;AAC9D,UAAI,MAAM,KAAK,KAAK;AACpB,UAAI,GAAG,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK;AACnC,UAAI,IAAI,KAAK,KAAO,IAAI,KAAK,KAAM;AACnC,UAAI,MAAM,GAAG;AACT,YAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG;AACvC,cAAI;AACJ,cAAI,SAAS,CAAC;AAAA,QAClB;AACA,eAAO,KAAK,GAAG;AACX,cAAI,IAAI,GAAG;AACP,iBAAK,KAAK,CAAC,KAAM,KAAK,KAAK,MAAQ,IAAI;AACvC,iBAAK,KAAK,EAAE,CAAC,MAAM,KAAK,KAAK,KAAK;AAAA,UACtC,OACK;AACD,gBAAK,KAAK,CAAC,MAAM,KAAK,KAAM;AAC5B,gBAAI,KAAK,GAAG;AACR,mBAAK,KAAK;AACV,gBAAE;AAAA,YACN;AAAA,UACJ;AACA,cAAI,IAAI;AACJ,gBAAI;AACR,cAAI;AACA,iBAAK,SAAS,CAAC;AAAA,QACvB;AAAA,MACJ;AACA,aAAO,IAAI,IAAI;AAAA,IACnB;AAEA,aAAS,WAAW;AAChB,UAAI,IAAI,IAAI;AACZ,iBAAW,KAAK,MAAM,MAAM,CAAC;AAC7B,aAAO;AAAA,IACX;AAEA,aAAS,QAAQ;AACb,aAAO,KAAK,IAAI,IAAI,KAAK,OAAO,IAAI;AAAA,IACxC;AAEA,aAAS,YAAY,GAAG;AACpB,UAAI,IAAI,KAAK,IAAI,EAAE;AACnB,UAAI,KAAK;AACL,eAAO;AACX,UAAI,IAAI,KAAK;AACb,UAAI,IAAI,EAAE;AACV,UAAI,KAAK;AACL,eAAO,KAAK,IAAI,IAAI,CAAC,IAAI;AAC7B,aAAO,EAAE,KAAK;AACV,aAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM;AACxB,iBAAO;AACf,aAAO;AAAA,IACX;AAEA,aAAS,MAAM,GAAG;AACd,UAAI,IAAI,GAAG;AACX,WAAK,IAAI,MAAM,OAAO,GAAG;AACrB,YAAI;AACJ,aAAK;AAAA,MACT;AACA,WAAK,IAAI,KAAK,MAAM,GAAG;AACnB,YAAI;AACJ,aAAK;AAAA,MACT;AACA,WAAK,IAAI,KAAK,MAAM,GAAG;AACnB,YAAI;AACJ,aAAK;AAAA,MACT;AACA,WAAK,IAAI,KAAK,MAAM,GAAG;AACnB,YAAI;AACJ,aAAK;AAAA,MACT;AACA,WAAK,IAAI,KAAK,MAAM,GAAG;AACnB,YAAI;AACJ,aAAK;AAAA,MACT;AACA,aAAO;AAAA,IACX;AAEA,aAAS,cAAc;AACnB,UAAI,KAAK,KAAK;AACV,eAAO;AACX,aAAO,KAAK,MAAM,KAAK,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,CAAC,IAAK,KAAK,IAAI,KAAK,EAAG;AAAA,IAC/E;AAEA,aAAS,UAAU,GAAG,GAAG;AACrB,UAAI;AACJ,WAAK,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE;AAC3B,UAAE,IAAI,CAAC,IAAI,KAAK,CAAC;AACrB,WAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE;AACtB,UAAE,CAAC,IAAI;AACX,QAAE,IAAI,KAAK,IAAI;AACf,QAAE,IAAI,KAAK;AAAA,IACf;AAEA,aAAS,UAAU,GAAG,GAAG;AACrB,eAAS,IAAI,GAAG,IAAI,KAAK,GAAG,EAAE;AAC1B,UAAE,IAAI,CAAC,IAAI,KAAK,CAAC;AACrB,QAAE,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC;AAC5B,QAAE,IAAI,KAAK;AAAA,IACf;AAEA,aAAS,SAAS,GAAG,GAAG;AACpB,UAAI,KAAK,IAAI,KAAK;AAClB,UAAI,MAAM,KAAK,KAAK;AACpB,UAAI,MAAM,KAAK,OAAO;AACtB,UAAI,KAAK,KAAK,MAAM,IAAI,KAAK,EAAE;AAC/B,UAAI,IAAK,KAAK,KAAK,KAAM,KAAK,IAAI;AAClC,WAAK,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG;AAC9B,UAAE,IAAI,KAAK,CAAC,IAAK,KAAK,CAAC,KAAK,MAAO;AACnC,aAAK,KAAK,CAAC,IAAI,OAAO;AAAA,MAC1B;AACA,WAAK,IAAI,KAAK,GAAG,KAAK,GAAG,EAAE;AACvB,UAAE,CAAC,IAAI;AACX,QAAE,EAAE,IAAI;AACR,QAAE,IAAI,KAAK,IAAI,KAAK;AACpB,QAAE,IAAI,KAAK;AACX,QAAE,MAAM;AAAA,IACZ;AAEA,aAAS,SAAS,GAAG,GAAG;AACpB,QAAE,IAAI,KAAK;AACX,UAAI,KAAK,KAAK,MAAM,IAAI,KAAK,EAAE;AAC/B,UAAI,MAAM,KAAK,GAAG;AACd,UAAE,IAAI;AACN;AAAA,MACJ;AACA,UAAI,KAAK,IAAI,KAAK;AAClB,UAAI,MAAM,KAAK,KAAK;AACpB,UAAI,MAAM,KAAK,MAAM;AACrB,QAAE,CAAC,IAAI,KAAK,EAAE,KAAK;AACnB,eAAS,IAAI,KAAK,GAAG,IAAI,KAAK,GAAG,EAAE,GAAG;AAClC,UAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO;AACnC,UAAE,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK;AAAA,MAC3B;AACA,UAAI,KAAK;AACL,UAAE,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,OAAO;AAC3C,QAAE,IAAI,KAAK,IAAI;AACf,QAAE,MAAM;AAAA,IACZ;AAEA,aAAS,MAAM,GAAG,GAAG;AACjB,UAAI,IAAI,GAAG,IAAI;AACf,UAAI,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC;AAC5B,aAAO,IAAI,GAAG;AACV,aAAK,KAAK,CAAC,IAAI,EAAE,CAAC;AAClB,UAAE,GAAG,IAAI,IAAI,KAAK;AAClB,cAAM,KAAK;AAAA,MACf;AACA,UAAI,EAAE,IAAI,KAAK,GAAG;AACd,aAAK,EAAE;AACP,eAAO,IAAI,KAAK,GAAG;AACf,eAAK,KAAK,CAAC;AACX,YAAE,GAAG,IAAI,IAAI,KAAK;AAClB,gBAAM,KAAK;AAAA,QACf;AACA,aAAK,KAAK;AAAA,MACd,OACK;AACD,aAAK,KAAK;AACV,eAAO,IAAI,EAAE,GAAG;AACZ,eAAK,EAAE,CAAC;AACR,YAAE,GAAG,IAAI,IAAI,KAAK;AAClB,gBAAM,KAAK;AAAA,QACf;AACA,aAAK,EAAE;AAAA,MACX;AACA,QAAE,IAAI,IAAI,IAAI,KAAK;AACnB,UAAI,IAAI;AACJ,UAAE,GAAG,IAAI,KAAK,KAAK;AAAA,eACd,IAAI;AACT,UAAE,GAAG,IAAI;AACb,QAAE,IAAI;AACN,QAAE,MAAM;AAAA,IACZ;AAGA,aAAS,WAAW,GAAG,GAAG;AACtB,UAAI,IAAI,KAAK,IAAI,GAAG,IAAI,EAAE,IAAI;AAC9B,UAAI,IAAI,EAAE;AACV,QAAE,IAAI,IAAI,EAAE;AACZ,aAAO,EAAE,KAAK;AACV,UAAE,CAAC,IAAI;AACX,WAAK,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE;AACnB,UAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAC3C,QAAE,IAAI;AACN,QAAE,MAAM;AACR,UAAI,KAAK,KAAK,EAAE;AACZ,mBAAW,KAAK,MAAM,GAAG,CAAC;AAAA,IAClC;AAEA,aAAS,SAAS,GAAG;AACjB,UAAI,IAAI,KAAK,IAAI;AACjB,UAAI,IAAK,EAAE,IAAI,IAAI,EAAE;AACrB,aAAO,EAAE,KAAK;AACV,UAAE,CAAC,IAAI;AACX,WAAK,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG;AAC1B,YAAI,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AACpC,aAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,CAAC,MACjE,EAAE,IAAI;AACN,YAAE,IAAI,EAAE,CAAC,KAAK,EAAE;AAChB,YAAE,IAAI,EAAE,IAAI,CAAC,IAAI;AAAA,QACrB;AAAA,MACJ;AACA,UAAI,EAAE,IAAI;AACN,UAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;AAC9C,QAAE,IAAI;AACN,QAAE,MAAM;AAAA,IACZ;AAGA,aAAS,SAAS,GAAG,GAAG,GAAG;AACvB,UAAI,KAAK,EAAE,IAAI;AACf,UAAI,GAAG,KAAK;AACR;AACJ,UAAI,KAAK,KAAK,IAAI;AAClB,UAAI,GAAG,IAAI,GAAG,GAAG;AACb,YAAI,KAAK;AACL,YAAE,QAAQ,CAAC;AACf,YAAI,KAAK;AACL,eAAK,OAAO,CAAC;AACjB;AAAA,MACJ;AACA,UAAI,KAAK;AACL,YAAI,IAAI;AACZ,UAAI,IAAI,IAAI,GAAG,KAAK,KAAK,GAAG,KAAK,EAAE;AACnC,UAAI,MAAM,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC;AAEtC,UAAI,MAAM,GAAG;AACT,WAAG,SAAS,KAAK,CAAC;AAClB,WAAG,SAAS,KAAK,CAAC;AAAA,MACtB,OACK;AACD,WAAG,OAAO,CAAC;AACX,WAAG,OAAO,CAAC;AAAA,MACf;AACA,UAAI,KAAK,EAAE;AACX,UAAI,KAAK,EAAE,KAAK,CAAC;AACjB,UAAI,MAAM;AACN;AACJ,UAAI,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK;AAChE,UAAI,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK;AAC/D,UAAI,IAAI,EAAE,GAAG,IAAI,IAAI;AACrB,UAAI,IAAI,KAAK,OAAO,IAAI,IAAI;AAC5B,QAAE,UAAU,GAAG,CAAC;AAChB,UAAI,EAAE,UAAU,CAAC,KAAK,GAAG;AACrB,UAAE,EAAE,GAAG,IAAI;AACX,UAAE,MAAM,GAAG,CAAC;AAAA,MAChB;AACA,iBAAW,IAAI,UAAU,IAAI,CAAC;AAC9B,QAAE,MAAM,GAAG,CAAC;AAEZ,aAAO,EAAE,IAAI;AACT,UAAE,EAAE,GAAG,IAAI;AACf,aAAO,EAAE,KAAK,GAAG;AAEb,YAAI,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;AAC5E,aAAK,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI;AAEzC,YAAE,UAAU,GAAG,CAAC;AAChB,YAAE,MAAM,GAAG,CAAC;AACZ,iBAAO,EAAE,CAAC,IAAI,EAAE;AACZ,cAAE,MAAM,GAAG,CAAC;AAAA,QACpB;AAAA,MACJ;AACA,UAAI,KAAK,MAAM;AACX,UAAE,UAAU,IAAI,CAAC;AACjB,YAAI,MAAM;AACN,qBAAW,KAAK,MAAM,GAAG,CAAC;AAAA,MAClC;AACA,QAAE,IAAI;AACN,QAAE,MAAM;AACR,UAAI,MAAM;AACN,UAAE,SAAS,KAAK,CAAC;AAErB,UAAI,KAAK;AACL,mBAAW,KAAK,MAAM,GAAG,CAAC;AAAA,IAClC;AAEA,aAAS,MAAM,GAAG;AACd,UAAI,IAAI,IAAI;AACZ,WAAK,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;AAC9B,UAAI,KAAK,IAAI,KAAK,EAAE,UAAU,WAAW,IAAI,IAAI;AAC7C,UAAE,MAAM,GAAG,CAAC;AAChB,aAAO;AAAA,IACX;AAWA,aAAS,WAAW;AAChB,UAAI,KAAK,IAAI;AACT,eAAO;AACX,UAAI,IAAI,KAAK,CAAC;AACd,WAAK,IAAI,MAAM;AACX,eAAO;AACX,UAAI,IAAI,IAAI;AAEZ,UAAK,KAAK,KAAK,IAAI,MAAO,KAAM;AAEhC,UAAK,KAAK,KAAK,IAAI,OAAQ,KAAM;AAEjC,UAAK,KAAK,MAAO,IAAI,SAAU,IAAK,UAAY;AAIhD,UAAK,KAAK,IAAM,IAAI,IAAK,KAAK,MAAQ,KAAK;AAG3C,aAAO,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC;AAAA,IAClC;AACA,aAAS,SAAS,GAAG;AACjB,aAAO,KAAK,UAAU,CAAC,KAAK;AAAA,IAChC;AAEA,aAAS,MAAM,GAAG,GAAG;AACjB,UAAI,IAAI,GAAG,IAAI;AACf,UAAI,IAAI,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC;AAC5B,aAAO,IAAI,GAAG;AACV,aAAK,KAAK,CAAC,IAAI,EAAE,CAAC;AAClB,UAAE,GAAG,IAAI,IAAI,KAAK;AAClB,cAAM,KAAK;AAAA,MACf;AACA,UAAI,EAAE,IAAI,KAAK,GAAG;AACd,aAAK,EAAE;AACP,eAAO,IAAI,KAAK,GAAG;AACf,eAAK,KAAK,CAAC;AACX,YAAE,GAAG,IAAI,IAAI,KAAK;AAClB,gBAAM,KAAK;AAAA,QACf;AACA,aAAK,KAAK;AAAA,MACd,OACK;AACD,aAAK,KAAK;AACV,eAAO,IAAI,EAAE,GAAG;AACZ,eAAK,EAAE,CAAC;AACR,YAAE,GAAG,IAAI,IAAI,KAAK;AAClB,gBAAM,KAAK;AAAA,QACf;AACA,aAAK,EAAE;AAAA,MACX;AACA,QAAE,IAAI,IAAI,IAAI,KAAK;AACnB,UAAI,IAAI;AACJ,UAAE,GAAG,IAAI;AAAA,eACJ,IAAI;AACT,UAAE,GAAG,IAAI,KAAK,KAAK;AACvB,QAAE,IAAI;AACN,QAAE,MAAM;AAAA,IACZ;AAEA,aAAS,MAAM,GAAG;AACd,UAAI,IAAI,IAAI;AACZ,WAAK,MAAM,GAAG,CAAC;AACf,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG;AACnB,UAAI,IAAI,IAAI;AACZ,WAAK,MAAM,GAAG,CAAC;AACf,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG;AACnB,UAAI,IAAI,IAAI;AACZ,WAAK,WAAW,GAAG,CAAC;AACpB,aAAO;AAAA,IACX;AAEA,aAAS,SAAS,GAAG;AACjB,UAAI,IAAI,IAAI;AACZ,WAAK,SAAS,GAAG,GAAG,IAAI;AACxB,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG;AACnB,WAAK,IAAI;AACT,WAAK,KAAK,EAAE,SAAS;AACrB,WAAK,MAAM,KAAK,KAAK;AACrB,WAAK,MAAM,KAAK,MAAM;AACtB,WAAK,MAAM,KAAM,EAAE,KAAK,MAAO;AAC/B,WAAK,MAAM,IAAI,EAAE;AAAA,IACrB;AAEA,aAAS,YAAY,GAAG;AACpB,UAAI,IAAI,IAAI;AACZ,QAAE,IAAI,EAAE,UAAU,KAAK,EAAE,GAAG,CAAC;AAC7B,QAAE,SAAS,KAAK,GAAG,MAAM,CAAC;AAC1B,UAAI,EAAE,IAAI,KAAK,EAAE,UAAU,WAAW,IAAI,IAAI;AAC1C,aAAK,EAAE,MAAM,GAAG,CAAC;AACrB,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG;AACnB,UAAI,IAAI,IAAI;AACZ,QAAE,OAAO,CAAC;AACV,WAAK,OAAO,CAAC;AACb,aAAO;AAAA,IACX;AAEA,aAAS,WAAW,GAAG;AACnB,aAAO,EAAE,KAAK,KAAK;AAEf,UAAE,EAAE,GAAG,IAAI;AACf,eAAS,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG;AAE/B,YAAI,IAAI,EAAE,CAAC,IAAI;AACf,YAAI,KAAM,IAAI,KAAK,QACZ,IAAI,KAAK,OAAO,EAAE,CAAC,KAAK,MAAM,KAAK,MAAO,KAAK,OAAO,MACzD,EAAE;AAEN,YAAI,IAAI,KAAK,EAAE;AACf,UAAE,CAAC,KAAK,KAAK,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAE1C,eAAO,EAAE,CAAC,KAAK,EAAE,IAAI;AACjB,YAAE,CAAC,KAAK,EAAE;AACV,YAAE,EAAE,CAAC;AAAA,QACT;AAAA,MACJ;AACA,QAAE,MAAM;AACR,QAAE,UAAU,KAAK,EAAE,GAAG,CAAC;AACvB,UAAI,EAAE,UAAU,KAAK,CAAC,KAAK;AACvB,UAAE,MAAM,KAAK,GAAG,CAAC;AAAA,IACzB;AAEA,aAAS,UAAU,GAAG,GAAG;AACrB,QAAE,SAAS,CAAC;AACZ,WAAK,OAAO,CAAC;AAAA,IACjB;AAEA,aAAS,UAAU,GAAG,GAAG,GAAG;AACxB,QAAE,WAAW,GAAG,CAAC;AACjB,WAAK,OAAO,CAAC;AAAA,IACjB;AACA,eAAW,UAAU,UAAU;AAC/B,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,QAAQ;AAC7B,eAAW,UAAU,QAAQ;AAE7B,aAAS,SAAS,GAAG,GAAG,UAAU;AAC9B,UAAI,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,CAAC;AAChC,UAAI,IAAI,IAAI,WAAW,CAAC;AACxB,UAAI;AACJ,UAAI,KAAK;AACL,eAAO;AAAA,eACF,IAAI;AACT,YAAI;AAAA,eACC,IAAI;AACT,YAAI;AAAA,eACC,IAAI;AACT,YAAI;AAAA,eACC,IAAI;AACT,YAAI;AAAA;AAEJ,YAAI;AAER,UAAI,IAAI,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,KAAK,KAAK;AACxC,UAAI,IAAI;AACR,QAAE,CAAC,IAAI,EAAE,QAAQ,IAAI;AACrB,UAAI,IAAI,GAAG;AACP,YAAI,KAAK,IAAI;AACb,UAAE,MAAM,EAAE,CAAC,GAAG,EAAE;AAChB,eAAO,KAAK,IAAI;AACZ,YAAE,CAAC,IAAI,IAAI;AACX,YAAE,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B,eAAK;AAAA,QACT;AAAA,MACJ;AACA,UAAI,IAAI,EAAE,IAAI,GAAG,GAAG,MAAM,MAAM,KAAK,IAAI,GAAG;AAC5C,UAAI,MAAM,EAAE,CAAC,CAAC,IAAI;AAClB,aAAO,KAAK,GAAG;AACX,YAAI,KAAK;AACL,cAAK,EAAE,CAAC,KAAM,IAAI,KAAO;AAAA,aACxB;AACD,eAAK,EAAE,CAAC,KAAM,KAAM,IAAI,KAAM,MAAQ,KAAK;AAC3C,cAAI,IAAI;AACJ,iBAAK,EAAE,IAAI,CAAC,KAAM,KAAK,KAAK,IAAI;AAAA,QACxC;AACA,YAAI;AACJ,gBAAQ,IAAI,MAAM,GAAG;AACjB,gBAAM;AACN,YAAE;AAAA,QACN;AACA,aAAK,KAAK,KAAK,GAAG;AACd,eAAK,KAAK;AACV,YAAE;AAAA,QACN;AACA,YAAI,KAAK;AAEL,YAAE,CAAC,EAAE,OAAO,CAAC;AACb,gBAAM;AAAA,QACV,OACK;AACD,iBAAO,IAAI,GAAG;AACV,cAAE,MAAM,GAAG,EAAE;AACb,cAAE,MAAM,IAAI,CAAC;AACb,iBAAK;AAAA,UACT;AACA,cAAI,IAAI;AACJ,cAAE,MAAM,GAAG,EAAE;AAAA,eACZ;AACD,gBAAI;AACJ,gBAAI;AACJ,iBAAK;AAAA,UACT;AACA,YAAE,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC;AAAA,QACvB;AACA,eAAO,KAAK,MAAM,EAAE,CAAC,IAAK,KAAK,MAAO,GAAG;AACrC,YAAE,MAAM,GAAG,EAAE;AACb,cAAI;AACJ,cAAI;AACJ,eAAK;AACL,cAAI,EAAE,IAAI,GAAG;AACT,gBAAI,KAAK,KAAK;AACd,cAAE;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,SAAS,EAAE,OAAO,CAAC;AACvB,UAAI,UAAU;AACV,iBAAS,MAAM,MAAM;AAAA,MACzB;AACA,aAAO;AAAA,IACX;AAEA,aAAS,WAAW;AAChB,aAAO,KAAK,UAAU,WAAW,IAAI,KAAK;AAAA,IAC9C;AAEA,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,UAAU;AAC/B,eAAW,UAAU,aAAa;AAClC,eAAW,UAAU,QAAQ;AAC7B,eAAW,UAAU,YAAY;AACjC,eAAW,UAAU,YAAY;AACjC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,QAAQ;AAC7B,eAAW,UAAU,aAAa;AAClC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,QAAQ;AAE7B,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,MAAM;AAC3B,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,YAAY;AACjC,eAAW,UAAU,YAAY;AACjC,eAAW,UAAU,MAAM;AAC3B,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,MAAM;AAC3B,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,WAAW;AAChC,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,SAAS;AAC9B,eAAW,UAAU,SAAS;AAE9B,eAAW,OAAO,IAAI,CAAC;AACvB,eAAW,MAAM,IAAI,CAAC;AACtB,QAAI,SAAS,SAAU,KAAK,OAAO;AAC/B,aAAO,IAAI,WAAW,KAAK,KAAK;AAAA,IACpC;AACA,IAAAA,SAAQ,UAAU;AAAA;AAAA;;;ACpyBlB;AAAA,mCAAAC,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ;AAAA,MACpC,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,GAAG,OAAO;AAAA,MACnB,OACK;AAEJ,aAAK,WAAW,QAAQ;AAAA,MACzB;AAAA,IACD,GAAEA,UAAM,WAAY;AAOnB,UAAI,WAAW,aAAa,SAAUE,OAAMC,YAAW;AAEnD,YAAIC;AAGJ,YAAI,OAAO,WAAW,eAAe,OAAO,QAAQ;AAChD,UAAAA,UAAS,OAAO;AAAA,QACpB;AAGA,YAAI,OAAO,SAAS,eAAe,KAAK,QAAQ;AAC5C,UAAAA,UAAS,KAAK;AAAA,QAClB;AAGA,YAAI,OAAO,eAAe,eAAe,WAAW,QAAQ;AACxD,UAAAA,UAAS,WAAW;AAAA,QACxB;AAGA,YAAI,CAACA,WAAU,OAAO,WAAW,eAAe,OAAO,UAAU;AAC7D,UAAAA,UAAS,OAAO;AAAA,QACpB;AAGA,YAAI,CAACA,WAAU,OAAO,WAAW,eAAe,OAAO,QAAQ;AAC3D,UAAAA,UAAS,OAAO;AAAA,QACpB;AAGA,YAAI,CAACA,WAAU,OAAO,YAAY,YAAY;AAC1C,cAAI;AACA,YAAAA,UAAS,QAAQ,QAAQ;AAAA,UAC7B,SAAS,KAAK;AAAA,UAAC;AAAA,QACnB;AAOA,YAAI,wBAAwB,WAAY;AACpC,cAAIA,SAAQ;AAER,gBAAI,OAAOA,QAAO,oBAAoB,YAAY;AAC9C,kBAAI;AACA,uBAAOA,QAAO,gBAAgB,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC;AAAA,cACvD,SAAS,KAAK;AAAA,cAAC;AAAA,YACnB;AAGA,gBAAI,OAAOA,QAAO,gBAAgB,YAAY;AAC1C,kBAAI;AACA,uBAAOA,QAAO,YAAY,CAAC,EAAE,YAAY;AAAA,cAC7C,SAAS,KAAK;AAAA,cAAC;AAAA,YACnB;AAAA,UACJ;AAEA,gBAAM,IAAI,MAAM,qEAAqE;AAAA,QACzF;AAMA,YAAI,SAAS,OAAO,UAAW,4BAAY;AACvC,mBAAS,IAAI;AAAA,UAAC;AAEd,iBAAO,SAAU,KAAK;AAClB,gBAAI;AAEJ,cAAE,YAAY;AAEd,sBAAU,IAAI,EAAE;AAEhB,cAAE,YAAY;AAEd,mBAAO;AAAA,UACX;AAAA,QACJ,GAAE;AAKF,YAAI,IAAI,CAAC;AAKT,YAAI,QAAQ,EAAE,MAAM,CAAC;AAKrB,YAAI,OAAO,MAAM,OAAQ,4BAAY;AAGjC,iBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAmBH,QAAQ,SAAU,WAAW;AAEzB,kBAAI,UAAU,OAAO,IAAI;AAGzB,kBAAI,WAAW;AACX,wBAAQ,MAAM,SAAS;AAAA,cAC3B;AAGA,kBAAI,CAAC,QAAQ,eAAe,MAAM,KAAK,KAAK,SAAS,QAAQ,MAAM;AAC/D,wBAAQ,OAAO,WAAY;AACvB,0BAAQ,OAAO,KAAK,MAAM,MAAM,SAAS;AAAA,gBAC7C;AAAA,cACJ;AAGA,sBAAQ,KAAK,YAAY;AAGzB,sBAAQ,SAAS;AAEjB,qBAAO;AAAA,YACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAcA,QAAQ,WAAY;AAChB,kBAAI,WAAW,KAAK,OAAO;AAC3B,uBAAS,KAAK,MAAM,UAAU,SAAS;AAEvC,qBAAO;AAAA,YACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAcA,MAAM,WAAY;AAAA,YAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAaA,OAAO,SAAU,YAAY;AACzB,uBAAS,gBAAgB,YAAY;AACjC,oBAAI,WAAW,eAAe,YAAY,GAAG;AACzC,uBAAK,YAAY,IAAI,WAAW,YAAY;AAAA,gBAChD;AAAA,cACJ;AAGA,kBAAI,WAAW,eAAe,UAAU,GAAG;AACvC,qBAAK,WAAW,WAAW;AAAA,cAC/B;AAAA,YACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAWA,OAAO,WAAY;AACf,qBAAO,KAAK,KAAK,UAAU,OAAO,IAAI;AAAA,YAC1C;AAAA,UACJ;AAAA,QACJ,GAAE;AAQF,YAAI,YAAY,MAAM,YAAY,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAa1C,MAAM,SAAU,OAAO,UAAU;AAC7B,oBAAQ,KAAK,QAAQ,SAAS,CAAC;AAE/B,gBAAI,YAAYD,YAAW;AACvB,mBAAK,WAAW;AAAA,YACpB,OAAO;AACH,mBAAK,WAAW,MAAM,SAAS;AAAA,YACnC;AAAA,UACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,UAAU,SAAU,SAAS;AACzB,oBAAQ,WAAW,KAAK,UAAU,IAAI;AAAA,UAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAaA,QAAQ,SAAU,WAAW;AAEzB,gBAAI,YAAY,KAAK;AACrB,gBAAI,YAAY,UAAU;AAC1B,gBAAI,eAAe,KAAK;AACxB,gBAAI,eAAe,UAAU;AAG7B,iBAAK,MAAM;AAGX,gBAAI,eAAe,GAAG;AAElB,uBAAS,IAAI,GAAG,IAAI,cAAc,KAAK;AACnC,oBAAI,WAAY,UAAU,MAAM,CAAC,MAAO,KAAM,IAAI,IAAK,IAAM;AAC7D,0BAAW,eAAe,MAAO,CAAC,KAAK,YAAa,MAAO,eAAe,KAAK,IAAK;AAAA,cACxF;AAAA,YACJ,OAAO;AAEH,uBAAS,IAAI,GAAG,IAAI,cAAc,KAAK,GAAG;AACtC,0BAAW,eAAe,MAAO,CAAC,IAAI,UAAU,MAAM,CAAC;AAAA,cAC3D;AAAA,YACJ;AACA,iBAAK,YAAY;AAGjB,mBAAO;AAAA,UACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASA,OAAO,WAAY;AAEf,gBAAI,QAAQ,KAAK;AACjB,gBAAI,WAAW,KAAK;AAGpB,kBAAM,aAAa,CAAC,KAAK,cAAe,KAAM,WAAW,IAAK;AAC9D,kBAAM,SAASD,MAAK,KAAK,WAAW,CAAC;AAAA,UACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWA,OAAO,WAAY;AACf,gBAAI,QAAQ,KAAK,MAAM,KAAK,IAAI;AAChC,kBAAM,QAAQ,KAAK,MAAM,MAAM,CAAC;AAEhC,mBAAO;AAAA,UACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,QAAQ,SAAU,QAAQ;AACtB,gBAAI,QAAQ,CAAC;AAEb,qBAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAChC,oBAAM,KAAK,sBAAsB,CAAC;AAAA,YACtC;AAEA,mBAAO,IAAI,UAAU,KAAK,OAAO,MAAM;AAAA,UAC3C;AAAA,QACJ,CAAC;AAKD,YAAI,QAAQ,EAAE,MAAM,CAAC;AAKrB,YAAI,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAclB,WAAW,SAAU,WAAW;AAE5B,gBAAI,QAAQ,UAAU;AACtB,gBAAI,WAAW,UAAU;AAGzB,gBAAI,WAAW,CAAC;AAChB,qBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,kBAAI,OAAQ,MAAM,MAAM,CAAC,MAAO,KAAM,IAAI,IAAK,IAAM;AACrD,uBAAS,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AACvC,uBAAS,MAAM,OAAO,IAAM,SAAS,EAAE,CAAC;AAAA,YAC5C;AAEA,mBAAO,SAAS,KAAK,EAAE;AAAA,UAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,OAAO,SAAU,QAAQ;AAErB,gBAAI,eAAe,OAAO;AAG1B,gBAAI,QAAQ,CAAC;AACb,qBAAS,IAAI,GAAG,IAAI,cAAc,KAAK,GAAG;AACtC,oBAAM,MAAM,CAAC,KAAK,SAAS,OAAO,OAAO,GAAG,CAAC,GAAG,EAAE,KAAM,KAAM,IAAI,IAAK;AAAA,YAC3E;AAEA,mBAAO,IAAI,UAAU,KAAK,OAAO,eAAe,CAAC;AAAA,UACrD;AAAA,QACJ;AAKA,YAAI,SAAS,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAcxB,WAAW,SAAU,WAAW;AAE5B,gBAAI,QAAQ,UAAU;AACtB,gBAAI,WAAW,UAAU;AAGzB,gBAAI,cAAc,CAAC;AACnB,qBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,kBAAI,OAAQ,MAAM,MAAM,CAAC,MAAO,KAAM,IAAI,IAAK,IAAM;AACrD,0BAAY,KAAK,OAAO,aAAa,IAAI,CAAC;AAAA,YAC9C;AAEA,mBAAO,YAAY,KAAK,EAAE;AAAA,UAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,OAAO,SAAU,WAAW;AAExB,gBAAI,kBAAkB,UAAU;AAGhC,gBAAI,QAAQ,CAAC;AACb,qBAAS,IAAI,GAAG,IAAI,iBAAiB,KAAK;AACtC,oBAAM,MAAM,CAAC,MAAM,UAAU,WAAW,CAAC,IAAI,QAAU,KAAM,IAAI,IAAK;AAAA,YAC1E;AAEA,mBAAO,IAAI,UAAU,KAAK,OAAO,eAAe;AAAA,UACpD;AAAA,QACJ;AAKA,YAAI,OAAO,MAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAcpB,WAAW,SAAU,WAAW;AAC5B,gBAAI;AACA,qBAAO,mBAAmB,OAAO,OAAO,UAAU,SAAS,CAAC,CAAC;AAAA,YACjE,SAAS,GAAG;AACR,oBAAM,IAAI,MAAM,sBAAsB;AAAA,YAC1C;AAAA,UACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,OAAO,SAAU,SAAS;AACtB,mBAAO,OAAO,MAAM,SAAS,mBAAmB,OAAO,CAAC,CAAC;AAAA,UAC7D;AAAA,QACJ;AASA,YAAI,yBAAyB,MAAM,yBAAyB,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQpE,OAAO,WAAY;AAEf,iBAAK,QAAQ,IAAI,UAAU,KAAK;AAChC,iBAAK,cAAc;AAAA,UACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAYA,SAAS,SAAU,MAAM;AAErB,gBAAI,OAAO,QAAQ,UAAU;AACzB,qBAAO,KAAK,MAAM,IAAI;AAAA,YAC1B;AAGA,iBAAK,MAAM,OAAO,IAAI;AACtB,iBAAK,eAAe,KAAK;AAAA,UAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAgBA,UAAU,SAAU,SAAS;AACzB,gBAAI;AAGJ,gBAAI,OAAO,KAAK;AAChB,gBAAI,YAAY,KAAK;AACrB,gBAAI,eAAe,KAAK;AACxB,gBAAI,YAAY,KAAK;AACrB,gBAAI,iBAAiB,YAAY;AAGjC,gBAAI,eAAe,eAAe;AAClC,gBAAI,SAAS;AAET,6BAAeA,MAAK,KAAK,YAAY;AAAA,YACzC,OAAO;AAGH,6BAAeA,MAAK,KAAK,eAAe,KAAK,KAAK,gBAAgB,CAAC;AAAA,YACvE;AAGA,gBAAI,cAAc,eAAe;AAGjC,gBAAI,cAAcA,MAAK,IAAI,cAAc,GAAG,YAAY;AAGxD,gBAAI,aAAa;AACb,uBAAS,SAAS,GAAG,SAAS,aAAa,UAAU,WAAW;AAE5D,qBAAK,gBAAgB,WAAW,MAAM;AAAA,cAC1C;AAGA,+BAAiB,UAAU,OAAO,GAAG,WAAW;AAChD,mBAAK,YAAY;AAAA,YACrB;AAGA,mBAAO,IAAI,UAAU,KAAK,gBAAgB,WAAW;AAAA,UACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWA,OAAO,WAAY;AACf,gBAAI,QAAQ,KAAK,MAAM,KAAK,IAAI;AAChC,kBAAM,QAAQ,KAAK,MAAM,MAAM;AAE/B,mBAAO;AAAA,UACX;AAAA,UAEA,gBAAgB;AAAA,QACpB,CAAC;AAOD,YAAI,SAAS,MAAM,SAAS,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,UAItD,KAAK,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWjB,MAAM,SAAU,KAAK;AAEjB,iBAAK,MAAM,KAAK,IAAI,OAAO,GAAG;AAG9B,iBAAK,MAAM;AAAA,UACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASA,OAAO,WAAY;AAEf,mCAAuB,MAAM,KAAK,IAAI;AAGtC,iBAAK,SAAS;AAAA,UAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAcA,QAAQ,SAAU,eAAe;AAE7B,iBAAK,QAAQ,aAAa;AAG1B,iBAAK,SAAS;AAGd,mBAAO;AAAA,UACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAgBA,UAAU,SAAU,eAAe;AAE/B,gBAAI,eAAe;AACf,mBAAK,QAAQ,aAAa;AAAA,YAC9B;AAGA,gBAAI,OAAO,KAAK,YAAY;AAE5B,mBAAO;AAAA,UACX;AAAA,UAEA,WAAW,MAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAef,eAAe,SAAU,QAAQ;AAC7B,mBAAO,SAAU,SAAS,KAAK;AAC3B,qBAAO,IAAI,OAAO,KAAK,GAAG,EAAE,SAAS,OAAO;AAAA,YAChD;AAAA,UACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,mBAAmB,SAAU,QAAQ;AACjC,mBAAO,SAAU,SAAS,KAAK;AAC3B,qBAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,EAAE,SAAS,OAAO;AAAA,YAC7D;AAAA,UACJ;AAAA,QACJ,CAAC;AAKD,YAAI,SAAS,EAAE,OAAO,CAAC;AAEvB,eAAO;AAAA,MACX,GAAE,IAAI;AAGN,aAAO;AAAA,IAER,CAAC;AAAA;AAAA;;;ACtyBD;AAAA,qCAAAG,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,cAAiB;AAAA,MACrD,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,QAAQ,GAAG,OAAO;AAAA,MAC3B,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,OAAC,SAAUE,OAAM;AAEb,YAAI,IAAI;AACR,YAAI,QAAQ,EAAE;AACd,YAAI,YAAY,MAAM;AACtB,YAAI,SAAS,MAAM;AACnB,YAAI,SAAS,EAAE;AAGf,YAAI,IAAI,CAAC;AACT,YAAI,IAAI,CAAC;AAGT,SAAC,WAAY;AACT,mBAAS,QAAQC,IAAG;AAChB,gBAAI,QAAQD,MAAK,KAAKC,EAAC;AACvB,qBAAS,SAAS,GAAG,UAAU,OAAO,UAAU;AAC5C,kBAAI,EAAEA,KAAI,SAAS;AACf,uBAAO;AAAA,cACX;AAAA,YACJ;AAEA,mBAAO;AAAA,UACX;AAEA,mBAAS,kBAAkBA,IAAG;AAC1B,oBAASA,MAAKA,KAAI,MAAM,aAAe;AAAA,UAC3C;AAEA,cAAI,IAAI;AACR,cAAI,SAAS;AACb,iBAAO,SAAS,IAAI;AAChB,gBAAI,QAAQ,CAAC,GAAG;AACZ,kBAAI,SAAS,GAAG;AACZ,kBAAE,MAAM,IAAI,kBAAkBD,MAAK,IAAI,GAAG,IAAI,CAAC,CAAC;AAAA,cACpD;AACA,gBAAE,MAAM,IAAI,kBAAkBA,MAAK,IAAI,GAAG,IAAI,CAAC,CAAC;AAEhD;AAAA,YACJ;AAEA;AAAA,UACJ;AAAA,QACJ,GAAE;AAGF,YAAI,IAAI,CAAC;AAKT,YAAI,SAAS,OAAO,SAAS,OAAO,OAAO;AAAA,UACvC,UAAU,WAAY;AAClB,iBAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,MAAM,CAAC,CAAC;AAAA,UAC9C;AAAA,UAEA,iBAAiB,SAAU,GAAG,QAAQ;AAElC,gBAAIE,KAAI,KAAK,MAAM;AAGnB,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AACX,gBAAI,IAAIA,GAAE,CAAC;AAGX,qBAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AACzB,kBAAI,IAAI,IAAI;AACR,kBAAE,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;AAAA,cAC3B,OAAO;AACH,oBAAI,UAAU,EAAE,IAAI,EAAE;AACtB,oBAAI,UAAY,WAAW,KAAO,YAAY,MAC9B,WAAW,KAAO,YAAY,MAC9B,YAAY;AAE5B,oBAAI,UAAU,EAAE,IAAI,CAAC;AACrB,oBAAI,UAAY,WAAW,KAAO,YAAY,OAC9B,WAAW,KAAO,YAAY,MAC9B,YAAY;AAE5B,kBAAE,CAAC,IAAI,SAAS,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,IAAI,EAAE;AAAA,cAChD;AAEA,kBAAI,KAAO,IAAI,IAAM,CAAC,IAAI;AAC1B,kBAAI,MAAO,IAAI,IAAM,IAAI,IAAM,IAAI;AAEnC,kBAAI,UAAW,KAAK,KAAO,MAAM,MAAQ,KAAK,KAAO,MAAM,OAAS,KAAK,KAAO,MAAM;AACtF,kBAAI,UAAW,KAAK,KAAO,MAAM,MAAQ,KAAK,KAAO,MAAM,OAAS,KAAK,IAAO,MAAM;AAEtF,kBAAI,KAAK,IAAI,SAAS,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;AACrC,kBAAI,KAAK,SAAS;AAElB,kBAAI;AACJ,kBAAI;AACJ,kBAAI;AACJ,kBAAK,IAAI,KAAM;AACf,kBAAI;AACJ,kBAAI;AACJ,kBAAI;AACJ,kBAAK,KAAK,KAAM;AAAA,YACpB;AAGA,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AACpB,YAAAA,GAAE,CAAC,IAAKA,GAAE,CAAC,IAAI,IAAK;AAAA,UACxB;AAAA,UAEA,aAAa,WAAY;AAErB,gBAAI,OAAO,KAAK;AAChB,gBAAI,YAAY,KAAK;AAErB,gBAAI,aAAa,KAAK,cAAc;AACpC,gBAAI,YAAY,KAAK,WAAW;AAGhC,sBAAU,cAAc,CAAC,KAAK,OAAS,KAAK,YAAY;AACxD,uBAAa,YAAY,OAAQ,KAAM,KAAK,EAAE,IAAIF,MAAK,MAAM,aAAa,UAAW;AACrF,uBAAa,YAAY,OAAQ,KAAM,KAAK,EAAE,IAAI;AAClD,iBAAK,WAAW,UAAU,SAAS;AAGnC,iBAAK,SAAS;AAGd,mBAAO,KAAK;AAAA,UAChB;AAAA,UAEA,OAAO,WAAY;AACf,gBAAI,QAAQ,OAAO,MAAM,KAAK,IAAI;AAClC,kBAAM,QAAQ,KAAK,MAAM,MAAM;AAE/B,mBAAO;AAAA,UACX;AAAA,QACJ,CAAC;AAgBD,UAAE,SAAS,OAAO,cAAc,MAAM;AAgBtC,UAAE,aAAa,OAAO,kBAAkB,MAAM;AAAA,MAClD,GAAE,IAAI;AAGN,aAAO,SAAS;AAAA,IAEjB,CAAC;AAAA;AAAA;;;ACtMD;AAAA,mCAAAG,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,cAAiB;AAAA,MACrD,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,QAAQ,GAAG,OAAO;AAAA,MAC3B,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,OAAC,WAAY;AAET,YAAI,IAAI;AACR,YAAI,QAAQ,EAAE;AACd,YAAI,OAAO,MAAM;AACjB,YAAI,QAAQ,EAAE;AACd,YAAI,OAAO,MAAM;AACjB,YAAI,SAAS,EAAE;AAKf,YAAI,OAAO,OAAO,OAAO,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWjC,MAAM,SAAU,QAAQ,KAAK;AAEzB,qBAAS,KAAK,UAAU,IAAI,OAAO,KAAK;AAGxC,gBAAI,OAAO,OAAO,UAAU;AACxB,oBAAM,KAAK,MAAM,GAAG;AAAA,YACxB;AAGA,gBAAI,kBAAkB,OAAO;AAC7B,gBAAI,uBAAuB,kBAAkB;AAG7C,gBAAI,IAAI,WAAW,sBAAsB;AACrC,oBAAM,OAAO,SAAS,GAAG;AAAA,YAC7B;AAGA,gBAAI,MAAM;AAGV,gBAAI,OAAO,KAAK,QAAQ,IAAI,MAAM;AAClC,gBAAI,OAAO,KAAK,QAAQ,IAAI,MAAM;AAGlC,gBAAI,YAAY,KAAK;AACrB,gBAAI,YAAY,KAAK;AAGrB,qBAAS,IAAI,GAAG,IAAI,iBAAiB,KAAK;AACtC,wBAAU,CAAC,KAAK;AAChB,wBAAU,CAAC,KAAK;AAAA,YACpB;AACA,iBAAK,WAAW,KAAK,WAAW;AAGhC,iBAAK,MAAM;AAAA,UACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASA,OAAO,WAAY;AAEf,gBAAI,SAAS,KAAK;AAGlB,mBAAO,MAAM;AACb,mBAAO,OAAO,KAAK,KAAK;AAAA,UAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAcA,QAAQ,SAAU,eAAe;AAC7B,iBAAK,QAAQ,OAAO,aAAa;AAGjC,mBAAO;AAAA,UACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAgBA,UAAU,SAAU,eAAe;AAE/B,gBAAI,SAAS,KAAK;AAGlB,gBAAI,YAAY,OAAO,SAAS,aAAa;AAC7C,mBAAO,MAAM;AACb,gBAAI,OAAO,OAAO,SAAS,KAAK,MAAM,MAAM,EAAE,OAAO,SAAS,CAAC;AAE/D,mBAAO;AAAA,UACX;AAAA,QACJ,CAAC;AAAA,MACL,GAAE;AAAA,IAGH,CAAC;AAAA;AAAA;;;AC9ID;AAAA,0CAAAE,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS,OAAO;AACjC,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,gBAAmB,kBAAqB,cAAiB;AAAA,MAC7F,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,UAAU,YAAY,QAAQ,GAAG,OAAO;AAAA,MACjD,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,aAAO,SAAS;AAAA,IAEjB,CAAC;AAAA;AAAA;;;ACjBD;AAAA,yCAAAE,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,cAAiB;AAAA,MACrD,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,QAAQ,GAAG,OAAO;AAAA,MAC3B,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,OAAC,WAAY;AAET,YAAI,IAAI;AACR,YAAI,QAAQ,EAAE;AACd,YAAI,YAAY,MAAM;AACtB,YAAI,QAAQ,EAAE;AAKd,YAAI,SAAS,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAcxB,WAAW,SAAU,WAAW;AAE5B,gBAAI,QAAQ,UAAU;AACtB,gBAAI,WAAW,UAAU;AACzB,gBAAI,MAAM,KAAK;AAGf,sBAAU,MAAM;AAGhB,gBAAI,cAAc,CAAC;AACnB,qBAAS,IAAI,GAAG,IAAI,UAAU,KAAK,GAAG;AAClC,kBAAI,QAAS,MAAM,MAAM,CAAC,MAAa,KAAM,IAAI,IAAK,IAAY;AAClE,kBAAI,QAAS,MAAO,IAAI,MAAO,CAAC,MAAO,MAAO,IAAI,KAAK,IAAK,IAAM;AAClE,kBAAI,QAAS,MAAO,IAAI,MAAO,CAAC,MAAO,MAAO,IAAI,KAAK,IAAK,IAAM;AAElE,kBAAI,UAAW,SAAS,KAAO,SAAS,IAAK;AAE7C,uBAAS,IAAI,GAAI,IAAI,KAAO,IAAI,IAAI,OAAO,UAAW,KAAK;AACvD,4BAAY,KAAK,IAAI,OAAQ,YAAa,KAAK,IAAI,KAAO,EAAI,CAAC;AAAA,cACnE;AAAA,YACJ;AAGA,gBAAI,cAAc,IAAI,OAAO,EAAE;AAC/B,gBAAI,aAAa;AACb,qBAAO,YAAY,SAAS,GAAG;AAC3B,4BAAY,KAAK,WAAW;AAAA,cAChC;AAAA,YACJ;AAEA,mBAAO,YAAY,KAAK,EAAE;AAAA,UAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAeA,OAAO,SAAU,WAAW;AAExB,gBAAI,kBAAkB,UAAU;AAChC,gBAAI,MAAM,KAAK;AACf,gBAAI,aAAa,KAAK;AAEtB,gBAAI,CAAC,YAAY;AACT,2BAAa,KAAK,cAAc,CAAC;AACjC,uBAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACjC,2BAAW,IAAI,WAAW,CAAC,CAAC,IAAI;AAAA,cACpC;AAAA,YACR;AAGA,gBAAI,cAAc,IAAI,OAAO,EAAE;AAC/B,gBAAI,aAAa;AACb,kBAAI,eAAe,UAAU,QAAQ,WAAW;AAChD,kBAAI,iBAAiB,IAAI;AACrB,kCAAkB;AAAA,cACtB;AAAA,YACJ;AAGA,mBAAO,UAAU,WAAW,iBAAiB,UAAU;AAAA,UAE3D;AAAA,UAEA,MAAM;AAAA,QACV;AAEA,iBAAS,UAAU,WAAW,iBAAiB,YAAY;AACzD,cAAI,QAAQ,CAAC;AACb,cAAI,SAAS;AACb,mBAAS,IAAI,GAAG,IAAI,iBAAiB,KAAK;AACtC,gBAAI,IAAI,GAAG;AACP,kBAAI,QAAQ,WAAW,UAAU,WAAW,IAAI,CAAC,CAAC,KAAO,IAAI,IAAK;AAClE,kBAAI,QAAQ,WAAW,UAAU,WAAW,CAAC,CAAC,MAAO,IAAK,IAAI,IAAK;AACnE,kBAAI,eAAe,QAAQ;AAC3B,oBAAM,WAAW,CAAC,KAAK,gBAAiB,KAAM,SAAS,IAAK;AAC5D;AAAA,YACJ;AAAA,UACJ;AACA,iBAAO,UAAU,OAAO,OAAO,MAAM;AAAA,QACvC;AAAA,MACJ,GAAE;AAGF,aAAO,SAAS,IAAI;AAAA,IAErB,CAAC;AAAA;AAAA;;;ACvID;AAAA,sCAAAE,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,cAAiB;AAAA,MACrD,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,QAAQ,GAAG,OAAO;AAAA,MAC3B,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,aAAO,SAAS,IAAI;AAAA,IAErB,CAAC;AAAA;AAAA;;;ACjBD;AAAA,uCAAAE,UAAAC,SAAA;AAAC,KAAC,SAAU,MAAM,SAAS;AAC1B,UAAI,OAAOD,aAAY,UAAU;AAEhC,QAAAC,QAAO,UAAUD,WAAU,QAAQ,cAAiB;AAAA,MACrD,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AAEpD,eAAO,CAAC,QAAQ,GAAG,OAAO;AAAA,MAC3B,OACK;AAEJ,gBAAQ,KAAK,QAAQ;AAAA,MACtB;AAAA,IACD,GAAEA,UAAM,SAAU,UAAU;AAE3B,aAAO,SAAS,IAAI;AAAA,IAErB,CAAC;AAAA;AAAA;;;ACjBD;AAAA,gEAAAE,UAAA;AAAA;AACA,WAAO,eAAeA,UAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAC5D,IAAAA,SAAQ,mBAAmBA,SAAQ,cAAcA,SAAQ,cAAcA,SAAQ,UAAUA,SAAQ,OAAOA,SAAQ,SAAS;AACzH,QAAI,UAAU;AACd,QAAI,gBAAgB,GAAG,QAAQ,iBAAiB,oBAAuB;AACvE,QAAI,YAAY,GAAG,QAAQ,iBAAiB,gBAA2B;AACvE,QAAI,iBAAiB,GAAG,QAAQ,iBAAiB,qBAAgC;AACjF,QAAI,gBAAgB,GAAG,QAAQ,iBAAiB,oBAA+B;AAC/E,QAAI,aAAa,GAAG,QAAQ,iBAAiB,iBAA4B;AACzE,QAAI,cAAc,GAAG,QAAQ,iBAAiB,kBAA6B;AAC3E,QAAI,iBAAiB,WAAY;AAE7B,UAAI,OAAO,WAAW,eAAe,OAAO,QAAQ;AAChD,eAAO,OAAO;AAAA,MAClB;AAGA,UAAI,OAAO,WAAW,eAAe,OAAO,UAAU;AAElD,eAAO,OAAO;AAAA,MAClB;AAEA,UAAI,OAAO,YAAY,YAAY;AAG/B,eAAO,QAAQ,QAAQ,EAAE;AAAA,MAC7B;AAAA,IACJ;AACA,QAAIC,UAAS,eAAe;AAC5B,QAAI,SAAS,SAAU,YAAY;AAC/B,UAAI,UAAU,WAAW,SAAS,EAAE;AACpC,UAAI,QAAQ,SAAS,MAAM,GAAG;AAC1B,kBAAU,IAAI,OAAO,OAAO;AAAA,MAChC,WACS,iBAAiB,QAAQ,QAAQ,CAAC,CAAC,MAAM,IAAI;AAClD,kBAAU,KAAK,OAAO,OAAO;AAAA,MACjC;AACA,aAAO;AAAA,IACX;AACA,IAAAD,SAAQ,SAAS;AACjB,QAAI,OAAO,SAAU,KAAK;AACtB,UAAI,WAAW,GAAG,SAAS,SAAS,GAAG,EAAE,SAAS;AAClD,aAAO,IAAI,MAAM,KAAK,QAAQ,MAAM,EAAE,KAAK,GAAG,IAAI;AAAA,IACtD;AACA,IAAAA,SAAQ,OAAO;AACf,QAAI,UAAU,SAAU,QAAQ;AAC5B,cAAQ,GAAGA,SAAQ,MAAM,UAAU,QAAQ,MAAM,MAAM,CAAC;AAAA,IAC5D;AACA,IAAAA,SAAQ,UAAU;AAClB,QAAI,+BAA+B,WAAY;AAC3C,UAAIC,SAAQ;AAER,YAAI,OAAOA,QAAO,oBAAoB,YAAY;AAC9C,cAAI;AACA,mBAAOA,QAAO,gBAAgB,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC;AAAA,UACvD,SACO,KAAK;AAAA,UAEZ;AAAA,QACJ;AAGA,YAAI,OAAOA,QAAO,gBAAgB,YAAY;AAC1C,cAAI;AAEA,mBAAOA,QAAO,YAAY,CAAC,EAAE,YAAY;AAAA,UAC7C,SACO,KAAK;AAAA,UAEZ;AAAA,QACJ;AAAA,MACJ;AACA,YAAM,IAAI,MAAM,qEAAqE;AAAA,IACzF;AACA,QAAI,cAAc,SAAU,QAAQ;AAChC,UAAI,QAAQ,CAAC;AACb,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAChC,cAAM,KAAK,6BAA6B,CAAC;AAAA,MAC7C;AAEA,UAAI,WAAW,CAAC;AAChB,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC7B,YAAI,OAAQ,MAAM,MAAM,CAAC,MAAO,KAAM,IAAI,IAAK,IAAM;AACrD,iBAAS,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;AACvC,iBAAS,MAAM,OAAO,IAAM,SAAS,EAAE,CAAC;AAAA,MAC5C;AACA,UAAI,YAAY,SAAS,KAAK,EAAE;AAChC,UAAI,aAAa,GAAG,aAAa,SAAS,WAAW,EAAE;AACvD,aAAO;AAAA,IACX;AACA,IAAAD,SAAQ,cAAc;AACtB,QAAI,cAAc,SAAU,KAAK,MAAM;AACnC,UAAI,WAAW,WAAW,QACrB,MAAM,qBAAqB,EAC3B,OAAO,WAAW,QAAQ,MAAM,OAAO,aAAa,CAAC,CAAC,CAAC;AAC5D,UAAI,OAAO,GAAG,cAAc,SAAS,KAAK,IAAI;AAC9C,UAAI,QAAQ,GAAG,cAAc,SAAS,UAAU,GAAG;AACnD,aAAO,UAAU,QAAQ,MAAM,KAAK,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,IAC/D;AACA,IAAAA,SAAQ,cAAc;AACtB,QAAI,mBAAmB,SAAU,SAAS,KAAK;AAC3C,aAAO,aAAa,QAAQ,WAAW,GAAG,cAAc,SAAS,SAAS,GAAG,CAAC;AAAA,IAClF;AACA,IAAAA,SAAQ,mBAAmB;AAAA;AAAA;;;ACvG3B;AAAA,0DAAAE,UAAA;AAAA;AACA,WAAO,eAAeA,UAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAC5D,QAAI,UAAU;AACd,QAAI,gBAAgB,GAAG,QAAQ,iBAAiB,oBAAuB;AACvE,QAAI,gBAAgB;AACpB,QAAI,gBAAgB,GAAG,QAAQ,iBAAiB,oBAA+B;AAC/E,QAAI,aAAa,GAAG,QAAQ,iBAAiB,iBAA4B;AACzE,QAAI,cAAc,GAAG,QAAQ,iBAAiB,kBAA6B;AAC3E,QAAI,QAAQ;AAgBZ,QAAIC;AAAA;AAAA,OAAqB,WAAY;AACjC,iBAASA,KAAI,QAAQ;AACjB,eAAK,KAAK,GAAG,aAAa,SAAS,KAAK,EAAE;AAC1C,eAAK,KAAK,GAAG,aAAa,SAAS,OAAO,EAAE;AAC5C,eAAK,KAAK,GAAG,aAAa,UAAU,GAAG,cAAc,UAAU,GAAG,cAAc,QAAQ,KAAK,CAAC,KAAK,GAAG,cAAc,QAAQ,KAAK,CAAC,CAAC,GAAG,EAAE;AACxI,eAAK,WAAW,OAAO,MAAM,GAAG,EAAE,CAAC;AAAA,QACvC;AACA,QAAAA,KAAI,UAAU,OAAO,WAAY;AAC7B,eAAK,KAAK,GAAG,cAAc,aAAa,GAAG;AAC3C,eAAK,IAAI,KAAK,EAAE,OAAO,KAAK,GAAG,KAAK,CAAC;AACrC,cAAI,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,OAAO,GAAG;AAC7B,gBAAI,MAAM,yCAAyC;AAAA,UACvD;AACA,iBAAO,KAAK,EAAE,SAAS,EAAE;AAAA,QAC7B;AACA,QAAAA,KAAI,UAAU,eAAe,SAAU,UAAU,MAAM,SAAS,aAAa,UAAU;AACnF,cAAI,KAAK,GAAG,aAAa,SAAS,MAAM,EAAE;AAC1C,cAAI,EAAE,IAAI,KAAK,CAAC,EAAE,OAAO,GAAG;AACxB,gBAAI,MAAM,yCAAyC;AAAA,UACvD;AACA,cAAI,QAAQ,GAAG,aAAa,SAAS,SAAS,EAAE;AAChD,cAAI,KAAK,GAAG,aAAa,UAAU,GAAG,cAAc,UAAU,GAAG,cAAc,QAAQ,KAAK,CAAC,KAAK,GAAG,cAAc,QAAQ,CAAC,CAAC,GAAG,EAAE;AAClI,cAAI,EAAE,OAAO,GAAG;AACZ,kBAAM,IAAI,MAAM,mBAAmB;AAAA,UACvC;AACA,cAAI,wBAAwB,GAAG,cAAc,MAAM,WAAW,QAAQ,MAAM,KAAK,WAAW,WAAW,MAAM,QAAQ,CAAC;AACtH,cAAI,KAAK,GAAG,aAAa,UAAU,GAAG,cAAc,UAAU,GAAG,cAAc,QAAQ,IAAI,IAAI,oBAAoB,GAAG,EAAE;AACxH,cAAI,IAAI,EAAE,SAAS,KAAK,EAAE,SAAS,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;AACtG,cAAI,WAAW,GAAG,cAAc,QAAQ,CAAC;AACzC,cAAI,QAAQ,GAAG,cAAc,aAAa,UAAU,QAAQ,MAAM,OAAO,GAAG,UAAU,QAAQ,OAAO,GAAG,cAAc,QAAQ,CAAC,CAAC,CAAC;AACjI,cAAI,YAAY,aAAa;AAC7B,cAAI,UAAU,WAAW,QACpB,MAAM,KAAK,QAAQ,EACnB,OAAO,WAAW,QAAQ,MAAM,QAAQ,CAAC,EACzC,OAAO,aAAa,QAAQ,MAAM,WAAW,CAAC,EAC9C,OAAO,WAAW,QAAQ,MAAM,SAAS,CAAC;AAC/C,cAAI,aAAa,GAAG,cAAc,kBAAkB,SAAS,IAAI;AACjE,iBAAO,EAAE,WAAsB,UAAqB;AAAA,QACxD;AACA,eAAOA;AAAA,MACX,GAAE;AAAA;AACF,IAAAD,SAAQ,UAAUC;AAClB,QAAI,eAAe,WAAY;AAC3B,UAAI,MAAM,oBAAI,KAAK;AACnB,UAAI,aAAa;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AACA,UAAI,YAAY,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AAChE,UAAI,UAAU,UAAU,IAAI,UAAU,CAAC;AACvC,UAAI,QAAQ,WAAW,IAAI,YAAY,CAAC;AACxC,UAAI,MAAM,IAAI,WAAW;AACzB,UAAI,QAAQ,IAAI,YAAY;AAC5B,UAAI,QAAQ,IAAI;AACZ,gBAAQ,IAAI,OAAO,KAAK;AAAA,MAC5B;AACA,UAAI,UAAU,IAAI,cAAc;AAChC,UAAI,UAAU,IAAI;AACd,kBAAU,IAAI,OAAO,OAAO;AAAA,MAChC;AACA,UAAI,UAAU,IAAI,cAAc;AAChC,UAAI,UAAU,IAAI;AACd,kBAAU,IAAI,OAAO,OAAO;AAAA,MAChC;AACA,UAAI,OAAO,IAAI,eAAe;AAE9B,UAAI,UAAU,GAAG,OAAO,SAAS,GAAG,EAAE,OAAO,OAAO,GAAG,EAAE,OAAO,KAAK,GAAG,EAAE,OAAO,OAAO,GAAG,EAAE,OAAO,SAAS,GAAG,EAAE,OAAO,SAAS,OAAO,EAAE,OAAO,IAAI;AACtJ,aAAO;AAAA,IACX;AAAA;AAAA;;;ACtGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oCAAgB;;;ACAT,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,YACkB,QAChB,SACgB,MAChB;AACA,UAAM,OAAO;AAJG;AAEA;AAGhB,SAAK,OAAO;AAAA,EACd;AAAA,EANkB;AAAA,EAEA;AAKpB;AAEO,IAAM,gBAAN,cAA4B,MAAM;AAAA,EACvC,YAAY,SAAiC,MAAe;AAC1D,UAAM,OAAO;AAD8B;AAE3C,SAAK,OAAO;AAAA,EACd;AAAA,EAH6C;AAI/C;AAEO,IAAM,mBAAN,cAA+B,MAAM;AAAA,EAC1C,YAAY,SAAiC,YAAyB;AACpE,UAAM,OAAO;AAD8B;AAE3C,SAAK,OAAO;AAAA,EACd;AAAA,EAH6C;AAI/C;;;ACrBO,IAAM,yBAAyB;AAC/B,IAAM,6BAA6B;AAC1C,IAAM,QAAQ,IAAI,WAAW,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC;AACrD,IAAM,UAAU;AAChB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;AACvB,IAAM,cAAc;AACpB,IAAM,YAAY;AAoBlB,eAAsB,QAAQ,OAAuC;AACnE,MAAI,OAAO,UAAU,SAAU,QAAO,IAAI,YAAY,EAAE,OAAO,KAAK;AACpE,MAAI,iBAAiB,KAAM,QAAO,IAAI,WAAW,MAAM,MAAM,YAAY,CAAC;AAC1E,MAAI,iBAAiB,YAAa,QAAO,IAAI,WAAW,MAAM,MAAM,CAAC,CAAC;AACtE,MAAI,YAAY,OAAO,KAAK,GAAG;AAC7B,WAAO,IAAI,WAAW,MAAM,OAAO,MAAM,MAAM,YAAY,MAAM,aAAa,MAAM,UAAU,CAAC;AAAA,EACjG;AACA,QAAM,IAAI,UAAU,8DAA8D;AACpF;AAEA,eAAsB,cAAc,OAAkB,UAA0B,CAAC,GAA4B;AAC3G,QAAM,WAAW,MAAM,QAAQ,KAAK;AACpC,MAAI,SAAS,aAAa,wBAAwB;AAChD,UAAM,IAAI,iBAAiB,mCAAmC,sBAAsB,cAAc;AAAA,EACpG;AACA,QAAM,cAAc,QAAQ,gBAAgB,iBAAiB,QAAQ,MAAM,OAAO,MAAM,OAAO,OAAO,UAAU,WAAW,8BAA8B;AACzJ,QAAM,gBAAgB,QAAQ;AAC9B,MAAI,iBAAiB,cAAc,eAAe,IAAI;AACpD,UAAM,IAAI,iBAAiB,gDAAgD;AAAA,EAC7E;AAEA,MAAI,OAAO;AACX,MAAI,aAAa;AACjB,MAAI,QAAQ,aAAa,SAAS,SAAS,aAAa,GAAG;AACzD,UAAM,YAAY,MAAM,KAAK,QAAQ;AACrC,UAAM,gBAAgB,IAAI,IAAI,IAAI,YAAY,EAAE,OAAO,WAAW,EAAE;AACpE,UAAM,aAAa,gBACf,UAAU,aAAa,SAAS,aAChC,UAAU,aAAa,gBAAgB,SAAS;AACpD,QAAI,YAAY;AACd,aAAO;AACP,mBAAa;AAAA,IACf;AAAA,EACF;AAEA,MAAI,CAAC,cAAc,CAAC,iBAAiB,YAAY,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,MAAM,4BAA4B;AACtH,WAAO,EAAE,OAAO,UAAU,YAAY;AAAA,EACxC;AACA,QAAM,YAAY,IAAI,YAAY,EAAE,OAAO,WAAW;AACtD,MAAI,UAAU,aAAa,MAAQ,OAAM,IAAI,iBAAiB,qCAAqC;AACnG,QAAM,YAAY,IAAI,WAAW,IAAI,UAAU,aAAa,KAAK,UAAU;AAC3E,MAAI,SAAS,UAAU,MAAM,EAAE,UAAU,GAAG,UAAU,YAAY,KAAK;AACvE,YAAU,IAAI,WAAW,CAAC;AAC1B,YAAU,IAAI,MAAM,IAAI,UAAU,UAAU;AAE5C,QAAM,SAAS,aAAa,kBAAkB,MAAM,gBAAgB,iBAAiB;AACrF,QAAM,QAAQ,gBAAgB,OAAO,gBAAgB,IAAI,WAAW,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC;AACpG,QAAM,SAAS,IAAI,WAAW,IAAI,MAAM,UAAU;AAClD,SAAO,IAAI,OAAO,CAAC;AACnB,SAAO,CAAC,IAAI;AACZ,SAAO,CAAC,IAAI;AACZ,SAAO,CAAC,IAAI,MAAM;AAClB,SAAO,IAAI,OAAO,CAAC;AAEnB,QAAM,OAAO,gBACT,IAAI,WAAW,MAAM,OAAO,OAAO;AAAA,IACnC,EAAE,MAAM,WAAW,IAAI,cAAc,KAAK,GAAG,gBAAgB,cAAc,MAAM,GAAG,WAAW,YAAY,EAAE;AAAA,IAC7G,MAAM,aAAa,eAAe,CAAC,SAAS,CAAC;AAAA,IAC7C,cAAc,SAAS;AAAA,EACzB,CAAC,IACC;AACJ,QAAM,QAAQ,IAAI,WAAW,OAAO,aAAa,KAAK,UAAU;AAChE,QAAM,IAAI,QAAQ,CAAC;AACnB,QAAM,IAAI,MAAM,OAAO,UAAU;AACjC,SAAO,EAAE,OAAO,aAAa,2BAA2B;AAC1D;AAEA,eAAsB,cAAc,OAAmB,qBAA6B,eAAqD;AACvI,MAAI,oBAAoB,MAAM,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,MAAM,4BAA4B;AAC7F,WAAO,EAAE,OAAO,aAAa,uBAAuB,2BAA2B;AAAA,EACjF;AACA,MAAI,MAAM,aAAa,KAAK,CAAC,MAAM,MAAM,CAAC,MAAM,UAAU,MAAM,KAAK,MAAM,IAAI,GAAG;AAChF,UAAM,IAAI,iBAAiB,+CAA+C;AAAA,EAC5E;AACA,QAAM,UAAU,MAAM,CAAC;AACvB,QAAM,QAAQ,MAAM,CAAC;AACrB,QAAM,cAAc,MAAM,CAAC;AAC3B,MAAI,YAAY,YAAY,QAAQ,EAAE,kBAAkB,qBAAqB,GAAG;AAC9E,UAAM,IAAI,iBAAiB,0EAA0E;AAAA,EACvG;AACA,QAAM,aAAa,QAAQ,oBAAoB;AAC/C,QAAM,cAAc,QAAQ,qBAAqB;AACjD,MAAK,aAAa,gBAAgB,eAAiB,CAAC,aAAa,gBAAgB,GAAI;AACnF,UAAM,IAAI,iBAAiB,yDAAyD;AAAA,EACtF;AACA,QAAM,eAAe,IAAI;AACzB,MAAI,MAAM,aAAa,gBAAgB,YAAY,YAAY,IAAI;AACjE,UAAM,IAAI,iBAAiB,iDAAiD;AAAA,EAC9E;AACA,MAAI,YAAY,MAAM,SAAS,YAAY;AAC3C,MAAI,WAAW;AACb,QAAI,CAAC,cAAe,OAAM,IAAI,iBAAiB,kEAAkE,MAAM,MAAM,CAAC;AAC9H,QAAI,cAAc,eAAe,GAAI,OAAM,IAAI,iBAAiB,gDAAgD;AAChH,QAAI;AACF,kBAAY,IAAI,WAAW,MAAM,OAAO,OAAO;AAAA,QAC7C,EAAE,MAAM,WAAW,IAAI,cAAc,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,gBAAgB,cAAc,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,WAAW,YAAY,EAAE;AAAA,QAChK,MAAM,aAAa,eAAe,CAAC,SAAS,CAAC;AAAA,QAC7C,cAAc,SAAS;AAAA,MACzB,CAAC;AAAA,IACH,QAAQ;AACN,YAAM,IAAI,iBAAiB,yEAAyE,MAAM,MAAM,CAAC;AAAA,IACnH;AAAA,EACF,WAAW,eAAe;AAAA,EAE1B;AAEA,MAAI,UAAU,aAAa,EAAG,OAAM,IAAI,iBAAiB,iDAAiD;AAC1G,QAAM,kBAAkB,IAAI,SAAS,UAAU,QAAQ,UAAU,YAAY,UAAU,UAAU,EAAE,UAAU,GAAG,KAAK;AACrH,MAAI,UAAU,aAAa,IAAI,gBAAiB,OAAM,IAAI,iBAAiB,mDAAmD;AAC9H,MAAI;AACJ,MAAI;AACF,kBAAc,IAAI,YAAY,SAAS,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO,UAAU,SAAS,GAAG,IAAI,eAAe,CAAC;AAAA,EAC3G,QAAQ;AACN,UAAM,IAAI,iBAAiB,iDAAiD;AAAA,EAC9E;AACA,MAAI,UAAU,UAAU,SAAS,IAAI,eAAe;AACpD,MAAI,YAAY;AACd,QAAI;AACF,gBAAU,MAAM,OAAO,OAAO;AAAA,IAChC,SAAS,OAAO;AACd,UAAI,iBAAiB,iBAAkB,OAAM,IAAI,iBAAiB,MAAM,SAAS,MAAM,MAAM,CAAC;AAC9F,YAAM;AAAA,IACR;AACA,QAAI,QAAQ,aAAa,wBAAwB;AAC/C,YAAM,IAAI,iBAAiB,kCAAkC,sBAAsB,gBAAgB,MAAM,MAAM,CAAC;AAAA,IAClH;AAAA,EACF;AACA,SAAO,EAAE,OAAO,SAAS,aAAa,eAAe,2BAA2B;AAClF;AAEA,eAAe,aAAa,KAAiB,QAAwC;AACnF,SAAO,OAAO,OAAO,UAAU,OAAO,cAAc,GAAG,GAAG,EAAE,MAAM,WAAW,QAAQ,IAAI,GAAG,OAAO,MAAM;AAC3G;AAEA,eAAe,KAAK,OAAwC;AAC1D,MAAI,OAAO,sBAAsB,YAAa,OAAM,IAAI,iBAAiB,yDAAyD;AAClI,QAAM,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,IAAI,kBAAkB,MAAM,CAAC;AAClG,SAAO,MAAM,cAAc,QAAQ,yBAAyB,KAAK,IAAI;AACvE;AAEA,eAAe,OAAO,OAAwC;AAC5D,MAAI,OAAO,wBAAwB,YAAa,OAAM,IAAI,iBAAiB,2DAA2D;AACtI,MAAI;AACF,UAAM,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,IAAI,oBAAoB,MAAM,CAAC;AACpG,WAAO,MAAM,cAAc,QAAQ,sBAAsB;AAAA,EAC3D,SAAS,OAAO;AACd,QAAI,iBAAiB,iBAAkB,OAAM;AAC7C,UAAM,IAAI,iBAAiB,iDAAiD;AAAA,EAC9E;AACF;AAEA,eAAe,cAAc,QAAoC,UAAuC;AACtG,QAAM,SAAS,OAAO,UAAU;AAChC,QAAM,SAAuB,CAAC;AAC9B,MAAI,QAAQ;AACZ,MAAI;AACF,WAAO,MAAM;AACX,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,KAAM;AACV,eAAS,MAAM;AACf,UAAI,QAAQ,UAAU;AACpB,cAAM,OAAO,OAAO;AACpB,cAAM,IAAI,iBAAiB,kCAAkC,QAAQ,cAAc;AAAA,MACrF;AACA,aAAO,KAAK,KAAK;AAAA,IACnB;AAAA,EACF,UAAE;AACA,WAAO,YAAY;AAAA,EACrB;AACA,QAAM,SAAS,IAAI,WAAW,KAAK;AACnC,MAAI,SAAS;AACb,aAAW,SAAS,QAAQ;AAC1B,WAAO,IAAI,OAAO,MAAM;AACxB,cAAU,MAAM;AAAA,EAClB;AACA,SAAO;AACT;AAEA,SAAS,cAAc,OAAgC;AACrD,SAAO,MAAM,OAAO,MAAM,MAAM,YAAY,MAAM,aAAa,MAAM,UAAU;AACjF;;;AFvMO,IAAM,sBAAsB;AAyE5B,IAAM,aAAN,MAAiB;AAAA,EACb;AAAA,EACQ;AAAA,EACA;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,UAA6B,CAAC,GAAG;AAC3C,SAAK,WAAW,QAAQ,WAAW,qBAAqB,QAAQ,QAAQ,EAAE;AAC1E,SAAK,aAAa,QAAQ;AAC1B,SAAK,UAAU,QAAQ;AACvB,SAAK,UAAU,QAAQ;AACvB,SAAK,UAAU,QAAQ,SAAS;AAAA,EAClC;AAAA,EAEA,cAAc,OAAiC;AAC7C,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,WAAW,OAA2B,kBAAiC;AACrE,SAAK,UAAU;AACf,SAAK,mBAAmB,SAAS,qBAAqB,SAClD,KAAK,IAAI,IAAI,mBAAmB,MAChC;AAAA,EACN;AAAA,EAEA,UAAgB;AACd,SAAK,WAAW,MAAS;AAAA,EAC3B;AAAA,EAEA,MAAM,OAAO,UAAkB,UAAmE;AAChG,QAAI,CAAC,KAAK,QAAS,OAAM,IAAI,cAAc,uEAAuE;AAClH,QAAI,CAAC,YAAY,CAAC,SAAU,OAAM,IAAI,cAAc,+CAA+C;AACnG,UAAM,MAAM,IAAI,8BAAAC,QAAI,KAAK,QAAQ,UAAU;AAC3C,UAAM,WAAW,uBAAuB,KAAK,QAAQ,MAAM;AAC3D,UAAM,kBAAkB,MAAM,KAAK,QAAQ,UAAU;AAAA,MACnD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB,UAAU;AAAA,QACV,UAAU,KAAK,QAAQ;AAAA,QACvB,gBAAgB,EAAE,UAAU,UAAU,OAAO,IAAI,KAAK,EAAE;AAAA,MAC1D,CAAC;AAAA,IACH,CAAC;AACD,UAAM,UAAU,MAAM,qBAAqB,iBAAiB,cAAc;AAC1E,QAAI,QAAQ,kBAAkB,qBAAqB;AACjD,YAAM,IAAI,cAAc,8CAA8C,OAAO,QAAQ,iBAAiB,SAAS,CAAC,qFAAqF;AAAA,IACvM;AACA,UAAM,YAAY,SAAS,QAAQ,mBAAmB;AACtD,UAAM,cAAc,YAAY,WAAW,iBAAiB,KAAK;AACjE,UAAM,OAAO,YAAY,WAAW,OAAO;AAC3C,UAAM,OAAO,YAAY,WAAW,MAAM;AAC1C,UAAM,cAAc,YAAY,WAAW,cAAc;AACzD,UAAM,UAAU,YAAY,SAAS,SAAS;AAC9C,QAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAS,OAAM,IAAI,cAAc,+CAA+C;AACvH,UAAM,QAAQ,IAAI,aAAa,aAAa,MAAM,MAAM,aAAa,QAAQ;AAC7E,UAAM,gBAAgB,MAAM,KAAK,QAAQ,UAAU;AAAA,MACjD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB,eAAe;AAAA,QACf,UAAU,KAAK,QAAQ;AAAA,QACvB,SAAS;AAAA,QACT,oBAAoB;AAAA,UAClB,UAAU;AAAA,UACV,6BAA6B;AAAA,UAC7B,0BAA0B,MAAM;AAAA,UAChC,WAAW,MAAM;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,UAAM,QAAQ,MAAM,qBAAqB,eAAe,wBAAwB;AAChF,UAAM,aAAa,SAAS,MAAM,oBAAoB;AACtD,UAAM,UAAU,YAAY,YAAY,SAAS;AACjD,QAAI,CAAC,QAAS,OAAM,IAAI,cAAc,6CAA6C;AACnF,UAAM,YAAY,YAAY,YAAY,WAAW,KAAK;AAC1D,SAAK,WAAW,SAAS,SAAS;AAClC,WAAO,EAAE,SAAS,UAAU;AAAA,EAC9B;AAAA,EAEA,MAAM,YAAY,OAAkB,UAAwB,CAAC,GAA2B;AACtF,UAAM,UAAU,MAAM,cAAc,OAAO,OAAO;AAClD,QAAI,QAAQ,MAAM,eAAe,EAAG,OAAM,IAAI,UAAU,mFAAmF;AAC3I,SAAK,kBAAkB,QAAQ,KAAK;AACpC,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW;AAAA,MAC7C,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB,QAAQ;AAAA,QACxB,aAAa,KAAK,cAAc,QAAQ,UAAU;AAAA,MACpD;AAAA,MACA,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,KAAK,CAAC,CAAC;AAAA,IAC/C,CAAC;AACD,WAAO,MAAM,SAAS,KAAK;AAAA,EAC7B;AAAA,EAEA,MAAM,gBAAgB,YAA6C;AACjE,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW;AAAA,MAC7C,QAAQ;AAAA,MACR,SAAS,EAAE,aAAa,KAAK,cAAc,UAAU,EAAE;AAAA,IACzD,CAAC;AACD,WAAO,MAAM,SAAS,KAAK;AAAA,EAC7B;AAAA,EAEA,MAAM,WAAW,WAAmB,OAAkB,UAA0B,CAAC,GAAkB;AACjG,UAAM,UAAU,MAAM,cAAc,OAAO,OAAO;AAClD,QAAI,QAAQ,MAAM,eAAe,EAAG,OAAM,IAAI,UAAU,2CAA2C;AACnG,SAAK,kBAAkB,QAAQ,KAAK;AACpC,UAAM,KAAK,QAAQ,WAAW,mBAAmB,SAAS,CAAC,IAAI;AAAA,MAC7D,QAAQ;AAAA,MACR,SAAS,EAAE,gBAAgB,QAAQ,YAAY;AAAA,MAC/C,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,KAAK,CAAC,CAAC;AAAA,IAC/C,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WAAW,WAAmB,UAAuB,CAAC,GAAwB;AAClF,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,mBAAmB,SAAS,CAAC,IAAI,EAAE,QAAQ,MAAM,CAAC;AACjG,UAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,YAAY,CAAC;AACzD,UAAM,UAAU,MAAM,cAAc,OAAO,SAAS,QAAQ,IAAI,cAAc,KAAK,4BAA4B,QAAQ,aAAa;AACpI,WAAO,EAAE,MAAM,QAAQ,OAAO,aAAa,QAAQ,YAAY;AAAA,EACjE;AAAA,EAEA,MAAM,aAAa,WAAkC;AACnD,UAAM,KAAK,QAAQ,WAAW,mBAAmB,SAAS,CAAC,IAAI,EAAE,QAAQ,SAAS,CAAC;AAAA,EACrF;AAAA,EAEA,MAAM,gBAAgB,WAA0C;AAC9D,UAAM,WAAW,MAAM,KAAK,QAAQ,WAAW,mBAAmB,SAAS,CAAC,IAAI;AAAA,MAC9E,QAAQ;AAAA,MACR,SAAS,KAAK,qBAAqB;AAAA,IACrC,CAAC;AACD,WAAO;AAAA,MACL,OAAO,SAAS,QAAQ,IAAI,qBAAqB;AAAA,MACjD,WAAW,SAAS,QAAQ,IAAI,0BAA0B;AAAA,MAC1D,WAAW,SAAS,QAAQ,IAAI,0BAA0B;AAAA,MAC1D,YAAY,SAAS,QAAQ,IAAI,2BAA2B;AAAA,MAC5D,YAAY,SAAS,QAAQ,IAAI,2BAA2B;AAAA,MAC5D,WAAW,SAAS,QAAQ,IAAI,0BAA0B;AAAA,IAC5D;AAAA,EACF;AAAA,EAEA,MAAM,aAAuC;AAC3C,WAAO,OAAO,MAAM,KAAK,QAAQ,YAAY,EAAE,QAAQ,OAAO,SAAS,KAAK,qBAAqB,EAAE,CAAC,GAAG,KAAK;AAAA,EAC9G;AAAA,EAEA,MAAM,oBAA6C;AACjD,WAAO,OAAO,MAAM,KAAK,QAAQ,oBAAoB,EAAE,QAAQ,OAAO,SAAS,KAAK,qBAAqB,EAAE,CAAC,GAAG,KAAK;AAAA,EACtH;AAAA,EAEA,MAAM,kBAA+C;AACnD,UAAM,OAAO,OAAO,MAAM,KAAK,QAAQ,mBAAmB,EAAE,QAAQ,OAAO,SAAS,KAAK,qBAAqB,EAAE,CAAC,GAAG,KAAK;AACzH,QAAI,MAAM,QAAQ,IAAI,EAAG,QAAO;AAChC,UAAM,QAAQ,SAAS,IAAI,EAAE;AAC7B,WAAO,MAAM,QAAQ,KAAK,IAAI,QAA8B,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,iBAAiB,OAA2C;AAChE,UAAM,WAAW,MAAM,KAAK,QAAQ,mBAAmB;AAAA,MACrD,QAAQ;AAAA,MACR,SAAS,EAAE,GAAG,KAAK,qBAAqB,GAAG,gBAAgB,mBAAmB;AAAA,MAC9E,MAAM,KAAK,UAAU,EAAE,MAAM,CAAC;AAAA,IAChC,CAAC;AACD,WAAO,MAAM,SAAS,KAAK;AAAA,EAC7B;AAAA,EAEA,MAAM,iBAAiB,SAAgC;AACrD,UAAM,KAAK,QAAQ,mBAAmB,mBAAmB,OAAO,CAAC,IAAI;AAAA,MACnE,QAAQ;AAAA,MACR,SAAS,KAAK,qBAAqB;AAAA,IACrC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,gBAAgB,aAAa,KAAK,cAAc,GAA2B;AAC/E,UAAM,WAAW,MAAM,KAAK,QAAQ,kBAAkB;AAAA,MACpD,QAAQ;AAAA,MACR,SAAS,EAAE,GAAG,KAAK,qBAAqB,GAAG,aAAa,WAAW;AAAA,IACrE,CAAC;AACD,WAAO,SAAS,QAAQ,IAAI,oBAAoB;AAAA,EAClD;AAAA,EAEQ,cAAc,UAA2B;AAC/C,UAAM,QAAQ,YAAY,KAAK;AAC/B,QAAI,CAAC,MAAO,OAAM,IAAI,cAAc,oDAAoD;AACxF,WAAO;AAAA,EACT;AAAA,EAEQ,uBAA+C;AACrD,QAAI,CAAC,KAAK,QAAS,OAAM,IAAI,cAAc,6DAA6D;AACxG,QAAI,KAAK,qBAAqB,UAAa,KAAK,IAAI,KAAK,KAAK,kBAAkB;AAC9E,WAAK,QAAQ;AACb,YAAM,IAAI,cAAc,kDAAkD;AAAA,IAC5E;AACA,WAAO,EAAE,eAAe,UAAU,KAAK,OAAO,GAAG;AAAA,EACnD;AAAA,EAEQ,kBAAkB,OAAyB;AACjD,QAAI,MAAM,aAAa,wBAAwB;AAC7C,YAAM,IAAI,aAAa,KAAK,kCAAkC,sBAAsB,gBAAe,kBAAkB;AAAA,IACvH;AAAA,EACF;AAAA,EAEA,MAAc,QAAQ,MAAc,MAAsC;AACxE,UAAM,WAAW,MAAM,KAAK,QAAQ,GAAG,KAAK,OAAO,GAAG,IAAI,IAAI,EAAE,GAAG,MAAM,OAAO,WAAW,CAAC;AAC5F,QAAI,CAAC,SAAS,GAAI,OAAM,MAAM,SAAS,QAAQ;AAC/C,WAAO;AAAA,EACT;AACF;AAEA,eAAe,qBAAqB,UAAoB,WAAqD;AAC3G,MAAI;AACJ,MAAI;AAAE,aAAS,MAAM,SAAS,KAAK;AAAA,EAAG,QAAQ;AAAE,aAAS;AAAA,EAAW;AACpE,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,OAAO,SAAS,MAAM;AAC5B,UAAM,OAAO,YAAY,MAAM,QAAQ,GAAG,MAAM,GAAG,EAAE,IAAI;AACzD,UAAM,UAAU,YAAY,MAAM,SAAS,KAAK,WAAW,SAAS,qBAAqB,SAAS,MAAM;AACxG,UAAM,IAAI,cAAc,SAAS,IAAI;AAAA,EACvC;AACA,SAAO,SAAS,MAAM;AACxB;AAEA,eAAe,SAAS,UAA2C;AACjE,MAAI;AACJ,MAAI,UAAU,iCAAiC,SAAS,MAAM;AAC9D,MAAI;AACF,UAAM,OAAO,SAAS,MAAM,SAAS,KAAK,CAAC;AAC3C,WAAO,YAAY,MAAM,MAAM,KAAK,YAAY,MAAM,OAAO;AAC7D,UAAM,SAAS,YAAY,MAAM,OAAO;AACxC,QAAI,UAAU,OAAO,UAAU,IAAK,WAAU;AAAA,EAChD,QAAQ;AAAA,EAER;AACA,SAAO,IAAI,aAAa,SAAS,QAAQ,SAAS,IAAI;AACxD;AAEA,SAAS,SAAS,OAAyC;AACzD,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,IACtE,QACA,CAAC;AACP;AAEA,SAAS,YAAY,OAAgC,KAAiC;AACpF,SAAO,OAAO,MAAM,GAAG,MAAM,WAAW,MAAM,GAAG,IAAc;AACjE;AAEA,SAAS,YAAY,OAAgC,KAAiC;AACpF,SAAO,OAAO,MAAM,GAAG,MAAM,YAAY,OAAO,SAAS,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAc;AAChG;AAEA,SAAS,cAAc,OAAgC;AACrD,SAAO,MAAM,OAAO,MAAM,MAAM,YAAY,MAAM,aAAa,MAAM,UAAU;AACjF;",
6
+ "names": ["v", "d", "b", "__assign", "o", "exports", "exports", "module", "Math", "undefined", "crypto", "exports", "module", "Math", "n", "H", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "module", "exports", "crypto", "exports", "Srp", "Srp"]
7
+ }
@@ -0,0 +1,6 @@
1
+ export { WoroClient, WORO_PRODUCTION_URL } from './client.js';
2
+ export type { AccountBalance, AccountOverview, CognitoConfig, CreatedSecret, CreatedWriteToken, ReadOptions, ReadSecret, SecretStatus, WriteOptions, WriteTokenRecord, WoroClientOptions, } from './client.js';
3
+ export { WoroApiError, WoroAuthError, WoroPayloadError } from './errors.js';
4
+ export { WORO_ENVELOPE_CONTENT_TYPE, WORO_MAX_PAYLOAD_BYTES, decodePayload, encodePayload, toBytes, } from './payload.js';
5
+ export type { DecodedPayload, EncodedPayload, PayloadOptions, WoroInput } from './payload.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,OAAO,GACR,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}