@auditable/privacy-pool-zk-sdk 0.1.0 → 0.6.1-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sources":["../node_modules/bech32/dist/index.js","../src/stealth-address.ts","../src/stealth-sign-message.ts","../src/ephemeral-key.ts","../src/withdrawal-transaction-input.ts","../src/stealth-signature.ts","../pkg/client_sdk_wasm.js","../src/wasm.ts","../../circuits/build/main_js/witness_calculator.js","../src/witness.ts","../src/prover.ts","../src/shared-secret.ts","../src/sdk.ts","../src/types.ts","../src/cli.ts"],"sourcesContent":["'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bech32m = exports.bech32 = void 0;\nconst ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';\nconst ALPHABET_MAP = {};\nfor (let z = 0; z < ALPHABET.length; z++) {\n const x = ALPHABET.charAt(z);\n ALPHABET_MAP[x] = z;\n}\nfunction polymodStep(pre) {\n const b = pre >> 25;\n return (((pre & 0x1ffffff) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3));\n}\nfunction prefixChk(prefix) {\n let chk = 1;\n for (let i = 0; i < prefix.length; ++i) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n return 'Invalid prefix (' + prefix + ')';\n chk = polymodStep(chk) ^ (c >> 5);\n }\n chk = polymodStep(chk);\n for (let i = 0; i < prefix.length; ++i) {\n const v = prefix.charCodeAt(i);\n chk = polymodStep(chk) ^ (v & 0x1f);\n }\n return chk;\n}\nfunction convert(data, inBits, outBits, pad) {\n let value = 0;\n let bits = 0;\n const maxV = (1 << outBits) - 1;\n const result = [];\n for (let i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i];\n bits += inBits;\n while (bits >= outBits) {\n bits -= outBits;\n result.push((value >> bits) & maxV);\n }\n }\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV);\n }\n }\n else {\n if (bits >= inBits)\n return 'Excess padding';\n if ((value << (outBits - bits)) & maxV)\n return 'Non-zero padding';\n }\n return result;\n}\nfunction toWords(bytes) {\n return convert(bytes, 8, 5, true);\n}\nfunction fromWordsUnsafe(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n}\nfunction fromWords(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n throw new Error(res);\n}\nfunction getLibraryFromEncoding(encoding) {\n let ENCODING_CONST;\n if (encoding === 'bech32') {\n ENCODING_CONST = 1;\n }\n else {\n ENCODING_CONST = 0x2bc830a3;\n }\n function encode(prefix, words, LIMIT) {\n LIMIT = LIMIT || 90;\n if (prefix.length + 7 + words.length > LIMIT)\n throw new TypeError('Exceeds length limit');\n prefix = prefix.toLowerCase();\n // determine chk mod\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n throw new Error(chk);\n let result = prefix + '1';\n for (let i = 0; i < words.length; ++i) {\n const x = words[i];\n if (x >> 5 !== 0)\n throw new Error('Non 5-bit word');\n chk = polymodStep(chk) ^ x;\n result += ALPHABET.charAt(x);\n }\n for (let i = 0; i < 6; ++i) {\n chk = polymodStep(chk);\n }\n chk ^= ENCODING_CONST;\n for (let i = 0; i < 6; ++i) {\n const v = (chk >> ((5 - i) * 5)) & 0x1f;\n result += ALPHABET.charAt(v);\n }\n return result;\n }\n function __decode(str, LIMIT) {\n LIMIT = LIMIT || 90;\n if (str.length < 8)\n return str + ' too short';\n if (str.length > LIMIT)\n return 'Exceeds length limit';\n // don't allow mixed case\n const lowered = str.toLowerCase();\n const uppered = str.toUpperCase();\n if (str !== lowered && str !== uppered)\n return 'Mixed-case string ' + str;\n str = lowered;\n const split = str.lastIndexOf('1');\n if (split === -1)\n return 'No separator character for ' + str;\n if (split === 0)\n return 'Missing prefix for ' + str;\n const prefix = str.slice(0, split);\n const wordChars = str.slice(split + 1);\n if (wordChars.length < 6)\n return 'Data too short';\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n return chk;\n const words = [];\n for (let i = 0; i < wordChars.length; ++i) {\n const c = wordChars.charAt(i);\n const v = ALPHABET_MAP[c];\n if (v === undefined)\n return 'Unknown character ' + c;\n chk = polymodStep(chk) ^ v;\n // not in the checksum?\n if (i + 6 >= wordChars.length)\n continue;\n words.push(v);\n }\n if (chk !== ENCODING_CONST)\n return 'Invalid checksum for ' + str;\n return { prefix, words };\n }\n function decodeUnsafe(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n }\n function decode(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n throw new Error(res);\n }\n return {\n decodeUnsafe,\n decode,\n encode,\n toWords,\n fromWordsUnsafe,\n fromWords,\n };\n}\nexports.bech32 = getLibraryFromEncoding('bech32');\nexports.bech32m = getLibraryFromEncoding('bech32m');\n",null,null,null,null,null,"/* @ts-self-types=\"./client_sdk_wasm.d.ts\" */\n\n/**\n * Merkle root, path, and coin field strings for the first withdraw leg (JSON → JSON).\n * @param {string} coin_json\n * @param {string} state_json\n * @returns {string}\n */\nexport function buildWithdrawMerkleWitness(coin_json, state_json) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(coin_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(state_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n wasm.buildWithdrawMerkleWitness(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr3 = r0;\n var len3 = r1;\n if (r3) {\n ptr3 = 0; len3 = 0;\n throw takeObject(r2);\n }\n deferred4_0 = ptr3;\n deferred4_1 = len3;\n return getStringFromWasm0(ptr3, len3);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Calculate nullifier hash from nullifier decimal string.\n * Returns hex string (0x...)\n * @param {string} nullifier_decimal\n * @returns {string}\n */\nexport function calculateNullifierHash(nullifier_decimal) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(nullifier_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.calculateNullifierHash(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0; len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * UTF-8 seed → `SHA256` → scalar → BabyJubJub `BASE8 * r` (circom `ECDHEphemeralKey`).\n * `x` and `y` are lowercase hex (no `0x`). Bech32 / stealth string: TypeScript `encodeStealthAddress`.\n * @param {string} seed\n * @returns {any}\n */\nexport function ecdhEphemeralPublicKey(seed) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(seed, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.ecdhEphemeralPublicKey(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * 32-byte scalar as 64 hex chars (optional `0x`) → `ecdh_ephemeral_public_key` (no UTF-8 seed hash).\n * @param {string} scalar_hex\n * @returns {any}\n */\nexport function ecdhEphemeralPublicKeyFromScalarHex(scalar_hex) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.ecdhEphemeralPublicKeyFromScalarHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Circuit `ECDH`: `priv * (pub_x, pub_y)` → shared key (`key[0], key[1]` hex).\n * @param {string} priv_hex\n * @param {string} pub_x_hex\n * @param {string} pub_y_hex\n * @returns {any}\n */\nexport function ecdhSharedKey(priv_hex, pub_x_hex, pub_y_hex) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(priv_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(pub_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(pub_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n wasm.ecdhSharedKey(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Generate a new coin with random nullifier, secret, and shared-secret field elements.\n * `amount` is stroops (u64); JS passes `bigint`.\n * Returns JSON: { coin: { value, nullifier, secret, commitment }, commitment_hex }\n * @param {bigint} amount\n * @returns {any}\n */\nexport function generateCoin(amount) {\n const ret = wasm.generateCoin(amount);\n return takeObject(ret);\n}\n\n/**\n * `Poseidon₁(scalar)` secret + fixed ECDH shared coords (hex), matching an aligned deposit witness.\n * @param {string} scalar_hex\n * @param {string} shared_x_hex\n * @param {string} shared_y_hex\n * @param {bigint} amount\n * @returns {any}\n */\nexport function generateCoinForDepositWithSharedHex(scalar_hex, shared_x_hex, shared_y_hex, amount) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(shared_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(shared_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n wasm.generateCoinForDepositWithSharedHex(retptr, ptr0, len0, ptr1, len1, ptr2, len2, amount);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * `secret` in coin = `Poseidon255(1)(scalar)` per `deposit.circom`; scalar is 32-byte hex (64 chars, optional `0x`).\n * @param {string} scalar_hex\n * @param {bigint} amount\n * @returns {any}\n */\nexport function generateCoinFromDepositEphemeralScalarHex(scalar_hex, amount) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.generateCoinFromDepositEphemeralScalarHex(retptr, ptr0, len0, amount);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Same as `generateCoin`, but commitment uses the given ECDH shared key (64-char hex coords from `ecdhSharedKey`); shared coords are not stored in `coin` JSON.\n * @param {string} shared_x_hex\n * @param {string} shared_y_hex\n * @param {bigint} amount\n * @returns {any}\n */\nexport function generateCoinWithSharedSecretHex(shared_x_hex, shared_y_hex, amount) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(shared_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(shared_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n wasm.generateCoinWithSharedSecretHex(retptr, ptr0, len0, ptr1, len1, amount);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Convert snarkjs proof JSON to hex bytes for Soroban contract.\n * @param {string} proof_json\n * @returns {string}\n */\nexport function proofToHex(proof_json) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(proof_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.proofToHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred2_0 = r0;\n deferred2_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\n/**\n * Convert snarkjs public signals JSON to hex bytes for Soroban contract.\n * @param {string} public_json\n * @returns {string}\n */\nexport function publicToHex(public_json) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(public_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.publicToHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred2_0 = r0;\n deferred2_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_String_8564e559799eccda: function(arg0, arg1) {\n const ret = String(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_debug_string_5398f5bb970e0daa: function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_7ef6b97b02428fae: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_52709e72fb9f179c: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_call_2d781c1f4d5c0ef8: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_crypto_38df2bab126b63dc: function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n },\n __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments); },\n __wbg_length_ea16607d7b61445b: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n },\n __wbg_new_ab79df5bd7c26067: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_new_with_length_825018a1616e9e55: function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_node_84ea875411254db1: function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n },\n __wbg_process_44c7a14e11e9f69e: function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n },\n __wbg_prototypesetcall_d62e5099504357e6: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments); },\n __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments); },\n __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {\n getObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n },\n __wbg_static_accessor_GLOBAL_8adb955bd33fac2f: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_ad356e0db91c7913: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_SELF_f207c857566db248: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_WINDOW_bb9f1ba69d61b386: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_subarray_a068d24e39478a8a: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_versions_276b2795b1c6a219: function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_object_clone_ref: function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./client_sdk_wasm_bg.js\": import0,\n };\n}\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches && builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nfunction dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n}\n\nlet heap = new Array(1024).fill(undefined);\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('client_sdk_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n",null,"module.exports = async function builder(code, options) {\n\n options = options || {};\n\n let wasmModule;\n try {\n\twasmModule = await WebAssembly.compile(code);\n } catch (err) {\n\tconsole.log(err);\n\tconsole.log(\"\\nTry to run circom --c in order to generate c++ code instead\\n\");\n\tthrow new Error(err);\n }\n\n let wc;\n\n let errStr = \"\";\n let msgStr = \"\";\n \n const instance = await WebAssembly.instantiate(wasmModule, {\n runtime: {\n exceptionHandler : function(code) {\n\t\tlet err;\n if (code == 1) {\n err = \"Signal not found.\\n\";\n } else if (code == 2) {\n err = \"Too many signals set.\\n\";\n } else if (code == 3) {\n err = \"Signal already set.\\n\";\n\t\t} else if (code == 4) {\n err = \"Assert Failed.\\n\";\n\t\t} else if (code == 5) {\n err = \"Not enough memory.\\n\";\n\t\t} else if (code == 6) {\n err = \"Input signal array access exceeds the size.\\n\";\n\t\t} else if (code == 7) {\n err = \"Out of bounds array access.\\n\";\n\t\t} else {\n\t\t err = \"Unknown error.\\n\";\n }\n throw new Error(err + errStr);\n },\n\t printErrorMessage : function() {\n\t\terrStr += getMessage() + \"\\n\";\n // console.error(getMessage());\n\t },\n\t writeBufferMessage : function() {\n\t\t\tconst msg = getMessage();\n\t\t\t// Any calls to `log()` will always end with a `\\n`, so that's when we print and reset\n\t\t\tif (msg === \"\\n\") {\n\t\t\t\tconsole.log(msgStr);\n\t\t\t\tmsgStr = \"\";\n\t\t\t} else {\n\t\t\t\t// If we've buffered other content, put a space in between the items\n\t\t\t\tif (msgStr !== \"\") {\n\t\t\t\t\tmsgStr += \" \"\n\t\t\t\t}\n\t\t\t\t// Then append the message to the message we are creating\n\t\t\t\tmsgStr += msg;\n\t\t\t}\n\t },\n\t showSharedRWMemory : function() {\n\t\tprintSharedRWMemory ();\n }\n\n }\n });\n\n const sanityCheck =\n options\n// options &&\n// (\n// options.sanityCheck ||\n// options.logGetSignal ||\n// options.logSetSignal ||\n// options.logStartComponent ||\n// options.logFinishComponent\n// );\n\n \n wc = new WitnessCalculator(instance, sanityCheck);\n return wc;\n\n function getMessage() {\n var message = \"\";\n\tvar c = instance.exports.getMessageChar();\n while ( c != 0 ) {\n\t message += String.fromCharCode(c);\n\t c = instance.exports.getMessageChar();\n\t}\n return message;\n }\n\t\n function printSharedRWMemory () {\n\tconst shared_rw_memory_size = instance.exports.getFieldNumLen32();\n\tconst arr = new Uint32Array(shared_rw_memory_size);\n\tfor (let j=0; j<shared_rw_memory_size; j++) {\n\t arr[shared_rw_memory_size-1-j] = instance.exports.readSharedRWMemory(j);\n\t}\n\n\t// If we've buffered other content, put a space in between the items\n\tif (msgStr !== \"\") {\n\t\tmsgStr += \" \"\n\t}\n\t// Then append the value to the message we are creating\n\tmsgStr += (fromArray32(arr).toString());\n\t}\n\n};\n\nclass WitnessCalculator {\n constructor(instance, sanityCheck) {\n this.instance = instance;\n\n\tthis.version = this.instance.exports.getVersion();\n this.n32 = this.instance.exports.getFieldNumLen32();\n\n this.instance.exports.getRawPrime();\n const arr = new Uint32Array(this.n32);\n for (let i=0; i<this.n32; i++) {\n arr[this.n32-1-i] = this.instance.exports.readSharedRWMemory(i);\n }\n this.prime = fromArray32(arr);\n\n this.witnessSize = this.instance.exports.getWitnessSize();\n\n this.sanityCheck = sanityCheck;\n }\n \n circom_version() {\n\treturn this.instance.exports.getVersion();\n }\n\n async _doCalculateWitness(input_orig, sanityCheck) {\n\t//input is assumed to be a map from signals to arrays of bigints\n this.instance.exports.init((this.sanityCheck || sanityCheck) ? 1 : 0);\n\tlet prefix = \"\";\n\tvar input = new Object();\n\t//console.log(\"Input: \", input_orig);\n\tqualify_input(prefix,input_orig,input);\n\t//console.log(\"Input after: \",input);\t\n const keys = Object.keys(input);\n\tvar input_counter = 0;\n keys.forEach( (k) => {\n const h = fnvHash(k);\n const hMSB = parseInt(h.slice(0,8), 16);\n const hLSB = parseInt(h.slice(8,16), 16);\n const fArr = flatArray(input[k]);\n\t let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB);\n\t if (signalSize < 0){\n\t\tthrow new Error(`Signal ${k} not found\\n`);\n\t }\n\t if (fArr.length < signalSize) {\n\t\tthrow new Error(`Not enough values for input signal ${k}\\n`);\n\t }\n\t if (fArr.length > signalSize) {\n\t\tthrow new Error(`Too many values for input signal ${k}\\n`);\n\t }\n for (let i=0; i<fArr.length; i++) {\n const arrFr = toArray32(normalize(fArr[i],this.prime),this.n32)\n for (let j=0; j<this.n32; j++) {\n\t\t this.instance.exports.writeSharedRWMemory(j,arrFr[this.n32-1-j]);\n\t\t}\n\t\ttry {\n this.instance.exports.setInputSignal(hMSB, hLSB,i);\n\t\t input_counter++;\n\t\t} catch (err) {\n\t\t // console.log(`After adding signal ${i} of ${k}`)\n throw new Error(err);\n\t\t}\n }\n\n });\n\tif (input_counter < this.instance.exports.getInputSize()) {\n\t throw new Error(`Not all inputs have been set. Only ${input_counter} out of ${this.instance.exports.getInputSize()}`);\n\t}\n }\n\n async calculateWitness(input, sanityCheck) {\n\n const w = [];\n await this._doCalculateWitness(input, sanityCheck);\n\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n\t const arr = new Uint32Array(this.n32);\n for (let j=0; j<this.n32; j++) {\n arr[this.n32-1-j] = this.instance.exports.readSharedRWMemory(j);\n }\n w.push(fromArray32(arr));\n }\n\n return w;\n }\n \n\n async calculateBinWitness(input, sanityCheck) {\n\n const buff32 = new Uint32Array(this.witnessSize*this.n32);\n\tconst buff = new Uint8Array( buff32.buffer);\n await this._doCalculateWitness(input, sanityCheck);\n\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n\t const pos = i*this.n32;\n for (let j=0; j<this.n32; j++) {\n\t\tbuff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n }\n\n\treturn buff;\n }\n \n\n async calculateWTNSBin(input, sanityCheck) {\n\n const buff32 = new Uint32Array(this.witnessSize*this.n32+this.n32+11);\n\tconst buff = new Uint8Array( buff32.buffer);\n await this._doCalculateWitness(input, sanityCheck);\n \n\t//\"wtns\"\n\tbuff[0] = \"w\".charCodeAt(0)\n\tbuff[1] = \"t\".charCodeAt(0)\n\tbuff[2] = \"n\".charCodeAt(0)\n\tbuff[3] = \"s\".charCodeAt(0)\n\n\t//version 2\n\tbuff32[1] = 2;\n\n\t//number of sections: 2\n\tbuff32[2] = 2;\n\n\t//id section 1\n\tbuff32[3] = 1;\n\n\tconst n8 = this.n32*4;\n\t//id section 1 length in 64bytes\n\tconst idSection1length = 8 + n8;\n\tconst idSection1lengthHex = idSection1length.toString(16);\n buff32[4] = parseInt(idSection1lengthHex.slice(0,8), 16);\n buff32[5] = parseInt(idSection1lengthHex.slice(8,16), 16);\n\n\t//this.n32\n\tbuff32[6] = n8;\n\n\t//prime number\n\tthis.instance.exports.getRawPrime();\n\n\tvar pos = 7;\n for (let j=0; j<this.n32; j++) {\n\t buff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n\tpos += this.n32;\n\n\t// witness size\n\tbuff32[pos] = this.witnessSize;\n\tpos++;\n\n\t//id section 2\n\tbuff32[pos] = 2;\n\tpos++;\n\n\t// section 2 length\n\tconst idSection2length = n8*this.witnessSize;\n\tconst idSection2lengthHex = idSection2length.toString(16);\n buff32[pos] = parseInt(idSection2lengthHex.slice(0,8), 16);\n buff32[pos+1] = parseInt(idSection2lengthHex.slice(8,16), 16);\n\n\tpos += 2;\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n for (let j=0; j<this.n32; j++) {\n\t\tbuff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n\t pos += this.n32;\n }\n\n\treturn buff;\n }\n\n}\n\n\nfunction qualify_input_list(prefix,input,input1){\n if (Array.isArray(input)) {\n\tfor (let i = 0; i<input.length; i++) {\n\t let new_prefix = prefix + \"[\" + i + \"]\";\n\t qualify_input_list(new_prefix,input[i],input1);\n\t}\n } else {\n\tqualify_input(prefix,input,input1);\n }\n}\n\nfunction qualify_input(prefix,input,input1) {\n if (Array.isArray(input)) {\n\ta = flatArray(input);\n\tif (a.length > 0) {\n\t let t = typeof a[0];\n\t for (let i = 1; i<a.length; i++) {\n\t\tif (typeof a[i] != t){\n\t\t throw new Error(`Types are not the same in the key ${prefix}`);\n\t\t}\n\t }\n\t if (t == \"object\") {\n\t\tqualify_input_list(prefix,input,input1);\n\t } else {\n\t\tinput1[prefix] = input;\n\t }\n\t} else {\t \n\t input1[prefix] = input;\n\t}\n } else if (typeof input == \"object\") {\n const keys = Object.keys(input);\n\tkeys.forEach( (k) => {\n\t let new_prefix = prefix == \"\"? k : prefix + \".\" + k;\n\t qualify_input(new_prefix,input[k],input1);\n\t});\n } else {\n\tinput1[prefix] = input;\n }\n}\n\nfunction toArray32(rem,size) {\n const res = []; //new Uint32Array(size); //has no unshift\n const radix = BigInt(0x100000000);\n while (rem) {\n res.unshift( Number(rem % radix));\n rem = rem / radix;\n }\n if (size) {\n\tvar i = size - res.length;\n\twhile (i>0) {\n\t res.unshift(0);\n\t i--;\n\t}\n }\n return res;\n}\n\nfunction fromArray32(arr) { //returns a BigInt\n var res = BigInt(0);\n const radix = BigInt(0x100000000);\n for (let i = 0; i<arr.length; i++) {\n res = res*radix + BigInt(arr[i]);\n }\n return res;\n}\n\nfunction flatArray(a) {\n var res = [];\n fillArray(res, a);\n return res;\n\n function fillArray(res, a) {\n if (Array.isArray(a)) {\n for (let i=0; i<a.length; i++) {\n fillArray(res, a[i]);\n }\n } else {\n res.push(a);\n }\n }\n}\n\nfunction normalize(n, prime) {\n let res = BigInt(n) % prime\n if (res < 0) res += prime\n return res\n}\n\nfunction fnvHash(str) {\n const uint64_max = BigInt(2) ** BigInt(64);\n let hash = BigInt(\"0xCBF29CE484222325\");\n for (var i = 0; i < str.length; i++) {\n\thash ^= BigInt(str[i].charCodeAt());\n\thash *= BigInt(0x100000001B3);\n\thash %= uint64_max;\n }\n let shash = hash.toString(16);\n let n = 16 - shash.length;\n shash = '0'.repeat(n).concat(shash);\n return shash;\n}\n",null,null,null,null,null,null],"names":["normalizeHex","hexToBytes","bytesToHex","isNode","wasmBindings.initSync","wasmBindings.default","snarkjs","formatStealthAddressSignMessage","encodeDecodedEphemeralKeyBech","decodeDecodedEphemeralKeyBech","encodeDepositorPreimageBech","decodeDepositorPreimageBech","sharedSecretFromDepositorPreimageFn","sharedSecretFromRecipientPreimageFn","fs"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"cli.js","sources":["../node_modules/bech32/dist/index.js","../src/stealth-address.ts","../src/stealth-sign-message.ts","../src/ephemeral-key.ts","../src/transaction-audit.ts","../src/withdrawal-transaction-input.ts","../src/stealth-signature.ts","../pkg/client_sdk_wasm.js","../src/wasm.ts","../../circuits/build/main_js/witness_calculator.js","../src/witness.ts","../src/prover.ts","../src/shared-secret.ts","../src/sdk.ts","../src/kyt-onboarding.ts","../src/kyt-passage.ts","../src/kyt-flow.ts","../src/types.ts","../src/cli.ts"],"sourcesContent":["'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bech32m = exports.bech32 = void 0;\nconst ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';\nconst ALPHABET_MAP = {};\nfor (let z = 0; z < ALPHABET.length; z++) {\n const x = ALPHABET.charAt(z);\n ALPHABET_MAP[x] = z;\n}\nfunction polymodStep(pre) {\n const b = pre >> 25;\n return (((pre & 0x1ffffff) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3));\n}\nfunction prefixChk(prefix) {\n let chk = 1;\n for (let i = 0; i < prefix.length; ++i) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n return 'Invalid prefix (' + prefix + ')';\n chk = polymodStep(chk) ^ (c >> 5);\n }\n chk = polymodStep(chk);\n for (let i = 0; i < prefix.length; ++i) {\n const v = prefix.charCodeAt(i);\n chk = polymodStep(chk) ^ (v & 0x1f);\n }\n return chk;\n}\nfunction convert(data, inBits, outBits, pad) {\n let value = 0;\n let bits = 0;\n const maxV = (1 << outBits) - 1;\n const result = [];\n for (let i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i];\n bits += inBits;\n while (bits >= outBits) {\n bits -= outBits;\n result.push((value >> bits) & maxV);\n }\n }\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV);\n }\n }\n else {\n if (bits >= inBits)\n return 'Excess padding';\n if ((value << (outBits - bits)) & maxV)\n return 'Non-zero padding';\n }\n return result;\n}\nfunction toWords(bytes) {\n return convert(bytes, 8, 5, true);\n}\nfunction fromWordsUnsafe(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n}\nfunction fromWords(words) {\n const res = convert(words, 5, 8, false);\n if (Array.isArray(res))\n return res;\n throw new Error(res);\n}\nfunction getLibraryFromEncoding(encoding) {\n let ENCODING_CONST;\n if (encoding === 'bech32') {\n ENCODING_CONST = 1;\n }\n else {\n ENCODING_CONST = 0x2bc830a3;\n }\n function encode(prefix, words, LIMIT) {\n LIMIT = LIMIT || 90;\n if (prefix.length + 7 + words.length > LIMIT)\n throw new TypeError('Exceeds length limit');\n prefix = prefix.toLowerCase();\n // determine chk mod\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n throw new Error(chk);\n let result = prefix + '1';\n for (let i = 0; i < words.length; ++i) {\n const x = words[i];\n if (x >> 5 !== 0)\n throw new Error('Non 5-bit word');\n chk = polymodStep(chk) ^ x;\n result += ALPHABET.charAt(x);\n }\n for (let i = 0; i < 6; ++i) {\n chk = polymodStep(chk);\n }\n chk ^= ENCODING_CONST;\n for (let i = 0; i < 6; ++i) {\n const v = (chk >> ((5 - i) * 5)) & 0x1f;\n result += ALPHABET.charAt(v);\n }\n return result;\n }\n function __decode(str, LIMIT) {\n LIMIT = LIMIT || 90;\n if (str.length < 8)\n return str + ' too short';\n if (str.length > LIMIT)\n return 'Exceeds length limit';\n // don't allow mixed case\n const lowered = str.toLowerCase();\n const uppered = str.toUpperCase();\n if (str !== lowered && str !== uppered)\n return 'Mixed-case string ' + str;\n str = lowered;\n const split = str.lastIndexOf('1');\n if (split === -1)\n return 'No separator character for ' + str;\n if (split === 0)\n return 'Missing prefix for ' + str;\n const prefix = str.slice(0, split);\n const wordChars = str.slice(split + 1);\n if (wordChars.length < 6)\n return 'Data too short';\n let chk = prefixChk(prefix);\n if (typeof chk === 'string')\n return chk;\n const words = [];\n for (let i = 0; i < wordChars.length; ++i) {\n const c = wordChars.charAt(i);\n const v = ALPHABET_MAP[c];\n if (v === undefined)\n return 'Unknown character ' + c;\n chk = polymodStep(chk) ^ v;\n // not in the checksum?\n if (i + 6 >= wordChars.length)\n continue;\n words.push(v);\n }\n if (chk !== ENCODING_CONST)\n return 'Invalid checksum for ' + str;\n return { prefix, words };\n }\n function decodeUnsafe(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n }\n function decode(str, LIMIT) {\n const res = __decode(str, LIMIT);\n if (typeof res === 'object')\n return res;\n throw new Error(res);\n }\n return {\n decodeUnsafe,\n decode,\n encode,\n toWords,\n fromWordsUnsafe,\n fromWords,\n };\n}\nexports.bech32 = getLibraryFromEncoding('bech32');\nexports.bech32m = getLibraryFromEncoding('bech32m');\n",null,null,null,null,null,null,"/* @ts-self-types=\"./client_sdk_wasm.d.ts\" */\n\n/**\n * Merkle root, path, and coin field strings for the first withdraw leg (JSON → JSON).\n * @param {string} coin_json\n * @param {string} state_json\n * @returns {string}\n */\nexport function buildWithdrawMerkleWitness(coin_json, state_json) {\n let deferred4_0;\n let deferred4_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(coin_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(state_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n wasm.buildWithdrawMerkleWitness(retptr, ptr0, len0, ptr1, len1);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr3 = r0;\n var len3 = r1;\n if (r3) {\n ptr3 = 0; len3 = 0;\n throw takeObject(r2);\n }\n deferred4_0 = ptr3;\n deferred4_1 = len3;\n return getStringFromWasm0(ptr3, len3);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1);\n }\n}\n\n/**\n * Calculate nullifier hash from nullifier decimal string.\n * Returns hex string (0x...)\n * @param {string} nullifier_decimal\n * @returns {string}\n */\nexport function calculateNullifierHash(nullifier_decimal) {\n let deferred3_0;\n let deferred3_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(nullifier_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.calculateNullifierHash(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n var ptr2 = r0;\n var len2 = r1;\n if (r3) {\n ptr2 = 0; len2 = 0;\n throw takeObject(r2);\n }\n deferred3_0 = ptr2;\n deferred3_1 = len2;\n return getStringFromWasm0(ptr2, len2);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);\n }\n}\n\n/**\n * UTF-8 seed → `SHA256` → scalar → BabyJubJub `BASE8 * r` (circom `ECDHEphemeralKey`).\n * `x` and `y` are lowercase hex (no `0x`). Bech32 / stealth string: TypeScript `encodeStealthAddress`.\n * @param {string} seed\n * @returns {any}\n */\nexport function ecdhEphemeralPublicKey(seed) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(seed, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.ecdhEphemeralPublicKey(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * 32-byte scalar as 64 hex chars (optional `0x`) → `ecdh_ephemeral_public_key` (no UTF-8 seed hash).\n * @param {string} scalar_hex\n * @returns {any}\n */\nexport function ecdhEphemeralPublicKeyFromScalarHex(scalar_hex) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.ecdhEphemeralPublicKeyFromScalarHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Circuit `ECDH`: `priv * (pub_x, pub_y)` → shared key (`key[0], key[1]` hex).\n * @param {string} priv_hex\n * @param {string} pub_x_hex\n * @param {string} pub_y_hex\n * @returns {any}\n */\nexport function ecdhSharedKey(priv_hex, pub_x_hex, pub_y_hex) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(priv_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(pub_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(pub_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n wasm.ecdhSharedKey(retptr, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Generate a new coin with random nullifier, secret, and shared-secret field elements.\n * `amount` is stroops (u64); JS passes `bigint`.\n * `asset_hi_decimal` / `asset_lo_decimal` are decimal Fr strings for the Stellar asset contract id (two limbs).\n * Returns JSON: { coin: { value, nullifier, secret, commitment, asset_hi, asset_lo }, commitment_hex, precommitement_hex }\n * @param {bigint} amount\n * @param {string} asset_hi_decimal\n * @param {string} asset_lo_decimal\n * @param {string} application_id_decimal\n * @returns {any}\n */\nexport function generateCoin(amount, asset_hi_decimal, asset_lo_decimal, application_id_decimal) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(asset_hi_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(asset_lo_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(application_id_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n wasm.generateCoin(retptr, amount, ptr0, len0, ptr1, len1, ptr2, len2);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * `Poseidon₁(scalar)` secret + fixed ECDH shared coords (hex), matching an aligned deposit witness.\n * @param {string} scalar_hex\n * @param {string} shared_x_hex\n * @param {string} shared_y_hex\n * @param {bigint} amount\n * @param {string} asset_hi_decimal\n * @param {string} asset_lo_decimal\n * @param {string} application_id_decimal\n * @returns {any}\n */\nexport function generateCoinForDepositWithSharedHex(scalar_hex, shared_x_hex, shared_y_hex, amount, asset_hi_decimal, asset_lo_decimal, application_id_decimal) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(shared_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(shared_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passStringToWasm0(asset_hi_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passStringToWasm0(asset_lo_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len4 = WASM_VECTOR_LEN;\n const ptr5 = passStringToWasm0(application_id_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len5 = WASM_VECTOR_LEN;\n wasm.generateCoinForDepositWithSharedHex(retptr, ptr0, len0, ptr1, len1, ptr2, len2, amount, ptr3, len3, ptr4, len4, ptr5, len5);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * `secret` in coin = `Poseidon255(1)(scalar)` per `deposit.circom`; scalar is 32-byte hex (64 chars, optional `0x`).\n * @param {string} scalar_hex\n * @param {bigint} amount\n * @param {string} asset_hi_decimal\n * @param {string} asset_lo_decimal\n * @param {string} application_id_decimal\n * @returns {any}\n */\nexport function generateCoinFromDepositEphemeralScalarHex(scalar_hex, amount, asset_hi_decimal, asset_lo_decimal, application_id_decimal) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(scalar_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(asset_hi_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(asset_lo_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passStringToWasm0(application_id_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len3 = WASM_VECTOR_LEN;\n wasm.generateCoinFromDepositEphemeralScalarHex(retptr, ptr0, len0, amount, ptr1, len1, ptr2, len2, ptr3, len3);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Same as `generateCoin`, but commitment uses the given ECDH shared key (64-char hex coords from `ecdhSharedKey`); shared coords are not stored in `coin` JSON.\n * @param {string} shared_x_hex\n * @param {string} shared_y_hex\n * @param {bigint} amount\n * @param {string} asset_hi_decimal\n * @param {string} asset_lo_decimal\n * @param {string} application_id_decimal\n * @returns {any}\n */\nexport function generateCoinWithSharedSecretHex(shared_x_hex, shared_y_hex, amount, asset_hi_decimal, asset_lo_decimal, application_id_decimal) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(shared_x_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(shared_y_hex, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(asset_hi_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len2 = WASM_VECTOR_LEN;\n const ptr3 = passStringToWasm0(asset_lo_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len3 = WASM_VECTOR_LEN;\n const ptr4 = passStringToWasm0(application_id_decimal, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len4 = WASM_VECTOR_LEN;\n wasm.generateCoinWithSharedSecretHex(retptr, ptr0, len0, ptr1, len1, amount, ptr2, len2, ptr3, len3, ptr4, len4);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n if (r2) {\n throw takeObject(r1);\n }\n return takeObject(r0);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\n/**\n * Convert snarkjs proof JSON to hex bytes for Soroban contract.\n * @param {string} proof_json\n * @returns {string}\n */\nexport function proofToHex(proof_json) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(proof_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.proofToHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred2_0 = r0;\n deferred2_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\n/**\n * Convert snarkjs public signals JSON to hex bytes for Soroban contract.\n * @param {string} public_json\n * @returns {string}\n */\nexport function publicToHex(public_json) {\n let deferred2_0;\n let deferred2_1;\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n const ptr0 = passStringToWasm0(public_json, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len0 = WASM_VECTOR_LEN;\n wasm.publicToHex(retptr, ptr0, len0);\n var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n deferred2_0 = r0;\n deferred2_1 = r1;\n return getStringFromWasm0(r0, r1);\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n wasm.__wbindgen_export4(deferred2_0, deferred2_1, 1);\n }\n}\n\nfunction __wbg_get_imports() {\n const import0 = {\n __proto__: null,\n __wbg_String_8564e559799eccda: function(arg0, arg1) {\n const ret = String(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n const len1 = WASM_VECTOR_LEN;\n getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n },\n __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n },\n __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n },\n __wbg___wbindgen_is_string_7ef6b97b02428fae: function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n },\n __wbg___wbindgen_is_undefined_52709e72fb9f179c: function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n },\n __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n },\n __wbg_call_2d781c1f4d5c0ef8: function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments); },\n __wbg_crypto_38df2bab126b63dc: function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n },\n __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments); },\n __wbg_length_ea16607d7b61445b: function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n },\n __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n },\n __wbg_new_ab79df5bd7c26067: function() {\n const ret = new Object();\n return addHeapObject(ret);\n },\n __wbg_new_with_length_825018a1616e9e55: function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_node_84ea875411254db1: function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n },\n __wbg_process_44c7a14e11e9f69e: function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n },\n __wbg_prototypesetcall_d62e5099504357e6: function(arg0, arg1, arg2) {\n Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n },\n __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments); },\n __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments); },\n __wbg_set_6be42768c690e380: function(arg0, arg1, arg2) {\n getObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n },\n __wbg_static_accessor_GLOBAL_8adb955bd33fac2f: function() {\n const ret = typeof global === 'undefined' ? null : global;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_GLOBAL_THIS_ad356e0db91c7913: function() {\n const ret = typeof globalThis === 'undefined' ? null : globalThis;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_SELF_f207c857566db248: function() {\n const ret = typeof self === 'undefined' ? null : self;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_static_accessor_WINDOW_bb9f1ba69d61b386: function() {\n const ret = typeof window === 'undefined' ? null : window;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n },\n __wbg_subarray_a068d24e39478a8a: function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n },\n __wbg_versions_276b2795b1c6a219: function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000001: function(arg0, arg1) {\n // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n const ret = getArrayU8FromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_cast_0000000000000002: function(arg0, arg1) {\n // Cast intrinsic for `Ref(String) -> Externref`.\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n },\n __wbindgen_object_clone_ref: function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n },\n __wbindgen_object_drop_ref: function(arg0) {\n takeObject(arg0);\n },\n };\n return {\n __proto__: null,\n \"./client_sdk_wasm_bg.js\": import0,\n };\n}\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nfunction dropObject(idx) {\n if (idx < 1028) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nlet cachedDataViewMemory0 = null;\nfunction getDataViewMemory0() {\n if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n }\n return cachedDataViewMemory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return decodeText(ptr, len);\n}\n\nlet cachedUint8ArrayMemory0 = null;\nfunction getUint8ArrayMemory0() {\n if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8ArrayMemory0;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_export3(addHeapObject(e));\n }\n}\n\nlet heap = new Array(1024).fill(undefined);\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8ArrayMemory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n const ret = cachedTextEncoder.encodeInto(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\ncachedTextDecoder.decode();\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n numBytesDecoded += len;\n if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n cachedTextDecoder.decode();\n numBytesDecoded = len;\n }\n return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n cachedTextEncoder.encodeInto = function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n };\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nlet wasmModule, wasm;\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n wasmModule = module;\n cachedDataViewMemory0 = null;\n cachedUint8ArrayMemory0 = null;\n return wasm;\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n } catch (e) {\n const validResponse = module.ok && expectedResponseType(module.type);\n\n if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else { throw e; }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n } else {\n return instance;\n }\n }\n\n function expectedResponseType(type) {\n switch (type) {\n case 'basic': case 'cors': case 'default': return true;\n }\n return false;\n }\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n\n if (module !== undefined) {\n if (Object.getPrototypeOf(module) === Object.prototype) {\n ({module} = module)\n } else {\n console.warn('using deprecated parameters for `initSync()`; pass a single object instead')\n }\n }\n\n const imports = __wbg_get_imports();\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n const instance = new WebAssembly.Instance(module, imports);\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n if (wasm !== undefined) return wasm;\n\n\n if (module_or_path !== undefined) {\n if (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n ({module_or_path} = module_or_path)\n } else {\n console.warn('using deprecated parameters for the initialization function; pass a single object instead')\n }\n }\n\n if (module_or_path === undefined) {\n module_or_path = new URL('client_sdk_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {\n module_or_path = fetch(module_or_path);\n }\n\n const { instance, module } = await __wbg_load(await module_or_path, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync, __wbg_init as default };\n",null,"module.exports = async function builder(code, options) {\n\n options = options || {};\n\n let wasmModule;\n try {\n\twasmModule = await WebAssembly.compile(code);\n } catch (err) {\n\tconsole.log(err);\n\tconsole.log(\"\\nTry to run circom --c in order to generate c++ code instead\\n\");\n\tthrow new Error(err);\n }\n\n let wc;\n\n let errStr = \"\";\n let msgStr = \"\";\n \n const instance = await WebAssembly.instantiate(wasmModule, {\n runtime: {\n exceptionHandler : function(code) {\n\t\tlet err;\n if (code == 1) {\n err = \"Signal not found.\\n\";\n } else if (code == 2) {\n err = \"Too many signals set.\\n\";\n } else if (code == 3) {\n err = \"Signal already set.\\n\";\n\t\t} else if (code == 4) {\n err = \"Assert Failed.\\n\";\n\t\t} else if (code == 5) {\n err = \"Not enough memory.\\n\";\n\t\t} else if (code == 6) {\n err = \"Input signal array access exceeds the size.\\n\";\n\t\t} else if (code == 7) {\n err = \"Out of bounds array access.\\n\";\n\t\t} else {\n\t\t err = \"Unknown error.\\n\";\n }\n throw new Error(err + errStr);\n },\n\t printErrorMessage : function() {\n\t\terrStr += getMessage() + \"\\n\";\n // console.error(getMessage());\n\t },\n\t writeBufferMessage : function() {\n\t\t\tconst msg = getMessage();\n\t\t\t// Any calls to `log()` will always end with a `\\n`, so that's when we print and reset\n\t\t\tif (msg === \"\\n\") {\n\t\t\t\tconsole.log(msgStr);\n\t\t\t\tmsgStr = \"\";\n\t\t\t} else {\n\t\t\t\t// If we've buffered other content, put a space in between the items\n\t\t\t\tif (msgStr !== \"\") {\n\t\t\t\t\tmsgStr += \" \"\n\t\t\t\t}\n\t\t\t\t// Then append the message to the message we are creating\n\t\t\t\tmsgStr += msg;\n\t\t\t}\n\t },\n\t showSharedRWMemory : function() {\n\t\tprintSharedRWMemory ();\n }\n\n }\n });\n\n const sanityCheck =\n options\n// options &&\n// (\n// options.sanityCheck ||\n// options.logGetSignal ||\n// options.logSetSignal ||\n// options.logStartComponent ||\n// options.logFinishComponent\n// );\n\n \n wc = new WitnessCalculator(instance, sanityCheck);\n return wc;\n\n function getMessage() {\n var message = \"\";\n\tvar c = instance.exports.getMessageChar();\n while ( c != 0 ) {\n\t message += String.fromCharCode(c);\n\t c = instance.exports.getMessageChar();\n\t}\n return message;\n }\n\t\n function printSharedRWMemory () {\n\tconst shared_rw_memory_size = instance.exports.getFieldNumLen32();\n\tconst arr = new Uint32Array(shared_rw_memory_size);\n\tfor (let j=0; j<shared_rw_memory_size; j++) {\n\t arr[shared_rw_memory_size-1-j] = instance.exports.readSharedRWMemory(j);\n\t}\n\n\t// If we've buffered other content, put a space in between the items\n\tif (msgStr !== \"\") {\n\t\tmsgStr += \" \"\n\t}\n\t// Then append the value to the message we are creating\n\tmsgStr += (fromArray32(arr).toString());\n\t}\n\n};\n\nclass WitnessCalculator {\n constructor(instance, sanityCheck) {\n this.instance = instance;\n\n\tthis.version = this.instance.exports.getVersion();\n this.n32 = this.instance.exports.getFieldNumLen32();\n\n this.instance.exports.getRawPrime();\n const arr = new Uint32Array(this.n32);\n for (let i=0; i<this.n32; i++) {\n arr[this.n32-1-i] = this.instance.exports.readSharedRWMemory(i);\n }\n this.prime = fromArray32(arr);\n\n this.witnessSize = this.instance.exports.getWitnessSize();\n\n this.sanityCheck = sanityCheck;\n }\n \n circom_version() {\n\treturn this.instance.exports.getVersion();\n }\n\n async _doCalculateWitness(input_orig, sanityCheck) {\n\t//input is assumed to be a map from signals to arrays of bigints\n this.instance.exports.init((this.sanityCheck || sanityCheck) ? 1 : 0);\n\tlet prefix = \"\";\n\tvar input = new Object();\n\t//console.log(\"Input: \", input_orig);\n\tqualify_input(prefix,input_orig,input);\n\t//console.log(\"Input after: \",input);\t\n const keys = Object.keys(input);\n\tvar input_counter = 0;\n keys.forEach( (k) => {\n const h = fnvHash(k);\n const hMSB = parseInt(h.slice(0,8), 16);\n const hLSB = parseInt(h.slice(8,16), 16);\n const fArr = flatArray(input[k]);\n\t let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB);\n\t if (signalSize < 0){\n\t\tthrow new Error(`Signal ${k} not found\\n`);\n\t }\n\t if (fArr.length < signalSize) {\n\t\tthrow new Error(`Not enough values for input signal ${k}\\n`);\n\t }\n\t if (fArr.length > signalSize) {\n\t\tthrow new Error(`Too many values for input signal ${k}\\n`);\n\t }\n for (let i=0; i<fArr.length; i++) {\n const arrFr = toArray32(normalize(fArr[i],this.prime),this.n32)\n for (let j=0; j<this.n32; j++) {\n\t\t this.instance.exports.writeSharedRWMemory(j,arrFr[this.n32-1-j]);\n\t\t}\n\t\ttry {\n this.instance.exports.setInputSignal(hMSB, hLSB,i);\n\t\t input_counter++;\n\t\t} catch (err) {\n\t\t // console.log(`After adding signal ${i} of ${k}`)\n throw new Error(err);\n\t\t}\n }\n\n });\n\tif (input_counter < this.instance.exports.getInputSize()) {\n\t throw new Error(`Not all inputs have been set. Only ${input_counter} out of ${this.instance.exports.getInputSize()}`);\n\t}\n }\n\n async calculateWitness(input, sanityCheck) {\n\n const w = [];\n await this._doCalculateWitness(input, sanityCheck);\n\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n\t const arr = new Uint32Array(this.n32);\n for (let j=0; j<this.n32; j++) {\n arr[this.n32-1-j] = this.instance.exports.readSharedRWMemory(j);\n }\n w.push(fromArray32(arr));\n }\n\n return w;\n }\n \n\n async calculateBinWitness(input, sanityCheck) {\n\n const buff32 = new Uint32Array(this.witnessSize*this.n32);\n\tconst buff = new Uint8Array( buff32.buffer);\n await this._doCalculateWitness(input, sanityCheck);\n\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n\t const pos = i*this.n32;\n for (let j=0; j<this.n32; j++) {\n\t\tbuff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n }\n\n\treturn buff;\n }\n \n\n async calculateWTNSBin(input, sanityCheck) {\n\n const buff32 = new Uint32Array(this.witnessSize*this.n32+this.n32+11);\n\tconst buff = new Uint8Array( buff32.buffer);\n await this._doCalculateWitness(input, sanityCheck);\n \n\t//\"wtns\"\n\tbuff[0] = \"w\".charCodeAt(0)\n\tbuff[1] = \"t\".charCodeAt(0)\n\tbuff[2] = \"n\".charCodeAt(0)\n\tbuff[3] = \"s\".charCodeAt(0)\n\n\t//version 2\n\tbuff32[1] = 2;\n\n\t//number of sections: 2\n\tbuff32[2] = 2;\n\n\t//id section 1\n\tbuff32[3] = 1;\n\n\tconst n8 = this.n32*4;\n\t//id section 1 length in 64bytes\n\tconst idSection1length = 8 + n8;\n\tconst idSection1lengthHex = idSection1length.toString(16);\n buff32[4] = parseInt(idSection1lengthHex.slice(0,8), 16);\n buff32[5] = parseInt(idSection1lengthHex.slice(8,16), 16);\n\n\t//this.n32\n\tbuff32[6] = n8;\n\n\t//prime number\n\tthis.instance.exports.getRawPrime();\n\n\tvar pos = 7;\n for (let j=0; j<this.n32; j++) {\n\t buff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n\tpos += this.n32;\n\n\t// witness size\n\tbuff32[pos] = this.witnessSize;\n\tpos++;\n\n\t//id section 2\n\tbuff32[pos] = 2;\n\tpos++;\n\n\t// section 2 length\n\tconst idSection2length = n8*this.witnessSize;\n\tconst idSection2lengthHex = idSection2length.toString(16);\n buff32[pos] = parseInt(idSection2lengthHex.slice(0,8), 16);\n buff32[pos+1] = parseInt(idSection2lengthHex.slice(8,16), 16);\n\n\tpos += 2;\n for (let i=0; i<this.witnessSize; i++) {\n this.instance.exports.getWitness(i);\n for (let j=0; j<this.n32; j++) {\n\t\tbuff32[pos+j] = this.instance.exports.readSharedRWMemory(j);\n }\n\t pos += this.n32;\n }\n\n\treturn buff;\n }\n\n}\n\n\nfunction qualify_input_list(prefix,input,input1){\n if (Array.isArray(input)) {\n\tfor (let i = 0; i<input.length; i++) {\n\t let new_prefix = prefix + \"[\" + i + \"]\";\n\t qualify_input_list(new_prefix,input[i],input1);\n\t}\n } else {\n\tqualify_input(prefix,input,input1);\n }\n}\n\nfunction qualify_input(prefix,input,input1) {\n if (Array.isArray(input)) {\n\ta = flatArray(input);\n\tif (a.length > 0) {\n\t let t = typeof a[0];\n\t for (let i = 1; i<a.length; i++) {\n\t\tif (typeof a[i] != t){\n\t\t throw new Error(`Types are not the same in the key ${prefix}`);\n\t\t}\n\t }\n\t if (t == \"object\") {\n\t\tqualify_input_list(prefix,input,input1);\n\t } else {\n\t\tinput1[prefix] = input;\n\t }\n\t} else {\t \n\t input1[prefix] = input;\n\t}\n } else if (typeof input == \"object\") {\n const keys = Object.keys(input);\n\tkeys.forEach( (k) => {\n\t let new_prefix = prefix == \"\"? k : prefix + \".\" + k;\n\t qualify_input(new_prefix,input[k],input1);\n\t});\n } else {\n\tinput1[prefix] = input;\n }\n}\n\nfunction toArray32(rem,size) {\n const res = []; //new Uint32Array(size); //has no unshift\n const radix = BigInt(0x100000000);\n while (rem) {\n res.unshift( Number(rem % radix));\n rem = rem / radix;\n }\n if (size) {\n\tvar i = size - res.length;\n\twhile (i>0) {\n\t res.unshift(0);\n\t i--;\n\t}\n }\n return res;\n}\n\nfunction fromArray32(arr) { //returns a BigInt\n var res = BigInt(0);\n const radix = BigInt(0x100000000);\n for (let i = 0; i<arr.length; i++) {\n res = res*radix + BigInt(arr[i]);\n }\n return res;\n}\n\nfunction flatArray(a) {\n var res = [];\n fillArray(res, a);\n return res;\n\n function fillArray(res, a) {\n if (Array.isArray(a)) {\n for (let i=0; i<a.length; i++) {\n fillArray(res, a[i]);\n }\n } else {\n res.push(a);\n }\n }\n}\n\nfunction normalize(n, prime) {\n let res = BigInt(n) % prime\n if (res < 0) res += prime\n return res\n}\n\nfunction fnvHash(str) {\n const uint64_max = BigInt(2) ** BigInt(64);\n let hash = BigInt(\"0xCBF29CE484222325\");\n for (var i = 0; i < str.length; i++) {\n\thash ^= BigInt(str[i].charCodeAt());\n\thash *= BigInt(0x100000001B3);\n\thash %= uint64_max;\n }\n let shash = hash.toString(16);\n let n = 16 - shash.length;\n shash = '0'.repeat(n).concat(shash);\n return shash;\n}\n",null,null,null,null,null,null,null,null,null],"names":["normalizeHex","hexToBytes","bytesToHex","StrKey","isNode","wasmBindings.initSync","wasmBindings.default","snarkjs","formatStealthAddressSignMessage","encodeDecodedEphemeralKeyBech","decodeDecodedEphemeralKeyBech","encodeDepositorPreimageBech","decodeDepositorPreimageBech","sharedSecretFromDepositorPreimageFn","sharedSecretFromRecipientPreimageFn","nativeToScVal","xdr","Operation","rpc","TransactionBuilder","authorizeEntry","Networks","fs","Keypair"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,MAAM,CAAC,cAAc,CAAC,IAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,IAAA,CAAA,OAAe,GAAG,MAAA,GAAA,IAAA,CAAA,MAAc,GAAG;AACnC,MAAM,QAAQ,GAAG,kCAAkC;AACnD,MAAM,YAAY,GAAG,EAAE;AACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAChC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;AACvB;AACA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE;AACvB,IAAI,QAAQ,CAAC,CAAC,GAAG,GAAG,SAAS,KAAK,CAAC;AACnC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AACtC;AACA,SAAS,SAAS,CAAC,MAAM,EAAE;AAC3B,IAAI,IAAI,GAAG,GAAG,CAAC;AACf,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC5C,QAAQ,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG;AAC7B,YAAY,OAAO,kBAAkB,GAAG,MAAM,GAAG,GAAG;AACpD,QAAQ,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,IAAA;AACA,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;AAC1B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC5C,QAAQ,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,QAAQ,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC3C,IAAA;AACA,IAAI,OAAO,GAAG;AACd;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;AAC7C,IAAI,IAAI,KAAK,GAAG,CAAC;AACjB,IAAI,IAAI,IAAI,GAAG,CAAC;AAChB,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC;AACnC,IAAI,MAAM,MAAM,GAAG,EAAE;AACrB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC1C,QAAQ,KAAK,GAAG,CAAC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;AAC3C,QAAQ,IAAI,IAAI,MAAM;AACtB,QAAQ,OAAO,IAAI,IAAI,OAAO,EAAE;AAChC,YAAY,IAAI,IAAI,OAAO;AAC3B,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC;AAC/C,QAAA;AACA,IAAA;AACA,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,IAAI,IAAI,GAAG,CAAC,EAAE;AACtB,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3D,QAAA;AACA,IAAA;AACA,SAAS;AACT,QAAQ,IAAI,IAAI,IAAI,MAAM;AAC1B,YAAY,OAAO,gBAAgB;AACnC,QAAQ,IAAI,CAAC,KAAK,KAAK,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI;AAC9C,YAAY,OAAO,kBAAkB;AACrC,IAAA;AACA,IAAI,OAAO,MAAM;AACjB;AACA,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;AACrC;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,IAAI,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;AAC3C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC1B,QAAQ,OAAO,GAAG;AAClB;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;AAC3C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAC1B,QAAQ,OAAO,GAAG;AAClB,IAAI,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AACxB;AACA,SAAS,sBAAsB,CAAC,QAAQ,EAAE;AAC1C,IAAI,IAAI,cAAc;AACtB,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE;AAC/B,QAAQ,cAAc,GAAG,CAAC;AAC1B,IAAA;AACA,SAAS;AACT,QAAQ,cAAc,GAAG,UAAU;AACnC,IAAA;AACA,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AAC1C,QAAQ,KAAK,GAAG,KAAK,IAAI,EAAE;AAC3B,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK;AACpD,YAAY,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC;AACvD,QAAQ,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;AACrC;AACA,QAAQ,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;AACnC,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;AACnC,YAAY,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AAChC,QAAQ,IAAI,MAAM,GAAG,MAAM,GAAG,GAAG;AACjC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC/C,YAAY,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9B,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,gBAAgB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC;AACjD,YAAY,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACtC,YAAY,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,QAAA;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;AACpC,YAAY,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;AAClC,QAAA;AACA,QAAQ,GAAG,IAAI,cAAc;AAC7B,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;AACpC,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI;AACnD,YAAY,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACxC,QAAA;AACA,QAAQ,OAAO,MAAM;AACrB,IAAA;AACA,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE;AAClC,QAAQ,KAAK,GAAG,KAAK,IAAI,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;AAC1B,YAAY,OAAO,GAAG,GAAG,YAAY;AACrC,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK;AAC9B,YAAY,OAAO,sBAAsB;AACzC;AACA,QAAQ,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE;AACzC,QAAQ,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE;AACzC,QAAQ,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;AAC9C,YAAY,OAAO,oBAAoB,GAAG,GAAG;AAC7C,QAAQ,GAAG,GAAG,OAAO;AACrB,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;AAC1C,QAAQ,IAAI,KAAK,KAAK,EAAE;AACxB,YAAY,OAAO,6BAA6B,GAAG,GAAG;AACtD,QAAQ,IAAI,KAAK,KAAK,CAAC;AACvB,YAAY,OAAO,qBAAqB,GAAG,GAAG;AAC9C,QAAQ,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AAC1C,QAAQ,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAC9C,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;AAChC,YAAY,OAAO,gBAAgB;AACnC,QAAQ,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;AACnC,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;AACnC,YAAY,OAAO,GAAG;AACtB,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACnD,YAAY,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,YAAY,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AACrC,YAAY,IAAI,CAAC,KAAK,SAAS;AAC/B,gBAAgB,OAAO,oBAAoB,GAAG,CAAC;AAC/C,YAAY,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACtC;AACA,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM;AACzC,gBAAgB;AAChB,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACzB,QAAA;AACA,QAAQ,IAAI,GAAG,KAAK,cAAc;AAClC,YAAY,OAAO,uBAAuB,GAAG,GAAG;AAChD,QAAQ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;AAChC,IAAA;AACA,IAAI,SAAS,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE;AACtC,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;AACxC,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;AACnC,YAAY,OAAO,GAAG;AACtB,IAAA;AACA,IAAI,SAAS,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE;AAChC,QAAQ,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;AACxC,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ;AACnC,YAAY,OAAO,GAAG;AACtB,QAAQ,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AAC5B,IAAA;AACA,IAAI,OAAO;AACX,QAAQ,YAAY;AACpB,QAAQ,MAAM;AACd,QAAQ,MAAM;AACd,QAAQ,OAAO;AACf,QAAQ,eAAe;AACvB,QAAQ,SAAS;AACjB,KAAK;AACL;AACA,IAAA,MAAA,GAAA,IAAA,CAAA,MAAc,GAAG,sBAAsB,CAAC,QAAQ,CAAC;AACjD,IAAA,CAAA,OAAe,GAAG,sBAAsB,CAAC,SAAS,CAAC;;ACrJ5C,MAAM,mBAAmB,GAAG,OAAgB;AAEnD;AACA,MAAM,oBAAoB,GAAG,IAAI;AAEjC,SAASA,cAAY,CAAC,GAAQ,EAAA;AAC5B,IAAA,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;IACpE;AACA,IAAA,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,CAAC,EAAE;AACzC;AAEA,SAASC,YAAU,CAAC,GAAQ,EAAA;AAC1B,IAAA,MAAM,IAAI,GAAGD,cAAY,CAAC,GAAG,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IACrD;AACA,IAAA,OAAO,GAAG;AACZ;AAEA,SAASE,YAAU,CAAC,KAAiB,EAAA;IACnC,IAAI,CAAC,GAAG,EAAE;AACV,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC9C;AACA,IAAA,OAAO,CAAC;AACV;AAEA,SAAS,WAAW,CAAC,CAAa,EAAE,CAAa,EAAA;AAC/C,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC/C,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB,IAAA,OAAO,GAAG;AACZ;AAEA;;;AAGG;AACG,SAAU,oBAAoB,CAAC,OAA8B,EAAA;IACjE,MAAM,EAAE,GAAGD,YAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAGA,YAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;AAC3B,QAAA,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF;IACH;IACA,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,oBAAoB,CAAC;AACxE;AAEA;;AAEG;AACG,SAAU,oBAAoB,CAAC,OAAuB,EAAA;AAC1D,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC;AACtE,IAAA,IAAI,MAAM,KAAK,mBAAmB,EAAE;AAClC,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,8BAAA,EAAiC,mBAAmB,CAAA,MAAA,EAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA,CAAE,CACtF;IACH;AACA,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAChD,QAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC;IAC9E;AACA,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;IAC5B,OAAO;QACL,CAAC,EAAEC,YAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,EAAEA,YAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACnC;AACH;;AC7FA;AACO,MAAM,0BAA0B,GAAG,cAAc;AAExD;;;AAGG;SACa,8BAA8B,CAC5C,OAAe,EACf,QAAgB,0BAA0B,EAAA;AAE1C,IAAA,OAAO,CAAA,8FAAA,EAAiG,OAAO,CAAA,eAAA,EAAkB,KAAK,gDAAgD;AACxL;;ACQA;AACO,MAAM,qBAAqB,GAAG,MAAe;AAEpD;AACO,MAAM,oCAAoC,GAAG,cAAuB;AAE3E,MAAM,WAAW,GAAG,EAAE;AACtB,MAAM,iBAAiB,GAAG,WAAW,GAAG,CAAC;AACzC,MAAM,mBAAmB,GAAG,WAAW,GAAG,CAAC;AAC3C,MAAM,iBAAiB,GAAG,IAAI;AAE9B,SAASF,cAAY,CAAC,GAAQ,EAAA;AAC5B,IAAA,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;IAClE;AACA,IAAA,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,CAAC,EAAE;AACzC;AAEA,SAASC,YAAU,CAAC,GAAQ,EAAA;AAC1B,IAAA,MAAM,IAAI,GAAGD,cAAY,CAAC,GAAG,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IACrD;AACA,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,UAAU,CAAC,KAAiB,EAAA;IACnC,IAAI,CAAC,GAAG,EAAE;AACV,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC9C;AACA,IAAA,OAAO,CAAC;AACV;AAEA,SAAS,OAAO,CAAC,CAAa,EAAE,CAAa,EAAA;AAC3C,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC/C,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,OAAO,CAAC,CAAa,EAAE,CAAa,EAAE,CAAa,EAAA;AAC1D,IAAA,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC1D,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACpB,IAAA,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC/B,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,SAAS,CAAC,KAAa,EAAE,KAAiB,EAAA;AACjD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE;AAChC,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,eAAA,EAAkB,KAAK,CAAA,qBAAA,EAAwB,WAAW,CAAA,YAAA,EAAe,KAAK,CAAC,MAAM,CAAA,CAAE,CACxF;IACH;AACF;AAEA;;;AAGG;SACa,yBAAyB,GAAA;AACvC,IAAA,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM;AAC3B,IAAA,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE;AACvB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;AACA,IAAA,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI;AACtB,IAAA,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;AAChD,QAAA,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AAC5B,QAAA,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AACpB,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,CAAC,CAAA,EAAA,EAAK,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE;AAC5B,YAAA,OAAO,GAAG;QACZ;IACF;AACA,IAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AACnE;AAEA;AACM,SAAU,yBAAyB,CAAC,OAA4B,EAAA;IACpE,MAAM,EAAE,GAAGC,YAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAGA,YAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAChC,IAAA,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;AAClB,IAAA,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;IAClB,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,iBAAiB,CAAC;AACvE;AAEM,SAAU,yBAAyB,CAAC,OAA4B,EAAA;AACpE,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC;AACnE,IAAA,IAAI,MAAM,KAAK,qBAAqB,EAAE;AACpC,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,4BAAA,EAA+B,qBAAqB,CAAA,MAAA,EAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA,CAAE,CACtF;IACH;AACA,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,CAAA,oCAAA,EAAuC,iBAAiB,CAAA,YAAA,EAAe,KAAK,CAAC,MAAM,CAAA,CAAE,CACtF;IACH;IACA,OAAO;QACL,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KAC3C;AACH;AAEA;AACM,SAAU,mCAAmC,CACjD,OAA6C,EAAA;IAE7C,MAAM,EAAE,GAAGA,YAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAChD,MAAM,EAAE,GAAGA,YAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACxD,MAAM,EAAE,GAAGA,YAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACxD,IAAA,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;AAClC,IAAA,SAAS,CAAC,2BAA2B,EAAE,EAAE,CAAC;AAC1C,IAAA,SAAS,CAAC,2BAA2B,EAAE,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE,KAAK,EAAE,iBAAiB,CAAC;AACtF;AAEM,SAAU,mCAAmC,CACjD,OAA6C,EAAA;AAE7C,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC;AACnE,IAAA,IAAI,MAAM,KAAK,oCAAoC,EAAE;AACnD,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,4BAAA,EAA+B,oCAAoC,CAAA,MAAA,EAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA,CAAE,CACrG;IACH;AACA,IAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrD,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,EAAE;QACxC,MAAM,IAAI,KAAK,CACb,CAAA,4CAAA,EAA+C,mBAAmB,CAAA,YAAA,EAAe,KAAK,CAAC,MAAM,CAAA,CAAE,CAChG;IACH;IACA,OAAO;QACL,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAC7D,QAAA,uBAAuB,EAAE;AACvB,YAAA,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;AAC/C,SAAA;KACF;AACH;;AC9JO,MAAM,sBAAsB,GAAG,KAAK;AAE3C;AACO,MAAM,qBAAqB,GAAmB;IACnD,+EAA+E;IAC/E,+EAA+E;CAChF;AAoBD,SAAS,gBAAgB,CAAC,IAAoB,EAAA;AAC5C,IAAA,OAAO,IAAI,CAAC,KAAK,KAAK,GAAG;AAC3B;AAEA,SAAS,eAAe,CAAC,IAAmB,EAAA;AAC1C,IAAA,OAAO,IAAI,CAAC,KAAK,KAAK,GAAG;AAC3B;AAEA,SAAS,mBAAmB,CAAC,IAAkB,EAAA;AAC7C,IAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACpB,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,IAAI;AACb;AAEA,SAAS,kBAAkB,CAAC,IAAiB,EAAA;AAC3C,IAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACpB,QAAA,OAAO,IAAI;IACb;AACA,IAAA,OAAO,IAAI;AACb;SAEgB,uBAAuB,CACrC,aAAA,GAAwB,sBAAsB,EAC9C,cAA8B,EAAA;IAE9B,OAAO;QACL,aAAa;AACb,QAAA,mBAAmB,EAAE;YACnB,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;AACf,SAAA;AACD,QAAA,qBAAqB,EAAE;AACrB,YAAA,kBAAkB,EAAE;AACpB,YAAA,kBAAkB,EAAE;AACpB,YAAA,kBAAkB,EAAE;AACpB,YAAA,kBAAkB,EAAE;AACrB,SAAA;KACF;AACH;SAEgB,yBAAyB,CACvC,KAA6B,EAC7B,aAA2C,EAC3C,YAAwC,EAAA;IAExC,MAAM,EAAE,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAE9C,OAAO;AACL,QAAA,mBAAmB,EAAE;AACnB,YAAA,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG;AACtD,YAAA,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG;AACvD,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG;AACrD,YAAA,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG;AACtD,SAAA;KACF;AACH;AAgBM,SAAU,6BAA6B,CAC3C,aAAqB,EACrB,cAA+B,EAAA;IAE/B,OAAO,uBAAuB,CAAC,aAAa,EAAE,cAAc,IAAI,qBAAqB,CAAC;AACxF;;AChHA;AACO,MAAM,sBAAsB,GAAG,EAAE;AAUxC;AACO,MAAM,gBAAgB,GAC3B,8EAA8E;AAEhF;;;AAGG;AACI,MAAM,kCAAkC,GAAG,EAAE,IAAI,IAAI;AAkG5D,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC;IAC9D;AACA,IAAA,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,CAAC,EAAE;AACzC;AAEA;AACM,SAAU,iBAAiB,CAAC,GAAW,EAAA;AAC3C,IAAA,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;AAC3B,IAAA,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;IAC1E;IACA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;IAC1B,OAAO,CAAC,CAAC,GAAG,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC5C;AAEA;;;AAGG;AACG,SAAU,oBAAoB,CAAC,GAAW,EAAA;AAC9C,IAAA,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;AAC3B,IAAA,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;IACA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;AACvD,IAAA,IAAI,CAAC,IAAI,kCAAkC,EAAE;AAC3C,QAAA,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F;IACH;AACA,IAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvB;AAEA;;;AAGG;AACG,SAAU,2CAA2C,CAAC,GAAW,EAAA;AAIrE,IAAA,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AACxC,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AACzC,IAAA,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AACrD;AAEA;;AAEG;AACG,SAAU,uCAAuC,CAAC,OAAe,EAAA;IACrE,MAAM,GAAG,GAAGE,iBAAM,CAAC,cAAc,CAAC,OAAO,CAAC;AAC1C,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC5C,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,2CAA2C,CAAC,GAAG,CAAC;AACnE,IAAA,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AACjB;AAEA;SACgB,eAAe,GAAA;AAC7B,IAAA,MAAM,GAAG,GAAG,yBAAyB,EAAE;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA,EAAA,EAAK,YAAY,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;IAC1C,OAAO,CAAC,CAAC,GAAG,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC5C;AAEA;SACgB,kBAAkB,GAAA;AAChC,IAAA,MAAM,GAAG,GAAG,yBAAyB,EAAE;AACvC,IAAA,OAAO,MAAM,CAAC,CAAA,EAAA,EAAK,YAAY,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtD;AAEA,SAAS,iBAAiB,GAAA;IACxB,OAAO,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAChD;AAEA,SAAS,aAAa,CAAC,IAAsB,EAAA;AAC3C,IAAA,MAAM,SAAS,GAAG,eAAe,EAAE;AACnC,IAAA,MAAM,SAAS,GAAG,yBAAyB,EAAE;IAC7C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAA,EAAA,EAAK,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;IACvF,MAAM,EAAE,GAAG,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC;IAC9D,OAAO;AACL,QAAA,KAAK,EAAE,GAAG;QACV,SAAS;QACT,MAAM;AACN,QAAA,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACjB,QAAA,aAAa,EAAE,GAAG;AAClB,QAAA,aAAa,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,aAAa,EAAE,iBAAiB,EAAE;AAClC,QAAA,UAAU,EAAE,GAAG;KAChB;AACH;AAEA,SAAS,YAAY,CAAC,IAAsB,EAAA;AAC1C,IAAA,MAAM,SAAS,GAAG,eAAe,EAAE;AACnC,IAAA,MAAM,kBAAkB,GAAG,kBAAkB,EAAE;AAC/C,IAAA,MAAM,KAAK,GAAG,yBAAyB,EAAE;IACzC,MAAM,EAAE,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC;IAC1D,OAAO;AACL,QAAA,KAAK,EAAE,GAAG;QACV,SAAS;QACT,kBAAkB;AAClB,QAAA,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACjB,QAAA,aAAa,EAAE,GAAG;AAClB,QAAA,mBAAmB,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACxE;AACH;AAEA,SAAS,eAAe,CAAC,IAAkB,EAAE,IAAsB,EAAA;AACjE,IAAA,OAAO,IAAI,KAAK,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;AACtD;AAEA,SAAS,cAAc,CAAC,IAAiB,EAAE,IAAsB,EAAA;AAC/D,IAAA,OAAO,IAAI,KAAK,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;AACrD;AAYM,SAAU,4BAA4B,CAC1C,YAAyC,EACzC,UAAsC,EACtC,aAA2C,EAC3C,YAAwC,EACxC,KAA6B,EAC7B,IAAsB,EAAA;IAEtB,MAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAClD,MAAM,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAClD,MAAM,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAChD,MAAM,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC;IAE5E,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACrC,mBAAmB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;QACjD,gBAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;QACxC,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACrC,aAAa,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;QACnD,aAAa,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;QACnD,UAAU,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;QAC1C,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACrC,mBAAmB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;QACjD,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;QACrC,4BAA4B,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,CAAC;QAC5E,4BAA4B,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC9E,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;QACvD,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;QACvD,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;KAChD;AACH;AAEA;AACM,SAAU,4CAA4C,CAC1D,cAAsB,EAAA;IAEtB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC;IACrD,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACrD;AAEA;SACgB,+BAA+B,CAC7C,OAA8B,EAC9B,qBAA+C,EAC/C,aAAqB,EAAA;IAErB,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,cAAc;QAC7B,aAAa;AACb,QAAA,aAAa,EAAE;AACb,YAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC1C,YAAA,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC3C,SAAA;QACD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B;AACH;;AC9TA,SAAS,UAAU,CAAC,GAAW,EAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD;AACA,IAAA,OAAO,GAAG;AACZ;AAEA,SAAS,eAAe,CAAC,KAAiB,EAAA;IACxC,IAAI,CAAC,GAAG,EAAE;AACV,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,QAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC9C;AACA,IAAA,OAAO,CAAC;AACV;AAEA;AACA,SAAS,mBAAmB,CAAC,CAAS,EAAA;IACpC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC9B,IAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC9B,QAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC;IACxE;AACA,IAAA,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;AACzC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/B;AACA,QAAA,OAAO,GAAG;IACZ;AAAE,IAAA,MAAM;AACN,QAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;IAC7C;AACF;AAEA;;AAEG;AACG,SAAU,+BAA+B,CAAC,KAAa,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACxC,IAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE;AACtD,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC;AACA,IAAA,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;AAC5C,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;QACzB,MAAM,IAAI,KAAK,CACb,CAAA,kDAAA,EAAqD,OAAO,CAAC,MAAM,CAAA,YAAA,CAAc,CAClF;IACH;AACA,IAAA,OAAO,OAAO;AAChB;AAEA;AACO,eAAe,MAAM,CAAC,IAAgB,EAAA;AAC3C,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM;IACxC,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF;IACH;IACA,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;AACxC,IAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACd,IAAA,OAAO,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7D;AAEA;;AAEG;AACI,eAAe,kCAAkC,CACtD,iBAAoE,EACpE,aAA4D,EAC5D,SAAiB,EAAA;AAEjB,IAAA,MAAM,GAAG,GAAG,+BAA+B,CAAC,SAAS,CAAC;AACtD,IAAA,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;AAChC,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC;AACzC,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC;AAC5C,IAAA,OAAO,aAAa,CAAC,OAAO,CAAC;AAC/B;AAEA;;;AAGG;AACI,eAAe,wCAAwC,CAAC,SAAiB,EAAA;AAC9E,IAAA,MAAM,GAAG,GAAG,+BAA+B,CAAC,SAAS,CAAC;AACtD,IAAA,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE;AACV,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,QAAA,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC/B;AACA,IAAA,MAAM,IAAI,GAAG,kCAAkC,GAAG,EAAE;IACpD,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;AAChC;;AC/FA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,0BAA0B,CAAC,SAAS,EAAE,UAAU,EAAE;AAClE,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAClG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACnG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACvE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,IAAI,GAAG,EAAE;AACrB,QAAQ,IAAI,IAAI,GAAG,EAAE;AACrB,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAC9B,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,WAAW,GAAG,IAAI;AAC1B,QAAQ,WAAW,GAAG,IAAI;AAC1B,QAAQ,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7C,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5D,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,iBAAiB,EAAE;AAC1D,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC1G,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AACvD,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,IAAI,GAAG,EAAE;AACrB,QAAQ,IAAI,IAAI,GAAG,EAAE;AACrB,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;AAC9B,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,WAAW,GAAG,IAAI;AAC1B,QAAQ,WAAW,GAAG,IAAI;AAC1B,QAAQ,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7C,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5D,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,sBAAsB,CAAC,IAAI,EAAE;AAC7C,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC7F,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AACvD,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,mCAAmC,CAAC,UAAU,EAAE;AAChE,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACnG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;AAC9D,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACjG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAClG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAClG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACtE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE;AACjG,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC/G,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC7E,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,mCAAmC,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE;AAChK,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACnG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC/G,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACxI,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,yCAAyC,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE;AAC1I,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACnG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC/G,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,yCAAyC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACtH,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,+BAA+B,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE;AAChJ,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACzG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAC/G,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,+BAA+B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACxH,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,MAAM,UAAU,CAAC,EAAE,CAAC;AAChC,QAAQ;AACR,QAAQ,OAAO,UAAU,CAAC,EAAE,CAAC;AAC7B,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,UAAU,CAAC,UAAU,EAAE;AACvC,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACnG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AAC3C,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,WAAW,GAAG,EAAE;AACxB,QAAQ,WAAW,GAAG,EAAE;AACxB,QAAQ,OAAO,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5D,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,WAAW,EAAE;AACzC,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI;AACR,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC;AAChE,QAAQ,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACpG,QAAQ,MAAM,IAAI,GAAG,eAAe;AACpC,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5C,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACpE,QAAQ,WAAW,GAAG,EAAE;AACxB,QAAQ,WAAW,GAAG,EAAE;AACxB,QAAQ,OAAO,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,IAAI,CAAC,SAAS;AACd,QAAQ,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;AAChD,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC5D,IAAI;AACJ;;AAEA,SAAS,iBAAiB,GAAG;AAC7B,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,SAAS,EAAE,IAAI;AACvB,QAAQ,6BAA6B,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE;AAC5D,YAAY,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/C,YAAY,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC;AAChG,YAAY,MAAM,IAAI,GAAG,eAAe;AACxC,YAAY,kBAAkB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AACnE,YAAY,kBAAkB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AACnE,QAAQ,CAAC;AACT,QAAQ,6CAA6C,EAAE,SAAS,IAAI,EAAE;AACtE,YAAY,MAAM,GAAG,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU;AAC9D,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,2CAA2C,EAAE,SAAS,IAAI,EAAE;AACpE,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AACvC,YAAY,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;AAChE,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,2CAA2C,EAAE,SAAS,IAAI,EAAE;AACpE,YAAY,MAAM,GAAG,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,QAAQ;AAC5D,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,8CAA8C,EAAE,SAAS,IAAI,EAAE;AACvE,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS;AACrD,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,uCAAuC,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE;AACtE,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3D,QAAQ,CAAC;AACT,QAAQ,2BAA2B,EAAE,WAAW,EAAE,OAAO,WAAW,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACjG,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9E,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,QAAQ,6BAA6B,EAAE,SAAS,IAAI,EAAE;AACtD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM;AAC9C,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,sCAAsC,EAAE,WAAW,EAAE,OAAO,WAAW,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE;AACtG,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,QAAQ,6BAA6B,EAAE,SAAS,IAAI,EAAE;AACtD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM;AAC9C,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,+BAA+B,EAAE,SAAS,IAAI,EAAE;AACxD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ;AAChD,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,0BAA0B,EAAE,WAAW;AAC/C,YAAY,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE;AACpC,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,sCAAsC,EAAE,SAAS,IAAI,EAAE;AAC/D,YAAY,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC;AAClD,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,2BAA2B,EAAE,SAAS,IAAI,EAAE;AACpD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI;AAC5C,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,8BAA8B,EAAE,SAAS,IAAI,EAAE;AACvD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO;AAC/C,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,uCAAuC,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC5E,YAAY,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAC3F,QAAQ,CAAC;AACT,QAAQ,qCAAqC,EAAE,WAAW,EAAE,OAAO,WAAW,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE;AACrG,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,QAAQ,8BAA8B,EAAE,WAAW,EAAE,OAAO,WAAW,CAAC,YAAY;AACpF,YAAY,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;AACtC,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,QAAQ,0BAA0B,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AAC/D,YAAY,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;AAChE,QAAQ,CAAC;AACT,QAAQ,6CAA6C,EAAE,WAAW;AAClE,YAAY,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,IAAI,GAAG,MAAM;AACrE,YAAY,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC3D,QAAQ,CAAC;AACT,QAAQ,kDAAkD,EAAE,WAAW;AACvE,YAAY,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,WAAW,GAAG,IAAI,GAAG,UAAU;AAC7E,YAAY,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC3D,QAAQ,CAAC;AACT,QAAQ,2CAA2C,EAAE,WAAW;AAChE,YAAY,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI;AACjE,YAAY,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC3D,QAAQ,CAAC;AACT,QAAQ,6CAA6C,EAAE,WAAW;AAClE,YAAY,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,IAAI,GAAG,MAAM;AACrE,YAAY,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;AAC3D,QAAQ,CAAC;AACT,QAAQ,+BAA+B,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACpE,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;AACxE,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,+BAA+B,EAAE,SAAS,IAAI,EAAE;AACxD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ;AAChD,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,gCAAgC,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE;AAC/D;AACA,YAAY,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;AACvD,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,gCAAgC,EAAE,SAAS,IAAI,EAAE,IAAI,EAAE;AAC/D;AACA,YAAY,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;AACtD,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,2BAA2B,EAAE,SAAS,IAAI,EAAE;AACpD,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;AACvC,YAAY,OAAO,aAAa,CAAC,GAAG,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,0BAA0B,EAAE,SAAS,IAAI,EAAE;AACnD,YAAY,UAAU,CAAC,IAAI,CAAC;AAC5B,QAAQ,CAAC;AACT,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,SAAS,EAAE,IAAI;AACvB,QAAQ,yBAAyB,EAAE,OAAO;AAC1C,KAAK;AACL;;AAEA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7D,IAAI,MAAM,GAAG,GAAG,SAAS;AACzB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;;AAEzB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG;AACnB,IAAI,OAAO,GAAG;AACd;;AAEA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE;AACpB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS;AACzB,IAAI,SAAS,GAAG,GAAG;AACnB;;AAEA,SAAS,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE;AACvC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;AACnB,IAAI,OAAO,oBAAoB,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAClE;;AAEA,IAAI,qBAAqB,GAAG,IAAI;AAChC,SAAS,kBAAkB,GAAG;AAC9B,IAAI,IAAI,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,KAAK,qBAAqB,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,qBAAqB,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AAC1M,QAAQ,qBAAqB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAChE,IAAI;AACJ,IAAI,OAAO,qBAAqB;AAChC;;AAEA,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE;AACtC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;AACnB,IAAI,OAAO,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;AAC/B;;AAEA,IAAI,uBAAuB,GAAG,IAAI;AAClC,SAAS,oBAAoB,GAAG;AAChC,IAAI,IAAI,uBAAuB,KAAK,IAAI,IAAI,uBAAuB,CAAC,UAAU,KAAK,CAAC,EAAE;AACtF,QAAQ,uBAAuB,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACpE,IAAI;AACJ,IAAI,OAAO,uBAAuB;AAClC;;AAEA,SAAS,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;AAE5C,SAAS,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE;AAC9B,IAAI,IAAI;AACR,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,QAAQ,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACjD,IAAI;AACJ;;AAEA,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;;AAEvC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM;;AAE3B,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;AACxC;;AAEA,SAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/B,QAAQ,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;AACjD,QAAQ,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;AAC/C,QAAQ,oBAAoB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AACvE,QAAQ,eAAe,GAAG,GAAG,CAAC,MAAM;AACpC,QAAQ,OAAO,GAAG;AAClB,IAAI;;AAEJ,IAAI,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM;AACxB,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;;AAElC,IAAI,MAAM,GAAG,GAAG,oBAAoB,EAAE;;AAEtC,IAAI,IAAI,MAAM,GAAG,CAAC;;AAElB,IAAI,OAAO,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE;AACnC,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;AAC3C,QAAQ,IAAI,IAAI,GAAG,IAAI,EAAE;AACzB,QAAQ,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI;AAChC,IAAI;AACJ,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAY,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AACnC,QAAQ;AACR,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AACvE,QAAQ,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;AAC7E,QAAQ,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC;;AAE3D,QAAQ,MAAM,IAAI,GAAG,CAAC,OAAO;AAC7B,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;AAChD,IAAI;;AAEJ,IAAI,eAAe,GAAG,MAAM;AAC5B,IAAI,OAAO,GAAG;AACd;;AAEA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,IAAI,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;AAC9B,IAAI,UAAU,CAAC,GAAG,CAAC;AACnB,IAAI,OAAO,GAAG;AACd;;AAEA,IAAI,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAClF,iBAAiB,CAAC,MAAM,EAAE;AAC1B,MAAM,uBAAuB,GAAG,UAAU;AAC1C,IAAI,eAAe,GAAG,CAAC;AACvB,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE;AAC9B,IAAI,eAAe,IAAI,GAAG;AAC1B,IAAI,IAAI,eAAe,IAAI,uBAAuB,EAAE;AACpD,QAAQ,iBAAiB,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtF,QAAQ,iBAAiB,CAAC,MAAM,EAAE;AAClC,QAAQ,eAAe,GAAG,GAAG;AAC7B,IAAI;AACJ,IAAI,OAAO,iBAAiB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;AACpF;;AAEA,MAAM,iBAAiB,GAAG,IAAI,WAAW,EAAE;;AAE3C,IAAI,EAAE,YAAY,IAAI,iBAAiB,CAAC,EAAE;AAC1C,IAAI,iBAAiB,CAAC,UAAU,GAAG,UAAU,GAAG,EAAE,IAAI,EAAE;AACxD,QAAQ,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;AACjD,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACrB,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,GAAG,CAAC,MAAM;AAC5B,YAAY,OAAO,EAAE,GAAG,CAAC;AACzB,SAAS;AACT,IAAI,CAAC;AACL;;AAEA,IAAI,eAAe,GAAG,CAAC;;AAEpB,IAAa;AAChB,SAAS,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC/C,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO;AAE3B,IAAI,qBAAqB,GAAG,IAAI;AAChC,IAAI,uBAAuB,GAAG,IAAI;AAClC,IAAI,OAAO,IAAI;AACf;;AAEA,eAAe,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE;AAC3C,IAAI,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,MAAM,YAAY,QAAQ,EAAE;AACtE,QAAQ,IAAI,OAAO,WAAW,CAAC,oBAAoB,KAAK,UAAU,EAAE;AACpE,YAAY,IAAI;AAChB,gBAAgB,OAAO,MAAM,WAAW,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC;AAC9E,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE;AACxB,gBAAgB,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;;AAEpF,gBAAgB,IAAI,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE;AAChG,oBAAoB,OAAO,CAAC,IAAI,CAAC,mMAAmM,EAAE,CAAC,CAAC;;AAExO,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAClC,YAAY;AACZ,QAAQ;;AAER,QAAQ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE;AAChD,QAAQ,OAAO,MAAM,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;AAC5D,IAAI,CAAC,MAAM;AACX,QAAQ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;;AAEvE,QAAQ,IAAI,QAAQ,YAAY,WAAW,CAAC,QAAQ,EAAE;AACtD,YAAY,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AACvC,QAAQ,CAAC,MAAM;AACf,YAAY,OAAO,QAAQ;AAC3B,QAAQ;AACR,IAAI;;AAEJ,IAAI,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACxC,QAAQ,QAAQ,IAAI;AACpB,YAAY,KAAK,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,OAAO,IAAI;AAClE;AACA,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;;AAEA,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC1B,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,OAAO,IAAI;;;AAGvC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE;AAChE,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM;AAC9B,QAAQ,CAAC,MAAM;AACf,YAAY,OAAO,CAAC,IAAI,CAAC,4EAA4E;AACrG,QAAQ;AACR,IAAI;;AAEJ,IAAI,MAAM,OAAO,GAAG,iBAAiB,EAAE;AACvC,IAAI,IAAI,EAAE,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,EAAE;AACjD,QAAQ,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/C,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;AAC9D,IAAI,OAAO,mBAAmB,CAAC,QAAgB,CAAC;AAChD;;AAEA,eAAe,UAAU,CAAC,cAAc,EAAE;AAC1C,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,OAAO,IAAI;;;AAGvC,IAAI,IAAI,cAAc,KAAK,SAAS,EAAE;AACtC,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE;AACxE,YAAY,CAAC,CAAC,cAAc,CAAC,GAAG,cAAc;AAC9C,QAAQ,CAAC,MAAM;AACf,YAAY,OAAO,CAAC,IAAI,CAAC,2FAA2F;AACpH,QAAQ;AACR,IAAI;;AAEJ,IAAI,IAAI,cAAc,KAAK,SAAS,EAAE;AACtC,QAAQ,cAAc,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,wPAAe,CAAC;AAC5E,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,iBAAiB,EAAE;;AAEvC,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,KAAK,OAAO,OAAO,KAAK,UAAU,IAAI,cAAc,YAAY,OAAO,CAAC,KAAK,OAAO,GAAG,KAAK,UAAU,IAAI,cAAc,YAAY,GAAG,CAAC,EAAE;AACpL,QAAQ,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAC9C,IAAI;;AAEJ,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,CAAC;;AAEhF,IAAI,OAAO,mBAAmB,CAAC,QAAgB,CAAC;AAChD;;;;;;;;;;;;;;;;;;;ACvqBA,MAAMC,QAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI;AAEzE,IAAI,UAAU,GAAQ,IAAI;AAEnB,eAAe,QAAQ,CAAC,UAAyB,EAAA;AACtD,IAAA,IAAI,UAAU;AAAE,QAAA,OAAO,UAAU;IAEjC,IAAIA,QAAM,EAAE;QACV,IAAI,UAAU,EAAE;YACdC,QAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/C;aAAO;AACL,YAAA,MAAM,IAAI,GAAG,MAAM,OAAO,MAAM,CAAC;YACjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,KAAK,CAAC;AAC7C,YAAA,MAAM,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC7B,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,wPAAe,CAAC,CAAC;AACxD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC;YAC1E,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;YACxCA,QAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3C;QACA,UAAU,GAAG,YAAY;IAC3B;SAAO;QACL,IAAI,UAAU,EAAE;YACdA,QAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/C;aAAO;AACL,YAAA,MAAMC,UAAoB,EAAE;QAC9B;QACA,UAAU,GAAG,YAAY;IAC3B;AAEA,IAAA,OAAO,UAAU;AACnB;;AChCA,IAAA,kBAAc,GAAG,eAAe,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE;;AAEvD,IAAI,OAAO,GAAG,OAAO,IAAI,EAAE;;AAE3B,IAAI,IAAI,UAAU;AAClB,IAAI,IAAI;AACR,CAAC,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;AAC7C,IAAA,CAAK,EAAE,OAAO,GAAG,EAAE;AACnB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC;AAC/E,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AACrB,IAAA;;AAEA,IAAI,IAAI,EAAE;;AAEV,IAAI,IAAI,MAAM,GAAG,EAAE;AACnB,IAAI,IAAI,MAAM,GAAG,EAAE;AACnB;AACA,IAAI,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,UAAU,EAAE;AAC/D,QAAQ,OAAO,EAAE;AACjB,YAAY,gBAAgB,GAAG,SAAS,IAAI,EAAE;AAC9C,EAAE,IAAI,GAAG;AACT,gBAAgB,IAAI,IAAI,IAAI,CAAC,EAAE;AAC/B,oBAAoB,GAAG,GAAG,qBAAqB;AAC/C,gBAAA,CAAiB,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACtC,oBAAoB,GAAG,GAAG,yBAAyB;AACnD,gBAAA,CAAiB,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACtC,oBAAoB,GAAG,GAAG,uBAAuB;AACjD,EAAA,CAAG,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACxB,oBAAoB,GAAG,GAAG,kBAAkB;AAC5C,EAAA,CAAG,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACxB,oBAAoB,GAAG,GAAG,sBAAsB;AAChD,EAAA,CAAG,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACxB,oBAAoB,GAAG,GAAG,+CAA+C;AACzE,EAAA,CAAG,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE;AACxB,oBAAoB,GAAG,GAAG,+BAA+B;AACzD,EAAA,CAAG,MAAM;AACT,MAAM,GAAG,GAAG,kBAAkB;AAC9B,gBAAA;AACA,gBAAgB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;AAC7C,YAAA,CAAa;AACb,KAAK,iBAAiB,GAAG,WAAW;AACpC,EAAE,MAAM,IAAI,UAAU,EAAE,GAAG,IAAI;AAC/B;AACA,KAAA,CAAM;AACN,KAAK,kBAAkB,GAAG,WAAW;AACrC,GAAG,MAAM,GAAG,GAAG,UAAU,EAAE;AAC3B;AACA,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE;AACrB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACvB,IAAI,MAAM,GAAG,EAAE;AACf,GAAA,CAAI,MAAM;AACV;AACA,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE;AACvB,KAAK,MAAM,IAAI;AACf,IAAA;AACA;AACA,IAAI,MAAM,IAAI,GAAG;AACjB,GAAA;AACA,KAAA,CAAM;AACN,KAAK,kBAAkB,GAAG,WAAW;AACrC,EAAE,mBAAmB,GAAG;AACxB,YAAA;;AAEA;AACA,KAAK,CAAC;;AAEN,IAAI,MAAM,WAAW;AACrB,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,EAAE,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC;AACrD,IAAI,OAAO,EAAE;;AAEb,IAAI,SAAS,UAAU,GAAG;AAC1B,QAAQ,IAAI,OAAO,GAAG,EAAE;AACxB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;AAC1C,QAAQ,QAAQ,CAAC,IAAI,CAAC,GAAG;AACzB,KAAK,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;AAC1C,CAAA;AACA,QAAQ,OAAO,OAAO;AACtB,IAAA;AACA;AACA,IAAI,SAAS,mBAAmB,IAAI;AACpC,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAClE,CAAC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC;AACnD,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE;AAC7C,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC5E,CAAA;;AAEA;AACA,CAAC,IAAI,MAAM,KAAK,EAAE,EAAE;AACpB,EAAE,MAAM,IAAI;AACZ,CAAA;AACA;AACA,CAAC,MAAM,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,CAAA;;AAEA,CAAC;;AAED,MAAM,iBAAiB,CAAC;AACxB,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE;AACvC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAEhC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE;AAClD,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;;AAE3D,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AAC3C,QAAQ,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7C,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AACvC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC3E,QAAA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC;;AAErC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;;AAEjE,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC,IAAA;AACA;AACA,IAAI,cAAc,GAAG;AACrB,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE;AAC1C,IAAA;;AAEA,IAAI,MAAM,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE;AACvD;AACA,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,EAAE;AACzB;AACA,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACvC;AACA,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvC,CAAC,IAAI,aAAa,GAAG,CAAC;AACtB,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK;AAC7B,YAAY,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAChC,YAAY,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnD,YAAY,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACpD,YAAY,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,KAAK,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;AAC1E,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC;AACxB,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;AAC5C,KAAA;AACA,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE;AACnC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,KAAA;AACA,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE;AACnC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,iCAAiC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,KAAA;AACA,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,gBAAgB,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG;AAC9E,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,EAAA;AACA,EAAE,IAAI;AACN,oBAAoB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,MAAM,aAAa,EAAE;AACrB,EAAA,CAAG,CAAC,OAAO,GAAG,EAAE;AAChB;AACA,oBAAoB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;AACxC,EAAA;AACA,YAAA;;AAEA,QAAA,CAAS,CAAC;AACV,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE;AAC3D,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC1H,CAAA;AACA,IAAA;;AAEA,IAAI,MAAM,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE;;AAE/C,QAAQ,MAAM,CAAC,GAAG,EAAE;AACpB,QAAQ,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;;AAE1D,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;AAC/C,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/C,KAAK,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1C,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC3E,YAAA;AACA,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACpC,QAAA;;AAEA,QAAQ,OAAO,CAAC;AAChB,IAAA;AACA;;AAEA,IAAI,MAAM,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE;;AAElD,QAAQ,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AACjE,CAAC,MAAM,IAAI,GAAG,KAAK,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;AAC7C,QAAQ,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;;AAE1D,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;AAC/C,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/C,KAAK,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG;AAC3B,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AAC3C,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7D,YAAA;AACA,QAAA;;AAEA,CAAC,OAAO,IAAI;AACZ,IAAA;AACA;;AAEA,IAAI,MAAM,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE;;AAE/C,QAAQ,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7E,CAAC,MAAM,IAAI,GAAG,KAAK,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;AAC7C,QAAQ,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC;AAC1D;AACA;AACA,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;;AAE3B;AACA,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;;AAEd;AACA,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;;AAEd;AACA,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;;AAEd,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB;AACA,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;AAChC,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1D,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChE,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;AAEjE;AACA,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;;AAEf;AACA,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;;AAEpC,CAAC,IAAI,GAAG,GAAG,CAAC;AACZ,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AACvC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAChE,QAAA;AACA,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;;AAEhB;AACA,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW;AAC/B,CAAC,GAAG,EAAE;;AAEN;AACA,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AAChB,CAAC,GAAG,EAAE;;AAEN;AACA,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;AAC7C,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1D,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClE,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;AAErE,CAAC,GAAG,IAAI,CAAC;AACT,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;AAC/C,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/C,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;AAC3C,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7D,YAAA;AACA,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG;AACpB,QAAA;;AAEA,CAAC,OAAO,IAAI;AACZ,IAAA;;AAEA;;;AAGA,SAAS,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAChD,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,KAAK,IAAI,UAAU,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG;AAC5C,KAAK,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAA;AACA,IAAA,CAAK,MAAM;AACX,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AACnC,IAAA;AACA;;AAEA,SAAS,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;AAC5C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACxB,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvB,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC,CAAC;AACpE,EAAA;AACA,KAAA;AACA,KAAK,IAAI,CAAC,IAAI,QAAQ,EAAE;AACxB,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AACzC,KAAA,CAAM,MAAM;AACZ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK;AACxB,KAAA;AACA,CAAA,CAAE,MAAM;AACR,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK;AAC3B,CAAA;AACA,IAAA,CAAK,MAAM,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;AACzC,QAAQ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACvC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK;AACtB,KAAK,IAAI,UAAU,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC;AACxD,KAAK,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAA,CAAE,CAAC;AACH,IAAA,CAAK,MAAM;AACX,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK;AACvB,IAAA;AACA;;AAEA,SAAS,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE;AAC7B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;AACnB,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,OAAO,GAAG,EAAE;AAChB,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;AACzC,QAAQ,GAAG,GAAG,GAAG,GAAG,KAAK;AACzB,IAAA;AACA,IAAI,IAAI,IAAI,EAAE;AACd,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM;AAC1B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACb,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACnB,KAAK,CAAC,EAAE;AACR,CAAA;AACA,IAAA;AACA,IAAI,OAAO,GAAG;AACd;;AAEA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACvB,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,QAAQ,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxC,IAAA;AACA,IAAI,OAAO,GAAG;AACd;;AAEA,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,IAAI,IAAI,GAAG,GAAG,EAAE;AAChB,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;AACrB,IAAI,OAAO,GAAG;;AAEd,IAAI,SAAS,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE;AAC/B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC9B,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,gBAAgB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,YAAA;AACA,QAAA,CAAS,MAAM;AACf,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,QAAA;AACA,IAAA;AACA;;AAEA,SAAS,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE;AAC7B,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG;AAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI;AACxB,IAAI,OAAO;AACX;;AAEA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC;AAC9C,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC3C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACpC,CAAC,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC;AAC9B,CAAC,IAAI,IAAI,UAAU;AACnB,IAAA;AACA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM;AAC7B,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,IAAI,OAAO,KAAK;AAChB;;;;AC3XA,MAAMF,QAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI;AAElE,eAAe,eAAe,CACnC,KAA8B,EAC9B,WAA0B,EAAA;AAE1B,IAAA,IAAI,UAAwB;AAC5B,IAAA,IAAI,EAAO;IAEX,IAAIA,QAAM,EAAE;AACV,QAAA,MAAM,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC7B,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAC;QACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,KAAK,CAAC;AAC7C,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,wPAAe,CAAC,CAAC;AAC5D,QAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC;AAEvD,QAAA,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE;QAEzC,IAAI,WAAW,EAAE;YACf,UAAU,GAAG,WAAW;QAC1B;aAAO;YACL,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;YACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5B,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAA,qBAAA,CAAuB,CAAC;YAC/E;AACA,YAAA,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;QACxC;IACF;SAAO;QACL,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,kEAAkE;AAClE,gBAAA,kEAAkE,CACnE;QACH;QACA,UAAU,GAAG,WAAW;AACxB,QAAA,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE;IAC3C;IAEA,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,MAAM,IAAI,GAAe,MAAM,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;AACpE,IAAA,OAAO,IAAI;AACb;;AC5CA;AAGA,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI;AAOzE;;;AAGG;AACH,SAAS,YAAY,CAAC,GAAiB,EAAA;IACrC,IAAI,GAAG,YAAY,UAAU;AAAE,QAAA,OAAO,GAAG;IACzC,IAAI,GAAG,YAAY,WAAW;AAAE,QAAA,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC;AAC1D,IAAA,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC;AACnE;AAEO,eAAe,aAAa,CACjC,IAAgB,EAChB,IAAmB,EAAA;AAEnB,IAAA,IAAI,QAAoB;IAExB,IAAI,IAAI,EAAE;AACR,QAAA,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;IAC/B;SAAO,IAAI,MAAM,EAAE;AACjB,QAAA,MAAM,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC7B,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAC;QACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,OAAO,KAAK,CAAC;AAC7C,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,wPAAe,CAAC,CAAC;AAC5D,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAEzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AAC5B,YAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAA,qBAAA,CAAuB,CAAC;QAC9E;QAEA,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC5C,QAAA,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC;IACrC;SAAO;QACL,MAAM,IAAI,KAAK,CACb,2DAA2D;AAC3D,YAAA,0DAA0D,CAC3D;IACH;AAEA,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAoB,CAAC;AAEnD,IAAA,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAMG,kBAAO,CAAC,OAAO,CAAC,KAAK,CAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAwB,EAAE,EAC/C,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAwB,EAAE,CAChD;AAED,IAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE;AACjC;;ACnCA;;AAEG;AACG,SAAU,iCAAiC,CAC/C,UAA2B,EAC3B,QAA8C,EAAA;IAE9C,MAAM,GAAG,GAAG,UAAU,CACpB,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAClC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CACnC;AACD,IAAA,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/B;AAEA;;AAEG;AACG,SAAU,iCAAiC,CAC/C,UAA2B,EAC3B,QAA8C,EAAA;IAE9C,MAAM,GAAG,GAAG,UAAU,CACpB,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,YAAY,CAAC,CAAC,EACvB,QAAQ,CAAC,YAAY,CAAC,CAAC,CACxB;AACD,IAAA,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;AAC/B;;ACrBA;AACA,SAAS,cAAc,CAAC,MAAuB,EAAA;AAC7C,IAAA,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9D,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,mBAAsB,EAAE;AACxC,QAAA,MAAM,IAAI,UAAU,CAAC,6CAA6C,CAAC;IACrE;AACA,IAAA,OAAO,CAAC;AACV;MAqBa,cAAc,CAAA;IAIzB,WAAA,CAAoB,IAAS,EAAE,OAAmB,EAAA;AAChD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AAEA;;;;;;;;;;;;AAYG;AACH,IAAA,aAAa,IAAI,CAAC,OAAoB,EAAA;AACpC,QAAA,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AAC5C,QAAA,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;IACvC;AAEA;;AAEG;AACH,IAAA,OAAO,yBAAyB,GAAA;QAC9B,OAAO,yBAAyB,EAAE;IACpC;AAEA;;AAEG;AACH,IAAA,OAAO,8BAA8B,CACnC,OAAe,EACf,QAAgB,0BAA0B,EAAA;AAE1C,QAAA,OAAOC,8BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC;IACxD;AAEA;;;;AAIG;IACH,YAAY,CACV,MAAuB,EACvB,cAAsB,EACtB,cAAsB,EACtB,uBAA+B,GAAG,EAAA;AAElC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAC3B,cAAc,CAAC,MAAM,CAAC,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,CACrB;IACH;AAEA;;;AAGG;IACH,4BAA4B,CAC1B,MAAoB,EACpB,MAAuB,EACvB,cAAsB,EACtB,cAAsB,EACtB,oBAAA,GAA+B,GAAG,EAAA;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAC9C,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,cAAc,CAAC,MAAM,CAAC,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,CACrB;IACH;AAEA;;;AAGG;IACH,yCAAyC,CACvC,SAAiB,EACjB,MAAuB,EACvB,cAAsB,EACtB,cAAsB,EACtB,oBAAA,GAA+B,GAAG,EAAA;AAElC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,yCAAyC,CACxD,SAAS,EACT,cAAc,CAAC,MAAM,CAAC,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,CACrB;IACH;AAEA;;;AAGG;AACH,IAAA,mCAAmC,CACjC,SAAiB,EACjB,UAAkB,EAClB,UAAkB,EAClB,MAAuB,EACvB,cAAsB,EACtB,cAAsB,EACtB,uBAA+B,GAAG,EAAA;QAElC,OAAO,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAClD,SAAS,EACT,UAAU,EACV,UAAU,EACV,cAAc,CAAC,MAAM,CAAC,EACtB,cAAc,EACd,cAAc,EACd,oBAAoB,CACrB;IACH;AAEA;;AAEG;IACH,0BAA0B,CAAC,IAAc,EAAE,KAAgB,EAAA;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACvC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC5E,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B;AAEA;;;;;AAKG;AACH,IAAA,MAAM,eAAe,CACnB,IAAc,EACd,KAAgB,EAChB,MAYC,EAAA;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5D,QAAA,MAAM,EAAE,GAAG,+BAA+B,CAAC,OAAO,EAAE;YAClD,CAAC,EAAE,MAAM,CAAC,aAAa;YACvB,CAAC,EAAE,MAAM,CAAC,aAAa;SACxB,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,iBAA2B;AAC/B,QAAA,IAAI,QAAoC;AAExC,QAAA,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;AAC9C,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,qBAAqB;AACtC,YAAA,IAAI,MAAM,CAAC,6BAA6B,KAAK,SAAS,EAAE;AACtD,gBAAA,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC;YACjH;YACA,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;AACzB,gBAAA,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC;YACrG;AACA,YAAA,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC;AACxB,YAAA,iBAAiB,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClC,YAAA,MAAM,aAAa,GAAkB;AACnC,gBAAA,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACxB,SAAS,EAAE,eAAe,EAAE;gBAC5B,kBAAkB,EAAE,kBAAkB,EAAE;gBACxC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;AACrC,gBAAA,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG;AAC1C,gBAAA,mBAAmB,EAAE,4CAA4C,CAAC,MAAM,CAAC,6BAA6B,CAAC;aACxG;AACD,YAAA,QAAQ,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC;QACrC;aAAO;AACL,YAAA,iBAAiB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,QAAQ,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/B;;AAGA,QAAA,MAAM,UAAU,GAA+B;YAC7C,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvD,YAAA,qBAAqB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnC,cAAc,EAAE,CAAC,GAAG,CAAC;YACrB,iBAAiB;SAClB;QACD,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;AACpC,SAAA,EACD,UAAU,EACV,CAAC,EAAE,EAAE,OAAO,CAAC,EACb,QAAQ,EACR,MAAM,CAAC;AACF,eAAA,6BAA6B,CAC9B,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,sBAAsB,EACrE,qBAAqB,CACtB,CACJ;IACH;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpD;AAEA;;AAEG;AACH,IAAA,WAAW,CAAC,aAAuB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7D;AAEA;;AAEG;AACH,IAAA,mCAAmC,CAAC,SAAiB,EAAA;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,SAAS,CAAC;IACjE;;AAGA,IAAA,aAAa,CAAC,SAAiB,EAAE,gBAAwB,EAAE,gBAAwB,EAAA;AACjF,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;IAC/E;AAEA;;;;;;;AAOG;IACH,MAAM,gBAAgB,CACpB,YAAyC,EACzC,UAAsC,EACtC,SAAuC,EACvC,QAAoC,EACpC,KAA6B,EAAA;AAE7B,QAAA,MAAM,QAAQ,GAAqB;AACjC,YAAA,mCAAmC,EAAE,CAAC,CAAC,KACrC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;SACnD;AACD,QAAA,MAAM,YAAY,GAAG,4BAA4B,CAC/C,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,CACT;AACD,QAAA,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC1E,QAAA,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7E,OAAO;AACL,YAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACjC,YAAA,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;SAC5C;IACH;AAEA;;;;AAIG;AACH,IAAA,sBAAsB,CAAC,SAAiB,EAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;IACpD;AAEA;;;AAGG;IACH,MAAM,0CAA0C,CAAC,SAAiB,EAAA;QAChE,OAAO,kCAAkC,CACvC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC,EACvD,oBAAoB,EACpB,SAAS,CACV;IACH;AAEA,IAAA,yBAAyB,CAAC,OAA4B,EAAA;AACpD,QAAA,OAAOC,yBAA6B,CAAC,OAAO,CAAC;IAC/C;AAEA,IAAA,yBAAyB,CAAC,OAA4B,EAAA;AACpD,QAAA,OAAOC,yBAA6B,CAAC,OAAO,CAAC;IAC/C;AAEA,IAAA,mCAAmC,CACjC,OAA6C,EAAA;AAE7C,QAAA,OAAOC,mCAA2B,CAAC,OAAO,CAAC;IAC7C;AAEA,IAAA,mCAAmC,CACjC,OAA6C,EAAA;AAE7C,QAAA,OAAOC,mCAA2B,CAAC,OAAO,CAAC;IAC7C;AAEA,IAAA,iCAAiC,CAC/B,QAA8C,EAAA;QAE9C,OAAOC,iCAAmC,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7C,QAAQ,CACT;IACH;AAEA,IAAA,iCAAiC,CAC/B,QAA8C,EAAA;QAE9C,OAAOC,iCAAmC,CACxC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7C,QAAQ,CACT;IACH;AACD;;AC1QD,SAAS,uBAAuB,CAAC,UAAkC,EAAA;IACjE,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;AACvD,QAAA,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;gBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;AAC5D,aAAA,CAAC,CAAC;AACJ,SAAA;QACD,4BAA4B,EAAE,UAAU,CAAC,4BAA4B;KACtE;AACH;AAEM,SAAU,iBAAiB,CAAC,UAAkC,EAAA;AAClE,IAAA,OAAOC,wBAAa,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC3D;AAEM,SAAU,uBAAuB,CACrC,UAAqD,EAAA;IAErD,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;AACnD,QAAA,OAAOC,cAAG,CAAC,KAAK,CAAC,OAAO,EAAE;IAC5B;AACA,IAAA,OAAO,iBAAiB,CAAC,UAAU,CAAC;AACtC;AAEM,SAAU,cAAc,CAAC,OAAe,EAAA;IAC5C,OAAOD,wBAAa,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACpD;;ACqMM,SAAU,sBAAsB,CAAC,SAAiB,EAAA;AACtD,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE;AAC9B,IAAA,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACzC,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC;IACtD;IACA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;AACrC;;AC/SA,SAAS,mBAAmB,CAAC,YAAoB,EAAA;AAC/C,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC;IACjE,OAAOC,cAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClC;AAEA,SAAS,gBAAgB,CAAC,SAAiB,EAAA;IACzC,OAAOA,cAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;AACtC;AAgCA,SAAS,gCAAgC,CACvC,gBAAwB,EACxB,MAA+B,EAC/B,SAAiB,EACjB,eAAuB,EACvB,SAAiB,EAAA;IAEjB,OAAOC,oBAAS,CAAC,sBAAsB,CAAC;AACtC,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE,qBAAqB;AAC/B,QAAA,IAAI,EAAE;AACJ,YAAA,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5BD,cAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;YACrCA,cAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC;AAC7C,YAAA,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC;YAC1C,mBAAmB,CAAC,SAAS,CAAC;AAC9B,YAAAA,cAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;AACjC,YAAA,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;AACpD,SAAA;AACF,KAAA,CAAC;AACJ;AAEA,eAAe,iBAAiB,CAC9B,MAOC,EAAA;IAED,MAAM,MAAM,GAAG,IAAIE,cAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;AACxE,IAAA,IAAI,OAAO,GAAG,IAAIC,6BAAkB,CAAC,aAAa,EAAE;QAClD,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;AAC5C,KAAA,CAAC;AACF,IAAA,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;AACzC,QAAA,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;IAC3C;IACA,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;AAC1C,IAAA,MAAM,QAAQ,GACV,MAAM,qCAAqC,CAC3C,MAAM,EACN,MAAM,CAAC,MAAM,EACb,EAAE,EACF,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,iBAAiB;QAEW;AACvC,IAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;AAChD,QAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAA,CAAE,CAAC;IACzD;IACA,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;IAC7C,OAAO,MAAM,CAAC,IAAI;AACpB;AAEA,eAAe,qCAAqC,CAClD,MAAkB,EAClB,MAAc,EACd,EAA2C,EAC3C,MAAe,EACf,iBAAyB,EAAA;AAEzB,IAAA,MAAM,SAAS,GAAG,MAAM,mCAAmC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;AAC/E,IAAA,MAAM,mBAAmB,GAAG,SAAS,CAAC,YAAY,GAAG,IAAI;AACzD,IAAA,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC3B,QAAA,IACE,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM;AACpB,gBAAAH,cAAG,CAAC,sBAAsB,CAAC,+BAA+B,EAAE,EAClE;AACA,YAAA,OAAO,KAAK;QACd;QACA,OAAOI,yBAAc,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;IAC9E,CAAC,CAAC,CACH;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACjC,IAAA,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE;AACxE,QAAA,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC;IAC/F;AAEA,IAAA,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;AACjE,IAAA,MAAM,QAAQ,GAAG,IAAID,6BAAkB,CAAC,aAAa,EAAE;QACrD,GAAG,EAAE,EAAE,CAAC,GAAG;QACX,iBAAiB;KAClB;AACE,SAAA,YAAY,CAACF,oBAAS,CAAC,kBAAkB,CAAC;QACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;AACnB,QAAA,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;AACxB,KAAA,CAAC;SACD,UAAU,CAAC,GAAG;AACd,SAAA,KAAK,EAAE;IACV,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC;IACrE,IAAIC,cAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,CAAA,wCAAA,EAA2C,kBAAkB,CAAC,KAAK,CAAA,CAAE,CAAC;IACxF;IACA,OAAOA,cAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE;AACtE;AAEA,eAAe,mCAAmC,CAChD,MAAc,EACd,cAAsB,EAAA;AAEtB,IAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;AACnC,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AAC/C,QAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,EAAE,EAAE,CAAC;AACL,YAAA,MAAM,EAAE,qBAAqB;AAC7B,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,cAAc;AAC3B,gBAAA,QAAQ,EAAE,sBAAsB;AACjC,aAAA;SACF,CAAC;AACH,KAAA,CAAC;AACF,IAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAO/B;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAC9B,QAAA,MAAM,IAAI,KAAK,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAA,CAAE,CAAC;IACjG;AACA,IAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;AACA,IAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA,CAAE,CAAC;IACxE;IACA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAClC,QAAA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC;IACzE;IACA,OAAO;QACL,YAAY;AACZ,QAAA,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,KACrDF,cAAG,CAAC,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;KAC1D;AACH;AAEA,eAAe,kBAAkB,CAAC,MAAkB,EAAE,IAAY,EAAA;AAChE,IAAA,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB;QACF;AACA,QAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAA,CAAE,CAAC;QAChD;AACA,QAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D;AACA,IAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAA,CAAE,CAAC;AACjE;AAuDO,eAAe,wBAAwB,CAAC,MAAsC,EAAA;IACnF,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;AAC9C,QAAA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC;IAC7E;AACA,IAAA,OAAO,iBAAiB,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;AACrB,QAAA,GAAG,EAAE,UAAU;AACf,QACA,UAAU,EAAE;AACV,YAAA,gCAAgC,CAC9B,MAAM,CAAC,iBAAiB,EACxB,MAAM,EACN,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,SAAS,CACjB;AACF,SAAA;AACF,KAAA,CAAC;AACJ;;ACnUA;AAGA;AACO,MAAM,kBAAkB,GAAG,UAAa;;ACC/C,SAAS,2BAA2B,CAAC,MAA8B,EAAA;AACjE,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,sBAAsB;AACzF;AAEA,eAAe,IAAI,GAAA;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAElC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACjE,QAAA,UAAU,EAAE;AACZ,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AAEA,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AAEvB,IAAA,IAAI,OAAO,KAAK,UAAU,EAAE;QAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC;AAAO,SAAA,IAAI,OAAO,KAAK,eAAe,EAAE;QACtC,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC;AAAO,SAAA,IAAI,OAAO,KAAK,UAAU,EAAE;QACjC,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC;AAAO,SAAA,IAAI,OAAO,KAAK,eAAe,EAAE;AACtC,QAAA,kBAAkB,EAAE;IACtB;AAAO,SAAA,IAAI,OAAO,KAAK,sBAAsB,EAAE;QAC7C,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC;AAAO,SAAA,IAAI,OAAO,KAAK,wBAAwB,EAAE;QAC/C,MAAM,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD;AAAO,SAAA,IAAI,OAAO,KAAK,4BAA4B,EAAE;QACnD,MAAM,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD;AAAO,SAAA,IAAI,OAAO,KAAK,qBAAqB,EAAE;QAC5C,MAAM,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C;SAAO;AACL,QAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAA,CAAE,CAAC;AAC5C,QAAA,UAAU,EAAE;AACZ,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;AAGA,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB;AAEA,SAAS,UAAU,GAAA;IACjB,OAAO,CAAC,KAAK,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEf,CAAA,CAAC;AACF;AAEA,SAAS,gBAAgB,CAAC,MAA8B,EAAE,IAAY,EAAA;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;IAClC,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAA,YAAA,CAAc,CAAC;AAC7C,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,yBAAyB,CAAC,MAA8B,EAAA;AAC/D,IAAA,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAAE;AAChC,QAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC;IACrC;IACA,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS;AAC9C,IAAA,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAOK,mBAAQ,CAAC,OAAO;IACzB;AACA,IAAA,IAAI,OAAO,KAAK,QAAQ,EAAE;QACxB,OAAOA,mBAAQ,CAAC,MAAM;IACxB;AACA,IAAA,IAAI,OAAO,KAAK,OAAO,EAAE;AACvB,QAAA,OAAO,oCAAoC;IAC7C;AACA,IAAA,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC;AACnE,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB;AAEA,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa,EAAA;AAC/C,IAAA,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC5C,IAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AACvD,QAAA,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,CAAA,wBAAA,CAA0B,CAAC;AAC1D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;AAChC;AAEA,SAAS,SAAS,CAAC,IAAc,EAAA;IAC/B,MAAM,MAAM,GAA2B,EAAE;AACzC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACnB,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;AACnB,gBAAA,CAAC,EAAE;YACL;iBAAO;AACL,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM;YACtB;QACF;AAAO,aAAA,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B;AAAO,aAAA,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YAC9C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B;AAAO,aAAA,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B;AAAO,aAAA,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YAC9C,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC;IACF;AACA,IAAA,OAAO,MAAM;AACf;AAEA,SAAS,wBAAwB,CAAC,IAAc,EAAA;AAC9C,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC;AACpD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,0BAA0B;IAC3D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7D;AAEA,eAAe,0BAA0B,CAAC,IAAc,EAAA;AACtD,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7B,IAAA,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE;AAC5B,QAAA,GAAG,GAAGC,aAAE,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC1D;IACA,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC;AAChF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,0CAA0C,CAAC,GAAG,CAAC;AACzE,IAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACtB;AAEA,eAAe,6BAA6B,CAAC,IAAc,EAAA;AACzD,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,IAAA,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7B,IAAA,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE;AAC5B,QAAA,GAAG,GAAGA,aAAE,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC1D;IACA,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC;AAChF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,MAAM,GAAG,GAAG,MAAM,wCAAwC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACtE,IAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAClB;AAEA,SAAS,kBAAkB,GAAA;IACzB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC;AACzD;AAEA,eAAe,uBAAuB,CAAC,IAAc,EAAA;AACnD,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE;IACzF,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC;AAC/E,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;AAC5C,QAAA,MAAM,EAAEC,kBAAO,CAAC,UAAU,CAAC,YAAY,CAAC;AACxC,QAAA,iBAAiB,EAAE,yBAAyB,CAAC,MAAM,CAAC;AACpD,QAAA,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,qCAAqC;AAClE,QAAA,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9C,QAAA,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;QACxC,UAAU,EAAE,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnE,kBAAkB,EAAE,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC7F,QAAA,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrD,QAAA,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC;QACjD,eAAe,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AACtE,QAAA,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC;AACjD,KAAA,CAAC;AACF,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACrB;AAEA,SAAS,eAAe,CAAC,KAAa,EAAE,GAAuB,EAAE,cAAsB,EAAA;AACrF,IAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,QAAA,OAAO,cAAc;IACvB;IACA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAA,qDAAA,CAAuD,CAAC;AACrF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI;AACF,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,mBAAsB,EAAE;AACxC,YAAA,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAA,iBAAA,CAAmB,CAAC;AACjD,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,OAAO,CAAC;IACV;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAA,CAAE,CAAC;AACxC,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF;AAEA,eAAe,cAAc,CAAC,IAAc,EAAA;AAC1C,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,IAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE;AACvC,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/B,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;AACjC,IAAA,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACxF,IAAA,MAAM,aAAa,GAAG,2BAA2B,CAAC,MAAM,CAAC;AACzD,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;IAC1D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC;AACnE,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,uCAAuC,CAAC,KAAK,CAAC;AAEzE,IAAA,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC;AACnD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AAEA,IAAA,IAAI,IAAI;AACR,IAAA,IAAI,MAAM,IAAI,OAAO,EAAE;QACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC;AAC9C,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,GAAG,GAAG,CAAC,mCAAmC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IACrH;SAAO,IAAI,MAAM,EAAE;AACjB,QAAA,IAAI,GAAG,GAAG,CAAC,yCAAyC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IACvG;SAAO;AACL,QAAA,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAClE;AAEA,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1C,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;QACpBD,aAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,CAAA,eAAA,EAAkB,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,cAAc,CAAA,CAAE,CAAC;IACrD;SAAO;AACL,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IACnB;AACF;AAEA,eAAe,cAAc,CAAC,IAAc,EAAA;AAC1C,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAE9B,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACnB,QAAA,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC;AACjD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;AACpB,QAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC;AAClD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC9C,IAAA,IAAI,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC9C,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC3C,IAAI,KAAK,EAAE;AACT,QAAA,MAAM,KAAK,GAAG,2CAA2C,CAAC,KAAK,CAAC;AAChE,QAAA,UAAU,GAAG,KAAK,CAAC,EAAE;AACrB,QAAA,UAAU,GAAG,KAAK,CAAC,EAAE;IACvB;IACA,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE;AACxD,QAAA,OAAO,CAAC,KAAK,CACX,uGAAuG,CACxG;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;AACpD,QAAA,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC;AAChF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AAEA,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAACA,aAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACrE,IAAA,MAAM,IAAI,GAAa,QAAQ,CAAC,IAAI,IAAI,QAAQ;AAChD,IAAA,MAAM,KAAK,GAAc,IAAI,CAAC,KAAK,CAACA,aAAE,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAE9E,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;AACrD,QAAA,OAAO,CAAC,KAAK,CAAC,qFAAqF,CAAC;AACpG,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;AACrD,QAAA,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC;AACrF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AAEA,IAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE;AACvC,IAAA,MAAM,aAAa,GAAG,2BAA2B,CAAC,MAAM,CAAC;AACzD,IAAA,MAAM,KAAK,GAAG,6BAA6B,CAAC,aAAa,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE;AACpD,QAAA,iBAAiB,EAAE,UAAU;AAC7B,QAAA,iBAAiB,EAAE,UAAU;AAC7B,QAAA,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;AACpC,QAAA,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC;QACpC,aAAa;QACb,KAAK;QACL,IAAI,IAAI,KAAK;AACX,cAAE;gBACE,qBAAqB,EAAE,eAAe,CAAC,2BAA2B,EAAE,IAAI,EAAE,EAAE,CAAC;AAC7E,gBAAA,6BAA6B,EAAE,aAAa;AAC7C;cACD,EAAE,CAAC;AACR,KAAA,CAAC;;AAGF,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;;AAG9B,IAAA,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;AAC1B,QAAAA,aAAE,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,CAAA,kBAAA,EAAqB,MAAM,CAAC,cAAc,CAAC,CAAA,CAAE,CAAC;IAC9D;AACA,IAAA,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE;AAC3B,QAAAA,aAAE,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,CAAA,2BAAA,EAA8B,MAAM,CAAC,eAAe,CAAC,CAAA,CAAE,CAAC;IACxE;AACF;AAEA,eAAe,kBAAkB,CAAC,IAAc,EAAA;AAC9C,IAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAE9B,IAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;AACzB,QAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC;AACtD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AACtB,QAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACA,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;IAC1D,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC;AACnE,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;IACA,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,uCAAuC,CAAC,KAAK,CAAC;AAEzE,IAAA,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE;AACvC,IAAA,MAAM,aAAa,GAAG,2BAA2B,CAAC,MAAM,CAAC;AACzD,IAAA,MAAM,KAAK,GAAG,6BAA6B,CAAC,aAAa,CAAC;IAC1D,MAAM,mBAAmB,GAAG,4CAA4C,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAE3F,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/B,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACzD,IAAA,IAAI,OAAsB;AAE1B,IAAA,IAAI,QAAQ,IAAI,kBAAkB,EAAE;AAClC,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE;AACpC,YAAA,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC;AAC1G,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAACA,aAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC/D,QAAA,MAAM,CAAC,GAAa,QAAQ,CAAC,IAAI,IAAI,QAAQ;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK;AACxC,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AAClD,YAAA,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC;AACvE,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO;AAChC,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,OAAO;AAChC,QAAA,OAAO,GAAG;YACR,KAAK;YACL,SAAS,EAAE,CAAC,CAAC,SAAS;AACtB,YAAA,kBAAkB,EAAE,oBAAoB,CAAC,kBAAkB,CAAC;YAC5D,mBAAmB;AACnB,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACf,aAAa;SACd;IACH;SAAO;AACL,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;AACpB,YAAA,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC;AAClG,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB;AACA,QAAA,OAAO,GAAG;AACR,YAAA,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YACtB,SAAS,EAAE,eAAe,EAAE;YAC5B,kBAAkB,EAAE,kBAAkB,EAAE;YACxC,mBAAmB;AACnB,YAAA,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YACzB,aAAa;SACd;IACH;AAEA,IAAA,MAAM,UAAU,GAA+B;AAC7C,QAAA,qBAAqB,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAqB,CAAC;AACvD,QAAA,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAqB,CAAC;AACjF,QAAA,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/B,iBAAiB,EAAE,CAAC,GAAG,CAAC;KACzB;AAED,IAAA,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CACvC;AACE,QAAA,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC;AAC/B,QAAA,iBAAiB,EAAE,GAAG;AACtB,QAAA,iBAAiB,EAAE,GAAG;QACtB,aAAa,EAAE,kBAAkB,EAAE;AACpC,KAAA,EACD,UAAU,EACV,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB,KAAK,CACN;AAED,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;AAC7B,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;AAE9B,IAAA,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;AAC1B,QAAAA,aAAE,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,CAAA,kBAAA,EAAqB,MAAM,CAAC,cAAc,CAAC,CAAA,CAAE,CAAC;IAC9D;AACA,IAAA,IAAI,MAAM,CAAC,eAAe,CAAC,EAAE;AAC3B,QAAAA,aAAE,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,CAAA,2BAAA,EAA8B,MAAM,CAAC,eAAe,CAAC,CAAA,CAAE,CAAC;IACxE;AACF;AAEA,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAI;IACnB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;AAC3C,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;;","x_google_ignoreList":[0]}