@vm0/cli 9.278.0 → 9.278.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{agent-HUDTEGLK.js → agent-4F3XAJWN.js} +12 -6
- package/agent-4F3XAJWN.js.map +1 -0
- package/{banking-BMZONEXP.js → banking-CWQFQKZB.js} +61 -7
- package/banking-CWQFQKZB.js.map +1 -0
- package/{browser-LQP445CU.js → browser-BI6UFWPH.js} +4 -5
- package/browser-BI6UFWPH.js.map +1 -0
- package/{chat-UF7QAWUT.js → chat-MKIW4FPP.js} +24 -16
- package/chat-MKIW4FPP.js.map +1 -0
- package/chunk-2SJTFDC2.js +189 -0
- package/chunk-2SJTFDC2.js.map +1 -0
- package/chunk-4FTIKZKP.js +64 -0
- package/chunk-4FTIKZKP.js.map +1 -0
- package/chunk-7UZXNER2.js +568 -0
- package/chunk-7UZXNER2.js.map +1 -0
- package/chunk-A6ZRMNM3.js +102 -0
- package/chunk-A6ZRMNM3.js.map +1 -0
- package/{chunk-QC63TUJC.js → chunk-C62A6LD6.js} +2 -2
- package/chunk-CCTF3YVW.js +52 -0
- package/chunk-CCTF3YVW.js.map +1 -0
- package/chunk-CD2BLKGC.js +188 -0
- package/chunk-CD2BLKGC.js.map +1 -0
- package/chunk-CEJGHPF3.js +55 -0
- package/chunk-CEJGHPF3.js.map +1 -0
- package/chunk-DUA6CF7E.js +2053 -0
- package/chunk-DUA6CF7E.js.map +1 -0
- package/chunk-E2TQAKNL.js +1300 -0
- package/chunk-E2TQAKNL.js.map +1 -0
- package/{chunk-5ZZI2LSO.js → chunk-GHKWW4NC.js} +5 -5
- package/chunk-GV3PG6CZ.js +114 -0
- package/chunk-GV3PG6CZ.js.map +1 -0
- package/chunk-GY7D76EZ.js +81 -0
- package/chunk-GY7D76EZ.js.map +1 -0
- package/chunk-HHHHZMTA.js +434 -0
- package/chunk-HHHHZMTA.js.map +1 -0
- package/chunk-HZYOJTEE.js +1275 -0
- package/chunk-HZYOJTEE.js.map +1 -0
- package/chunk-J3ZRXVI6.js +740 -0
- package/chunk-J3ZRXVI6.js.map +1 -0
- package/chunk-JJWFO27K.js +31 -0
- package/chunk-JJWFO27K.js.map +1 -0
- package/chunk-JV6LM2YC.js +39 -0
- package/chunk-JV6LM2YC.js.map +1 -0
- package/chunk-KER77KJB.js +105 -0
- package/chunk-KER77KJB.js.map +1 -0
- package/{chunk-V5ZVB7RJ.js → chunk-KKO2XGLQ.js} +1 -6
- package/chunk-KKO2XGLQ.js.map +1 -0
- package/chunk-LIYPTQAO.js +198 -0
- package/chunk-LIYPTQAO.js.map +1 -0
- package/chunk-LYLDVUHT.js +131 -0
- package/chunk-LYLDVUHT.js.map +1 -0
- package/chunk-PFWBO2VK.js +801 -0
- package/chunk-PFWBO2VK.js.map +1 -0
- package/chunk-RTCRU35A.js +194 -0
- package/chunk-RTCRU35A.js.map +1 -0
- package/{chunk-F2AM4RWA.js → chunk-RTEEWZUT.js} +2 -2
- package/{chunk-F2AM4RWA.js.map → chunk-RTEEWZUT.js.map} +1 -1
- package/{chunk-BRV4D3P2.js → chunk-RUKMHBNQ.js} +2 -2
- package/chunk-SA4DYSBR.js +31 -0
- package/chunk-SA4DYSBR.js.map +1 -0
- package/chunk-SJPOFQJU.js +792 -0
- package/chunk-SJPOFQJU.js.map +1 -0
- package/{chunk-V7A6ZFHR.js → chunk-SMPSKBAP.js} +25 -774
- package/chunk-SMPSKBAP.js.map +1 -0
- package/{chunk-E53W6UVQ.js → chunk-T2X2EGV2.js} +4 -4
- package/chunk-T2X2EGV2.js.map +1 -0
- package/chunk-U2GQH6AD.js +309 -0
- package/chunk-U2GQH6AD.js.map +1 -0
- package/chunk-U6A2RPHO.js +66 -0
- package/chunk-U6A2RPHO.js.map +1 -0
- package/chunk-UIXUGVZB.js +362 -0
- package/chunk-UIXUGVZB.js.map +1 -0
- package/chunk-XRZKJACM.js +49 -0
- package/chunk-XRZKJACM.js.map +1 -0
- package/chunk-YDS3X7KB.js +202 -0
- package/chunk-YDS3X7KB.js.map +1 -0
- package/{chunk-A6TMOGPR.js → chunk-ZKNJW4K6.js} +1412 -334
- package/chunk-ZKNJW4K6.js.map +1 -0
- package/chunk-ZXSCBS77.js +90 -0
- package/chunk-ZXSCBS77.js.map +1 -0
- package/{computer-use-RRD7BCCK.js → computer-use-6AEVW47F.js} +9 -7
- package/computer-use-6AEVW47F.js.map +1 -0
- package/{connector-XX7UU6XE.js → connector-XDQ6JEBU.js} +25 -13
- package/connector-XDQ6JEBU.js.map +1 -0
- package/{credit-GDNNAQRO.js → credit-JPQA5XPA.js} +8 -10
- package/credit-JPQA5XPA.js.map +1 -0
- package/{developer-support-IISP5UBI.js → developer-support-V7NZOU2P.js} +27 -7
- package/developer-support-V7NZOU2P.js.map +1 -0
- package/{doctor-IZM2TJOH.js → doctor-FJO24TG3.js} +13 -11
- package/doctor-FJO24TG3.js.map +1 -0
- package/{feishu-XB7SQBSI.js → feishu-PNOAM33Q.js} +99 -9
- package/feishu-PNOAM33Q.js.map +1 -0
- package/{finance-OGWHKQLU.js → finance-55OJ6GYP.js} +49 -9
- package/finance-55OJ6GYP.js.map +1 -0
- package/{generate-AA2PVOYQ.js → generate-XUKBK523.js} +26 -21
- package/generate-XUKBK523.js.map +1 -0
- package/{github-VJVIBTVF.js → github-V4MD2PMM.js} +83 -8
- package/github-V4MD2PMM.js.map +1 -0
- package/{goal-7SYVHDTK.js → goal-FS5FJKVU.js} +69 -13
- package/goal-FS5FJKVU.js.map +1 -0
- package/{host-UVQMIOBA.js → host-GITTJ6PR.js} +124 -10
- package/host-GITTJ6PR.js.map +1 -0
- package/{logs-PIS4X24E.js → logs-EEUIGYUD.js} +51 -11
- package/logs-EEUIGYUD.js.map +1 -0
- package/{mail-L33OSQ2R.js → mail-G4SAJSBD.js} +39 -8
- package/mail-G4SAJSBD.js.map +1 -0
- package/{maps-D5XTXU5U.js → maps-7ANNU3BX.js} +65 -11
- package/maps-7ANNU3BX.js.map +1 -0
- package/{model-ZFMRECDM.js → model-DSPDCJLB.js} +6 -6
- package/model-DSPDCJLB.js.map +1 -0
- package/{model-provider-EZZ2DRYZ.js → model-provider-RZQ45PNG.js} +6 -6
- package/model-provider-RZQ45PNG.js.map +1 -0
- package/package.json +1 -1
- package/{people-search-PFTIO2QS.js → people-search-I7PUMF5M.js} +22 -6
- package/people-search-I7PUMF5M.js.map +1 -0
- package/{phone-6SG5ZUNL.js → phone-SSAPGMTW.js} +90 -9
- package/phone-SSAPGMTW.js.map +1 -0
- package/{recognize-LLU6J3SW.js → recognize-D7VORZBN.js} +27 -9
- package/recognize-D7VORZBN.js.map +1 -0
- package/{resource-FGUSXS4G.js → resource-76IV3TMW.js} +21 -7
- package/resource-76IV3TMW.js.map +1 -0
- package/{scrape-BAUZ2YFD.js → scrape-JBDLNTLB.js} +22 -6
- package/scrape-JBDLNTLB.js.map +1 -0
- package/{search-DLO5RXRM.js → search-UNZNUTZX.js} +29 -9
- package/search-UNZNUTZX.js.map +1 -0
- package/{slack-CVATPKP3.js → slack-AAH6GG2W.js} +103 -11
- package/slack-AAH6GG2W.js.map +1 -0
- package/{teams-ZZYO6YIK.js → teams-6OPXE4TX.js} +90 -9
- package/teams-6OPXE4TX.js.map +1 -0
- package/{telegram-VY7T4YAR.js → telegram-RRZG73RT.js} +101 -10
- package/telegram-RRZG73RT.js.map +1 -0
- package/{upgrade-GFA4ZUU4.js → upgrade-I5IL4UQL.js} +3 -4
- package/upgrade-I5IL4UQL.js.map +1 -0
- package/{video-STFG7BET.js → video-HV44W4X7.js} +5 -4
- package/video-HV44W4X7.js.map +1 -0
- package/{weather-ISJEHJWR.js → weather-EQ7CSADB.js} +70 -16
- package/weather-EQ7CSADB.js.map +1 -0
- package/{web-YN4CVHK7.js → web-6LIMWEOZ.js} +5 -5
- package/web-6LIMWEOZ.js.map +1 -0
- package/{web-search-PC7IECND.js → web-search-AT7WONZN.js} +22 -6
- package/web-search-AT7WONZN.js.map +1 -0
- package/{whoami-KXFXZGM6.js → whoami-RKTLLSI4.js} +16 -7
- package/whoami-RKTLLSI4.js.map +1 -0
- package/{workflow-O7YZHB7A.js → workflow-ZH32P622.js} +135 -39
- package/workflow-ZH32P622.js.map +1 -0
- package/zero.js +40 -40
- package/agent-HUDTEGLK.js.map +0 -1
- package/banking-BMZONEXP.js.map +0 -1
- package/browser-LQP445CU.js.map +0 -1
- package/chat-UF7QAWUT.js.map +0 -1
- package/chunk-2W73DZDW.js +0 -32
- package/chunk-2W73DZDW.js.map +0 -1
- package/chunk-6PN6QGIM.js +0 -11405
- package/chunk-6PN6QGIM.js.map +0 -1
- package/chunk-A6TMOGPR.js.map +0 -1
- package/chunk-ANOLYIPL.js +0 -10
- package/chunk-ANOLYIPL.js.map +0 -1
- package/chunk-E53W6UVQ.js.map +0 -1
- package/chunk-V5ZVB7RJ.js.map +0 -1
- package/chunk-V7A6ZFHR.js.map +0 -1
- package/computer-use-RRD7BCCK.js.map +0 -1
- package/connector-XX7UU6XE.js.map +0 -1
- package/credit-GDNNAQRO.js.map +0 -1
- package/developer-support-IISP5UBI.js.map +0 -1
- package/doctor-IZM2TJOH.js.map +0 -1
- package/feishu-XB7SQBSI.js.map +0 -1
- package/finance-OGWHKQLU.js.map +0 -1
- package/generate-AA2PVOYQ.js.map +0 -1
- package/github-VJVIBTVF.js.map +0 -1
- package/goal-7SYVHDTK.js.map +0 -1
- package/host-UVQMIOBA.js.map +0 -1
- package/logs-PIS4X24E.js.map +0 -1
- package/mail-L33OSQ2R.js.map +0 -1
- package/maps-D5XTXU5U.js.map +0 -1
- package/model-ZFMRECDM.js.map +0 -1
- package/model-provider-EZZ2DRYZ.js.map +0 -1
- package/people-search-PFTIO2QS.js.map +0 -1
- package/phone-6SG5ZUNL.js.map +0 -1
- package/recognize-LLU6J3SW.js.map +0 -1
- package/resource-FGUSXS4G.js.map +0 -1
- package/scrape-BAUZ2YFD.js.map +0 -1
- package/search-DLO5RXRM.js.map +0 -1
- package/slack-CVATPKP3.js.map +0 -1
- package/teams-ZZYO6YIK.js.map +0 -1
- package/telegram-VY7T4YAR.js.map +0 -1
- package/upgrade-GFA4ZUU4.js.map +0 -1
- package/video-STFG7BET.js.map +0 -1
- package/weather-ISJEHJWR.js.map +0 -1
- package/web-YN4CVHK7.js.map +0 -1
- package/web-search-PC7IECND.js.map +0 -1
- package/whoami-KXFXZGM6.js.map +0 -1
- package/workflow-O7YZHB7A.js.map +0 -1
- /package/{chunk-QC63TUJC.js.map → chunk-C62A6LD6.js.map} +0 -0
- /package/{chunk-5ZZI2LSO.js.map → chunk-GHKWW4NC.js.map} +0 -0
- /package/{chunk-BRV4D3P2.js.map → chunk-RUKMHBNQ.js.map} +0 -0
package/chunk-V7A6ZFHR.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/punycode@2.3.1/node_modules/punycode/punycode.es6.js","../../../node_modules/.pnpm/tr46@5.1.1/node_modules/tr46/lib/regexes.js","../../../node_modules/.pnpm/tr46@5.1.1/node_modules/tr46/lib/mappingTable.json","../../../node_modules/.pnpm/tr46@5.1.1/node_modules/tr46/lib/statusMapping.js","../../../node_modules/.pnpm/tr46@5.1.1/node_modules/tr46/index.js","../src/lib/api/domains/web.ts","../../../packages/api-contracts/src/contracts/zero-avatar-video.ts","../../../packages/api-contracts/src/contracts/base.ts","../../../packages/api-contracts/src/contracts/zero-built-in-generation.ts","../../../packages/api-contracts/src/contracts/realtime.ts","../../../packages/api-contracts/src/contracts/connector-identity.ts","../../../packages/api-contracts/src/contracts/runners.ts","../../../packages/connectors/src/firewall-types.ts","../../../packages/connectors/src/firewall-hostname-policy.ts","../../../packages/connectors/src/firewall-url-utils.ts","../../../packages/connectors/src/segment-parser.ts"],"sourcesContent":["'use strict';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7F]/; // Note: U+007F DEL is excluded too.\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n\t'overflow': 'Overflow: input needs wider integers to process',\n\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t'invalid-input': 'Invalid input'\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n\tthrow new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} callback The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, callback) {\n\tconst result = [];\n\tlet length = array.length;\n\twhile (length--) {\n\t\tresult[length] = callback(array[length]);\n\t}\n\treturn result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} callback The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, callback) {\n\tconst parts = domain.split('@');\n\tlet result = '';\n\tif (parts.length > 1) {\n\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t// the local part (i.e. everything up to `@`) intact.\n\t\tresult = parts[0] + '@';\n\t\tdomain = parts[1];\n\t}\n\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\tdomain = domain.replace(regexSeparators, '\\x2E');\n\tconst labels = domain.split('.');\n\tconst encoded = map(labels, callback).join('.');\n\treturn result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nfunction ucs2decode(string) {\n\tconst output = [];\n\tlet counter = 0;\n\tconst length = string.length;\n\twhile (counter < length) {\n\t\tconst value = string.charCodeAt(counter++);\n\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t// It's a high surrogate, and there is a next character.\n\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\tif ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t} else {\n\t\t\t\t// It's an unmatched surrogate; only append this code unit, in case the\n\t\t\t\t// next code unit is the high surrogate of a surrogate pair.\n\t\t\t\toutput.push(value);\n\t\t\t\tcounter--;\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(value);\n\t\t}\n\t}\n\treturn output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nconst ucs2encode = codePoints => String.fromCodePoint(...codePoints);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nconst basicToDigit = function(codePoint) {\n\tif (codePoint >= 0x30 && codePoint < 0x3A) {\n\t\treturn 26 + (codePoint - 0x30);\n\t}\n\tif (codePoint >= 0x41 && codePoint < 0x5B) {\n\t\treturn codePoint - 0x41;\n\t}\n\tif (codePoint >= 0x61 && codePoint < 0x7B) {\n\t\treturn codePoint - 0x61;\n\t}\n\treturn base;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nconst digitToBasic = function(digit, flag) {\n\t// 0..25 map to ASCII a..z or A..Z\n\t// 26..35 map to ASCII 0..9\n\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nconst adapt = function(delta, numPoints, firstTime) {\n\tlet k = 0;\n\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\tdelta += floor(delta / numPoints);\n\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\tdelta = floor(delta / baseMinusTMin);\n\t}\n\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nconst decode = function(input) {\n\t// Don't use UCS-2.\n\tconst output = [];\n\tconst inputLength = input.length;\n\tlet i = 0;\n\tlet n = initialN;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points: let `basic` be the number of input code\n\t// points before the last delimiter, or `0` if there is none, then copy\n\t// the first basic code points to the output.\n\n\tlet basic = input.lastIndexOf(delimiter);\n\tif (basic < 0) {\n\t\tbasic = 0;\n\t}\n\n\tfor (let j = 0; j < basic; ++j) {\n\t\t// if it's not a basic code point\n\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\terror('not-basic');\n\t\t}\n\t\toutput.push(input.charCodeAt(j));\n\t}\n\n\t// Main decoding loop: start just after the last delimiter if any basic code\n\t// points were copied; start at the beginning otherwise.\n\n\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t// `index` is the index of the next character to be consumed.\n\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t// which gets added to `i`. The overflow checking is easier\n\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t// value at the end to obtain `delta`.\n\t\tconst oldi = i;\n\t\tfor (let w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\tif (index >= inputLength) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\n\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\tif (digit >= base) {\n\t\t\t\terror('invalid-input');\n\t\t\t}\n\t\t\tif (digit > floor((maxInt - i) / w)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\ti += digit * w;\n\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\tif (digit < t) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst baseMinusT = base - t;\n\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tw *= baseMinusT;\n\n\t\t}\n\n\t\tconst out = output.length + 1;\n\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t// incrementing `n` each time, so we'll fix that now:\n\t\tif (floor(i / out) > maxInt - n) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tn += floor(i / out);\n\t\ti %= out;\n\n\t\t// Insert `n` at position `i` of the output.\n\t\toutput.splice(i++, 0, n);\n\n\t}\n\n\treturn String.fromCodePoint(...output);\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nconst encode = function(input) {\n\tconst output = [];\n\n\t// Convert the input in UCS-2 to an array of Unicode code points.\n\tinput = ucs2decode(input);\n\n\t// Cache the length.\n\tconst inputLength = input.length;\n\n\t// Initialize the state.\n\tlet n = initialN;\n\tlet delta = 0;\n\tlet bias = initialBias;\n\n\t// Handle the basic code points.\n\tfor (const currentValue of input) {\n\t\tif (currentValue < 0x80) {\n\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t}\n\t}\n\n\tconst basicLength = output.length;\n\tlet handledCPCount = basicLength;\n\n\t// `handledCPCount` is the number of code points that have been handled;\n\t// `basicLength` is the number of basic code points.\n\n\t// Finish the basic string with a delimiter unless it's empty.\n\tif (basicLength) {\n\t\toutput.push(delimiter);\n\t}\n\n\t// Main encoding loop:\n\twhile (handledCPCount < inputLength) {\n\n\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t// larger one:\n\t\tlet m = maxInt;\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\tm = currentValue;\n\t\t\t}\n\t\t}\n\n\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t// but guard against overflow.\n\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\terror('overflow');\n\t\t}\n\n\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\tn = m;\n\n\t\tfor (const currentValue of input) {\n\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\t\t\tif (currentValue === n) {\n\t\t\t\t// Represent delta as a generalized variable-length integer.\n\t\t\t\tlet q = delta;\n\t\t\t\tfor (let k = base; /* no condition */; k += base) {\n\t\t\t\t\tconst t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\toutput.push(\n\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t);\n\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t}\n\n\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n\t\t\t\tdelta = 0;\n\t\t\t\t++handledCPCount;\n\t\t\t}\n\t\t}\n\n\t\t++delta;\n\t\t++n;\n\n\t}\n\treturn output.join('');\n};\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nconst toUnicode = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexPunycode.test(string)\n\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t: string;\n\t});\n};\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nconst toASCII = function(input) {\n\treturn mapDomain(input, function(string) {\n\t\treturn regexNonASCII.test(string)\n\t\t\t? 'xn--' + encode(string)\n\t\t\t: string;\n\t});\n};\n\n/*--------------------------------------------------------------------------*/\n\n/** Define the public API */\nconst punycode = {\n\t/**\n\t * A string representing the current Punycode.js version number.\n\t * @memberOf punycode\n\t * @type String\n\t */\n\t'version': '2.3.1',\n\t/**\n\t * An object of methods to convert from JavaScript's internal character\n\t * representation (UCS-2) to Unicode code points, and back.\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode\n\t * @type Object\n\t */\n\t'ucs2': {\n\t\t'decode': ucs2decode,\n\t\t'encode': ucs2encode\n\t},\n\t'decode': decode,\n\t'encode': encode,\n\t'toASCII': toASCII,\n\t'toUnicode': toUnicode\n};\n\nexport { ucs2decode, ucs2encode, decode, encode, toASCII, toUnicode };\nexport default punycode;\n","\"use strict\";\n\nconst combiningMarks = /[\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3C\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CF3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{11002}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11082}\\u{110B0}-\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{11134}\\u{11145}\\u{11146}\\u{11173}\\u{11180}-\\u{11182}\\u{111B3}-\\u{111C0}\\u{111C9}-\\u{111CC}\\u{111CE}\\u{111CF}\\u{1122C}-\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}-\\u{112EA}\\u{11300}-\\u{11303}\\u{1133B}\\u{1133C}\\u{1133E}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11357}\\u{11362}\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113B8}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11435}-\\u{11446}\\u{1145E}\\u{114B0}-\\u{114C3}\\u{115AF}-\\u{115B5}\\u{115B8}-\\u{115C0}\\u{115DC}\\u{115DD}\\u{11630}-\\u{11640}\\u{116AB}-\\u{116B7}\\u{1171D}-\\u{1172B}\\u{1182C}-\\u{1183A}\\u{11930}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{1193E}\\u{11940}\\u{11942}\\u{11943}\\u{119D1}-\\u{119D7}\\u{119DA}-\\u{119E0}\\u{119E4}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A39}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A5B}\\u{11A8A}-\\u{11A99}\\u{11C2F}-\\u{11C36}\\u{11C38}-\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D8A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D97}\\u{11EF3}-\\u{11EF6}\\u{11F00}\\u{11F01}\\u{11F03}\\u{11F34}-\\u{11F3A}\\u{11F3E}-\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F51}-\\u{16F87}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D165}-\\u{1D169}\\u{1D16D}-\\u{1D172}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]/u;\nconst combiningClassVirama = /[\\u094D\\u09CD\\u0A4D\\u0ACD\\u0B4D\\u0BCD\\u0C4D\\u0CCD\\u0D3B\\u0D3C\\u0D4D\\u0DCA\\u0E3A\\u0EBA\\u0F84\\u1039\\u103A\\u1714\\u1715\\u1734\\u17D2\\u1A60\\u1B44\\u1BAA\\u1BAB\\u1BF2\\u1BF3\\u2D7F\\uA806\\uA82C\\uA8C4\\uA953\\uA9C0\\uAAF6\\uABED\\u{10A3F}\\u{11046}\\u{11070}\\u{1107F}\\u{110B9}\\u{11133}\\u{11134}\\u{111C0}\\u{11235}\\u{112EA}\\u{1134D}\\u{113CE}-\\u{113D0}\\u{11442}\\u{114C2}\\u{115BF}\\u{1163F}\\u{116B6}\\u{1172B}\\u{11839}\\u{1193D}\\u{1193E}\\u{119E0}\\u{11A34}\\u{11A47}\\u{11A99}\\u{11C3F}\\u{11D44}\\u{11D45}\\u{11D97}\\u{11F41}\\u{11F42}\\u{1612F}]/u;\nconst validZWNJ = /[\\u0620\\u0626\\u0628\\u062A-\\u062E\\u0633-\\u063F\\u0641-\\u0647\\u0649\\u064A\\u066E\\u066F\\u0678-\\u0687\\u069A-\\u06BF\\u06C1\\u06C2\\u06CC\\u06CE\\u06D0\\u06D1\\u06FA-\\u06FC\\u06FF\\u0712-\\u0714\\u071A-\\u071D\\u071F-\\u0727\\u0729\\u072B\\u072D\\u072E\\u074E-\\u0758\\u075C-\\u076A\\u076D-\\u0770\\u0772\\u0775-\\u0777\\u077A-\\u077F\\u07CA-\\u07EA\\u0841-\\u0845\\u0848\\u084A-\\u0853\\u0855\\u0860\\u0862-\\u0865\\u0868\\u0886\\u0889-\\u088D\\u08A0-\\u08A9\\u08AF\\u08B0\\u08B3-\\u08B8\\u08BA-\\u08C8\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA872\\u{10AC0}-\\u{10AC4}\\u{10ACD}\\u{10AD3}-\\u{10ADC}\\u{10ADE}-\\u{10AE0}\\u{10AEB}-\\u{10AEE}\\u{10B80}\\u{10B82}\\u{10B86}-\\u{10B88}\\u{10B8A}\\u{10B8B}\\u{10B8D}\\u{10B90}\\u{10BAD}\\u{10BAE}\\u{10D00}-\\u{10D21}\\u{10D23}\\u{10EC3}\\u{10EC4}\\u{10F30}-\\u{10F32}\\u{10F34}-\\u{10F44}\\u{10F51}-\\u{10F53}\\u{10F70}-\\u{10F73}\\u{10F76}-\\u{10F81}\\u{10FB0}\\u{10FB2}\\u{10FB3}\\u{10FB8}\\u{10FBB}\\u{10FBC}\\u{10FBE}\\u{10FBF}\\u{10FC1}\\u{10FC4}\\u{10FCA}\\u{10FCB}\\u{1E900}-\\u{1E943}][\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13430}-\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*\\u200C[\\xAD\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u061C\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u070F\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u200B\\u200E\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u206A-\\u206F\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFEFF\\uFFF9-\\uFFFB\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C3F}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13430}-\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94B}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*[\\u0620\\u0622-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u0673\\u0675-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u077F\\u07CA-\\u07EA\\u0840-\\u0858\\u0860\\u0862-\\u0865\\u0867-\\u086A\\u0870-\\u0882\\u0886\\u0889-\\u088E\\u08A0-\\u08AC\\u08AE-\\u08C8\\u1807\\u1820-\\u1878\\u1887-\\u18A8\\u18AA\\uA840-\\uA871\\u{10AC0}-\\u{10AC5}\\u{10AC7}\\u{10AC9}\\u{10ACA}\\u{10ACE}-\\u{10AD6}\\u{10AD8}-\\u{10AE1}\\u{10AE4}\\u{10AEB}-\\u{10AEF}\\u{10B80}-\\u{10B91}\\u{10BA9}-\\u{10BAE}\\u{10D01}-\\u{10D23}\\u{10EC2}-\\u{10EC4}\\u{10F30}-\\u{10F44}\\u{10F51}-\\u{10F54}\\u{10F70}-\\u{10F81}\\u{10FB0}\\u{10FB2}-\\u{10FB6}\\u{10FB8}-\\u{10FBF}\\u{10FC1}-\\u{10FC4}\\u{10FC9}\\u{10FCA}\\u{1E900}-\\u{1E943}]/u;\nconst bidiDomain = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS1LTR = /[A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B4E-\\u1B6A\\u1B74-\\u1B7F\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u249C-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{1123F}\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113BA}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}\\u{113CD}\\u{113CF}\\u{113D1}\\u{113D3}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171E}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11F02}-\\u{11F10}\\u{11F12}-\\u{11F35}\\u{11F3E}\\u{11F3F}\\u{11F41}\\u{11F43}-\\u{11F59}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1343F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{1612A}-\\u{1612C}\\u{16130}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CCD6}-\\u{1CCEF}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D800}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E4D0}-\\u{1E4EB}\\u{1E4F0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]/u;\nconst bidiS1RTL = /[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D4A}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}]/u;\nconst bidiS2 = /^[\\0-\\x08\\x0E-\\x1B!-@\\[-`\\{-\\x84\\x86-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02B9\\u02BA\\u02C2-\\u02CF\\u02D2-\\u02DF\\u02E5-\\u02ED\\u02EF-\\u036F\\u0374\\u0375\\u037E\\u0384\\u0385\\u0387\\u03F6\\u0483-\\u0489\\u058A\\u058D-\\u058F\\u0591-\\u05C7\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u070D\\u070F-\\u074A\\u074D-\\u07B1\\u07C0-\\u07FA\\u07FD-\\u082D\\u0830-\\u083E\\u0840-\\u085B\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u0897-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09F2\\u09F3\\u09FB\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AF1\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0BF3-\\u0BFA\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C78-\\u0C7E\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E3F\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39-\\u0F3D\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1390-\\u1399\\u1400\\u169B\\u169C\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DB\\u17DD\\u17F0-\\u17F9\\u1800-\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1940\\u1944\\u1945\\u19DE-\\u19FF\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u200B-\\u200D\\u200F-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2070\\u2074-\\u207E\\u2080-\\u208E\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u2150-\\u215F\\u2189-\\u218B\\u2190-\\u2335\\u237B-\\u2394\\u2396-\\u2429\\u2440-\\u244A\\u2460-\\u249B\\u24EA-\\u26AB\\u26AD-\\u27FF\\u2900-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF9-\\u2CFF\\u2D7F\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFF\\u3001-\\u3004\\u3008-\\u3020\\u302A-\\u302D\\u3030\\u3036\\u3037\\u303D-\\u303F\\u3099-\\u309C\\u30A0\\u30FB\\u31C0-\\u31E5\\u31EF\\u321D\\u321E\\u3250-\\u325F\\u327C-\\u327E\\u32B1-\\u32BF\\u32CC-\\u32CF\\u3377-\\u337A\\u33DE\\u33DF\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA60D-\\uA60F\\uA66F-\\uA67F\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA700-\\uA721\\uA788\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA828-\\uA82C\\uA838\\uA839\\uA874-\\uA877\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uAB6A\\uAB6B\\uABE5\\uABE8\\uABED\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD8F\\uFD92-\\uFDC7\\uFDCF\\uFDF0-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFEFF\\uFF01-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10101}\\u{10140}-\\u{1018C}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101FD}\\u{102E0}-\\u{102FB}\\u{10376}-\\u{1037A}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{1091F}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A38}-\\u{10A3A}\\u{10A3F}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE6}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B39}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D27}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D69}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAB}-\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10EFC}-\\u{10F27}\\u{10F30}-\\u{10F59}\\u{10F70}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{11001}\\u{11038}-\\u{11046}\\u{11052}-\\u{11065}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{11660}-\\u{1166C}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{11FD5}-\\u{11FF1}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE2}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1BCA0}-\\u{1BCA3}\\u{1CC00}-\\u{1CCD5}\\u{1CCF0}-\\u{1CCF9}\\u{1CD00}-\\u{1CEB3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D173}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D1E9}\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D300}-\\u{1D356}\\u{1D6C1}\\u{1D6DB}\\u{1D6FB}\\u{1D715}\\u{1D735}\\u{1D74F}\\u{1D76F}\\u{1D789}\\u{1D7A9}\\u{1D7C3}\\u{1D7CE}-\\u{1D7FF}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E2FF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8D6}\\u{1E900}-\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F10F}\\u{1F12F}\\u{1F16A}-\\u{1F16F}\\u{1F1AD}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DC}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F776}\\u{1F77B}-\\u{1F7D9}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}-\\u{1F8BB}\\u{1F8C0}\\u{1F8C1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA7C}\\u{1FA80}-\\u{1FA89}\\u{1FA8F}-\\u{1FAC6}\\u{1FACE}-\\u{1FADC}\\u{1FADF}-\\u{1FAE9}\\u{1FAF0}-\\u{1FAF8}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBF9}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS3 = /[0-9\\xB2\\xB3\\xB9\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05EA\\u05EF-\\u05F4\\u0600-\\u0605\\u0608\\u060B\\u060D\\u061B-\\u064A\\u0660-\\u0669\\u066B-\\u066F\\u0671-\\u06D5\\u06DD\\u06E5\\u06E6\\u06EE-\\u070D\\u070F\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u083E\\u0840-\\u0858\\u085E\\u0860-\\u086A\\u0870-\\u088E\\u0890\\u0891\\u08A0-\\u08C9\\u08E2\\u200F\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBC2\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{10800}-\\u{10805}\\u{10808}\\u{1080A}-\\u{10835}\\u{10837}\\u{10838}\\u{1083C}\\u{1083F}-\\u{10855}\\u{10857}-\\u{1089E}\\u{108A7}-\\u{108AF}\\u{108E0}-\\u{108F2}\\u{108F4}\\u{108F5}\\u{108FB}-\\u{1091B}\\u{10920}-\\u{10939}\\u{1093F}\\u{10980}-\\u{109B7}\\u{109BC}-\\u{109CF}\\u{109D2}-\\u{10A00}\\u{10A10}-\\u{10A13}\\u{10A15}-\\u{10A17}\\u{10A19}-\\u{10A35}\\u{10A40}-\\u{10A48}\\u{10A50}-\\u{10A58}\\u{10A60}-\\u{10A9F}\\u{10AC0}-\\u{10AE4}\\u{10AEB}-\\u{10AF6}\\u{10B00}-\\u{10B35}\\u{10B40}-\\u{10B55}\\u{10B58}-\\u{10B72}\\u{10B78}-\\u{10B91}\\u{10B99}-\\u{10B9C}\\u{10BA9}-\\u{10BAF}\\u{10C00}-\\u{10C48}\\u{10C80}-\\u{10CB2}\\u{10CC0}-\\u{10CF2}\\u{10CFA}-\\u{10D23}\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D65}\\u{10D6F}-\\u{10D85}\\u{10D8E}\\u{10D8F}\\u{10E60}-\\u{10E7E}\\u{10E80}-\\u{10EA9}\\u{10EAD}\\u{10EB0}\\u{10EB1}\\u{10EC2}-\\u{10EC4}\\u{10F00}-\\u{10F27}\\u{10F30}-\\u{10F45}\\u{10F51}-\\u{10F59}\\u{10F70}-\\u{10F81}\\u{10F86}-\\u{10F89}\\u{10FB0}-\\u{10FCB}\\u{10FE0}-\\u{10FF6}\\u{1CCF0}-\\u{1CCF9}\\u{1D7CE}-\\u{1D7FF}\\u{1E800}-\\u{1E8C4}\\u{1E8C7}-\\u{1E8CF}\\u{1E900}-\\u{1E943}\\u{1E94B}\\u{1E950}-\\u{1E959}\\u{1E95E}\\u{1E95F}\\u{1EC71}-\\u{1ECB4}\\u{1ED01}-\\u{1ED3D}\\u{1EE00}-\\u{1EE03}\\u{1EE05}-\\u{1EE1F}\\u{1EE21}\\u{1EE22}\\u{1EE24}\\u{1EE27}\\u{1EE29}-\\u{1EE32}\\u{1EE34}-\\u{1EE37}\\u{1EE39}\\u{1EE3B}\\u{1EE42}\\u{1EE47}\\u{1EE49}\\u{1EE4B}\\u{1EE4D}-\\u{1EE4F}\\u{1EE51}\\u{1EE52}\\u{1EE54}\\u{1EE57}\\u{1EE59}\\u{1EE5B}\\u{1EE5D}\\u{1EE5F}\\u{1EE61}\\u{1EE62}\\u{1EE64}\\u{1EE67}-\\u{1EE6A}\\u{1EE6C}-\\u{1EE72}\\u{1EE74}-\\u{1EE77}\\u{1EE79}-\\u{1EE7C}\\u{1EE7E}\\u{1EE80}-\\u{1EE89}\\u{1EE8B}-\\u{1EE9B}\\u{1EEA1}-\\u{1EEA3}\\u{1EEA5}-\\u{1EEA9}\\u{1EEAB}-\\u{1EEBB}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\nconst bidiS4EN = /[0-9\\xB2\\xB3\\xB9\\u06F0-\\u06F9\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2488-\\u249B\\uFF10-\\uFF19\\u{102E1}-\\u{102FB}\\u{1CCF0}-\\u{1CCF9}\\u{1D7CE}-\\u{1D7FF}\\u{1F100}-\\u{1F10A}\\u{1FBF0}-\\u{1FBF9}]/u;\nconst bidiS4AN = /[\\u0600-\\u0605\\u0660-\\u0669\\u066B\\u066C\\u06DD\\u0890\\u0891\\u08E2\\u{10D30}-\\u{10D39}\\u{10D40}-\\u{10D49}\\u{10E60}-\\u{10E7E}]/u;\nconst bidiS5 = /^[\\0-\\x08\\x0E-\\x1B!-\\x84\\x86-\\u0377\\u037A-\\u037F\\u0384-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u052F\\u0531-\\u0556\\u0559-\\u058A\\u058D-\\u058F\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0606\\u0607\\u0609\\u060A\\u060C\\u060E-\\u061A\\u064B-\\u065F\\u066A\\u0670\\u06D6-\\u06DC\\u06DE-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09FE\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A76\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AF1\\u0AF9-\\u0AFF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B77\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BFA\\u0C00-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3C-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C5D\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C77-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D00-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4F\\u0D54-\\u0D63\\u0D66-\\u0D7F\\u0D81-\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E3A\\u0E3F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECE\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F97\\u0F99-\\u0FBC\\u0FBE-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u137C\\u1380-\\u1399\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1400-\\u167F\\u1681-\\u169C\\u16A0-\\u16F8\\u1700-\\u1715\\u171F-\\u1736\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17DD\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1800-\\u1819\\u1820-\\u1878\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1940\\u1944-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u19DE-\\u1A1B\\u1A1E-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1AB0-\\u1ACE\\u1B00-\\u1B4C\\u1B4E-\\u1BF3\\u1BFC-\\u1C37\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD0-\\u1CFA\\u1D00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6-\\u1FFE\\u200B-\\u200E\\u2010-\\u2027\\u202F-\\u205E\\u2060-\\u2064\\u206A-\\u2071\\u2074-\\u208E\\u2090-\\u209C\\u20A0-\\u20C0\\u20D0-\\u20F0\\u2100-\\u218B\\u2190-\\u2429\\u2440-\\u244A\\u2460-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2CF3\\u2CF9-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2E5D\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFF\\u3001-\\u303F\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31E5\\u31EF-\\u321E\\u3220-\\uA48C\\uA490-\\uA4C6\\uA4D0-\\uA62B\\uA640-\\uA6F7\\uA700-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA82C\\uA830-\\uA839\\uA840-\\uA877\\uA880-\\uA8C5\\uA8CE-\\uA8D9\\uA8E0-\\uA953\\uA95F-\\uA97C\\uA980-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAAC2\\uAADB-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB6B\\uAB70-\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1E\\uFB29\\uFD3E-\\uFD4F\\uFDCF\\uFDFD-\\uFE19\\uFE20-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFEFF\\uFF01-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFF9-\\uFFFD\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}-\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1018E}\\u{10190}-\\u{1019C}\\u{101A0}\\u{101D0}-\\u{101FD}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E0}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{1037A}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{1091F}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10B39}-\\u{10B3F}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6E}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11000}-\\u{1104D}\\u{11052}-\\u{11075}\\u{1107F}-\\u{110C2}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11100}-\\u{11134}\\u{11136}-\\u{11147}\\u{11150}-\\u{11176}\\u{11180}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{11241}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112EA}\\u{112F0}-\\u{112F9}\\u{11300}-\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133B}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113C0}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{113E1}\\u{113E2}\\u{11400}-\\u{1145B}\\u{1145D}-\\u{11461}\\u{11480}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B5}\\u{115B8}-\\u{115DD}\\u{11600}-\\u{11644}\\u{11650}-\\u{11659}\\u{11660}-\\u{1166C}\\u{11680}-\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171D}-\\u{1172B}\\u{11730}-\\u{11746}\\u{11800}-\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193B}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D7}\\u{119DA}-\\u{119E4}\\u{11A00}-\\u{11A47}\\u{11A50}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C36}\\u{11C38}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11C92}-\\u{11CA7}\\u{11CA9}-\\u{11CB6}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D47}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D90}\\u{11D91}\\u{11D93}-\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF8}\\u{11F00}-\\u{11F10}\\u{11F12}-\\u{11F3A}\\u{11F3E}-\\u{11F5A}\\u{11FB0}\\u{11FC0}-\\u{11FF1}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{13455}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF0}-\\u{16AF5}\\u{16B00}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F4F}-\\u{16F87}\\u{16F8F}-\\u{16F9F}\\u{16FE0}-\\u{16FE4}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}-\\u{1BCA3}\\u{1CC00}-\\u{1CCF9}\\u{1CD00}-\\u{1CEB3}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D1EA}\\u{1D200}-\\u{1D245}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D300}-\\u{1D356}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D7CB}\\u{1D7CE}-\\u{1DA8B}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E030}-\\u{1E06D}\\u{1E08F}\\u{1E100}-\\u{1E12C}\\u{1E130}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AE}\\u{1E2C0}-\\u{1E2F9}\\u{1E2FF}\\u{1E4D0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{1EEF0}\\u{1EEF1}\\u{1F000}-\\u{1F02B}\\u{1F030}-\\u{1F093}\\u{1F0A0}-\\u{1F0AE}\\u{1F0B1}-\\u{1F0BF}\\u{1F0C1}-\\u{1F0CF}\\u{1F0D1}-\\u{1F0F5}\\u{1F100}-\\u{1F1AD}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1F260}-\\u{1F265}\\u{1F300}-\\u{1F6D7}\\u{1F6DC}-\\u{1F6EC}\\u{1F6F0}-\\u{1F6FC}\\u{1F700}-\\u{1F776}\\u{1F77B}-\\u{1F7D9}\\u{1F7E0}-\\u{1F7EB}\\u{1F7F0}\\u{1F800}-\\u{1F80B}\\u{1F810}-\\u{1F847}\\u{1F850}-\\u{1F859}\\u{1F860}-\\u{1F887}\\u{1F890}-\\u{1F8AD}\\u{1F8B0}-\\u{1F8BB}\\u{1F8C0}\\u{1F8C1}\\u{1F900}-\\u{1FA53}\\u{1FA60}-\\u{1FA6D}\\u{1FA70}-\\u{1FA7C}\\u{1FA80}-\\u{1FA89}\\u{1FA8F}-\\u{1FAC6}\\u{1FACE}-\\u{1FADC}\\u{1FADF}-\\u{1FAE9}\\u{1FAF0}-\\u{1FAF8}\\u{1FB00}-\\u{1FB92}\\u{1FB94}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{E0001}\\u{E0020}-\\u{E007F}\\u{E0100}-\\u{E01EF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}]*$/u;\nconst bidiS6 = /[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02B8\\u02BB-\\u02C1\\u02D0\\u02D1\\u02E0-\\u02E4\\u02EE\\u0370-\\u0373\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0482\\u048A-\\u052F\\u0531-\\u0556\\u0559-\\u0589\\u06F0-\\u06F9\\u0903-\\u0939\\u093B\\u093D-\\u0940\\u0949-\\u094C\\u094E-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09FA\\u09FC\\u09FD\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3E-\\u0A40\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A76\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AF0\\u0AF9\\u0B02\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD0\\u0BD7\\u0BE6-\\u0BF2\\u0C01-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C41-\\u0C44\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C77\\u0C7F\\u0C80\\u0C82-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1-\\u0CF3\\u0D02-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D4E\\u0D4F\\u0D54-\\u0D61\\u0D66-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2-\\u0DF4\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E4F-\\u0E5B\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00-\\u0F17\\u0F1A-\\u0F34\\u0F36\\u0F38\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F7F\\u0F85\\u0F88-\\u0F8C\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE-\\u0FDA\\u1000-\\u102C\\u1031\\u1038\\u103B\\u103C\\u103F-\\u1057\\u105A-\\u105D\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108C\\u108E-\\u109C\\u109E-\\u10C5\\u10C7\\u10CD\\u10D0-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1360-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u167F\\u1681-\\u169A\\u16A0-\\u16F8\\u1700-\\u1711\\u1715\\u171F-\\u1731\\u1734-\\u1736\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u17D4-\\u17DA\\u17DC\\u17E0-\\u17E9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A19\\u1A1A\\u1A1E-\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA0-\\u1AAD\\u1B04-\\u1B33\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43-\\u1B4C\\u1B4E-\\u1B6A\\u1B74-\\u1B7F\\u1B82-\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BAE-\\u1BE5\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1BFC-\\u1C2B\\u1C34\\u1C35\\u1C3B-\\u1C49\\u1C4D-\\u1C8A\\u1C90-\\u1CBA\\u1CBD-\\u1CC7\\u1CD3\\u1CE1\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5-\\u1CF7\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200E\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u214F\\u2160-\\u2188\\u2336-\\u237A\\u2395\\u2488-\\u24E9\\u26AC\\u2800-\\u28FF\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D70\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u302E\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3190-\\u31BF\\u31F0-\\u321C\\u3220-\\u324F\\u3260-\\u327B\\u327F-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA680-\\uA69D\\uA6A0-\\uA6EF\\uA6F2-\\uA6F7\\uA722-\\uA787\\uA789-\\uA7CD\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7DC\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA824\\uA827\\uA830-\\uA837\\uA840-\\uA873\\uA880-\\uA8C3\\uA8CE-\\uA8D9\\uA8F2-\\uA8FE\\uA900-\\uA925\\uA92E-\\uA946\\uA952\\uA953\\uA95F-\\uA97C\\uA983-\\uA9B2\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9CD\\uA9CF-\\uA9D9\\uA9DE-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA4D\\uAA50-\\uAA59\\uAA5C-\\uAA7B\\uAA7D-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAAEB\\uAAEE-\\uAAF5\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB69\\uAB70-\\uABE4\\uABE6\\uABE7\\uABE9-\\uABEC\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uD800-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u{10000}-\\u{1000B}\\u{1000D}-\\u{10026}\\u{10028}-\\u{1003A}\\u{1003C}\\u{1003D}\\u{1003F}-\\u{1004D}\\u{10050}-\\u{1005D}\\u{10080}-\\u{100FA}\\u{10100}\\u{10102}\\u{10107}-\\u{10133}\\u{10137}-\\u{1013F}\\u{1018D}\\u{1018E}\\u{101D0}-\\u{101FC}\\u{10280}-\\u{1029C}\\u{102A0}-\\u{102D0}\\u{102E1}-\\u{102FB}\\u{10300}-\\u{10323}\\u{1032D}-\\u{1034A}\\u{10350}-\\u{10375}\\u{10380}-\\u{1039D}\\u{1039F}-\\u{103C3}\\u{103C8}-\\u{103D5}\\u{10400}-\\u{1049D}\\u{104A0}-\\u{104A9}\\u{104B0}-\\u{104D3}\\u{104D8}-\\u{104FB}\\u{10500}-\\u{10527}\\u{10530}-\\u{10563}\\u{1056F}-\\u{1057A}\\u{1057C}-\\u{1058A}\\u{1058C}-\\u{10592}\\u{10594}\\u{10595}\\u{10597}-\\u{105A1}\\u{105A3}-\\u{105B1}\\u{105B3}-\\u{105B9}\\u{105BB}\\u{105BC}\\u{105C0}-\\u{105F3}\\u{10600}-\\u{10736}\\u{10740}-\\u{10755}\\u{10760}-\\u{10767}\\u{10780}-\\u{10785}\\u{10787}-\\u{107B0}\\u{107B2}-\\u{107BA}\\u{11000}\\u{11002}-\\u{11037}\\u{11047}-\\u{1104D}\\u{11066}-\\u{1106F}\\u{11071}\\u{11072}\\u{11075}\\u{11082}-\\u{110B2}\\u{110B7}\\u{110B8}\\u{110BB}-\\u{110C1}\\u{110CD}\\u{110D0}-\\u{110E8}\\u{110F0}-\\u{110F9}\\u{11103}-\\u{11126}\\u{1112C}\\u{11136}-\\u{11147}\\u{11150}-\\u{11172}\\u{11174}-\\u{11176}\\u{11182}-\\u{111B5}\\u{111BF}-\\u{111C8}\\u{111CD}\\u{111CE}\\u{111D0}-\\u{111DF}\\u{111E1}-\\u{111F4}\\u{11200}-\\u{11211}\\u{11213}-\\u{1122E}\\u{11232}\\u{11233}\\u{11235}\\u{11238}-\\u{1123D}\\u{1123F}\\u{11240}\\u{11280}-\\u{11286}\\u{11288}\\u{1128A}-\\u{1128D}\\u{1128F}-\\u{1129D}\\u{1129F}-\\u{112A9}\\u{112B0}-\\u{112DE}\\u{112E0}-\\u{112E2}\\u{112F0}-\\u{112F9}\\u{11302}\\u{11303}\\u{11305}-\\u{1130C}\\u{1130F}\\u{11310}\\u{11313}-\\u{11328}\\u{1132A}-\\u{11330}\\u{11332}\\u{11333}\\u{11335}-\\u{11339}\\u{1133D}-\\u{1133F}\\u{11341}-\\u{11344}\\u{11347}\\u{11348}\\u{1134B}-\\u{1134D}\\u{11350}\\u{11357}\\u{1135D}-\\u{11363}\\u{11380}-\\u{11389}\\u{1138B}\\u{1138E}\\u{11390}-\\u{113B5}\\u{113B7}-\\u{113BA}\\u{113C2}\\u{113C5}\\u{113C7}-\\u{113CA}\\u{113CC}\\u{113CD}\\u{113CF}\\u{113D1}\\u{113D3}-\\u{113D5}\\u{113D7}\\u{113D8}\\u{11400}-\\u{11437}\\u{11440}\\u{11441}\\u{11445}\\u{11447}-\\u{1145B}\\u{1145D}\\u{1145F}-\\u{11461}\\u{11480}-\\u{114B2}\\u{114B9}\\u{114BB}-\\u{114BE}\\u{114C1}\\u{114C4}-\\u{114C7}\\u{114D0}-\\u{114D9}\\u{11580}-\\u{115B1}\\u{115B8}-\\u{115BB}\\u{115BE}\\u{115C1}-\\u{115DB}\\u{11600}-\\u{11632}\\u{1163B}\\u{1163C}\\u{1163E}\\u{11641}-\\u{11644}\\u{11650}-\\u{11659}\\u{11680}-\\u{116AA}\\u{116AC}\\u{116AE}\\u{116AF}\\u{116B6}\\u{116B8}\\u{116B9}\\u{116C0}-\\u{116C9}\\u{116D0}-\\u{116E3}\\u{11700}-\\u{1171A}\\u{1171E}\\u{11720}\\u{11721}\\u{11726}\\u{11730}-\\u{11746}\\u{11800}-\\u{1182E}\\u{11838}\\u{1183B}\\u{118A0}-\\u{118F2}\\u{118FF}-\\u{11906}\\u{11909}\\u{1190C}-\\u{11913}\\u{11915}\\u{11916}\\u{11918}-\\u{11935}\\u{11937}\\u{11938}\\u{1193D}\\u{1193F}-\\u{11942}\\u{11944}-\\u{11946}\\u{11950}-\\u{11959}\\u{119A0}-\\u{119A7}\\u{119AA}-\\u{119D3}\\u{119DC}-\\u{119DF}\\u{119E1}-\\u{119E4}\\u{11A00}\\u{11A07}\\u{11A08}\\u{11A0B}-\\u{11A32}\\u{11A39}\\u{11A3A}\\u{11A3F}-\\u{11A46}\\u{11A50}\\u{11A57}\\u{11A58}\\u{11A5C}-\\u{11A89}\\u{11A97}\\u{11A9A}-\\u{11AA2}\\u{11AB0}-\\u{11AF8}\\u{11B00}-\\u{11B09}\\u{11BC0}-\\u{11BE1}\\u{11BF0}-\\u{11BF9}\\u{11C00}-\\u{11C08}\\u{11C0A}-\\u{11C2F}\\u{11C3E}-\\u{11C45}\\u{11C50}-\\u{11C6C}\\u{11C70}-\\u{11C8F}\\u{11CA9}\\u{11CB1}\\u{11CB4}\\u{11D00}-\\u{11D06}\\u{11D08}\\u{11D09}\\u{11D0B}-\\u{11D30}\\u{11D46}\\u{11D50}-\\u{11D59}\\u{11D60}-\\u{11D65}\\u{11D67}\\u{11D68}\\u{11D6A}-\\u{11D8E}\\u{11D93}\\u{11D94}\\u{11D96}\\u{11D98}\\u{11DA0}-\\u{11DA9}\\u{11EE0}-\\u{11EF2}\\u{11EF5}-\\u{11EF8}\\u{11F02}-\\u{11F10}\\u{11F12}-\\u{11F35}\\u{11F3E}\\u{11F3F}\\u{11F41}\\u{11F43}-\\u{11F59}\\u{11FB0}\\u{11FC0}-\\u{11FD4}\\u{11FFF}-\\u{12399}\\u{12400}-\\u{1246E}\\u{12470}-\\u{12474}\\u{12480}-\\u{12543}\\u{12F90}-\\u{12FF2}\\u{13000}-\\u{1343F}\\u{13441}-\\u{13446}\\u{13460}-\\u{143FA}\\u{14400}-\\u{14646}\\u{16100}-\\u{1611D}\\u{1612A}-\\u{1612C}\\u{16130}-\\u{16139}\\u{16800}-\\u{16A38}\\u{16A40}-\\u{16A5E}\\u{16A60}-\\u{16A69}\\u{16A6E}-\\u{16ABE}\\u{16AC0}-\\u{16AC9}\\u{16AD0}-\\u{16AED}\\u{16AF5}\\u{16B00}-\\u{16B2F}\\u{16B37}-\\u{16B45}\\u{16B50}-\\u{16B59}\\u{16B5B}-\\u{16B61}\\u{16B63}-\\u{16B77}\\u{16B7D}-\\u{16B8F}\\u{16D40}-\\u{16D79}\\u{16E40}-\\u{16E9A}\\u{16F00}-\\u{16F4A}\\u{16F50}-\\u{16F87}\\u{16F93}-\\u{16F9F}\\u{16FE0}\\u{16FE1}\\u{16FE3}\\u{16FF0}\\u{16FF1}\\u{17000}-\\u{187F7}\\u{18800}-\\u{18CD5}\\u{18CFF}-\\u{18D08}\\u{1AFF0}-\\u{1AFF3}\\u{1AFF5}-\\u{1AFFB}\\u{1AFFD}\\u{1AFFE}\\u{1B000}-\\u{1B122}\\u{1B132}\\u{1B150}-\\u{1B152}\\u{1B155}\\u{1B164}-\\u{1B167}\\u{1B170}-\\u{1B2FB}\\u{1BC00}-\\u{1BC6A}\\u{1BC70}-\\u{1BC7C}\\u{1BC80}-\\u{1BC88}\\u{1BC90}-\\u{1BC99}\\u{1BC9C}\\u{1BC9F}\\u{1CCD6}-\\u{1CCF9}\\u{1CF50}-\\u{1CFC3}\\u{1D000}-\\u{1D0F5}\\u{1D100}-\\u{1D126}\\u{1D129}-\\u{1D166}\\u{1D16A}-\\u{1D172}\\u{1D183}\\u{1D184}\\u{1D18C}-\\u{1D1A9}\\u{1D1AE}-\\u{1D1E8}\\u{1D2C0}-\\u{1D2D3}\\u{1D2E0}-\\u{1D2F3}\\u{1D360}-\\u{1D378}\\u{1D400}-\\u{1D454}\\u{1D456}-\\u{1D49C}\\u{1D49E}\\u{1D49F}\\u{1D4A2}\\u{1D4A5}\\u{1D4A6}\\u{1D4A9}-\\u{1D4AC}\\u{1D4AE}-\\u{1D4B9}\\u{1D4BB}\\u{1D4BD}-\\u{1D4C3}\\u{1D4C5}-\\u{1D505}\\u{1D507}-\\u{1D50A}\\u{1D50D}-\\u{1D514}\\u{1D516}-\\u{1D51C}\\u{1D51E}-\\u{1D539}\\u{1D53B}-\\u{1D53E}\\u{1D540}-\\u{1D544}\\u{1D546}\\u{1D54A}-\\u{1D550}\\u{1D552}-\\u{1D6A5}\\u{1D6A8}-\\u{1D6C0}\\u{1D6C2}-\\u{1D6DA}\\u{1D6DC}-\\u{1D6FA}\\u{1D6FC}-\\u{1D714}\\u{1D716}-\\u{1D734}\\u{1D736}-\\u{1D74E}\\u{1D750}-\\u{1D76E}\\u{1D770}-\\u{1D788}\\u{1D78A}-\\u{1D7A8}\\u{1D7AA}-\\u{1D7C2}\\u{1D7C4}-\\u{1D7CB}\\u{1D7CE}-\\u{1D9FF}\\u{1DA37}-\\u{1DA3A}\\u{1DA6D}-\\u{1DA74}\\u{1DA76}-\\u{1DA83}\\u{1DA85}-\\u{1DA8B}\\u{1DF00}-\\u{1DF1E}\\u{1DF25}-\\u{1DF2A}\\u{1E030}-\\u{1E06D}\\u{1E100}-\\u{1E12C}\\u{1E137}-\\u{1E13D}\\u{1E140}-\\u{1E149}\\u{1E14E}\\u{1E14F}\\u{1E290}-\\u{1E2AD}\\u{1E2C0}-\\u{1E2EB}\\u{1E2F0}-\\u{1E2F9}\\u{1E4D0}-\\u{1E4EB}\\u{1E4F0}-\\u{1E4F9}\\u{1E5D0}-\\u{1E5ED}\\u{1E5F0}-\\u{1E5FA}\\u{1E5FF}\\u{1E7E0}-\\u{1E7E6}\\u{1E7E8}-\\u{1E7EB}\\u{1E7ED}\\u{1E7EE}\\u{1E7F0}-\\u{1E7FE}\\u{1F100}-\\u{1F10A}\\u{1F110}-\\u{1F12E}\\u{1F130}-\\u{1F169}\\u{1F170}-\\u{1F1AC}\\u{1F1E6}-\\u{1F202}\\u{1F210}-\\u{1F23B}\\u{1F240}-\\u{1F248}\\u{1F250}\\u{1F251}\\u{1FBF0}-\\u{1FBF9}\\u{20000}-\\u{2A6DF}\\u{2A700}-\\u{2B739}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{2EBF0}-\\u{2EE5D}\\u{2F800}-\\u{2FA1D}\\u{30000}-\\u{3134A}\\u{31350}-\\u{323AF}\\u{F0000}-\\u{FFFFD}\\u{100000}-\\u{10FFFD}][\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u0897-\\u089F\\u08CA-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3C\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECE\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732\\u1733\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u180F\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ACE\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\u{101FD}\\u{102E0}\\u{10376}-\\u{1037A}\\u{10A01}-\\u{10A03}\\u{10A05}\\u{10A06}\\u{10A0C}-\\u{10A0F}\\u{10A38}-\\u{10A3A}\\u{10A3F}\\u{10AE5}\\u{10AE6}\\u{10D24}-\\u{10D27}\\u{10D69}-\\u{10D6D}\\u{10EAB}\\u{10EAC}\\u{10EFC}-\\u{10EFF}\\u{10F46}-\\u{10F50}\\u{10F82}-\\u{10F85}\\u{11001}\\u{11038}-\\u{11046}\\u{11070}\\u{11073}\\u{11074}\\u{1107F}-\\u{11081}\\u{110B3}-\\u{110B6}\\u{110B9}\\u{110BA}\\u{110C2}\\u{11100}-\\u{11102}\\u{11127}-\\u{1112B}\\u{1112D}-\\u{11134}\\u{11173}\\u{11180}\\u{11181}\\u{111B6}-\\u{111BE}\\u{111C9}-\\u{111CC}\\u{111CF}\\u{1122F}-\\u{11231}\\u{11234}\\u{11236}\\u{11237}\\u{1123E}\\u{11241}\\u{112DF}\\u{112E3}-\\u{112EA}\\u{11300}\\u{11301}\\u{1133B}\\u{1133C}\\u{11340}\\u{11366}-\\u{1136C}\\u{11370}-\\u{11374}\\u{113BB}-\\u{113C0}\\u{113CE}\\u{113D0}\\u{113D2}\\u{113E1}\\u{113E2}\\u{11438}-\\u{1143F}\\u{11442}-\\u{11444}\\u{11446}\\u{1145E}\\u{114B3}-\\u{114B8}\\u{114BA}\\u{114BF}\\u{114C0}\\u{114C2}\\u{114C3}\\u{115B2}-\\u{115B5}\\u{115BC}\\u{115BD}\\u{115BF}\\u{115C0}\\u{115DC}\\u{115DD}\\u{11633}-\\u{1163A}\\u{1163D}\\u{1163F}\\u{11640}\\u{116AB}\\u{116AD}\\u{116B0}-\\u{116B5}\\u{116B7}\\u{1171D}\\u{1171F}\\u{11722}-\\u{11725}\\u{11727}-\\u{1172B}\\u{1182F}-\\u{11837}\\u{11839}\\u{1183A}\\u{1193B}\\u{1193C}\\u{1193E}\\u{11943}\\u{119D4}-\\u{119D7}\\u{119DA}\\u{119DB}\\u{119E0}\\u{11A01}-\\u{11A06}\\u{11A09}\\u{11A0A}\\u{11A33}-\\u{11A38}\\u{11A3B}-\\u{11A3E}\\u{11A47}\\u{11A51}-\\u{11A56}\\u{11A59}-\\u{11A5B}\\u{11A8A}-\\u{11A96}\\u{11A98}\\u{11A99}\\u{11C30}-\\u{11C36}\\u{11C38}-\\u{11C3D}\\u{11C92}-\\u{11CA7}\\u{11CAA}-\\u{11CB0}\\u{11CB2}\\u{11CB3}\\u{11CB5}\\u{11CB6}\\u{11D31}-\\u{11D36}\\u{11D3A}\\u{11D3C}\\u{11D3D}\\u{11D3F}-\\u{11D45}\\u{11D47}\\u{11D90}\\u{11D91}\\u{11D95}\\u{11D97}\\u{11EF3}\\u{11EF4}\\u{11F00}\\u{11F01}\\u{11F36}-\\u{11F3A}\\u{11F40}\\u{11F42}\\u{11F5A}\\u{13440}\\u{13447}-\\u{13455}\\u{1611E}-\\u{16129}\\u{1612D}-\\u{1612F}\\u{16AF0}-\\u{16AF4}\\u{16B30}-\\u{16B36}\\u{16F4F}\\u{16F8F}-\\u{16F92}\\u{16FE4}\\u{1BC9D}\\u{1BC9E}\\u{1CF00}-\\u{1CF2D}\\u{1CF30}-\\u{1CF46}\\u{1D167}-\\u{1D169}\\u{1D17B}-\\u{1D182}\\u{1D185}-\\u{1D18B}\\u{1D1AA}-\\u{1D1AD}\\u{1D242}-\\u{1D244}\\u{1DA00}-\\u{1DA36}\\u{1DA3B}-\\u{1DA6C}\\u{1DA75}\\u{1DA84}\\u{1DA9B}-\\u{1DA9F}\\u{1DAA1}-\\u{1DAAF}\\u{1E000}-\\u{1E006}\\u{1E008}-\\u{1E018}\\u{1E01B}-\\u{1E021}\\u{1E023}\\u{1E024}\\u{1E026}-\\u{1E02A}\\u{1E08F}\\u{1E130}-\\u{1E136}\\u{1E2AE}\\u{1E2EC}-\\u{1E2EF}\\u{1E4EC}-\\u{1E4EF}\\u{1E5EE}\\u{1E5EF}\\u{1E8D0}-\\u{1E8D6}\\u{1E944}-\\u{1E94A}\\u{E0100}-\\u{E01EF}]*$/u;\n\nmodule.exports = {\n combiningMarks,\n combiningClassVirama,\n validZWNJ,\n bidiDomain,\n bidiS1LTR,\n bidiS1RTL,\n bidiS2,\n bidiS3,\n bidiS4EN,\n bidiS4AN,\n bidiS5,\n bidiS6\n };\n","[[[0,44],2],[[45,46],2],[47,2],[[48,57],2],[[58,64],2],[65,1,\"a\"],[66,1,\"b\"],[67,1,\"c\"],[68,1,\"d\"],[69,1,\"e\"],[70,1,\"f\"],[71,1,\"g\"],[72,1,\"h\"],[73,1,\"i\"],[74,1,\"j\"],[75,1,\"k\"],[76,1,\"l\"],[77,1,\"m\"],[78,1,\"n\"],[79,1,\"o\"],[80,1,\"p\"],[81,1,\"q\"],[82,1,\"r\"],[83,1,\"s\"],[84,1,\"t\"],[85,1,\"u\"],[86,1,\"v\"],[87,1,\"w\"],[88,1,\"x\"],[89,1,\"y\"],[90,1,\"z\"],[[91,96],2],[[97,122],2],[[123,127],2],[[128,159],3],[160,1,\" \"],[[161,167],2],[168,1,\" ̈\"],[169,2],[170,1,\"a\"],[[171,172],2],[173,7],[174,2],[175,1,\" ̄\"],[[176,177],2],[178,1,\"2\"],[179,1,\"3\"],[180,1,\" ́\"],[181,1,\"μ\"],[182,2],[183,2],[184,1,\" ̧\"],[185,1,\"1\"],[186,1,\"o\"],[187,2],[188,1,\"1⁄4\"],[189,1,\"1⁄2\"],[190,1,\"3⁄4\"],[191,2],[192,1,\"à\"],[193,1,\"á\"],[194,1,\"â\"],[195,1,\"ã\"],[196,1,\"ä\"],[197,1,\"å\"],[198,1,\"æ\"],[199,1,\"ç\"],[200,1,\"è\"],[201,1,\"é\"],[202,1,\"ê\"],[203,1,\"ë\"],[204,1,\"ì\"],[205,1,\"í\"],[206,1,\"î\"],[207,1,\"ï\"],[208,1,\"ð\"],[209,1,\"ñ\"],[210,1,\"ò\"],[211,1,\"ó\"],[212,1,\"ô\"],[213,1,\"õ\"],[214,1,\"ö\"],[215,2],[216,1,\"ø\"],[217,1,\"ù\"],[218,1,\"ú\"],[219,1,\"û\"],[220,1,\"ü\"],[221,1,\"ý\"],[222,1,\"þ\"],[223,6,\"ss\"],[[224,246],2],[247,2],[[248,255],2],[256,1,\"ā\"],[257,2],[258,1,\"ă\"],[259,2],[260,1,\"ą\"],[261,2],[262,1,\"ć\"],[263,2],[264,1,\"ĉ\"],[265,2],[266,1,\"ċ\"],[267,2],[268,1,\"č\"],[269,2],[270,1,\"ď\"],[271,2],[272,1,\"đ\"],[273,2],[274,1,\"ē\"],[275,2],[276,1,\"ĕ\"],[277,2],[278,1,\"ė\"],[279,2],[280,1,\"ę\"],[281,2],[282,1,\"ě\"],[283,2],[284,1,\"ĝ\"],[285,2],[286,1,\"ğ\"],[287,2],[288,1,\"ġ\"],[289,2],[290,1,\"ģ\"],[291,2],[292,1,\"ĥ\"],[293,2],[294,1,\"ħ\"],[295,2],[296,1,\"ĩ\"],[297,2],[298,1,\"ī\"],[299,2],[300,1,\"ĭ\"],[301,2],[302,1,\"į\"],[303,2],[304,1,\"i̇\"],[305,2],[[306,307],1,\"ij\"],[308,1,\"ĵ\"],[309,2],[310,1,\"ķ\"],[[311,312],2],[313,1,\"ĺ\"],[314,2],[315,1,\"ļ\"],[316,2],[317,1,\"ľ\"],[318,2],[[319,320],1,\"l·\"],[321,1,\"ł\"],[322,2],[323,1,\"ń\"],[324,2],[325,1,\"ņ\"],[326,2],[327,1,\"ň\"],[328,2],[329,1,\"ʼn\"],[330,1,\"ŋ\"],[331,2],[332,1,\"ō\"],[333,2],[334,1,\"ŏ\"],[335,2],[336,1,\"ő\"],[337,2],[338,1,\"œ\"],[339,2],[340,1,\"ŕ\"],[341,2],[342,1,\"ŗ\"],[343,2],[344,1,\"ř\"],[345,2],[346,1,\"ś\"],[347,2],[348,1,\"ŝ\"],[349,2],[350,1,\"ş\"],[351,2],[352,1,\"š\"],[353,2],[354,1,\"ţ\"],[355,2],[356,1,\"ť\"],[357,2],[358,1,\"ŧ\"],[359,2],[360,1,\"ũ\"],[361,2],[362,1,\"ū\"],[363,2],[364,1,\"ŭ\"],[365,2],[366,1,\"ů\"],[367,2],[368,1,\"ű\"],[369,2],[370,1,\"ų\"],[371,2],[372,1,\"ŵ\"],[373,2],[374,1,\"ŷ\"],[375,2],[376,1,\"ÿ\"],[377,1,\"ź\"],[378,2],[379,1,\"ż\"],[380,2],[381,1,\"ž\"],[382,2],[383,1,\"s\"],[384,2],[385,1,\"ɓ\"],[386,1,\"ƃ\"],[387,2],[388,1,\"ƅ\"],[389,2],[390,1,\"ɔ\"],[391,1,\"ƈ\"],[392,2],[393,1,\"ɖ\"],[394,1,\"ɗ\"],[395,1,\"ƌ\"],[[396,397],2],[398,1,\"ǝ\"],[399,1,\"ə\"],[400,1,\"ɛ\"],[401,1,\"ƒ\"],[402,2],[403,1,\"ɠ\"],[404,1,\"ɣ\"],[405,2],[406,1,\"ɩ\"],[407,1,\"ɨ\"],[408,1,\"ƙ\"],[[409,411],2],[412,1,\"ɯ\"],[413,1,\"ɲ\"],[414,2],[415,1,\"ɵ\"],[416,1,\"ơ\"],[417,2],[418,1,\"ƣ\"],[419,2],[420,1,\"ƥ\"],[421,2],[422,1,\"ʀ\"],[423,1,\"ƨ\"],[424,2],[425,1,\"ʃ\"],[[426,427],2],[428,1,\"ƭ\"],[429,2],[430,1,\"ʈ\"],[431,1,\"ư\"],[432,2],[433,1,\"ʊ\"],[434,1,\"ʋ\"],[435,1,\"ƴ\"],[436,2],[437,1,\"ƶ\"],[438,2],[439,1,\"ʒ\"],[440,1,\"ƹ\"],[[441,443],2],[444,1,\"ƽ\"],[[445,451],2],[[452,454],1,\"dž\"],[[455,457],1,\"lj\"],[[458,460],1,\"nj\"],[461,1,\"ǎ\"],[462,2],[463,1,\"ǐ\"],[464,2],[465,1,\"ǒ\"],[466,2],[467,1,\"ǔ\"],[468,2],[469,1,\"ǖ\"],[470,2],[471,1,\"ǘ\"],[472,2],[473,1,\"ǚ\"],[474,2],[475,1,\"ǜ\"],[[476,477],2],[478,1,\"ǟ\"],[479,2],[480,1,\"ǡ\"],[481,2],[482,1,\"ǣ\"],[483,2],[484,1,\"ǥ\"],[485,2],[486,1,\"ǧ\"],[487,2],[488,1,\"ǩ\"],[489,2],[490,1,\"ǫ\"],[491,2],[492,1,\"ǭ\"],[493,2],[494,1,\"ǯ\"],[[495,496],2],[[497,499],1,\"dz\"],[500,1,\"ǵ\"],[501,2],[502,1,\"ƕ\"],[503,1,\"ƿ\"],[504,1,\"ǹ\"],[505,2],[506,1,\"ǻ\"],[507,2],[508,1,\"ǽ\"],[509,2],[510,1,\"ǿ\"],[511,2],[512,1,\"ȁ\"],[513,2],[514,1,\"ȃ\"],[515,2],[516,1,\"ȅ\"],[517,2],[518,1,\"ȇ\"],[519,2],[520,1,\"ȉ\"],[521,2],[522,1,\"ȋ\"],[523,2],[524,1,\"ȍ\"],[525,2],[526,1,\"ȏ\"],[527,2],[528,1,\"ȑ\"],[529,2],[530,1,\"ȓ\"],[531,2],[532,1,\"ȕ\"],[533,2],[534,1,\"ȗ\"],[535,2],[536,1,\"ș\"],[537,2],[538,1,\"ț\"],[539,2],[540,1,\"ȝ\"],[541,2],[542,1,\"ȟ\"],[543,2],[544,1,\"ƞ\"],[545,2],[546,1,\"ȣ\"],[547,2],[548,1,\"ȥ\"],[549,2],[550,1,\"ȧ\"],[551,2],[552,1,\"ȩ\"],[553,2],[554,1,\"ȫ\"],[555,2],[556,1,\"ȭ\"],[557,2],[558,1,\"ȯ\"],[559,2],[560,1,\"ȱ\"],[561,2],[562,1,\"ȳ\"],[563,2],[[564,566],2],[[567,569],2],[570,1,\"ⱥ\"],[571,1,\"ȼ\"],[572,2],[573,1,\"ƚ\"],[574,1,\"ⱦ\"],[[575,576],2],[577,1,\"ɂ\"],[578,2],[579,1,\"ƀ\"],[580,1,\"ʉ\"],[581,1,\"ʌ\"],[582,1,\"ɇ\"],[583,2],[584,1,\"ɉ\"],[585,2],[586,1,\"ɋ\"],[587,2],[588,1,\"ɍ\"],[589,2],[590,1,\"ɏ\"],[591,2],[[592,680],2],[[681,685],2],[[686,687],2],[688,1,\"h\"],[689,1,\"ɦ\"],[690,1,\"j\"],[691,1,\"r\"],[692,1,\"ɹ\"],[693,1,\"ɻ\"],[694,1,\"ʁ\"],[695,1,\"w\"],[696,1,\"y\"],[[697,705],2],[[706,709],2],[[710,721],2],[[722,727],2],[728,1,\" ̆\"],[729,1,\" ̇\"],[730,1,\" ̊\"],[731,1,\" ̨\"],[732,1,\" ̃\"],[733,1,\" ̋\"],[734,2],[735,2],[736,1,\"ɣ\"],[737,1,\"l\"],[738,1,\"s\"],[739,1,\"x\"],[740,1,\"ʕ\"],[[741,745],2],[[746,747],2],[748,2],[749,2],[750,2],[[751,767],2],[[768,831],2],[832,1,\"̀\"],[833,1,\"́\"],[834,2],[835,1,\"̓\"],[836,1,\"̈́\"],[837,1,\"ι\"],[[838,846],2],[847,7],[[848,855],2],[[856,860],2],[[861,863],2],[[864,865],2],[866,2],[[867,879],2],[880,1,\"ͱ\"],[881,2],[882,1,\"ͳ\"],[883,2],[884,1,\"ʹ\"],[885,2],[886,1,\"ͷ\"],[887,2],[[888,889],3],[890,1,\" ι\"],[[891,893],2],[894,1,\";\"],[895,1,\"ϳ\"],[[896,899],3],[900,1,\" ́\"],[901,1,\" ̈́\"],[902,1,\"ά\"],[903,1,\"·\"],[904,1,\"έ\"],[905,1,\"ή\"],[906,1,\"ί\"],[907,3],[908,1,\"ό\"],[909,3],[910,1,\"ύ\"],[911,1,\"ώ\"],[912,2],[913,1,\"α\"],[914,1,\"β\"],[915,1,\"γ\"],[916,1,\"δ\"],[917,1,\"ε\"],[918,1,\"ζ\"],[919,1,\"η\"],[920,1,\"θ\"],[921,1,\"ι\"],[922,1,\"κ\"],[923,1,\"λ\"],[924,1,\"μ\"],[925,1,\"ν\"],[926,1,\"ξ\"],[927,1,\"ο\"],[928,1,\"π\"],[929,1,\"ρ\"],[930,3],[931,1,\"σ\"],[932,1,\"τ\"],[933,1,\"υ\"],[934,1,\"φ\"],[935,1,\"χ\"],[936,1,\"ψ\"],[937,1,\"ω\"],[938,1,\"ϊ\"],[939,1,\"ϋ\"],[[940,961],2],[962,6,\"σ\"],[[963,974],2],[975,1,\"ϗ\"],[976,1,\"β\"],[977,1,\"θ\"],[978,1,\"υ\"],[979,1,\"ύ\"],[980,1,\"ϋ\"],[981,1,\"φ\"],[982,1,\"π\"],[983,2],[984,1,\"ϙ\"],[985,2],[986,1,\"ϛ\"],[987,2],[988,1,\"ϝ\"],[989,2],[990,1,\"ϟ\"],[991,2],[992,1,\"ϡ\"],[993,2],[994,1,\"ϣ\"],[995,2],[996,1,\"ϥ\"],[997,2],[998,1,\"ϧ\"],[999,2],[1000,1,\"ϩ\"],[1001,2],[1002,1,\"ϫ\"],[1003,2],[1004,1,\"ϭ\"],[1005,2],[1006,1,\"ϯ\"],[1007,2],[1008,1,\"κ\"],[1009,1,\"ρ\"],[1010,1,\"σ\"],[1011,2],[1012,1,\"θ\"],[1013,1,\"ε\"],[1014,2],[1015,1,\"ϸ\"],[1016,2],[1017,1,\"σ\"],[1018,1,\"ϻ\"],[1019,2],[1020,2],[1021,1,\"ͻ\"],[1022,1,\"ͼ\"],[1023,1,\"ͽ\"],[1024,1,\"ѐ\"],[1025,1,\"ё\"],[1026,1,\"ђ\"],[1027,1,\"ѓ\"],[1028,1,\"є\"],[1029,1,\"ѕ\"],[1030,1,\"і\"],[1031,1,\"ї\"],[1032,1,\"ј\"],[1033,1,\"љ\"],[1034,1,\"њ\"],[1035,1,\"ћ\"],[1036,1,\"ќ\"],[1037,1,\"ѝ\"],[1038,1,\"ў\"],[1039,1,\"џ\"],[1040,1,\"а\"],[1041,1,\"б\"],[1042,1,\"в\"],[1043,1,\"г\"],[1044,1,\"д\"],[1045,1,\"е\"],[1046,1,\"ж\"],[1047,1,\"з\"],[1048,1,\"и\"],[1049,1,\"й\"],[1050,1,\"к\"],[1051,1,\"л\"],[1052,1,\"м\"],[1053,1,\"н\"],[1054,1,\"о\"],[1055,1,\"п\"],[1056,1,\"р\"],[1057,1,\"с\"],[1058,1,\"т\"],[1059,1,\"у\"],[1060,1,\"ф\"],[1061,1,\"х\"],[1062,1,\"ц\"],[1063,1,\"ч\"],[1064,1,\"ш\"],[1065,1,\"щ\"],[1066,1,\"ъ\"],[1067,1,\"ы\"],[1068,1,\"ь\"],[1069,1,\"э\"],[1070,1,\"ю\"],[1071,1,\"я\"],[[1072,1103],2],[1104,2],[[1105,1116],2],[1117,2],[[1118,1119],2],[1120,1,\"ѡ\"],[1121,2],[1122,1,\"ѣ\"],[1123,2],[1124,1,\"ѥ\"],[1125,2],[1126,1,\"ѧ\"],[1127,2],[1128,1,\"ѩ\"],[1129,2],[1130,1,\"ѫ\"],[1131,2],[1132,1,\"ѭ\"],[1133,2],[1134,1,\"ѯ\"],[1135,2],[1136,1,\"ѱ\"],[1137,2],[1138,1,\"ѳ\"],[1139,2],[1140,1,\"ѵ\"],[1141,2],[1142,1,\"ѷ\"],[1143,2],[1144,1,\"ѹ\"],[1145,2],[1146,1,\"ѻ\"],[1147,2],[1148,1,\"ѽ\"],[1149,2],[1150,1,\"ѿ\"],[1151,2],[1152,1,\"ҁ\"],[1153,2],[1154,2],[[1155,1158],2],[1159,2],[[1160,1161],2],[1162,1,\"ҋ\"],[1163,2],[1164,1,\"ҍ\"],[1165,2],[1166,1,\"ҏ\"],[1167,2],[1168,1,\"ґ\"],[1169,2],[1170,1,\"ғ\"],[1171,2],[1172,1,\"ҕ\"],[1173,2],[1174,1,\"җ\"],[1175,2],[1176,1,\"ҙ\"],[1177,2],[1178,1,\"қ\"],[1179,2],[1180,1,\"ҝ\"],[1181,2],[1182,1,\"ҟ\"],[1183,2],[1184,1,\"ҡ\"],[1185,2],[1186,1,\"ң\"],[1187,2],[1188,1,\"ҥ\"],[1189,2],[1190,1,\"ҧ\"],[1191,2],[1192,1,\"ҩ\"],[1193,2],[1194,1,\"ҫ\"],[1195,2],[1196,1,\"ҭ\"],[1197,2],[1198,1,\"ү\"],[1199,2],[1200,1,\"ұ\"],[1201,2],[1202,1,\"ҳ\"],[1203,2],[1204,1,\"ҵ\"],[1205,2],[1206,1,\"ҷ\"],[1207,2],[1208,1,\"ҹ\"],[1209,2],[1210,1,\"һ\"],[1211,2],[1212,1,\"ҽ\"],[1213,2],[1214,1,\"ҿ\"],[1215,2],[1216,1,\"ӏ\"],[1217,1,\"ӂ\"],[1218,2],[1219,1,\"ӄ\"],[1220,2],[1221,1,\"ӆ\"],[1222,2],[1223,1,\"ӈ\"],[1224,2],[1225,1,\"ӊ\"],[1226,2],[1227,1,\"ӌ\"],[1228,2],[1229,1,\"ӎ\"],[1230,2],[1231,2],[1232,1,\"ӑ\"],[1233,2],[1234,1,\"ӓ\"],[1235,2],[1236,1,\"ӕ\"],[1237,2],[1238,1,\"ӗ\"],[1239,2],[1240,1,\"ә\"],[1241,2],[1242,1,\"ӛ\"],[1243,2],[1244,1,\"ӝ\"],[1245,2],[1246,1,\"ӟ\"],[1247,2],[1248,1,\"ӡ\"],[1249,2],[1250,1,\"ӣ\"],[1251,2],[1252,1,\"ӥ\"],[1253,2],[1254,1,\"ӧ\"],[1255,2],[1256,1,\"ө\"],[1257,2],[1258,1,\"ӫ\"],[1259,2],[1260,1,\"ӭ\"],[1261,2],[1262,1,\"ӯ\"],[1263,2],[1264,1,\"ӱ\"],[1265,2],[1266,1,\"ӳ\"],[1267,2],[1268,1,\"ӵ\"],[1269,2],[1270,1,\"ӷ\"],[1271,2],[1272,1,\"ӹ\"],[1273,2],[1274,1,\"ӻ\"],[1275,2],[1276,1,\"ӽ\"],[1277,2],[1278,1,\"ӿ\"],[1279,2],[1280,1,\"ԁ\"],[1281,2],[1282,1,\"ԃ\"],[1283,2],[1284,1,\"ԅ\"],[1285,2],[1286,1,\"ԇ\"],[1287,2],[1288,1,\"ԉ\"],[1289,2],[1290,1,\"ԋ\"],[1291,2],[1292,1,\"ԍ\"],[1293,2],[1294,1,\"ԏ\"],[1295,2],[1296,1,\"ԑ\"],[1297,2],[1298,1,\"ԓ\"],[1299,2],[1300,1,\"ԕ\"],[1301,2],[1302,1,\"ԗ\"],[1303,2],[1304,1,\"ԙ\"],[1305,2],[1306,1,\"ԛ\"],[1307,2],[1308,1,\"ԝ\"],[1309,2],[1310,1,\"ԟ\"],[1311,2],[1312,1,\"ԡ\"],[1313,2],[1314,1,\"ԣ\"],[1315,2],[1316,1,\"ԥ\"],[1317,2],[1318,1,\"ԧ\"],[1319,2],[1320,1,\"ԩ\"],[1321,2],[1322,1,\"ԫ\"],[1323,2],[1324,1,\"ԭ\"],[1325,2],[1326,1,\"ԯ\"],[1327,2],[1328,3],[1329,1,\"ա\"],[1330,1,\"բ\"],[1331,1,\"գ\"],[1332,1,\"դ\"],[1333,1,\"ե\"],[1334,1,\"զ\"],[1335,1,\"է\"],[1336,1,\"ը\"],[1337,1,\"թ\"],[1338,1,\"ժ\"],[1339,1,\"ի\"],[1340,1,\"լ\"],[1341,1,\"խ\"],[1342,1,\"ծ\"],[1343,1,\"կ\"],[1344,1,\"հ\"],[1345,1,\"ձ\"],[1346,1,\"ղ\"],[1347,1,\"ճ\"],[1348,1,\"մ\"],[1349,1,\"յ\"],[1350,1,\"ն\"],[1351,1,\"շ\"],[1352,1,\"ո\"],[1353,1,\"չ\"],[1354,1,\"պ\"],[1355,1,\"ջ\"],[1356,1,\"ռ\"],[1357,1,\"ս\"],[1358,1,\"վ\"],[1359,1,\"տ\"],[1360,1,\"ր\"],[1361,1,\"ց\"],[1362,1,\"ւ\"],[1363,1,\"փ\"],[1364,1,\"ք\"],[1365,1,\"օ\"],[1366,1,\"ֆ\"],[[1367,1368],3],[1369,2],[[1370,1375],2],[1376,2],[[1377,1414],2],[1415,1,\"եւ\"],[1416,2],[1417,2],[1418,2],[[1419,1420],3],[[1421,1422],2],[1423,2],[1424,3],[[1425,1441],2],[1442,2],[[1443,1455],2],[[1456,1465],2],[1466,2],[[1467,1469],2],[1470,2],[1471,2],[1472,2],[[1473,1474],2],[1475,2],[1476,2],[1477,2],[1478,2],[1479,2],[[1480,1487],3],[[1488,1514],2],[[1515,1518],3],[1519,2],[[1520,1524],2],[[1525,1535],3],[[1536,1539],3],[1540,3],[1541,3],[[1542,1546],2],[1547,2],[1548,2],[[1549,1551],2],[[1552,1557],2],[[1558,1562],2],[1563,2],[1564,3],[1565,2],[1566,2],[1567,2],[1568,2],[[1569,1594],2],[[1595,1599],2],[1600,2],[[1601,1618],2],[[1619,1621],2],[[1622,1624],2],[[1625,1630],2],[1631,2],[[1632,1641],2],[[1642,1645],2],[[1646,1647],2],[[1648,1652],2],[1653,1,\"اٴ\"],[1654,1,\"وٴ\"],[1655,1,\"ۇٴ\"],[1656,1,\"يٴ\"],[[1657,1719],2],[[1720,1721],2],[[1722,1726],2],[1727,2],[[1728,1742],2],[1743,2],[[1744,1747],2],[1748,2],[[1749,1756],2],[1757,3],[1758,2],[[1759,1768],2],[1769,2],[[1770,1773],2],[[1774,1775],2],[[1776,1785],2],[[1786,1790],2],[1791,2],[[1792,1805],2],[1806,3],[1807,3],[[1808,1836],2],[[1837,1839],2],[[1840,1866],2],[[1867,1868],3],[[1869,1871],2],[[1872,1901],2],[[1902,1919],2],[[1920,1968],2],[1969,2],[[1970,1983],3],[[1984,2037],2],[[2038,2042],2],[[2043,2044],3],[2045,2],[[2046,2047],2],[[2048,2093],2],[[2094,2095],3],[[2096,2110],2],[2111,3],[[2112,2139],2],[[2140,2141],3],[2142,2],[2143,3],[[2144,2154],2],[[2155,2159],3],[[2160,2183],2],[2184,2],[[2185,2190],2],[2191,3],[[2192,2193],3],[[2194,2198],3],[2199,2],[[2200,2207],2],[2208,2],[2209,2],[[2210,2220],2],[[2221,2226],2],[[2227,2228],2],[2229,2],[[2230,2237],2],[[2238,2247],2],[[2248,2258],2],[2259,2],[[2260,2273],2],[2274,3],[2275,2],[[2276,2302],2],[2303,2],[2304,2],[[2305,2307],2],[2308,2],[[2309,2361],2],[[2362,2363],2],[[2364,2381],2],[2382,2],[2383,2],[[2384,2388],2],[2389,2],[[2390,2391],2],[2392,1,\"क़\"],[2393,1,\"ख़\"],[2394,1,\"ग़\"],[2395,1,\"ज़\"],[2396,1,\"ड़\"],[2397,1,\"ढ़\"],[2398,1,\"फ़\"],[2399,1,\"य़\"],[[2400,2403],2],[[2404,2405],2],[[2406,2415],2],[2416,2],[[2417,2418],2],[[2419,2423],2],[2424,2],[[2425,2426],2],[[2427,2428],2],[2429,2],[[2430,2431],2],[2432,2],[[2433,2435],2],[2436,3],[[2437,2444],2],[[2445,2446],3],[[2447,2448],2],[[2449,2450],3],[[2451,2472],2],[2473,3],[[2474,2480],2],[2481,3],[2482,2],[[2483,2485],3],[[2486,2489],2],[[2490,2491],3],[2492,2],[2493,2],[[2494,2500],2],[[2501,2502],3],[[2503,2504],2],[[2505,2506],3],[[2507,2509],2],[2510,2],[[2511,2518],3],[2519,2],[[2520,2523],3],[2524,1,\"ড়\"],[2525,1,\"ঢ়\"],[2526,3],[2527,1,\"য়\"],[[2528,2531],2],[[2532,2533],3],[[2534,2545],2],[[2546,2554],2],[2555,2],[2556,2],[2557,2],[2558,2],[[2559,2560],3],[2561,2],[2562,2],[2563,2],[2564,3],[[2565,2570],2],[[2571,2574],3],[[2575,2576],2],[[2577,2578],3],[[2579,2600],2],[2601,3],[[2602,2608],2],[2609,3],[2610,2],[2611,1,\"ਲ਼\"],[2612,3],[2613,2],[2614,1,\"ਸ਼\"],[2615,3],[[2616,2617],2],[[2618,2619],3],[2620,2],[2621,3],[[2622,2626],2],[[2627,2630],3],[[2631,2632],2],[[2633,2634],3],[[2635,2637],2],[[2638,2640],3],[2641,2],[[2642,2648],3],[2649,1,\"ਖ਼\"],[2650,1,\"ਗ਼\"],[2651,1,\"ਜ਼\"],[2652,2],[2653,3],[2654,1,\"ਫ਼\"],[[2655,2661],3],[[2662,2676],2],[2677,2],[2678,2],[[2679,2688],3],[[2689,2691],2],[2692,3],[[2693,2699],2],[2700,2],[2701,2],[2702,3],[[2703,2705],2],[2706,3],[[2707,2728],2],[2729,3],[[2730,2736],2],[2737,3],[[2738,2739],2],[2740,3],[[2741,2745],2],[[2746,2747],3],[[2748,2757],2],[2758,3],[[2759,2761],2],[2762,3],[[2763,2765],2],[[2766,2767],3],[2768,2],[[2769,2783],3],[2784,2],[[2785,2787],2],[[2788,2789],3],[[2790,2799],2],[2800,2],[2801,2],[[2802,2808],3],[2809,2],[[2810,2815],2],[2816,3],[[2817,2819],2],[2820,3],[[2821,2828],2],[[2829,2830],3],[[2831,2832],2],[[2833,2834],3],[[2835,2856],2],[2857,3],[[2858,2864],2],[2865,3],[[2866,2867],2],[2868,3],[2869,2],[[2870,2873],2],[[2874,2875],3],[[2876,2883],2],[2884,2],[[2885,2886],3],[[2887,2888],2],[[2889,2890],3],[[2891,2893],2],[[2894,2900],3],[2901,2],[[2902,2903],2],[[2904,2907],3],[2908,1,\"ଡ଼\"],[2909,1,\"ଢ଼\"],[2910,3],[[2911,2913],2],[[2914,2915],2],[[2916,2917],3],[[2918,2927],2],[2928,2],[2929,2],[[2930,2935],2],[[2936,2945],3],[[2946,2947],2],[2948,3],[[2949,2954],2],[[2955,2957],3],[[2958,2960],2],[2961,3],[[2962,2965],2],[[2966,2968],3],[[2969,2970],2],[2971,3],[2972,2],[2973,3],[[2974,2975],2],[[2976,2978],3],[[2979,2980],2],[[2981,2983],3],[[2984,2986],2],[[2987,2989],3],[[2990,2997],2],[2998,2],[[2999,3001],2],[[3002,3005],3],[[3006,3010],2],[[3011,3013],3],[[3014,3016],2],[3017,3],[[3018,3021],2],[[3022,3023],3],[3024,2],[[3025,3030],3],[3031,2],[[3032,3045],3],[3046,2],[[3047,3055],2],[[3056,3058],2],[[3059,3066],2],[[3067,3071],3],[3072,2],[[3073,3075],2],[3076,2],[[3077,3084],2],[3085,3],[[3086,3088],2],[3089,3],[[3090,3112],2],[3113,3],[[3114,3123],2],[3124,2],[[3125,3129],2],[[3130,3131],3],[3132,2],[3133,2],[[3134,3140],2],[3141,3],[[3142,3144],2],[3145,3],[[3146,3149],2],[[3150,3156],3],[[3157,3158],2],[3159,3],[[3160,3161],2],[3162,2],[[3163,3164],3],[3165,2],[[3166,3167],3],[[3168,3169],2],[[3170,3171],2],[[3172,3173],3],[[3174,3183],2],[[3184,3190],3],[3191,2],[[3192,3199],2],[3200,2],[3201,2],[[3202,3203],2],[3204,2],[[3205,3212],2],[3213,3],[[3214,3216],2],[3217,3],[[3218,3240],2],[3241,3],[[3242,3251],2],[3252,3],[[3253,3257],2],[[3258,3259],3],[[3260,3261],2],[[3262,3268],2],[3269,3],[[3270,3272],2],[3273,3],[[3274,3277],2],[[3278,3284],3],[[3285,3286],2],[[3287,3292],3],[3293,2],[3294,2],[3295,3],[[3296,3297],2],[[3298,3299],2],[[3300,3301],3],[[3302,3311],2],[3312,3],[[3313,3314],2],[3315,2],[[3316,3327],3],[3328,2],[3329,2],[[3330,3331],2],[3332,2],[[3333,3340],2],[3341,3],[[3342,3344],2],[3345,3],[[3346,3368],2],[3369,2],[[3370,3385],2],[3386,2],[[3387,3388],2],[3389,2],[[3390,3395],2],[3396,2],[3397,3],[[3398,3400],2],[3401,3],[[3402,3405],2],[3406,2],[3407,2],[[3408,3411],3],[[3412,3414],2],[3415,2],[[3416,3422],2],[3423,2],[[3424,3425],2],[[3426,3427],2],[[3428,3429],3],[[3430,3439],2],[[3440,3445],2],[[3446,3448],2],[3449,2],[[3450,3455],2],[3456,3],[3457,2],[[3458,3459],2],[3460,3],[[3461,3478],2],[[3479,3481],3],[[3482,3505],2],[3506,3],[[3507,3515],2],[3516,3],[3517,2],[[3518,3519],3],[[3520,3526],2],[[3527,3529],3],[3530,2],[[3531,3534],3],[[3535,3540],2],[3541,3],[3542,2],[3543,3],[[3544,3551],2],[[3552,3557],3],[[3558,3567],2],[[3568,3569],3],[[3570,3571],2],[3572,2],[[3573,3584],3],[[3585,3634],2],[3635,1,\"ํา\"],[[3636,3642],2],[[3643,3646],3],[3647,2],[[3648,3662],2],[3663,2],[[3664,3673],2],[[3674,3675],2],[[3676,3712],3],[[3713,3714],2],[3715,3],[3716,2],[3717,3],[3718,2],[[3719,3720],2],[3721,2],[3722,2],[3723,3],[3724,2],[3725,2],[[3726,3731],2],[[3732,3735],2],[3736,2],[[3737,3743],2],[3744,2],[[3745,3747],2],[3748,3],[3749,2],[3750,3],[3751,2],[[3752,3753],2],[[3754,3755],2],[3756,2],[[3757,3762],2],[3763,1,\"ໍາ\"],[[3764,3769],2],[3770,2],[[3771,3773],2],[[3774,3775],3],[[3776,3780],2],[3781,3],[3782,2],[3783,3],[[3784,3789],2],[3790,2],[3791,3],[[3792,3801],2],[[3802,3803],3],[3804,1,\"ຫນ\"],[3805,1,\"ຫມ\"],[[3806,3807],2],[[3808,3839],3],[3840,2],[[3841,3850],2],[3851,2],[3852,1,\"་\"],[[3853,3863],2],[[3864,3865],2],[[3866,3871],2],[[3872,3881],2],[[3882,3892],2],[3893,2],[3894,2],[3895,2],[3896,2],[3897,2],[[3898,3901],2],[[3902,3906],2],[3907,1,\"གྷ\"],[[3908,3911],2],[3912,3],[[3913,3916],2],[3917,1,\"ཌྷ\"],[[3918,3921],2],[3922,1,\"དྷ\"],[[3923,3926],2],[3927,1,\"བྷ\"],[[3928,3931],2],[3932,1,\"ཛྷ\"],[[3933,3944],2],[3945,1,\"ཀྵ\"],[3946,2],[[3947,3948],2],[[3949,3952],3],[[3953,3954],2],[3955,1,\"ཱི\"],[3956,2],[3957,1,\"ཱུ\"],[3958,1,\"ྲྀ\"],[3959,1,\"ྲཱྀ\"],[3960,1,\"ླྀ\"],[3961,1,\"ླཱྀ\"],[[3962,3968],2],[3969,1,\"ཱྀ\"],[[3970,3972],2],[3973,2],[[3974,3979],2],[[3980,3983],2],[[3984,3986],2],[3987,1,\"ྒྷ\"],[[3988,3989],2],[3990,2],[3991,2],[3992,3],[[3993,3996],2],[3997,1,\"ྜྷ\"],[[3998,4001],2],[4002,1,\"ྡྷ\"],[[4003,4006],2],[4007,1,\"ྦྷ\"],[[4008,4011],2],[4012,1,\"ྫྷ\"],[4013,2],[[4014,4016],2],[[4017,4023],2],[4024,2],[4025,1,\"ྐྵ\"],[[4026,4028],2],[4029,3],[[4030,4037],2],[4038,2],[[4039,4044],2],[4045,3],[4046,2],[4047,2],[[4048,4049],2],[[4050,4052],2],[[4053,4056],2],[[4057,4058],2],[[4059,4095],3],[[4096,4129],2],[4130,2],[[4131,4135],2],[4136,2],[[4137,4138],2],[4139,2],[[4140,4146],2],[[4147,4149],2],[[4150,4153],2],[[4154,4159],2],[[4160,4169],2],[[4170,4175],2],[[4176,4185],2],[[4186,4249],2],[[4250,4253],2],[[4254,4255],2],[4256,1,\"ⴀ\"],[4257,1,\"ⴁ\"],[4258,1,\"ⴂ\"],[4259,1,\"ⴃ\"],[4260,1,\"ⴄ\"],[4261,1,\"ⴅ\"],[4262,1,\"ⴆ\"],[4263,1,\"ⴇ\"],[4264,1,\"ⴈ\"],[4265,1,\"ⴉ\"],[4266,1,\"ⴊ\"],[4267,1,\"ⴋ\"],[4268,1,\"ⴌ\"],[4269,1,\"ⴍ\"],[4270,1,\"ⴎ\"],[4271,1,\"ⴏ\"],[4272,1,\"ⴐ\"],[4273,1,\"ⴑ\"],[4274,1,\"ⴒ\"],[4275,1,\"ⴓ\"],[4276,1,\"ⴔ\"],[4277,1,\"ⴕ\"],[4278,1,\"ⴖ\"],[4279,1,\"ⴗ\"],[4280,1,\"ⴘ\"],[4281,1,\"ⴙ\"],[4282,1,\"ⴚ\"],[4283,1,\"ⴛ\"],[4284,1,\"ⴜ\"],[4285,1,\"ⴝ\"],[4286,1,\"ⴞ\"],[4287,1,\"ⴟ\"],[4288,1,\"ⴠ\"],[4289,1,\"ⴡ\"],[4290,1,\"ⴢ\"],[4291,1,\"ⴣ\"],[4292,1,\"ⴤ\"],[4293,1,\"ⴥ\"],[4294,3],[4295,1,\"ⴧ\"],[[4296,4300],3],[4301,1,\"ⴭ\"],[[4302,4303],3],[[4304,4342],2],[[4343,4344],2],[[4345,4346],2],[4347,2],[4348,1,\"ნ\"],[[4349,4351],2],[[4352,4441],2],[[4442,4446],2],[[4447,4448],7],[[4449,4514],2],[[4515,4519],2],[[4520,4601],2],[[4602,4607],2],[[4608,4614],2],[4615,2],[[4616,4678],2],[4679,2],[4680,2],[4681,3],[[4682,4685],2],[[4686,4687],3],[[4688,4694],2],[4695,3],[4696,2],[4697,3],[[4698,4701],2],[[4702,4703],3],[[4704,4742],2],[4743,2],[4744,2],[4745,3],[[4746,4749],2],[[4750,4751],3],[[4752,4782],2],[4783,2],[4784,2],[4785,3],[[4786,4789],2],[[4790,4791],3],[[4792,4798],2],[4799,3],[4800,2],[4801,3],[[4802,4805],2],[[4806,4807],3],[[4808,4814],2],[4815,2],[[4816,4822],2],[4823,3],[[4824,4846],2],[4847,2],[[4848,4878],2],[4879,2],[4880,2],[4881,3],[[4882,4885],2],[[4886,4887],3],[[4888,4894],2],[4895,2],[[4896,4934],2],[4935,2],[[4936,4954],2],[[4955,4956],3],[[4957,4958],2],[4959,2],[4960,2],[[4961,4988],2],[[4989,4991],3],[[4992,5007],2],[[5008,5017],2],[[5018,5023],3],[[5024,5108],2],[5109,2],[[5110,5111],3],[5112,1,\"Ᏸ\"],[5113,1,\"Ᏹ\"],[5114,1,\"Ᏺ\"],[5115,1,\"Ᏻ\"],[5116,1,\"Ᏼ\"],[5117,1,\"Ᏽ\"],[[5118,5119],3],[5120,2],[[5121,5740],2],[[5741,5742],2],[[5743,5750],2],[[5751,5759],2],[5760,3],[[5761,5786],2],[[5787,5788],2],[[5789,5791],3],[[5792,5866],2],[[5867,5872],2],[[5873,5880],2],[[5881,5887],3],[[5888,5900],2],[5901,2],[[5902,5908],2],[5909,2],[[5910,5918],3],[5919,2],[[5920,5940],2],[[5941,5942],2],[[5943,5951],3],[[5952,5971],2],[[5972,5983],3],[[5984,5996],2],[5997,3],[[5998,6000],2],[6001,3],[[6002,6003],2],[[6004,6015],3],[[6016,6067],2],[[6068,6069],7],[[6070,6099],2],[[6100,6102],2],[6103,2],[[6104,6107],2],[6108,2],[6109,2],[[6110,6111],3],[[6112,6121],2],[[6122,6127],3],[[6128,6137],2],[[6138,6143],3],[[6144,6154],2],[[6155,6158],7],[6159,7],[[6160,6169],2],[[6170,6175],3],[[6176,6263],2],[6264,2],[[6265,6271],3],[[6272,6313],2],[6314,2],[[6315,6319],3],[[6320,6389],2],[[6390,6399],3],[[6400,6428],2],[[6429,6430],2],[6431,3],[[6432,6443],2],[[6444,6447],3],[[6448,6459],2],[[6460,6463],3],[6464,2],[[6465,6467],3],[[6468,6469],2],[[6470,6509],2],[[6510,6511],3],[[6512,6516],2],[[6517,6527],3],[[6528,6569],2],[[6570,6571],2],[[6572,6575],3],[[6576,6601],2],[[6602,6607],3],[[6608,6617],2],[6618,2],[[6619,6621],3],[[6622,6623],2],[[6624,6655],2],[[6656,6683],2],[[6684,6685],3],[[6686,6687],2],[[6688,6750],2],[6751,3],[[6752,6780],2],[[6781,6782],3],[[6783,6793],2],[[6794,6799],3],[[6800,6809],2],[[6810,6815],3],[[6816,6822],2],[6823,2],[[6824,6829],2],[[6830,6831],3],[[6832,6845],2],[6846,2],[[6847,6848],2],[[6849,6862],2],[[6863,6911],3],[[6912,6987],2],[6988,2],[6989,3],[[6990,6991],2],[[6992,7001],2],[[7002,7018],2],[[7019,7027],2],[[7028,7036],2],[[7037,7038],2],[7039,2],[[7040,7082],2],[[7083,7085],2],[[7086,7097],2],[[7098,7103],2],[[7104,7155],2],[[7156,7163],3],[[7164,7167],2],[[7168,7223],2],[[7224,7226],3],[[7227,7231],2],[[7232,7241],2],[[7242,7244],3],[[7245,7293],2],[[7294,7295],2],[7296,1,\"в\"],[7297,1,\"д\"],[7298,1,\"о\"],[7299,1,\"с\"],[[7300,7301],1,\"т\"],[7302,1,\"ъ\"],[7303,1,\"ѣ\"],[7304,1,\"ꙋ\"],[7305,1,\"\"],[7306,2],[[7307,7311],3],[7312,1,\"ა\"],[7313,1,\"ბ\"],[7314,1,\"გ\"],[7315,1,\"დ\"],[7316,1,\"ე\"],[7317,1,\"ვ\"],[7318,1,\"ზ\"],[7319,1,\"თ\"],[7320,1,\"ი\"],[7321,1,\"კ\"],[7322,1,\"ლ\"],[7323,1,\"მ\"],[7324,1,\"ნ\"],[7325,1,\"ო\"],[7326,1,\"პ\"],[7327,1,\"ჟ\"],[7328,1,\"რ\"],[7329,1,\"ს\"],[7330,1,\"ტ\"],[7331,1,\"უ\"],[7332,1,\"ფ\"],[7333,1,\"ქ\"],[7334,1,\"ღ\"],[7335,1,\"ყ\"],[7336,1,\"შ\"],[7337,1,\"ჩ\"],[7338,1,\"ც\"],[7339,1,\"ძ\"],[7340,1,\"წ\"],[7341,1,\"ჭ\"],[7342,1,\"ხ\"],[7343,1,\"ჯ\"],[7344,1,\"ჰ\"],[7345,1,\"ჱ\"],[7346,1,\"ჲ\"],[7347,1,\"ჳ\"],[7348,1,\"ჴ\"],[7349,1,\"ჵ\"],[7350,1,\"ჶ\"],[7351,1,\"ჷ\"],[7352,1,\"ჸ\"],[7353,1,\"ჹ\"],[7354,1,\"ჺ\"],[[7355,7356],3],[7357,1,\"ჽ\"],[7358,1,\"ჾ\"],[7359,1,\"ჿ\"],[[7360,7367],2],[[7368,7375],3],[[7376,7378],2],[7379,2],[[7380,7410],2],[[7411,7414],2],[7415,2],[[7416,7417],2],[7418,2],[[7419,7423],3],[[7424,7467],2],[7468,1,\"a\"],[7469,1,\"æ\"],[7470,1,\"b\"],[7471,2],[7472,1,\"d\"],[7473,1,\"e\"],[7474,1,\"ǝ\"],[7475,1,\"g\"],[7476,1,\"h\"],[7477,1,\"i\"],[7478,1,\"j\"],[7479,1,\"k\"],[7480,1,\"l\"],[7481,1,\"m\"],[7482,1,\"n\"],[7483,2],[7484,1,\"o\"],[7485,1,\"ȣ\"],[7486,1,\"p\"],[7487,1,\"r\"],[7488,1,\"t\"],[7489,1,\"u\"],[7490,1,\"w\"],[7491,1,\"a\"],[7492,1,\"ɐ\"],[7493,1,\"ɑ\"],[7494,1,\"ᴂ\"],[7495,1,\"b\"],[7496,1,\"d\"],[7497,1,\"e\"],[7498,1,\"ə\"],[7499,1,\"ɛ\"],[7500,1,\"ɜ\"],[7501,1,\"g\"],[7502,2],[7503,1,\"k\"],[7504,1,\"m\"],[7505,1,\"ŋ\"],[7506,1,\"o\"],[7507,1,\"ɔ\"],[7508,1,\"ᴖ\"],[7509,1,\"ᴗ\"],[7510,1,\"p\"],[7511,1,\"t\"],[7512,1,\"u\"],[7513,1,\"ᴝ\"],[7514,1,\"ɯ\"],[7515,1,\"v\"],[7516,1,\"ᴥ\"],[7517,1,\"β\"],[7518,1,\"γ\"],[7519,1,\"δ\"],[7520,1,\"φ\"],[7521,1,\"χ\"],[7522,1,\"i\"],[7523,1,\"r\"],[7524,1,\"u\"],[7525,1,\"v\"],[7526,1,\"β\"],[7527,1,\"γ\"],[7528,1,\"ρ\"],[7529,1,\"φ\"],[7530,1,\"χ\"],[7531,2],[[7532,7543],2],[7544,1,\"н\"],[[7545,7578],2],[7579,1,\"ɒ\"],[7580,1,\"c\"],[7581,1,\"ɕ\"],[7582,1,\"ð\"],[7583,1,\"ɜ\"],[7584,1,\"f\"],[7585,1,\"ɟ\"],[7586,1,\"ɡ\"],[7587,1,\"ɥ\"],[7588,1,\"ɨ\"],[7589,1,\"ɩ\"],[7590,1,\"ɪ\"],[7591,1,\"ᵻ\"],[7592,1,\"ʝ\"],[7593,1,\"ɭ\"],[7594,1,\"ᶅ\"],[7595,1,\"ʟ\"],[7596,1,\"ɱ\"],[7597,1,\"ɰ\"],[7598,1,\"ɲ\"],[7599,1,\"ɳ\"],[7600,1,\"ɴ\"],[7601,1,\"ɵ\"],[7602,1,\"ɸ\"],[7603,1,\"ʂ\"],[7604,1,\"ʃ\"],[7605,1,\"ƫ\"],[7606,1,\"ʉ\"],[7607,1,\"ʊ\"],[7608,1,\"ᴜ\"],[7609,1,\"ʋ\"],[7610,1,\"ʌ\"],[7611,1,\"z\"],[7612,1,\"ʐ\"],[7613,1,\"ʑ\"],[7614,1,\"ʒ\"],[7615,1,\"θ\"],[[7616,7619],2],[[7620,7626],2],[[7627,7654],2],[[7655,7669],2],[[7670,7673],2],[7674,2],[7675,2],[7676,2],[7677,2],[[7678,7679],2],[7680,1,\"ḁ\"],[7681,2],[7682,1,\"ḃ\"],[7683,2],[7684,1,\"ḅ\"],[7685,2],[7686,1,\"ḇ\"],[7687,2],[7688,1,\"ḉ\"],[7689,2],[7690,1,\"ḋ\"],[7691,2],[7692,1,\"ḍ\"],[7693,2],[7694,1,\"ḏ\"],[7695,2],[7696,1,\"ḑ\"],[7697,2],[7698,1,\"ḓ\"],[7699,2],[7700,1,\"ḕ\"],[7701,2],[7702,1,\"ḗ\"],[7703,2],[7704,1,\"ḙ\"],[7705,2],[7706,1,\"ḛ\"],[7707,2],[7708,1,\"ḝ\"],[7709,2],[7710,1,\"ḟ\"],[7711,2],[7712,1,\"ḡ\"],[7713,2],[7714,1,\"ḣ\"],[7715,2],[7716,1,\"ḥ\"],[7717,2],[7718,1,\"ḧ\"],[7719,2],[7720,1,\"ḩ\"],[7721,2],[7722,1,\"ḫ\"],[7723,2],[7724,1,\"ḭ\"],[7725,2],[7726,1,\"ḯ\"],[7727,2],[7728,1,\"ḱ\"],[7729,2],[7730,1,\"ḳ\"],[7731,2],[7732,1,\"ḵ\"],[7733,2],[7734,1,\"ḷ\"],[7735,2],[7736,1,\"ḹ\"],[7737,2],[7738,1,\"ḻ\"],[7739,2],[7740,1,\"ḽ\"],[7741,2],[7742,1,\"ḿ\"],[7743,2],[7744,1,\"ṁ\"],[7745,2],[7746,1,\"ṃ\"],[7747,2],[7748,1,\"ṅ\"],[7749,2],[7750,1,\"ṇ\"],[7751,2],[7752,1,\"ṉ\"],[7753,2],[7754,1,\"ṋ\"],[7755,2],[7756,1,\"ṍ\"],[7757,2],[7758,1,\"ṏ\"],[7759,2],[7760,1,\"ṑ\"],[7761,2],[7762,1,\"ṓ\"],[7763,2],[7764,1,\"ṕ\"],[7765,2],[7766,1,\"ṗ\"],[7767,2],[7768,1,\"ṙ\"],[7769,2],[7770,1,\"ṛ\"],[7771,2],[7772,1,\"ṝ\"],[7773,2],[7774,1,\"ṟ\"],[7775,2],[7776,1,\"ṡ\"],[7777,2],[7778,1,\"ṣ\"],[7779,2],[7780,1,\"ṥ\"],[7781,2],[7782,1,\"ṧ\"],[7783,2],[7784,1,\"ṩ\"],[7785,2],[7786,1,\"ṫ\"],[7787,2],[7788,1,\"ṭ\"],[7789,2],[7790,1,\"ṯ\"],[7791,2],[7792,1,\"ṱ\"],[7793,2],[7794,1,\"ṳ\"],[7795,2],[7796,1,\"ṵ\"],[7797,2],[7798,1,\"ṷ\"],[7799,2],[7800,1,\"ṹ\"],[7801,2],[7802,1,\"ṻ\"],[7803,2],[7804,1,\"ṽ\"],[7805,2],[7806,1,\"ṿ\"],[7807,2],[7808,1,\"ẁ\"],[7809,2],[7810,1,\"ẃ\"],[7811,2],[7812,1,\"ẅ\"],[7813,2],[7814,1,\"ẇ\"],[7815,2],[7816,1,\"ẉ\"],[7817,2],[7818,1,\"ẋ\"],[7819,2],[7820,1,\"ẍ\"],[7821,2],[7822,1,\"ẏ\"],[7823,2],[7824,1,\"ẑ\"],[7825,2],[7826,1,\"ẓ\"],[7827,2],[7828,1,\"ẕ\"],[[7829,7833],2],[7834,1,\"aʾ\"],[7835,1,\"ṡ\"],[[7836,7837],2],[7838,1,\"ß\"],[7839,2],[7840,1,\"ạ\"],[7841,2],[7842,1,\"ả\"],[7843,2],[7844,1,\"ấ\"],[7845,2],[7846,1,\"ầ\"],[7847,2],[7848,1,\"ẩ\"],[7849,2],[7850,1,\"ẫ\"],[7851,2],[7852,1,\"ậ\"],[7853,2],[7854,1,\"ắ\"],[7855,2],[7856,1,\"ằ\"],[7857,2],[7858,1,\"ẳ\"],[7859,2],[7860,1,\"ẵ\"],[7861,2],[7862,1,\"ặ\"],[7863,2],[7864,1,\"ẹ\"],[7865,2],[7866,1,\"ẻ\"],[7867,2],[7868,1,\"ẽ\"],[7869,2],[7870,1,\"ế\"],[7871,2],[7872,1,\"ề\"],[7873,2],[7874,1,\"ể\"],[7875,2],[7876,1,\"ễ\"],[7877,2],[7878,1,\"ệ\"],[7879,2],[7880,1,\"ỉ\"],[7881,2],[7882,1,\"ị\"],[7883,2],[7884,1,\"ọ\"],[7885,2],[7886,1,\"ỏ\"],[7887,2],[7888,1,\"ố\"],[7889,2],[7890,1,\"ồ\"],[7891,2],[7892,1,\"ổ\"],[7893,2],[7894,1,\"ỗ\"],[7895,2],[7896,1,\"ộ\"],[7897,2],[7898,1,\"ớ\"],[7899,2],[7900,1,\"ờ\"],[7901,2],[7902,1,\"ở\"],[7903,2],[7904,1,\"ỡ\"],[7905,2],[7906,1,\"ợ\"],[7907,2],[7908,1,\"ụ\"],[7909,2],[7910,1,\"ủ\"],[7911,2],[7912,1,\"ứ\"],[7913,2],[7914,1,\"ừ\"],[7915,2],[7916,1,\"ử\"],[7917,2],[7918,1,\"ữ\"],[7919,2],[7920,1,\"ự\"],[7921,2],[7922,1,\"ỳ\"],[7923,2],[7924,1,\"ỵ\"],[7925,2],[7926,1,\"ỷ\"],[7927,2],[7928,1,\"ỹ\"],[7929,2],[7930,1,\"ỻ\"],[7931,2],[7932,1,\"ỽ\"],[7933,2],[7934,1,\"ỿ\"],[7935,2],[[7936,7943],2],[7944,1,\"ἀ\"],[7945,1,\"ἁ\"],[7946,1,\"ἂ\"],[7947,1,\"ἃ\"],[7948,1,\"ἄ\"],[7949,1,\"ἅ\"],[7950,1,\"ἆ\"],[7951,1,\"ἇ\"],[[7952,7957],2],[[7958,7959],3],[7960,1,\"ἐ\"],[7961,1,\"ἑ\"],[7962,1,\"ἒ\"],[7963,1,\"ἓ\"],[7964,1,\"ἔ\"],[7965,1,\"ἕ\"],[[7966,7967],3],[[7968,7975],2],[7976,1,\"ἠ\"],[7977,1,\"ἡ\"],[7978,1,\"ἢ\"],[7979,1,\"ἣ\"],[7980,1,\"ἤ\"],[7981,1,\"ἥ\"],[7982,1,\"ἦ\"],[7983,1,\"ἧ\"],[[7984,7991],2],[7992,1,\"ἰ\"],[7993,1,\"ἱ\"],[7994,1,\"ἲ\"],[7995,1,\"ἳ\"],[7996,1,\"ἴ\"],[7997,1,\"ἵ\"],[7998,1,\"ἶ\"],[7999,1,\"ἷ\"],[[8000,8005],2],[[8006,8007],3],[8008,1,\"ὀ\"],[8009,1,\"ὁ\"],[8010,1,\"ὂ\"],[8011,1,\"ὃ\"],[8012,1,\"ὄ\"],[8013,1,\"ὅ\"],[[8014,8015],3],[[8016,8023],2],[8024,3],[8025,1,\"ὑ\"],[8026,3],[8027,1,\"ὓ\"],[8028,3],[8029,1,\"ὕ\"],[8030,3],[8031,1,\"ὗ\"],[[8032,8039],2],[8040,1,\"ὠ\"],[8041,1,\"ὡ\"],[8042,1,\"ὢ\"],[8043,1,\"ὣ\"],[8044,1,\"ὤ\"],[8045,1,\"ὥ\"],[8046,1,\"ὦ\"],[8047,1,\"ὧ\"],[8048,2],[8049,1,\"ά\"],[8050,2],[8051,1,\"έ\"],[8052,2],[8053,1,\"ή\"],[8054,2],[8055,1,\"ί\"],[8056,2],[8057,1,\"ό\"],[8058,2],[8059,1,\"ύ\"],[8060,2],[8061,1,\"ώ\"],[[8062,8063],3],[8064,1,\"ἀι\"],[8065,1,\"ἁι\"],[8066,1,\"ἂι\"],[8067,1,\"ἃι\"],[8068,1,\"ἄι\"],[8069,1,\"ἅι\"],[8070,1,\"ἆι\"],[8071,1,\"ἇι\"],[8072,1,\"ἀι\"],[8073,1,\"ἁι\"],[8074,1,\"ἂι\"],[8075,1,\"ἃι\"],[8076,1,\"ἄι\"],[8077,1,\"ἅι\"],[8078,1,\"ἆι\"],[8079,1,\"ἇι\"],[8080,1,\"ἠι\"],[8081,1,\"ἡι\"],[8082,1,\"ἢι\"],[8083,1,\"ἣι\"],[8084,1,\"ἤι\"],[8085,1,\"ἥι\"],[8086,1,\"ἦι\"],[8087,1,\"ἧι\"],[8088,1,\"ἠι\"],[8089,1,\"ἡι\"],[8090,1,\"ἢι\"],[8091,1,\"ἣι\"],[8092,1,\"ἤι\"],[8093,1,\"ἥι\"],[8094,1,\"ἦι\"],[8095,1,\"ἧι\"],[8096,1,\"ὠι\"],[8097,1,\"ὡι\"],[8098,1,\"ὢι\"],[8099,1,\"ὣι\"],[8100,1,\"ὤι\"],[8101,1,\"ὥι\"],[8102,1,\"ὦι\"],[8103,1,\"ὧι\"],[8104,1,\"ὠι\"],[8105,1,\"ὡι\"],[8106,1,\"ὢι\"],[8107,1,\"ὣι\"],[8108,1,\"ὤι\"],[8109,1,\"ὥι\"],[8110,1,\"ὦι\"],[8111,1,\"ὧι\"],[[8112,8113],2],[8114,1,\"ὰι\"],[8115,1,\"αι\"],[8116,1,\"άι\"],[8117,3],[8118,2],[8119,1,\"ᾶι\"],[8120,1,\"ᾰ\"],[8121,1,\"ᾱ\"],[8122,1,\"ὰ\"],[8123,1,\"ά\"],[8124,1,\"αι\"],[8125,1,\" ̓\"],[8126,1,\"ι\"],[8127,1,\" ̓\"],[8128,1,\" ͂\"],[8129,1,\" ̈͂\"],[8130,1,\"ὴι\"],[8131,1,\"ηι\"],[8132,1,\"ήι\"],[8133,3],[8134,2],[8135,1,\"ῆι\"],[8136,1,\"ὲ\"],[8137,1,\"έ\"],[8138,1,\"ὴ\"],[8139,1,\"ή\"],[8140,1,\"ηι\"],[8141,1,\" ̓̀\"],[8142,1,\" ̓́\"],[8143,1,\" ̓͂\"],[[8144,8146],2],[8147,1,\"ΐ\"],[[8148,8149],3],[[8150,8151],2],[8152,1,\"ῐ\"],[8153,1,\"ῑ\"],[8154,1,\"ὶ\"],[8155,1,\"ί\"],[8156,3],[8157,1,\" ̔̀\"],[8158,1,\" ̔́\"],[8159,1,\" ̔͂\"],[[8160,8162],2],[8163,1,\"ΰ\"],[[8164,8167],2],[8168,1,\"ῠ\"],[8169,1,\"ῡ\"],[8170,1,\"ὺ\"],[8171,1,\"ύ\"],[8172,1,\"ῥ\"],[8173,1,\" ̈̀\"],[8174,1,\" ̈́\"],[8175,1,\"`\"],[[8176,8177],3],[8178,1,\"ὼι\"],[8179,1,\"ωι\"],[8180,1,\"ώι\"],[8181,3],[8182,2],[8183,1,\"ῶι\"],[8184,1,\"ὸ\"],[8185,1,\"ό\"],[8186,1,\"ὼ\"],[8187,1,\"ώ\"],[8188,1,\"ωι\"],[8189,1,\" ́\"],[8190,1,\" ̔\"],[8191,3],[[8192,8202],1,\" \"],[8203,7],[[8204,8205],6,\"\"],[[8206,8207],3],[8208,2],[8209,1,\"‐\"],[[8210,8214],2],[8215,1,\" ̳\"],[[8216,8227],2],[[8228,8230],3],[8231,2],[[8232,8238],3],[8239,1,\" \"],[[8240,8242],2],[8243,1,\"′′\"],[8244,1,\"′′′\"],[8245,2],[8246,1,\"‵‵\"],[8247,1,\"‵‵‵\"],[[8248,8251],2],[8252,1,\"!!\"],[8253,2],[8254,1,\" ̅\"],[[8255,8262],2],[8263,1,\"??\"],[8264,1,\"?!\"],[8265,1,\"!?\"],[[8266,8269],2],[[8270,8274],2],[[8275,8276],2],[[8277,8278],2],[8279,1,\"′′′′\"],[[8280,8286],2],[8287,1,\" \"],[[8288,8291],7],[8292,7],[8293,3],[[8294,8297],3],[[8298,8303],7],[8304,1,\"0\"],[8305,1,\"i\"],[[8306,8307],3],[8308,1,\"4\"],[8309,1,\"5\"],[8310,1,\"6\"],[8311,1,\"7\"],[8312,1,\"8\"],[8313,1,\"9\"],[8314,1,\"+\"],[8315,1,\"−\"],[8316,1,\"=\"],[8317,1,\"(\"],[8318,1,\")\"],[8319,1,\"n\"],[8320,1,\"0\"],[8321,1,\"1\"],[8322,1,\"2\"],[8323,1,\"3\"],[8324,1,\"4\"],[8325,1,\"5\"],[8326,1,\"6\"],[8327,1,\"7\"],[8328,1,\"8\"],[8329,1,\"9\"],[8330,1,\"+\"],[8331,1,\"−\"],[8332,1,\"=\"],[8333,1,\"(\"],[8334,1,\")\"],[8335,3],[8336,1,\"a\"],[8337,1,\"e\"],[8338,1,\"o\"],[8339,1,\"x\"],[8340,1,\"ə\"],[8341,1,\"h\"],[8342,1,\"k\"],[8343,1,\"l\"],[8344,1,\"m\"],[8345,1,\"n\"],[8346,1,\"p\"],[8347,1,\"s\"],[8348,1,\"t\"],[[8349,8351],3],[[8352,8359],2],[8360,1,\"rs\"],[[8361,8362],2],[8363,2],[8364,2],[[8365,8367],2],[[8368,8369],2],[[8370,8373],2],[[8374,8376],2],[8377,2],[8378,2],[[8379,8381],2],[8382,2],[8383,2],[8384,2],[[8385,8399],3],[[8400,8417],2],[[8418,8419],2],[[8420,8426],2],[8427,2],[[8428,8431],2],[8432,2],[[8433,8447],3],[8448,1,\"a/c\"],[8449,1,\"a/s\"],[8450,1,\"c\"],[8451,1,\"°c\"],[8452,2],[8453,1,\"c/o\"],[8454,1,\"c/u\"],[8455,1,\"ɛ\"],[8456,2],[8457,1,\"°f\"],[8458,1,\"g\"],[[8459,8462],1,\"h\"],[8463,1,\"ħ\"],[[8464,8465],1,\"i\"],[[8466,8467],1,\"l\"],[8468,2],[8469,1,\"n\"],[8470,1,\"no\"],[[8471,8472],2],[8473,1,\"p\"],[8474,1,\"q\"],[[8475,8477],1,\"r\"],[[8478,8479],2],[8480,1,\"sm\"],[8481,1,\"tel\"],[8482,1,\"tm\"],[8483,2],[8484,1,\"z\"],[8485,2],[8486,1,\"ω\"],[8487,2],[8488,1,\"z\"],[8489,2],[8490,1,\"k\"],[8491,1,\"å\"],[8492,1,\"b\"],[8493,1,\"c\"],[8494,2],[[8495,8496],1,\"e\"],[8497,1,\"f\"],[8498,1,\"ⅎ\"],[8499,1,\"m\"],[8500,1,\"o\"],[8501,1,\"א\"],[8502,1,\"ב\"],[8503,1,\"ג\"],[8504,1,\"ד\"],[8505,1,\"i\"],[8506,2],[8507,1,\"fax\"],[8508,1,\"π\"],[[8509,8510],1,\"γ\"],[8511,1,\"π\"],[8512,1,\"∑\"],[[8513,8516],2],[[8517,8518],1,\"d\"],[8519,1,\"e\"],[8520,1,\"i\"],[8521,1,\"j\"],[[8522,8523],2],[8524,2],[8525,2],[8526,2],[8527,2],[8528,1,\"1⁄7\"],[8529,1,\"1⁄9\"],[8530,1,\"1⁄10\"],[8531,1,\"1⁄3\"],[8532,1,\"2⁄3\"],[8533,1,\"1⁄5\"],[8534,1,\"2⁄5\"],[8535,1,\"3⁄5\"],[8536,1,\"4⁄5\"],[8537,1,\"1⁄6\"],[8538,1,\"5⁄6\"],[8539,1,\"1⁄8\"],[8540,1,\"3⁄8\"],[8541,1,\"5⁄8\"],[8542,1,\"7⁄8\"],[8543,1,\"1⁄\"],[8544,1,\"i\"],[8545,1,\"ii\"],[8546,1,\"iii\"],[8547,1,\"iv\"],[8548,1,\"v\"],[8549,1,\"vi\"],[8550,1,\"vii\"],[8551,1,\"viii\"],[8552,1,\"ix\"],[8553,1,\"x\"],[8554,1,\"xi\"],[8555,1,\"xii\"],[8556,1,\"l\"],[8557,1,\"c\"],[8558,1,\"d\"],[8559,1,\"m\"],[8560,1,\"i\"],[8561,1,\"ii\"],[8562,1,\"iii\"],[8563,1,\"iv\"],[8564,1,\"v\"],[8565,1,\"vi\"],[8566,1,\"vii\"],[8567,1,\"viii\"],[8568,1,\"ix\"],[8569,1,\"x\"],[8570,1,\"xi\"],[8571,1,\"xii\"],[8572,1,\"l\"],[8573,1,\"c\"],[8574,1,\"d\"],[8575,1,\"m\"],[[8576,8578],2],[8579,1,\"ↄ\"],[8580,2],[[8581,8584],2],[8585,1,\"0⁄3\"],[[8586,8587],2],[[8588,8591],3],[[8592,8682],2],[[8683,8691],2],[[8692,8703],2],[[8704,8747],2],[8748,1,\"∫∫\"],[8749,1,\"∫∫∫\"],[8750,2],[8751,1,\"∮∮\"],[8752,1,\"∮∮∮\"],[[8753,8945],2],[[8946,8959],2],[8960,2],[8961,2],[[8962,9000],2],[9001,1,\"〈\"],[9002,1,\"〉\"],[[9003,9082],2],[9083,2],[9084,2],[[9085,9114],2],[[9115,9166],2],[[9167,9168],2],[[9169,9179],2],[[9180,9191],2],[9192,2],[[9193,9203],2],[[9204,9210],2],[[9211,9214],2],[9215,2],[[9216,9252],2],[[9253,9254],2],[[9255,9257],2],[[9258,9279],3],[[9280,9290],2],[[9291,9311],3],[9312,1,\"1\"],[9313,1,\"2\"],[9314,1,\"3\"],[9315,1,\"4\"],[9316,1,\"5\"],[9317,1,\"6\"],[9318,1,\"7\"],[9319,1,\"8\"],[9320,1,\"9\"],[9321,1,\"10\"],[9322,1,\"11\"],[9323,1,\"12\"],[9324,1,\"13\"],[9325,1,\"14\"],[9326,1,\"15\"],[9327,1,\"16\"],[9328,1,\"17\"],[9329,1,\"18\"],[9330,1,\"19\"],[9331,1,\"20\"],[9332,1,\"(1)\"],[9333,1,\"(2)\"],[9334,1,\"(3)\"],[9335,1,\"(4)\"],[9336,1,\"(5)\"],[9337,1,\"(6)\"],[9338,1,\"(7)\"],[9339,1,\"(8)\"],[9340,1,\"(9)\"],[9341,1,\"(10)\"],[9342,1,\"(11)\"],[9343,1,\"(12)\"],[9344,1,\"(13)\"],[9345,1,\"(14)\"],[9346,1,\"(15)\"],[9347,1,\"(16)\"],[9348,1,\"(17)\"],[9349,1,\"(18)\"],[9350,1,\"(19)\"],[9351,1,\"(20)\"],[[9352,9371],3],[9372,1,\"(a)\"],[9373,1,\"(b)\"],[9374,1,\"(c)\"],[9375,1,\"(d)\"],[9376,1,\"(e)\"],[9377,1,\"(f)\"],[9378,1,\"(g)\"],[9379,1,\"(h)\"],[9380,1,\"(i)\"],[9381,1,\"(j)\"],[9382,1,\"(k)\"],[9383,1,\"(l)\"],[9384,1,\"(m)\"],[9385,1,\"(n)\"],[9386,1,\"(o)\"],[9387,1,\"(p)\"],[9388,1,\"(q)\"],[9389,1,\"(r)\"],[9390,1,\"(s)\"],[9391,1,\"(t)\"],[9392,1,\"(u)\"],[9393,1,\"(v)\"],[9394,1,\"(w)\"],[9395,1,\"(x)\"],[9396,1,\"(y)\"],[9397,1,\"(z)\"],[9398,1,\"a\"],[9399,1,\"b\"],[9400,1,\"c\"],[9401,1,\"d\"],[9402,1,\"e\"],[9403,1,\"f\"],[9404,1,\"g\"],[9405,1,\"h\"],[9406,1,\"i\"],[9407,1,\"j\"],[9408,1,\"k\"],[9409,1,\"l\"],[9410,1,\"m\"],[9411,1,\"n\"],[9412,1,\"o\"],[9413,1,\"p\"],[9414,1,\"q\"],[9415,1,\"r\"],[9416,1,\"s\"],[9417,1,\"t\"],[9418,1,\"u\"],[9419,1,\"v\"],[9420,1,\"w\"],[9421,1,\"x\"],[9422,1,\"y\"],[9423,1,\"z\"],[9424,1,\"a\"],[9425,1,\"b\"],[9426,1,\"c\"],[9427,1,\"d\"],[9428,1,\"e\"],[9429,1,\"f\"],[9430,1,\"g\"],[9431,1,\"h\"],[9432,1,\"i\"],[9433,1,\"j\"],[9434,1,\"k\"],[9435,1,\"l\"],[9436,1,\"m\"],[9437,1,\"n\"],[9438,1,\"o\"],[9439,1,\"p\"],[9440,1,\"q\"],[9441,1,\"r\"],[9442,1,\"s\"],[9443,1,\"t\"],[9444,1,\"u\"],[9445,1,\"v\"],[9446,1,\"w\"],[9447,1,\"x\"],[9448,1,\"y\"],[9449,1,\"z\"],[9450,1,\"0\"],[[9451,9470],2],[9471,2],[[9472,9621],2],[[9622,9631],2],[[9632,9711],2],[[9712,9719],2],[[9720,9727],2],[[9728,9747],2],[[9748,9749],2],[[9750,9751],2],[9752,2],[9753,2],[[9754,9839],2],[[9840,9841],2],[[9842,9853],2],[[9854,9855],2],[[9856,9865],2],[[9866,9873],2],[[9874,9884],2],[9885,2],[[9886,9887],2],[[9888,9889],2],[[9890,9905],2],[9906,2],[[9907,9916],2],[[9917,9919],2],[[9920,9923],2],[[9924,9933],2],[9934,2],[[9935,9953],2],[9954,2],[9955,2],[[9956,9959],2],[[9960,9983],2],[9984,2],[[9985,9988],2],[9989,2],[[9990,9993],2],[[9994,9995],2],[[9996,10023],2],[10024,2],[[10025,10059],2],[10060,2],[10061,2],[10062,2],[[10063,10066],2],[[10067,10069],2],[10070,2],[10071,2],[[10072,10078],2],[[10079,10080],2],[[10081,10087],2],[[10088,10101],2],[[10102,10132],2],[[10133,10135],2],[[10136,10159],2],[10160,2],[[10161,10174],2],[10175,2],[[10176,10182],2],[[10183,10186],2],[10187,2],[10188,2],[10189,2],[[10190,10191],2],[[10192,10219],2],[[10220,10223],2],[[10224,10239],2],[[10240,10495],2],[[10496,10763],2],[10764,1,\"∫∫∫∫\"],[[10765,10867],2],[10868,1,\"::=\"],[10869,1,\"==\"],[10870,1,\"===\"],[[10871,10971],2],[10972,1,\"⫝̸\"],[[10973,11007],2],[[11008,11021],2],[[11022,11027],2],[[11028,11034],2],[[11035,11039],2],[[11040,11043],2],[[11044,11084],2],[[11085,11087],2],[[11088,11092],2],[[11093,11097],2],[[11098,11123],2],[[11124,11125],3],[[11126,11157],2],[11158,3],[11159,2],[[11160,11193],2],[[11194,11196],2],[[11197,11208],2],[11209,2],[[11210,11217],2],[11218,2],[[11219,11243],2],[[11244,11247],2],[[11248,11262],2],[11263,2],[11264,1,\"ⰰ\"],[11265,1,\"ⰱ\"],[11266,1,\"ⰲ\"],[11267,1,\"ⰳ\"],[11268,1,\"ⰴ\"],[11269,1,\"ⰵ\"],[11270,1,\"ⰶ\"],[11271,1,\"ⰷ\"],[11272,1,\"ⰸ\"],[11273,1,\"ⰹ\"],[11274,1,\"ⰺ\"],[11275,1,\"ⰻ\"],[11276,1,\"ⰼ\"],[11277,1,\"ⰽ\"],[11278,1,\"ⰾ\"],[11279,1,\"ⰿ\"],[11280,1,\"ⱀ\"],[11281,1,\"ⱁ\"],[11282,1,\"ⱂ\"],[11283,1,\"ⱃ\"],[11284,1,\"ⱄ\"],[11285,1,\"ⱅ\"],[11286,1,\"ⱆ\"],[11287,1,\"ⱇ\"],[11288,1,\"ⱈ\"],[11289,1,\"ⱉ\"],[11290,1,\"ⱊ\"],[11291,1,\"ⱋ\"],[11292,1,\"ⱌ\"],[11293,1,\"ⱍ\"],[11294,1,\"ⱎ\"],[11295,1,\"ⱏ\"],[11296,1,\"ⱐ\"],[11297,1,\"ⱑ\"],[11298,1,\"ⱒ\"],[11299,1,\"ⱓ\"],[11300,1,\"ⱔ\"],[11301,1,\"ⱕ\"],[11302,1,\"ⱖ\"],[11303,1,\"ⱗ\"],[11304,1,\"ⱘ\"],[11305,1,\"ⱙ\"],[11306,1,\"ⱚ\"],[11307,1,\"ⱛ\"],[11308,1,\"ⱜ\"],[11309,1,\"ⱝ\"],[11310,1,\"ⱞ\"],[11311,1,\"ⱟ\"],[[11312,11358],2],[11359,2],[11360,1,\"ⱡ\"],[11361,2],[11362,1,\"ɫ\"],[11363,1,\"ᵽ\"],[11364,1,\"ɽ\"],[[11365,11366],2],[11367,1,\"ⱨ\"],[11368,2],[11369,1,\"ⱪ\"],[11370,2],[11371,1,\"ⱬ\"],[11372,2],[11373,1,\"ɑ\"],[11374,1,\"ɱ\"],[11375,1,\"ɐ\"],[11376,1,\"ɒ\"],[11377,2],[11378,1,\"ⱳ\"],[11379,2],[11380,2],[11381,1,\"ⱶ\"],[[11382,11383],2],[[11384,11387],2],[11388,1,\"j\"],[11389,1,\"v\"],[11390,1,\"ȿ\"],[11391,1,\"ɀ\"],[11392,1,\"ⲁ\"],[11393,2],[11394,1,\"ⲃ\"],[11395,2],[11396,1,\"ⲅ\"],[11397,2],[11398,1,\"ⲇ\"],[11399,2],[11400,1,\"ⲉ\"],[11401,2],[11402,1,\"ⲋ\"],[11403,2],[11404,1,\"ⲍ\"],[11405,2],[11406,1,\"ⲏ\"],[11407,2],[11408,1,\"ⲑ\"],[11409,2],[11410,1,\"ⲓ\"],[11411,2],[11412,1,\"ⲕ\"],[11413,2],[11414,1,\"ⲗ\"],[11415,2],[11416,1,\"ⲙ\"],[11417,2],[11418,1,\"ⲛ\"],[11419,2],[11420,1,\"ⲝ\"],[11421,2],[11422,1,\"ⲟ\"],[11423,2],[11424,1,\"ⲡ\"],[11425,2],[11426,1,\"ⲣ\"],[11427,2],[11428,1,\"ⲥ\"],[11429,2],[11430,1,\"ⲧ\"],[11431,2],[11432,1,\"ⲩ\"],[11433,2],[11434,1,\"ⲫ\"],[11435,2],[11436,1,\"ⲭ\"],[11437,2],[11438,1,\"ⲯ\"],[11439,2],[11440,1,\"ⲱ\"],[11441,2],[11442,1,\"ⲳ\"],[11443,2],[11444,1,\"ⲵ\"],[11445,2],[11446,1,\"ⲷ\"],[11447,2],[11448,1,\"ⲹ\"],[11449,2],[11450,1,\"ⲻ\"],[11451,2],[11452,1,\"ⲽ\"],[11453,2],[11454,1,\"ⲿ\"],[11455,2],[11456,1,\"ⳁ\"],[11457,2],[11458,1,\"ⳃ\"],[11459,2],[11460,1,\"ⳅ\"],[11461,2],[11462,1,\"ⳇ\"],[11463,2],[11464,1,\"ⳉ\"],[11465,2],[11466,1,\"ⳋ\"],[11467,2],[11468,1,\"ⳍ\"],[11469,2],[11470,1,\"ⳏ\"],[11471,2],[11472,1,\"ⳑ\"],[11473,2],[11474,1,\"ⳓ\"],[11475,2],[11476,1,\"ⳕ\"],[11477,2],[11478,1,\"ⳗ\"],[11479,2],[11480,1,\"ⳙ\"],[11481,2],[11482,1,\"ⳛ\"],[11483,2],[11484,1,\"ⳝ\"],[11485,2],[11486,1,\"ⳟ\"],[11487,2],[11488,1,\"ⳡ\"],[11489,2],[11490,1,\"ⳣ\"],[[11491,11492],2],[[11493,11498],2],[11499,1,\"ⳬ\"],[11500,2],[11501,1,\"ⳮ\"],[[11502,11505],2],[11506,1,\"ⳳ\"],[11507,2],[[11508,11512],3],[[11513,11519],2],[[11520,11557],2],[11558,3],[11559,2],[[11560,11564],3],[11565,2],[[11566,11567],3],[[11568,11621],2],[[11622,11623],2],[[11624,11630],3],[11631,1,\"ⵡ\"],[11632,2],[[11633,11646],3],[11647,2],[[11648,11670],2],[[11671,11679],3],[[11680,11686],2],[11687,3],[[11688,11694],2],[11695,3],[[11696,11702],2],[11703,3],[[11704,11710],2],[11711,3],[[11712,11718],2],[11719,3],[[11720,11726],2],[11727,3],[[11728,11734],2],[11735,3],[[11736,11742],2],[11743,3],[[11744,11775],2],[[11776,11799],2],[[11800,11803],2],[[11804,11805],2],[[11806,11822],2],[11823,2],[11824,2],[11825,2],[[11826,11835],2],[[11836,11842],2],[[11843,11844],2],[[11845,11849],2],[[11850,11854],2],[11855,2],[[11856,11858],2],[[11859,11869],2],[[11870,11903],3],[[11904,11929],2],[11930,3],[[11931,11934],2],[11935,1,\"母\"],[[11936,12018],2],[12019,1,\"龟\"],[[12020,12031],3],[12032,1,\"一\"],[12033,1,\"丨\"],[12034,1,\"丶\"],[12035,1,\"丿\"],[12036,1,\"乙\"],[12037,1,\"亅\"],[12038,1,\"二\"],[12039,1,\"亠\"],[12040,1,\"人\"],[12041,1,\"儿\"],[12042,1,\"入\"],[12043,1,\"八\"],[12044,1,\"冂\"],[12045,1,\"冖\"],[12046,1,\"冫\"],[12047,1,\"几\"],[12048,1,\"凵\"],[12049,1,\"刀\"],[12050,1,\"力\"],[12051,1,\"勹\"],[12052,1,\"匕\"],[12053,1,\"匚\"],[12054,1,\"匸\"],[12055,1,\"十\"],[12056,1,\"卜\"],[12057,1,\"卩\"],[12058,1,\"厂\"],[12059,1,\"厶\"],[12060,1,\"又\"],[12061,1,\"口\"],[12062,1,\"囗\"],[12063,1,\"土\"],[12064,1,\"士\"],[12065,1,\"夂\"],[12066,1,\"夊\"],[12067,1,\"夕\"],[12068,1,\"大\"],[12069,1,\"女\"],[12070,1,\"子\"],[12071,1,\"宀\"],[12072,1,\"寸\"],[12073,1,\"小\"],[12074,1,\"尢\"],[12075,1,\"尸\"],[12076,1,\"屮\"],[12077,1,\"山\"],[12078,1,\"巛\"],[12079,1,\"工\"],[12080,1,\"己\"],[12081,1,\"巾\"],[12082,1,\"干\"],[12083,1,\"幺\"],[12084,1,\"广\"],[12085,1,\"廴\"],[12086,1,\"廾\"],[12087,1,\"弋\"],[12088,1,\"弓\"],[12089,1,\"彐\"],[12090,1,\"彡\"],[12091,1,\"彳\"],[12092,1,\"心\"],[12093,1,\"戈\"],[12094,1,\"戶\"],[12095,1,\"手\"],[12096,1,\"支\"],[12097,1,\"攴\"],[12098,1,\"文\"],[12099,1,\"斗\"],[12100,1,\"斤\"],[12101,1,\"方\"],[12102,1,\"无\"],[12103,1,\"日\"],[12104,1,\"曰\"],[12105,1,\"月\"],[12106,1,\"木\"],[12107,1,\"欠\"],[12108,1,\"止\"],[12109,1,\"歹\"],[12110,1,\"殳\"],[12111,1,\"毋\"],[12112,1,\"比\"],[12113,1,\"毛\"],[12114,1,\"氏\"],[12115,1,\"气\"],[12116,1,\"水\"],[12117,1,\"火\"],[12118,1,\"爪\"],[12119,1,\"父\"],[12120,1,\"爻\"],[12121,1,\"爿\"],[12122,1,\"片\"],[12123,1,\"牙\"],[12124,1,\"牛\"],[12125,1,\"犬\"],[12126,1,\"玄\"],[12127,1,\"玉\"],[12128,1,\"瓜\"],[12129,1,\"瓦\"],[12130,1,\"甘\"],[12131,1,\"生\"],[12132,1,\"用\"],[12133,1,\"田\"],[12134,1,\"疋\"],[12135,1,\"疒\"],[12136,1,\"癶\"],[12137,1,\"白\"],[12138,1,\"皮\"],[12139,1,\"皿\"],[12140,1,\"目\"],[12141,1,\"矛\"],[12142,1,\"矢\"],[12143,1,\"石\"],[12144,1,\"示\"],[12145,1,\"禸\"],[12146,1,\"禾\"],[12147,1,\"穴\"],[12148,1,\"立\"],[12149,1,\"竹\"],[12150,1,\"米\"],[12151,1,\"糸\"],[12152,1,\"缶\"],[12153,1,\"网\"],[12154,1,\"羊\"],[12155,1,\"羽\"],[12156,1,\"老\"],[12157,1,\"而\"],[12158,1,\"耒\"],[12159,1,\"耳\"],[12160,1,\"聿\"],[12161,1,\"肉\"],[12162,1,\"臣\"],[12163,1,\"自\"],[12164,1,\"至\"],[12165,1,\"臼\"],[12166,1,\"舌\"],[12167,1,\"舛\"],[12168,1,\"舟\"],[12169,1,\"艮\"],[12170,1,\"色\"],[12171,1,\"艸\"],[12172,1,\"虍\"],[12173,1,\"虫\"],[12174,1,\"血\"],[12175,1,\"行\"],[12176,1,\"衣\"],[12177,1,\"襾\"],[12178,1,\"見\"],[12179,1,\"角\"],[12180,1,\"言\"],[12181,1,\"谷\"],[12182,1,\"豆\"],[12183,1,\"豕\"],[12184,1,\"豸\"],[12185,1,\"貝\"],[12186,1,\"赤\"],[12187,1,\"走\"],[12188,1,\"足\"],[12189,1,\"身\"],[12190,1,\"車\"],[12191,1,\"辛\"],[12192,1,\"辰\"],[12193,1,\"辵\"],[12194,1,\"邑\"],[12195,1,\"酉\"],[12196,1,\"釆\"],[12197,1,\"里\"],[12198,1,\"金\"],[12199,1,\"長\"],[12200,1,\"門\"],[12201,1,\"阜\"],[12202,1,\"隶\"],[12203,1,\"隹\"],[12204,1,\"雨\"],[12205,1,\"靑\"],[12206,1,\"非\"],[12207,1,\"面\"],[12208,1,\"革\"],[12209,1,\"韋\"],[12210,1,\"韭\"],[12211,1,\"音\"],[12212,1,\"頁\"],[12213,1,\"風\"],[12214,1,\"飛\"],[12215,1,\"食\"],[12216,1,\"首\"],[12217,1,\"香\"],[12218,1,\"馬\"],[12219,1,\"骨\"],[12220,1,\"高\"],[12221,1,\"髟\"],[12222,1,\"鬥\"],[12223,1,\"鬯\"],[12224,1,\"鬲\"],[12225,1,\"鬼\"],[12226,1,\"魚\"],[12227,1,\"鳥\"],[12228,1,\"鹵\"],[12229,1,\"鹿\"],[12230,1,\"麥\"],[12231,1,\"麻\"],[12232,1,\"黃\"],[12233,1,\"黍\"],[12234,1,\"黑\"],[12235,1,\"黹\"],[12236,1,\"黽\"],[12237,1,\"鼎\"],[12238,1,\"鼓\"],[12239,1,\"鼠\"],[12240,1,\"鼻\"],[12241,1,\"齊\"],[12242,1,\"齒\"],[12243,1,\"龍\"],[12244,1,\"龜\"],[12245,1,\"龠\"],[[12246,12271],3],[[12272,12283],3],[[12284,12287],3],[12288,1,\" \"],[12289,2],[12290,1,\".\"],[[12291,12292],2],[[12293,12295],2],[[12296,12329],2],[[12330,12333],2],[[12334,12341],2],[12342,1,\"〒\"],[12343,2],[12344,1,\"十\"],[12345,1,\"卄\"],[12346,1,\"卅\"],[12347,2],[12348,2],[12349,2],[12350,2],[12351,2],[12352,3],[[12353,12436],2],[[12437,12438],2],[[12439,12440],3],[[12441,12442],2],[12443,1,\" ゙\"],[12444,1,\" ゚\"],[[12445,12446],2],[12447,1,\"より\"],[12448,2],[[12449,12542],2],[12543,1,\"コト\"],[[12544,12548],3],[[12549,12588],2],[12589,2],[12590,2],[12591,2],[12592,3],[12593,1,\"ᄀ\"],[12594,1,\"ᄁ\"],[12595,1,\"ᆪ\"],[12596,1,\"ᄂ\"],[12597,1,\"ᆬ\"],[12598,1,\"ᆭ\"],[12599,1,\"ᄃ\"],[12600,1,\"ᄄ\"],[12601,1,\"ᄅ\"],[12602,1,\"ᆰ\"],[12603,1,\"ᆱ\"],[12604,1,\"ᆲ\"],[12605,1,\"ᆳ\"],[12606,1,\"ᆴ\"],[12607,1,\"ᆵ\"],[12608,1,\"ᄚ\"],[12609,1,\"ᄆ\"],[12610,1,\"ᄇ\"],[12611,1,\"ᄈ\"],[12612,1,\"ᄡ\"],[12613,1,\"ᄉ\"],[12614,1,\"ᄊ\"],[12615,1,\"ᄋ\"],[12616,1,\"ᄌ\"],[12617,1,\"ᄍ\"],[12618,1,\"ᄎ\"],[12619,1,\"ᄏ\"],[12620,1,\"ᄐ\"],[12621,1,\"ᄑ\"],[12622,1,\"ᄒ\"],[12623,1,\"ᅡ\"],[12624,1,\"ᅢ\"],[12625,1,\"ᅣ\"],[12626,1,\"ᅤ\"],[12627,1,\"ᅥ\"],[12628,1,\"ᅦ\"],[12629,1,\"ᅧ\"],[12630,1,\"ᅨ\"],[12631,1,\"ᅩ\"],[12632,1,\"ᅪ\"],[12633,1,\"ᅫ\"],[12634,1,\"ᅬ\"],[12635,1,\"ᅭ\"],[12636,1,\"ᅮ\"],[12637,1,\"ᅯ\"],[12638,1,\"ᅰ\"],[12639,1,\"ᅱ\"],[12640,1,\"ᅲ\"],[12641,1,\"ᅳ\"],[12642,1,\"ᅴ\"],[12643,1,\"ᅵ\"],[12644,7],[12645,1,\"ᄔ\"],[12646,1,\"ᄕ\"],[12647,1,\"ᇇ\"],[12648,1,\"ᇈ\"],[12649,1,\"ᇌ\"],[12650,1,\"ᇎ\"],[12651,1,\"ᇓ\"],[12652,1,\"ᇗ\"],[12653,1,\"ᇙ\"],[12654,1,\"ᄜ\"],[12655,1,\"ᇝ\"],[12656,1,\"ᇟ\"],[12657,1,\"ᄝ\"],[12658,1,\"ᄞ\"],[12659,1,\"ᄠ\"],[12660,1,\"ᄢ\"],[12661,1,\"ᄣ\"],[12662,1,\"ᄧ\"],[12663,1,\"ᄩ\"],[12664,1,\"ᄫ\"],[12665,1,\"ᄬ\"],[12666,1,\"ᄭ\"],[12667,1,\"ᄮ\"],[12668,1,\"ᄯ\"],[12669,1,\"ᄲ\"],[12670,1,\"ᄶ\"],[12671,1,\"ᅀ\"],[12672,1,\"ᅇ\"],[12673,1,\"ᅌ\"],[12674,1,\"ᇱ\"],[12675,1,\"ᇲ\"],[12676,1,\"ᅗ\"],[12677,1,\"ᅘ\"],[12678,1,\"ᅙ\"],[12679,1,\"ᆄ\"],[12680,1,\"ᆅ\"],[12681,1,\"ᆈ\"],[12682,1,\"ᆑ\"],[12683,1,\"ᆒ\"],[12684,1,\"ᆔ\"],[12685,1,\"ᆞ\"],[12686,1,\"ᆡ\"],[12687,3],[[12688,12689],2],[12690,1,\"一\"],[12691,1,\"二\"],[12692,1,\"三\"],[12693,1,\"四\"],[12694,1,\"上\"],[12695,1,\"中\"],[12696,1,\"下\"],[12697,1,\"甲\"],[12698,1,\"乙\"],[12699,1,\"丙\"],[12700,1,\"丁\"],[12701,1,\"天\"],[12702,1,\"地\"],[12703,1,\"人\"],[[12704,12727],2],[[12728,12730],2],[[12731,12735],2],[[12736,12751],2],[[12752,12771],2],[[12772,12773],2],[[12774,12782],3],[12783,3],[[12784,12799],2],[12800,1,\"(ᄀ)\"],[12801,1,\"(ᄂ)\"],[12802,1,\"(ᄃ)\"],[12803,1,\"(ᄅ)\"],[12804,1,\"(ᄆ)\"],[12805,1,\"(ᄇ)\"],[12806,1,\"(ᄉ)\"],[12807,1,\"(ᄋ)\"],[12808,1,\"(ᄌ)\"],[12809,1,\"(ᄎ)\"],[12810,1,\"(ᄏ)\"],[12811,1,\"(ᄐ)\"],[12812,1,\"(ᄑ)\"],[12813,1,\"(ᄒ)\"],[12814,1,\"(가)\"],[12815,1,\"(나)\"],[12816,1,\"(다)\"],[12817,1,\"(라)\"],[12818,1,\"(마)\"],[12819,1,\"(바)\"],[12820,1,\"(사)\"],[12821,1,\"(아)\"],[12822,1,\"(자)\"],[12823,1,\"(차)\"],[12824,1,\"(카)\"],[12825,1,\"(타)\"],[12826,1,\"(파)\"],[12827,1,\"(하)\"],[12828,1,\"(주)\"],[12829,1,\"(오전)\"],[12830,1,\"(오후)\"],[12831,3],[12832,1,\"(一)\"],[12833,1,\"(二)\"],[12834,1,\"(三)\"],[12835,1,\"(四)\"],[12836,1,\"(五)\"],[12837,1,\"(六)\"],[12838,1,\"(七)\"],[12839,1,\"(八)\"],[12840,1,\"(九)\"],[12841,1,\"(十)\"],[12842,1,\"(月)\"],[12843,1,\"(火)\"],[12844,1,\"(水)\"],[12845,1,\"(木)\"],[12846,1,\"(金)\"],[12847,1,\"(土)\"],[12848,1,\"(日)\"],[12849,1,\"(株)\"],[12850,1,\"(有)\"],[12851,1,\"(社)\"],[12852,1,\"(名)\"],[12853,1,\"(特)\"],[12854,1,\"(財)\"],[12855,1,\"(祝)\"],[12856,1,\"(労)\"],[12857,1,\"(代)\"],[12858,1,\"(呼)\"],[12859,1,\"(学)\"],[12860,1,\"(監)\"],[12861,1,\"(企)\"],[12862,1,\"(資)\"],[12863,1,\"(協)\"],[12864,1,\"(祭)\"],[12865,1,\"(休)\"],[12866,1,\"(自)\"],[12867,1,\"(至)\"],[12868,1,\"問\"],[12869,1,\"幼\"],[12870,1,\"文\"],[12871,1,\"箏\"],[[12872,12879],2],[12880,1,\"pte\"],[12881,1,\"21\"],[12882,1,\"22\"],[12883,1,\"23\"],[12884,1,\"24\"],[12885,1,\"25\"],[12886,1,\"26\"],[12887,1,\"27\"],[12888,1,\"28\"],[12889,1,\"29\"],[12890,1,\"30\"],[12891,1,\"31\"],[12892,1,\"32\"],[12893,1,\"33\"],[12894,1,\"34\"],[12895,1,\"35\"],[12896,1,\"ᄀ\"],[12897,1,\"ᄂ\"],[12898,1,\"ᄃ\"],[12899,1,\"ᄅ\"],[12900,1,\"ᄆ\"],[12901,1,\"ᄇ\"],[12902,1,\"ᄉ\"],[12903,1,\"ᄋ\"],[12904,1,\"ᄌ\"],[12905,1,\"ᄎ\"],[12906,1,\"ᄏ\"],[12907,1,\"ᄐ\"],[12908,1,\"ᄑ\"],[12909,1,\"ᄒ\"],[12910,1,\"가\"],[12911,1,\"나\"],[12912,1,\"다\"],[12913,1,\"라\"],[12914,1,\"마\"],[12915,1,\"바\"],[12916,1,\"사\"],[12917,1,\"아\"],[12918,1,\"자\"],[12919,1,\"차\"],[12920,1,\"카\"],[12921,1,\"타\"],[12922,1,\"파\"],[12923,1,\"하\"],[12924,1,\"참고\"],[12925,1,\"주의\"],[12926,1,\"우\"],[12927,2],[12928,1,\"一\"],[12929,1,\"二\"],[12930,1,\"三\"],[12931,1,\"四\"],[12932,1,\"五\"],[12933,1,\"六\"],[12934,1,\"七\"],[12935,1,\"八\"],[12936,1,\"九\"],[12937,1,\"十\"],[12938,1,\"月\"],[12939,1,\"火\"],[12940,1,\"水\"],[12941,1,\"木\"],[12942,1,\"金\"],[12943,1,\"土\"],[12944,1,\"日\"],[12945,1,\"株\"],[12946,1,\"有\"],[12947,1,\"社\"],[12948,1,\"名\"],[12949,1,\"特\"],[12950,1,\"財\"],[12951,1,\"祝\"],[12952,1,\"労\"],[12953,1,\"秘\"],[12954,1,\"男\"],[12955,1,\"女\"],[12956,1,\"適\"],[12957,1,\"優\"],[12958,1,\"印\"],[12959,1,\"注\"],[12960,1,\"項\"],[12961,1,\"休\"],[12962,1,\"写\"],[12963,1,\"正\"],[12964,1,\"上\"],[12965,1,\"中\"],[12966,1,\"下\"],[12967,1,\"左\"],[12968,1,\"右\"],[12969,1,\"医\"],[12970,1,\"宗\"],[12971,1,\"学\"],[12972,1,\"監\"],[12973,1,\"企\"],[12974,1,\"資\"],[12975,1,\"協\"],[12976,1,\"夜\"],[12977,1,\"36\"],[12978,1,\"37\"],[12979,1,\"38\"],[12980,1,\"39\"],[12981,1,\"40\"],[12982,1,\"41\"],[12983,1,\"42\"],[12984,1,\"43\"],[12985,1,\"44\"],[12986,1,\"45\"],[12987,1,\"46\"],[12988,1,\"47\"],[12989,1,\"48\"],[12990,1,\"49\"],[12991,1,\"50\"],[12992,1,\"1月\"],[12993,1,\"2月\"],[12994,1,\"3月\"],[12995,1,\"4月\"],[12996,1,\"5月\"],[12997,1,\"6月\"],[12998,1,\"7月\"],[12999,1,\"8月\"],[13000,1,\"9月\"],[13001,1,\"10月\"],[13002,1,\"11月\"],[13003,1,\"12月\"],[13004,1,\"hg\"],[13005,1,\"erg\"],[13006,1,\"ev\"],[13007,1,\"ltd\"],[13008,1,\"ア\"],[13009,1,\"イ\"],[13010,1,\"ウ\"],[13011,1,\"エ\"],[13012,1,\"オ\"],[13013,1,\"カ\"],[13014,1,\"キ\"],[13015,1,\"ク\"],[13016,1,\"ケ\"],[13017,1,\"コ\"],[13018,1,\"サ\"],[13019,1,\"シ\"],[13020,1,\"ス\"],[13021,1,\"セ\"],[13022,1,\"ソ\"],[13023,1,\"タ\"],[13024,1,\"チ\"],[13025,1,\"ツ\"],[13026,1,\"テ\"],[13027,1,\"ト\"],[13028,1,\"ナ\"],[13029,1,\"ニ\"],[13030,1,\"ヌ\"],[13031,1,\"ネ\"],[13032,1,\"ノ\"],[13033,1,\"ハ\"],[13034,1,\"ヒ\"],[13035,1,\"フ\"],[13036,1,\"ヘ\"],[13037,1,\"ホ\"],[13038,1,\"マ\"],[13039,1,\"ミ\"],[13040,1,\"ム\"],[13041,1,\"メ\"],[13042,1,\"モ\"],[13043,1,\"ヤ\"],[13044,1,\"ユ\"],[13045,1,\"ヨ\"],[13046,1,\"ラ\"],[13047,1,\"リ\"],[13048,1,\"ル\"],[13049,1,\"レ\"],[13050,1,\"ロ\"],[13051,1,\"ワ\"],[13052,1,\"ヰ\"],[13053,1,\"ヱ\"],[13054,1,\"ヲ\"],[13055,1,\"令和\"],[13056,1,\"アパート\"],[13057,1,\"アルファ\"],[13058,1,\"アンペア\"],[13059,1,\"アール\"],[13060,1,\"イニング\"],[13061,1,\"インチ\"],[13062,1,\"ウォン\"],[13063,1,\"エスクード\"],[13064,1,\"エーカー\"],[13065,1,\"オンス\"],[13066,1,\"オーム\"],[13067,1,\"カイリ\"],[13068,1,\"カラット\"],[13069,1,\"カロリー\"],[13070,1,\"ガロン\"],[13071,1,\"ガンマ\"],[13072,1,\"ギガ\"],[13073,1,\"ギニー\"],[13074,1,\"キュリー\"],[13075,1,\"ギルダー\"],[13076,1,\"キロ\"],[13077,1,\"キログラム\"],[13078,1,\"キロメートル\"],[13079,1,\"キロワット\"],[13080,1,\"グラム\"],[13081,1,\"グラムトン\"],[13082,1,\"クルゼイロ\"],[13083,1,\"クローネ\"],[13084,1,\"ケース\"],[13085,1,\"コルナ\"],[13086,1,\"コーポ\"],[13087,1,\"サイクル\"],[13088,1,\"サンチーム\"],[13089,1,\"シリング\"],[13090,1,\"センチ\"],[13091,1,\"セント\"],[13092,1,\"ダース\"],[13093,1,\"デシ\"],[13094,1,\"ドル\"],[13095,1,\"トン\"],[13096,1,\"ナノ\"],[13097,1,\"ノット\"],[13098,1,\"ハイツ\"],[13099,1,\"パーセント\"],[13100,1,\"パーツ\"],[13101,1,\"バーレル\"],[13102,1,\"ピアストル\"],[13103,1,\"ピクル\"],[13104,1,\"ピコ\"],[13105,1,\"ビル\"],[13106,1,\"ファラッド\"],[13107,1,\"フィート\"],[13108,1,\"ブッシェル\"],[13109,1,\"フラン\"],[13110,1,\"ヘクタール\"],[13111,1,\"ペソ\"],[13112,1,\"ペニヒ\"],[13113,1,\"ヘルツ\"],[13114,1,\"ペンス\"],[13115,1,\"ページ\"],[13116,1,\"ベータ\"],[13117,1,\"ポイント\"],[13118,1,\"ボルト\"],[13119,1,\"ホン\"],[13120,1,\"ポンド\"],[13121,1,\"ホール\"],[13122,1,\"ホーン\"],[13123,1,\"マイクロ\"],[13124,1,\"マイル\"],[13125,1,\"マッハ\"],[13126,1,\"マルク\"],[13127,1,\"マンション\"],[13128,1,\"ミクロン\"],[13129,1,\"ミリ\"],[13130,1,\"ミリバール\"],[13131,1,\"メガ\"],[13132,1,\"メガトン\"],[13133,1,\"メートル\"],[13134,1,\"ヤード\"],[13135,1,\"ヤール\"],[13136,1,\"ユアン\"],[13137,1,\"リットル\"],[13138,1,\"リラ\"],[13139,1,\"ルピー\"],[13140,1,\"ルーブル\"],[13141,1,\"レム\"],[13142,1,\"レントゲン\"],[13143,1,\"ワット\"],[13144,1,\"0点\"],[13145,1,\"1点\"],[13146,1,\"2点\"],[13147,1,\"3点\"],[13148,1,\"4点\"],[13149,1,\"5点\"],[13150,1,\"6点\"],[13151,1,\"7点\"],[13152,1,\"8点\"],[13153,1,\"9点\"],[13154,1,\"10点\"],[13155,1,\"11点\"],[13156,1,\"12点\"],[13157,1,\"13点\"],[13158,1,\"14点\"],[13159,1,\"15点\"],[13160,1,\"16点\"],[13161,1,\"17点\"],[13162,1,\"18点\"],[13163,1,\"19点\"],[13164,1,\"20点\"],[13165,1,\"21点\"],[13166,1,\"22点\"],[13167,1,\"23点\"],[13168,1,\"24点\"],[13169,1,\"hpa\"],[13170,1,\"da\"],[13171,1,\"au\"],[13172,1,\"bar\"],[13173,1,\"ov\"],[13174,1,\"pc\"],[13175,1,\"dm\"],[13176,1,\"dm2\"],[13177,1,\"dm3\"],[13178,1,\"iu\"],[13179,1,\"平成\"],[13180,1,\"昭和\"],[13181,1,\"大正\"],[13182,1,\"明治\"],[13183,1,\"株式会社\"],[13184,1,\"pa\"],[13185,1,\"na\"],[13186,1,\"μa\"],[13187,1,\"ma\"],[13188,1,\"ka\"],[13189,1,\"kb\"],[13190,1,\"mb\"],[13191,1,\"gb\"],[13192,1,\"cal\"],[13193,1,\"kcal\"],[13194,1,\"pf\"],[13195,1,\"nf\"],[13196,1,\"μf\"],[13197,1,\"μg\"],[13198,1,\"mg\"],[13199,1,\"kg\"],[13200,1,\"hz\"],[13201,1,\"khz\"],[13202,1,\"mhz\"],[13203,1,\"ghz\"],[13204,1,\"thz\"],[13205,1,\"μl\"],[13206,1,\"ml\"],[13207,1,\"dl\"],[13208,1,\"kl\"],[13209,1,\"fm\"],[13210,1,\"nm\"],[13211,1,\"μm\"],[13212,1,\"mm\"],[13213,1,\"cm\"],[13214,1,\"km\"],[13215,1,\"mm2\"],[13216,1,\"cm2\"],[13217,1,\"m2\"],[13218,1,\"km2\"],[13219,1,\"mm3\"],[13220,1,\"cm3\"],[13221,1,\"m3\"],[13222,1,\"km3\"],[13223,1,\"m∕s\"],[13224,1,\"m∕s2\"],[13225,1,\"pa\"],[13226,1,\"kpa\"],[13227,1,\"mpa\"],[13228,1,\"gpa\"],[13229,1,\"rad\"],[13230,1,\"rad∕s\"],[13231,1,\"rad∕s2\"],[13232,1,\"ps\"],[13233,1,\"ns\"],[13234,1,\"μs\"],[13235,1,\"ms\"],[13236,1,\"pv\"],[13237,1,\"nv\"],[13238,1,\"μv\"],[13239,1,\"mv\"],[13240,1,\"kv\"],[13241,1,\"mv\"],[13242,1,\"pw\"],[13243,1,\"nw\"],[13244,1,\"μw\"],[13245,1,\"mw\"],[13246,1,\"kw\"],[13247,1,\"mw\"],[13248,1,\"kω\"],[13249,1,\"mω\"],[13250,3],[13251,1,\"bq\"],[13252,1,\"cc\"],[13253,1,\"cd\"],[13254,1,\"c∕kg\"],[13255,3],[13256,1,\"db\"],[13257,1,\"gy\"],[13258,1,\"ha\"],[13259,1,\"hp\"],[13260,1,\"in\"],[13261,1,\"kk\"],[13262,1,\"km\"],[13263,1,\"kt\"],[13264,1,\"lm\"],[13265,1,\"ln\"],[13266,1,\"log\"],[13267,1,\"lx\"],[13268,1,\"mb\"],[13269,1,\"mil\"],[13270,1,\"mol\"],[13271,1,\"ph\"],[13272,3],[13273,1,\"ppm\"],[13274,1,\"pr\"],[13275,1,\"sr\"],[13276,1,\"sv\"],[13277,1,\"wb\"],[13278,1,\"v∕m\"],[13279,1,\"a∕m\"],[13280,1,\"1日\"],[13281,1,\"2日\"],[13282,1,\"3日\"],[13283,1,\"4日\"],[13284,1,\"5日\"],[13285,1,\"6日\"],[13286,1,\"7日\"],[13287,1,\"8日\"],[13288,1,\"9日\"],[13289,1,\"10日\"],[13290,1,\"11日\"],[13291,1,\"12日\"],[13292,1,\"13日\"],[13293,1,\"14日\"],[13294,1,\"15日\"],[13295,1,\"16日\"],[13296,1,\"17日\"],[13297,1,\"18日\"],[13298,1,\"19日\"],[13299,1,\"20日\"],[13300,1,\"21日\"],[13301,1,\"22日\"],[13302,1,\"23日\"],[13303,1,\"24日\"],[13304,1,\"25日\"],[13305,1,\"26日\"],[13306,1,\"27日\"],[13307,1,\"28日\"],[13308,1,\"29日\"],[13309,1,\"30日\"],[13310,1,\"31日\"],[13311,1,\"gal\"],[[13312,19893],2],[[19894,19903],2],[[19904,19967],2],[[19968,40869],2],[[40870,40891],2],[[40892,40899],2],[[40900,40907],2],[40908,2],[[40909,40917],2],[[40918,40938],2],[[40939,40943],2],[[40944,40956],2],[[40957,40959],2],[[40960,42124],2],[[42125,42127],3],[[42128,42145],2],[[42146,42147],2],[[42148,42163],2],[42164,2],[[42165,42176],2],[42177,2],[[42178,42180],2],[42181,2],[42182,2],[[42183,42191],3],[[42192,42237],2],[[42238,42239],2],[[42240,42508],2],[[42509,42511],2],[[42512,42539],2],[[42540,42559],3],[42560,1,\"ꙁ\"],[42561,2],[42562,1,\"ꙃ\"],[42563,2],[42564,1,\"ꙅ\"],[42565,2],[42566,1,\"ꙇ\"],[42567,2],[42568,1,\"ꙉ\"],[42569,2],[42570,1,\"ꙋ\"],[42571,2],[42572,1,\"ꙍ\"],[42573,2],[42574,1,\"ꙏ\"],[42575,2],[42576,1,\"ꙑ\"],[42577,2],[42578,1,\"ꙓ\"],[42579,2],[42580,1,\"ꙕ\"],[42581,2],[42582,1,\"ꙗ\"],[42583,2],[42584,1,\"ꙙ\"],[42585,2],[42586,1,\"ꙛ\"],[42587,2],[42588,1,\"ꙝ\"],[42589,2],[42590,1,\"ꙟ\"],[42591,2],[42592,1,\"ꙡ\"],[42593,2],[42594,1,\"ꙣ\"],[42595,2],[42596,1,\"ꙥ\"],[42597,2],[42598,1,\"ꙧ\"],[42599,2],[42600,1,\"ꙩ\"],[42601,2],[42602,1,\"ꙫ\"],[42603,2],[42604,1,\"ꙭ\"],[[42605,42607],2],[[42608,42611],2],[[42612,42619],2],[[42620,42621],2],[42622,2],[42623,2],[42624,1,\"ꚁ\"],[42625,2],[42626,1,\"ꚃ\"],[42627,2],[42628,1,\"ꚅ\"],[42629,2],[42630,1,\"ꚇ\"],[42631,2],[42632,1,\"ꚉ\"],[42633,2],[42634,1,\"ꚋ\"],[42635,2],[42636,1,\"ꚍ\"],[42637,2],[42638,1,\"ꚏ\"],[42639,2],[42640,1,\"ꚑ\"],[42641,2],[42642,1,\"ꚓ\"],[42643,2],[42644,1,\"ꚕ\"],[42645,2],[42646,1,\"ꚗ\"],[42647,2],[42648,1,\"ꚙ\"],[42649,2],[42650,1,\"ꚛ\"],[42651,2],[42652,1,\"ъ\"],[42653,1,\"ь\"],[42654,2],[42655,2],[[42656,42725],2],[[42726,42735],2],[[42736,42737],2],[[42738,42743],2],[[42744,42751],3],[[42752,42774],2],[[42775,42778],2],[[42779,42783],2],[[42784,42785],2],[42786,1,\"ꜣ\"],[42787,2],[42788,1,\"ꜥ\"],[42789,2],[42790,1,\"ꜧ\"],[42791,2],[42792,1,\"ꜩ\"],[42793,2],[42794,1,\"ꜫ\"],[42795,2],[42796,1,\"ꜭ\"],[42797,2],[42798,1,\"ꜯ\"],[[42799,42801],2],[42802,1,\"ꜳ\"],[42803,2],[42804,1,\"ꜵ\"],[42805,2],[42806,1,\"ꜷ\"],[42807,2],[42808,1,\"ꜹ\"],[42809,2],[42810,1,\"ꜻ\"],[42811,2],[42812,1,\"ꜽ\"],[42813,2],[42814,1,\"ꜿ\"],[42815,2],[42816,1,\"ꝁ\"],[42817,2],[42818,1,\"ꝃ\"],[42819,2],[42820,1,\"ꝅ\"],[42821,2],[42822,1,\"ꝇ\"],[42823,2],[42824,1,\"ꝉ\"],[42825,2],[42826,1,\"ꝋ\"],[42827,2],[42828,1,\"ꝍ\"],[42829,2],[42830,1,\"ꝏ\"],[42831,2],[42832,1,\"ꝑ\"],[42833,2],[42834,1,\"ꝓ\"],[42835,2],[42836,1,\"ꝕ\"],[42837,2],[42838,1,\"ꝗ\"],[42839,2],[42840,1,\"ꝙ\"],[42841,2],[42842,1,\"ꝛ\"],[42843,2],[42844,1,\"ꝝ\"],[42845,2],[42846,1,\"ꝟ\"],[42847,2],[42848,1,\"ꝡ\"],[42849,2],[42850,1,\"ꝣ\"],[42851,2],[42852,1,\"ꝥ\"],[42853,2],[42854,1,\"ꝧ\"],[42855,2],[42856,1,\"ꝩ\"],[42857,2],[42858,1,\"ꝫ\"],[42859,2],[42860,1,\"ꝭ\"],[42861,2],[42862,1,\"ꝯ\"],[42863,2],[42864,1,\"ꝯ\"],[[42865,42872],2],[42873,1,\"ꝺ\"],[42874,2],[42875,1,\"ꝼ\"],[42876,2],[42877,1,\"ᵹ\"],[42878,1,\"ꝿ\"],[42879,2],[42880,1,\"ꞁ\"],[42881,2],[42882,1,\"ꞃ\"],[42883,2],[42884,1,\"ꞅ\"],[42885,2],[42886,1,\"ꞇ\"],[[42887,42888],2],[[42889,42890],2],[42891,1,\"ꞌ\"],[42892,2],[42893,1,\"ɥ\"],[42894,2],[42895,2],[42896,1,\"ꞑ\"],[42897,2],[42898,1,\"ꞓ\"],[42899,2],[[42900,42901],2],[42902,1,\"ꞗ\"],[42903,2],[42904,1,\"ꞙ\"],[42905,2],[42906,1,\"ꞛ\"],[42907,2],[42908,1,\"ꞝ\"],[42909,2],[42910,1,\"ꞟ\"],[42911,2],[42912,1,\"ꞡ\"],[42913,2],[42914,1,\"ꞣ\"],[42915,2],[42916,1,\"ꞥ\"],[42917,2],[42918,1,\"ꞧ\"],[42919,2],[42920,1,\"ꞩ\"],[42921,2],[42922,1,\"ɦ\"],[42923,1,\"ɜ\"],[42924,1,\"ɡ\"],[42925,1,\"ɬ\"],[42926,1,\"ɪ\"],[42927,2],[42928,1,\"ʞ\"],[42929,1,\"ʇ\"],[42930,1,\"ʝ\"],[42931,1,\"ꭓ\"],[42932,1,\"ꞵ\"],[42933,2],[42934,1,\"ꞷ\"],[42935,2],[42936,1,\"ꞹ\"],[42937,2],[42938,1,\"ꞻ\"],[42939,2],[42940,1,\"ꞽ\"],[42941,2],[42942,1,\"ꞿ\"],[42943,2],[42944,1,\"ꟁ\"],[42945,2],[42946,1,\"ꟃ\"],[42947,2],[42948,1,\"ꞔ\"],[42949,1,\"ʂ\"],[42950,1,\"ᶎ\"],[42951,1,\"ꟈ\"],[42952,2],[42953,1,\"ꟊ\"],[42954,2],[42955,1,\"ɤ\"],[42956,1,\"\"],[42957,2],[[42958,42959],3],[42960,1,\"ꟑ\"],[42961,2],[42962,3],[42963,2],[42964,3],[42965,2],[42966,1,\"ꟗ\"],[42967,2],[42968,1,\"ꟙ\"],[42969,2],[42970,1,\"\"],[42971,2],[42972,1,\"ƛ\"],[[42973,42993],3],[42994,1,\"c\"],[42995,1,\"f\"],[42996,1,\"q\"],[42997,1,\"ꟶ\"],[42998,2],[42999,2],[43000,1,\"ħ\"],[43001,1,\"œ\"],[43002,2],[[43003,43007],2],[[43008,43047],2],[[43048,43051],2],[43052,2],[[43053,43055],3],[[43056,43065],2],[[43066,43071],3],[[43072,43123],2],[[43124,43127],2],[[43128,43135],3],[[43136,43204],2],[43205,2],[[43206,43213],3],[[43214,43215],2],[[43216,43225],2],[[43226,43231],3],[[43232,43255],2],[[43256,43258],2],[43259,2],[43260,2],[43261,2],[[43262,43263],2],[[43264,43309],2],[[43310,43311],2],[[43312,43347],2],[[43348,43358],3],[43359,2],[[43360,43388],2],[[43389,43391],3],[[43392,43456],2],[[43457,43469],2],[43470,3],[[43471,43481],2],[[43482,43485],3],[[43486,43487],2],[[43488,43518],2],[43519,3],[[43520,43574],2],[[43575,43583],3],[[43584,43597],2],[[43598,43599],3],[[43600,43609],2],[[43610,43611],3],[[43612,43615],2],[[43616,43638],2],[[43639,43641],2],[[43642,43643],2],[[43644,43647],2],[[43648,43714],2],[[43715,43738],3],[[43739,43741],2],[[43742,43743],2],[[43744,43759],2],[[43760,43761],2],[[43762,43766],2],[[43767,43776],3],[[43777,43782],2],[[43783,43784],3],[[43785,43790],2],[[43791,43792],3],[[43793,43798],2],[[43799,43807],3],[[43808,43814],2],[43815,3],[[43816,43822],2],[43823,3],[[43824,43866],2],[43867,2],[43868,1,\"ꜧ\"],[43869,1,\"ꬷ\"],[43870,1,\"ɫ\"],[43871,1,\"ꭒ\"],[[43872,43875],2],[[43876,43877],2],[[43878,43879],2],[43880,2],[43881,1,\"ʍ\"],[[43882,43883],2],[[43884,43887],3],[43888,1,\"Ꭰ\"],[43889,1,\"Ꭱ\"],[43890,1,\"Ꭲ\"],[43891,1,\"Ꭳ\"],[43892,1,\"Ꭴ\"],[43893,1,\"Ꭵ\"],[43894,1,\"Ꭶ\"],[43895,1,\"Ꭷ\"],[43896,1,\"Ꭸ\"],[43897,1,\"Ꭹ\"],[43898,1,\"Ꭺ\"],[43899,1,\"Ꭻ\"],[43900,1,\"Ꭼ\"],[43901,1,\"Ꭽ\"],[43902,1,\"Ꭾ\"],[43903,1,\"Ꭿ\"],[43904,1,\"Ꮀ\"],[43905,1,\"Ꮁ\"],[43906,1,\"Ꮂ\"],[43907,1,\"Ꮃ\"],[43908,1,\"Ꮄ\"],[43909,1,\"Ꮅ\"],[43910,1,\"Ꮆ\"],[43911,1,\"Ꮇ\"],[43912,1,\"Ꮈ\"],[43913,1,\"Ꮉ\"],[43914,1,\"Ꮊ\"],[43915,1,\"Ꮋ\"],[43916,1,\"Ꮌ\"],[43917,1,\"Ꮍ\"],[43918,1,\"Ꮎ\"],[43919,1,\"Ꮏ\"],[43920,1,\"Ꮐ\"],[43921,1,\"Ꮑ\"],[43922,1,\"Ꮒ\"],[43923,1,\"Ꮓ\"],[43924,1,\"Ꮔ\"],[43925,1,\"Ꮕ\"],[43926,1,\"Ꮖ\"],[43927,1,\"Ꮗ\"],[43928,1,\"Ꮘ\"],[43929,1,\"Ꮙ\"],[43930,1,\"Ꮚ\"],[43931,1,\"Ꮛ\"],[43932,1,\"Ꮜ\"],[43933,1,\"Ꮝ\"],[43934,1,\"Ꮞ\"],[43935,1,\"Ꮟ\"],[43936,1,\"Ꮠ\"],[43937,1,\"Ꮡ\"],[43938,1,\"Ꮢ\"],[43939,1,\"Ꮣ\"],[43940,1,\"Ꮤ\"],[43941,1,\"Ꮥ\"],[43942,1,\"Ꮦ\"],[43943,1,\"Ꮧ\"],[43944,1,\"Ꮨ\"],[43945,1,\"Ꮩ\"],[43946,1,\"Ꮪ\"],[43947,1,\"Ꮫ\"],[43948,1,\"Ꮬ\"],[43949,1,\"Ꮭ\"],[43950,1,\"Ꮮ\"],[43951,1,\"Ꮯ\"],[43952,1,\"Ꮰ\"],[43953,1,\"Ꮱ\"],[43954,1,\"Ꮲ\"],[43955,1,\"Ꮳ\"],[43956,1,\"Ꮴ\"],[43957,1,\"Ꮵ\"],[43958,1,\"Ꮶ\"],[43959,1,\"Ꮷ\"],[43960,1,\"Ꮸ\"],[43961,1,\"Ꮹ\"],[43962,1,\"Ꮺ\"],[43963,1,\"Ꮻ\"],[43964,1,\"Ꮼ\"],[43965,1,\"Ꮽ\"],[43966,1,\"Ꮾ\"],[43967,1,\"Ꮿ\"],[[43968,44010],2],[44011,2],[[44012,44013],2],[[44014,44015],3],[[44016,44025],2],[[44026,44031],3],[[44032,55203],2],[[55204,55215],3],[[55216,55238],2],[[55239,55242],3],[[55243,55291],2],[[55292,55295],3],[[55296,57343],3],[[57344,63743],3],[63744,1,\"豈\"],[63745,1,\"更\"],[63746,1,\"車\"],[63747,1,\"賈\"],[63748,1,\"滑\"],[63749,1,\"串\"],[63750,1,\"句\"],[[63751,63752],1,\"龜\"],[63753,1,\"契\"],[63754,1,\"金\"],[63755,1,\"喇\"],[63756,1,\"奈\"],[63757,1,\"懶\"],[63758,1,\"癩\"],[63759,1,\"羅\"],[63760,1,\"蘿\"],[63761,1,\"螺\"],[63762,1,\"裸\"],[63763,1,\"邏\"],[63764,1,\"樂\"],[63765,1,\"洛\"],[63766,1,\"烙\"],[63767,1,\"珞\"],[63768,1,\"落\"],[63769,1,\"酪\"],[63770,1,\"駱\"],[63771,1,\"亂\"],[63772,1,\"卵\"],[63773,1,\"欄\"],[63774,1,\"爛\"],[63775,1,\"蘭\"],[63776,1,\"鸞\"],[63777,1,\"嵐\"],[63778,1,\"濫\"],[63779,1,\"藍\"],[63780,1,\"襤\"],[63781,1,\"拉\"],[63782,1,\"臘\"],[63783,1,\"蠟\"],[63784,1,\"廊\"],[63785,1,\"朗\"],[63786,1,\"浪\"],[63787,1,\"狼\"],[63788,1,\"郎\"],[63789,1,\"來\"],[63790,1,\"冷\"],[63791,1,\"勞\"],[63792,1,\"擄\"],[63793,1,\"櫓\"],[63794,1,\"爐\"],[63795,1,\"盧\"],[63796,1,\"老\"],[63797,1,\"蘆\"],[63798,1,\"虜\"],[63799,1,\"路\"],[63800,1,\"露\"],[63801,1,\"魯\"],[63802,1,\"鷺\"],[63803,1,\"碌\"],[63804,1,\"祿\"],[63805,1,\"綠\"],[63806,1,\"菉\"],[63807,1,\"錄\"],[63808,1,\"鹿\"],[63809,1,\"論\"],[63810,1,\"壟\"],[63811,1,\"弄\"],[63812,1,\"籠\"],[63813,1,\"聾\"],[63814,1,\"牢\"],[63815,1,\"磊\"],[63816,1,\"賂\"],[63817,1,\"雷\"],[63818,1,\"壘\"],[63819,1,\"屢\"],[63820,1,\"樓\"],[63821,1,\"淚\"],[63822,1,\"漏\"],[63823,1,\"累\"],[63824,1,\"縷\"],[63825,1,\"陋\"],[63826,1,\"勒\"],[63827,1,\"肋\"],[63828,1,\"凜\"],[63829,1,\"凌\"],[63830,1,\"稜\"],[63831,1,\"綾\"],[63832,1,\"菱\"],[63833,1,\"陵\"],[63834,1,\"讀\"],[63835,1,\"拏\"],[63836,1,\"樂\"],[63837,1,\"諾\"],[63838,1,\"丹\"],[63839,1,\"寧\"],[63840,1,\"怒\"],[63841,1,\"率\"],[63842,1,\"異\"],[63843,1,\"北\"],[63844,1,\"磻\"],[63845,1,\"便\"],[63846,1,\"復\"],[63847,1,\"不\"],[63848,1,\"泌\"],[63849,1,\"數\"],[63850,1,\"索\"],[63851,1,\"參\"],[63852,1,\"塞\"],[63853,1,\"省\"],[63854,1,\"葉\"],[63855,1,\"說\"],[63856,1,\"殺\"],[63857,1,\"辰\"],[63858,1,\"沈\"],[63859,1,\"拾\"],[63860,1,\"若\"],[63861,1,\"掠\"],[63862,1,\"略\"],[63863,1,\"亮\"],[63864,1,\"兩\"],[63865,1,\"凉\"],[63866,1,\"梁\"],[63867,1,\"糧\"],[63868,1,\"良\"],[63869,1,\"諒\"],[63870,1,\"量\"],[63871,1,\"勵\"],[63872,1,\"呂\"],[63873,1,\"女\"],[63874,1,\"廬\"],[63875,1,\"旅\"],[63876,1,\"濾\"],[63877,1,\"礪\"],[63878,1,\"閭\"],[63879,1,\"驪\"],[63880,1,\"麗\"],[63881,1,\"黎\"],[63882,1,\"力\"],[63883,1,\"曆\"],[63884,1,\"歷\"],[63885,1,\"轢\"],[63886,1,\"年\"],[63887,1,\"憐\"],[63888,1,\"戀\"],[63889,1,\"撚\"],[63890,1,\"漣\"],[63891,1,\"煉\"],[63892,1,\"璉\"],[63893,1,\"秊\"],[63894,1,\"練\"],[63895,1,\"聯\"],[63896,1,\"輦\"],[63897,1,\"蓮\"],[63898,1,\"連\"],[63899,1,\"鍊\"],[63900,1,\"列\"],[63901,1,\"劣\"],[63902,1,\"咽\"],[63903,1,\"烈\"],[63904,1,\"裂\"],[63905,1,\"說\"],[63906,1,\"廉\"],[63907,1,\"念\"],[63908,1,\"捻\"],[63909,1,\"殮\"],[63910,1,\"簾\"],[63911,1,\"獵\"],[63912,1,\"令\"],[63913,1,\"囹\"],[63914,1,\"寧\"],[63915,1,\"嶺\"],[63916,1,\"怜\"],[63917,1,\"玲\"],[63918,1,\"瑩\"],[63919,1,\"羚\"],[63920,1,\"聆\"],[63921,1,\"鈴\"],[63922,1,\"零\"],[63923,1,\"靈\"],[63924,1,\"領\"],[63925,1,\"例\"],[63926,1,\"禮\"],[63927,1,\"醴\"],[63928,1,\"隸\"],[63929,1,\"惡\"],[63930,1,\"了\"],[63931,1,\"僚\"],[63932,1,\"寮\"],[63933,1,\"尿\"],[63934,1,\"料\"],[63935,1,\"樂\"],[63936,1,\"燎\"],[63937,1,\"療\"],[63938,1,\"蓼\"],[63939,1,\"遼\"],[63940,1,\"龍\"],[63941,1,\"暈\"],[63942,1,\"阮\"],[63943,1,\"劉\"],[63944,1,\"杻\"],[63945,1,\"柳\"],[63946,1,\"流\"],[63947,1,\"溜\"],[63948,1,\"琉\"],[63949,1,\"留\"],[63950,1,\"硫\"],[63951,1,\"紐\"],[63952,1,\"類\"],[63953,1,\"六\"],[63954,1,\"戮\"],[63955,1,\"陸\"],[63956,1,\"倫\"],[63957,1,\"崙\"],[63958,1,\"淪\"],[63959,1,\"輪\"],[63960,1,\"律\"],[63961,1,\"慄\"],[63962,1,\"栗\"],[63963,1,\"率\"],[63964,1,\"隆\"],[63965,1,\"利\"],[63966,1,\"吏\"],[63967,1,\"履\"],[63968,1,\"易\"],[63969,1,\"李\"],[63970,1,\"梨\"],[63971,1,\"泥\"],[63972,1,\"理\"],[63973,1,\"痢\"],[63974,1,\"罹\"],[63975,1,\"裏\"],[63976,1,\"裡\"],[63977,1,\"里\"],[63978,1,\"離\"],[63979,1,\"匿\"],[63980,1,\"溺\"],[63981,1,\"吝\"],[63982,1,\"燐\"],[63983,1,\"璘\"],[63984,1,\"藺\"],[63985,1,\"隣\"],[63986,1,\"鱗\"],[63987,1,\"麟\"],[63988,1,\"林\"],[63989,1,\"淋\"],[63990,1,\"臨\"],[63991,1,\"立\"],[63992,1,\"笠\"],[63993,1,\"粒\"],[63994,1,\"狀\"],[63995,1,\"炙\"],[63996,1,\"識\"],[63997,1,\"什\"],[63998,1,\"茶\"],[63999,1,\"刺\"],[64000,1,\"切\"],[64001,1,\"度\"],[64002,1,\"拓\"],[64003,1,\"糖\"],[64004,1,\"宅\"],[64005,1,\"洞\"],[64006,1,\"暴\"],[64007,1,\"輻\"],[64008,1,\"行\"],[64009,1,\"降\"],[64010,1,\"見\"],[64011,1,\"廓\"],[64012,1,\"兀\"],[64013,1,\"嗀\"],[[64014,64015],2],[64016,1,\"塚\"],[64017,2],[64018,1,\"晴\"],[[64019,64020],2],[64021,1,\"凞\"],[64022,1,\"猪\"],[64023,1,\"益\"],[64024,1,\"礼\"],[64025,1,\"神\"],[64026,1,\"祥\"],[64027,1,\"福\"],[64028,1,\"靖\"],[64029,1,\"精\"],[64030,1,\"羽\"],[64031,2],[64032,1,\"蘒\"],[64033,2],[64034,1,\"諸\"],[[64035,64036],2],[64037,1,\"逸\"],[64038,1,\"都\"],[[64039,64041],2],[64042,1,\"飯\"],[64043,1,\"飼\"],[64044,1,\"館\"],[64045,1,\"鶴\"],[64046,1,\"郞\"],[64047,1,\"隷\"],[64048,1,\"侮\"],[64049,1,\"僧\"],[64050,1,\"免\"],[64051,1,\"勉\"],[64052,1,\"勤\"],[64053,1,\"卑\"],[64054,1,\"喝\"],[64055,1,\"嘆\"],[64056,1,\"器\"],[64057,1,\"塀\"],[64058,1,\"墨\"],[64059,1,\"層\"],[64060,1,\"屮\"],[64061,1,\"悔\"],[64062,1,\"慨\"],[64063,1,\"憎\"],[64064,1,\"懲\"],[64065,1,\"敏\"],[64066,1,\"既\"],[64067,1,\"暑\"],[64068,1,\"梅\"],[64069,1,\"海\"],[64070,1,\"渚\"],[64071,1,\"漢\"],[64072,1,\"煮\"],[64073,1,\"爫\"],[64074,1,\"琢\"],[64075,1,\"碑\"],[64076,1,\"社\"],[64077,1,\"祉\"],[64078,1,\"祈\"],[64079,1,\"祐\"],[64080,1,\"祖\"],[64081,1,\"祝\"],[64082,1,\"禍\"],[64083,1,\"禎\"],[64084,1,\"穀\"],[64085,1,\"突\"],[64086,1,\"節\"],[64087,1,\"練\"],[64088,1,\"縉\"],[64089,1,\"繁\"],[64090,1,\"署\"],[64091,1,\"者\"],[64092,1,\"臭\"],[[64093,64094],1,\"艹\"],[64095,1,\"著\"],[64096,1,\"褐\"],[64097,1,\"視\"],[64098,1,\"謁\"],[64099,1,\"謹\"],[64100,1,\"賓\"],[64101,1,\"贈\"],[64102,1,\"辶\"],[64103,1,\"逸\"],[64104,1,\"難\"],[64105,1,\"響\"],[64106,1,\"頻\"],[64107,1,\"恵\"],[64108,1,\"𤋮\"],[64109,1,\"舘\"],[[64110,64111],3],[64112,1,\"並\"],[64113,1,\"况\"],[64114,1,\"全\"],[64115,1,\"侀\"],[64116,1,\"充\"],[64117,1,\"冀\"],[64118,1,\"勇\"],[64119,1,\"勺\"],[64120,1,\"喝\"],[64121,1,\"啕\"],[64122,1,\"喙\"],[64123,1,\"嗢\"],[64124,1,\"塚\"],[64125,1,\"墳\"],[64126,1,\"奄\"],[64127,1,\"奔\"],[64128,1,\"婢\"],[64129,1,\"嬨\"],[64130,1,\"廒\"],[64131,1,\"廙\"],[64132,1,\"彩\"],[64133,1,\"徭\"],[64134,1,\"惘\"],[64135,1,\"慎\"],[64136,1,\"愈\"],[64137,1,\"憎\"],[64138,1,\"慠\"],[64139,1,\"懲\"],[64140,1,\"戴\"],[64141,1,\"揄\"],[64142,1,\"搜\"],[64143,1,\"摒\"],[64144,1,\"敖\"],[64145,1,\"晴\"],[64146,1,\"朗\"],[64147,1,\"望\"],[64148,1,\"杖\"],[64149,1,\"歹\"],[64150,1,\"殺\"],[64151,1,\"流\"],[64152,1,\"滛\"],[64153,1,\"滋\"],[64154,1,\"漢\"],[64155,1,\"瀞\"],[64156,1,\"煮\"],[64157,1,\"瞧\"],[64158,1,\"爵\"],[64159,1,\"犯\"],[64160,1,\"猪\"],[64161,1,\"瑱\"],[64162,1,\"甆\"],[64163,1,\"画\"],[64164,1,\"瘝\"],[64165,1,\"瘟\"],[64166,1,\"益\"],[64167,1,\"盛\"],[64168,1,\"直\"],[64169,1,\"睊\"],[64170,1,\"着\"],[64171,1,\"磌\"],[64172,1,\"窱\"],[64173,1,\"節\"],[64174,1,\"类\"],[64175,1,\"絛\"],[64176,1,\"練\"],[64177,1,\"缾\"],[64178,1,\"者\"],[64179,1,\"荒\"],[64180,1,\"華\"],[64181,1,\"蝹\"],[64182,1,\"襁\"],[64183,1,\"覆\"],[64184,1,\"視\"],[64185,1,\"調\"],[64186,1,\"諸\"],[64187,1,\"請\"],[64188,1,\"謁\"],[64189,1,\"諾\"],[64190,1,\"諭\"],[64191,1,\"謹\"],[64192,1,\"變\"],[64193,1,\"贈\"],[64194,1,\"輸\"],[64195,1,\"遲\"],[64196,1,\"醙\"],[64197,1,\"鉶\"],[64198,1,\"陼\"],[64199,1,\"難\"],[64200,1,\"靖\"],[64201,1,\"韛\"],[64202,1,\"響\"],[64203,1,\"頋\"],[64204,1,\"頻\"],[64205,1,\"鬒\"],[64206,1,\"龜\"],[64207,1,\"𢡊\"],[64208,1,\"𢡄\"],[64209,1,\"𣏕\"],[64210,1,\"㮝\"],[64211,1,\"䀘\"],[64212,1,\"䀹\"],[64213,1,\"𥉉\"],[64214,1,\"𥳐\"],[64215,1,\"𧻓\"],[64216,1,\"齃\"],[64217,1,\"龎\"],[[64218,64255],3],[64256,1,\"ff\"],[64257,1,\"fi\"],[64258,1,\"fl\"],[64259,1,\"ffi\"],[64260,1,\"ffl\"],[[64261,64262],1,\"st\"],[[64263,64274],3],[64275,1,\"մն\"],[64276,1,\"մե\"],[64277,1,\"մի\"],[64278,1,\"վն\"],[64279,1,\"մխ\"],[[64280,64284],3],[64285,1,\"יִ\"],[64286,2],[64287,1,\"ײַ\"],[64288,1,\"ע\"],[64289,1,\"א\"],[64290,1,\"ד\"],[64291,1,\"ה\"],[64292,1,\"כ\"],[64293,1,\"ל\"],[64294,1,\"ם\"],[64295,1,\"ר\"],[64296,1,\"ת\"],[64297,1,\"+\"],[64298,1,\"שׁ\"],[64299,1,\"שׂ\"],[64300,1,\"שּׁ\"],[64301,1,\"שּׂ\"],[64302,1,\"אַ\"],[64303,1,\"אָ\"],[64304,1,\"אּ\"],[64305,1,\"בּ\"],[64306,1,\"גּ\"],[64307,1,\"דּ\"],[64308,1,\"הּ\"],[64309,1,\"וּ\"],[64310,1,\"זּ\"],[64311,3],[64312,1,\"טּ\"],[64313,1,\"יּ\"],[64314,1,\"ךּ\"],[64315,1,\"כּ\"],[64316,1,\"לּ\"],[64317,3],[64318,1,\"מּ\"],[64319,3],[64320,1,\"נּ\"],[64321,1,\"סּ\"],[64322,3],[64323,1,\"ףּ\"],[64324,1,\"פּ\"],[64325,3],[64326,1,\"צּ\"],[64327,1,\"קּ\"],[64328,1,\"רּ\"],[64329,1,\"שּ\"],[64330,1,\"תּ\"],[64331,1,\"וֹ\"],[64332,1,\"בֿ\"],[64333,1,\"כֿ\"],[64334,1,\"פֿ\"],[64335,1,\"אל\"],[[64336,64337],1,\"ٱ\"],[[64338,64341],1,\"ٻ\"],[[64342,64345],1,\"پ\"],[[64346,64349],1,\"ڀ\"],[[64350,64353],1,\"ٺ\"],[[64354,64357],1,\"ٿ\"],[[64358,64361],1,\"ٹ\"],[[64362,64365],1,\"ڤ\"],[[64366,64369],1,\"ڦ\"],[[64370,64373],1,\"ڄ\"],[[64374,64377],1,\"ڃ\"],[[64378,64381],1,\"چ\"],[[64382,64385],1,\"ڇ\"],[[64386,64387],1,\"ڍ\"],[[64388,64389],1,\"ڌ\"],[[64390,64391],1,\"ڎ\"],[[64392,64393],1,\"ڈ\"],[[64394,64395],1,\"ژ\"],[[64396,64397],1,\"ڑ\"],[[64398,64401],1,\"ک\"],[[64402,64405],1,\"گ\"],[[64406,64409],1,\"ڳ\"],[[64410,64413],1,\"ڱ\"],[[64414,64415],1,\"ں\"],[[64416,64419],1,\"ڻ\"],[[64420,64421],1,\"ۀ\"],[[64422,64425],1,\"ہ\"],[[64426,64429],1,\"ھ\"],[[64430,64431],1,\"ے\"],[[64432,64433],1,\"ۓ\"],[[64434,64449],2],[64450,2],[[64451,64466],3],[[64467,64470],1,\"ڭ\"],[[64471,64472],1,\"ۇ\"],[[64473,64474],1,\"ۆ\"],[[64475,64476],1,\"ۈ\"],[64477,1,\"ۇٴ\"],[[64478,64479],1,\"ۋ\"],[[64480,64481],1,\"ۅ\"],[[64482,64483],1,\"ۉ\"],[[64484,64487],1,\"ې\"],[[64488,64489],1,\"ى\"],[[64490,64491],1,\"ئا\"],[[64492,64493],1,\"ئە\"],[[64494,64495],1,\"ئو\"],[[64496,64497],1,\"ئۇ\"],[[64498,64499],1,\"ئۆ\"],[[64500,64501],1,\"ئۈ\"],[[64502,64504],1,\"ئې\"],[[64505,64507],1,\"ئى\"],[[64508,64511],1,\"ی\"],[64512,1,\"ئج\"],[64513,1,\"ئح\"],[64514,1,\"ئم\"],[64515,1,\"ئى\"],[64516,1,\"ئي\"],[64517,1,\"بج\"],[64518,1,\"بح\"],[64519,1,\"بخ\"],[64520,1,\"بم\"],[64521,1,\"بى\"],[64522,1,\"بي\"],[64523,1,\"تج\"],[64524,1,\"تح\"],[64525,1,\"تخ\"],[64526,1,\"تم\"],[64527,1,\"تى\"],[64528,1,\"تي\"],[64529,1,\"ثج\"],[64530,1,\"ثم\"],[64531,1,\"ثى\"],[64532,1,\"ثي\"],[64533,1,\"جح\"],[64534,1,\"جم\"],[64535,1,\"حج\"],[64536,1,\"حم\"],[64537,1,\"خج\"],[64538,1,\"خح\"],[64539,1,\"خم\"],[64540,1,\"سج\"],[64541,1,\"سح\"],[64542,1,\"سخ\"],[64543,1,\"سم\"],[64544,1,\"صح\"],[64545,1,\"صم\"],[64546,1,\"ضج\"],[64547,1,\"ضح\"],[64548,1,\"ضخ\"],[64549,1,\"ضم\"],[64550,1,\"طح\"],[64551,1,\"طم\"],[64552,1,\"ظم\"],[64553,1,\"عج\"],[64554,1,\"عم\"],[64555,1,\"غج\"],[64556,1,\"غم\"],[64557,1,\"فج\"],[64558,1,\"فح\"],[64559,1,\"فخ\"],[64560,1,\"فم\"],[64561,1,\"فى\"],[64562,1,\"في\"],[64563,1,\"قح\"],[64564,1,\"قم\"],[64565,1,\"قى\"],[64566,1,\"قي\"],[64567,1,\"كا\"],[64568,1,\"كج\"],[64569,1,\"كح\"],[64570,1,\"كخ\"],[64571,1,\"كل\"],[64572,1,\"كم\"],[64573,1,\"كى\"],[64574,1,\"كي\"],[64575,1,\"لج\"],[64576,1,\"لح\"],[64577,1,\"لخ\"],[64578,1,\"لم\"],[64579,1,\"لى\"],[64580,1,\"لي\"],[64581,1,\"مج\"],[64582,1,\"مح\"],[64583,1,\"مخ\"],[64584,1,\"مم\"],[64585,1,\"مى\"],[64586,1,\"مي\"],[64587,1,\"نج\"],[64588,1,\"نح\"],[64589,1,\"نخ\"],[64590,1,\"نم\"],[64591,1,\"نى\"],[64592,1,\"ني\"],[64593,1,\"هج\"],[64594,1,\"هم\"],[64595,1,\"هى\"],[64596,1,\"هي\"],[64597,1,\"يج\"],[64598,1,\"يح\"],[64599,1,\"يخ\"],[64600,1,\"يم\"],[64601,1,\"يى\"],[64602,1,\"يي\"],[64603,1,\"ذٰ\"],[64604,1,\"رٰ\"],[64605,1,\"ىٰ\"],[64606,1,\" ٌّ\"],[64607,1,\" ٍّ\"],[64608,1,\" َّ\"],[64609,1,\" ُّ\"],[64610,1,\" ِّ\"],[64611,1,\" ّٰ\"],[64612,1,\"ئر\"],[64613,1,\"ئز\"],[64614,1,\"ئم\"],[64615,1,\"ئن\"],[64616,1,\"ئى\"],[64617,1,\"ئي\"],[64618,1,\"بر\"],[64619,1,\"بز\"],[64620,1,\"بم\"],[64621,1,\"بن\"],[64622,1,\"بى\"],[64623,1,\"بي\"],[64624,1,\"تر\"],[64625,1,\"تز\"],[64626,1,\"تم\"],[64627,1,\"تن\"],[64628,1,\"تى\"],[64629,1,\"تي\"],[64630,1,\"ثر\"],[64631,1,\"ثز\"],[64632,1,\"ثم\"],[64633,1,\"ثن\"],[64634,1,\"ثى\"],[64635,1,\"ثي\"],[64636,1,\"فى\"],[64637,1,\"في\"],[64638,1,\"قى\"],[64639,1,\"قي\"],[64640,1,\"كا\"],[64641,1,\"كل\"],[64642,1,\"كم\"],[64643,1,\"كى\"],[64644,1,\"كي\"],[64645,1,\"لم\"],[64646,1,\"لى\"],[64647,1,\"لي\"],[64648,1,\"ما\"],[64649,1,\"مم\"],[64650,1,\"نر\"],[64651,1,\"نز\"],[64652,1,\"نم\"],[64653,1,\"نن\"],[64654,1,\"نى\"],[64655,1,\"ني\"],[64656,1,\"ىٰ\"],[64657,1,\"ير\"],[64658,1,\"يز\"],[64659,1,\"يم\"],[64660,1,\"ين\"],[64661,1,\"يى\"],[64662,1,\"يي\"],[64663,1,\"ئج\"],[64664,1,\"ئح\"],[64665,1,\"ئخ\"],[64666,1,\"ئم\"],[64667,1,\"ئه\"],[64668,1,\"بج\"],[64669,1,\"بح\"],[64670,1,\"بخ\"],[64671,1,\"بم\"],[64672,1,\"به\"],[64673,1,\"تج\"],[64674,1,\"تح\"],[64675,1,\"تخ\"],[64676,1,\"تم\"],[64677,1,\"ته\"],[64678,1,\"ثم\"],[64679,1,\"جح\"],[64680,1,\"جم\"],[64681,1,\"حج\"],[64682,1,\"حم\"],[64683,1,\"خج\"],[64684,1,\"خم\"],[64685,1,\"سج\"],[64686,1,\"سح\"],[64687,1,\"سخ\"],[64688,1,\"سم\"],[64689,1,\"صح\"],[64690,1,\"صخ\"],[64691,1,\"صم\"],[64692,1,\"ضج\"],[64693,1,\"ضح\"],[64694,1,\"ضخ\"],[64695,1,\"ضم\"],[64696,1,\"طح\"],[64697,1,\"ظم\"],[64698,1,\"عج\"],[64699,1,\"عم\"],[64700,1,\"غج\"],[64701,1,\"غم\"],[64702,1,\"فج\"],[64703,1,\"فح\"],[64704,1,\"فخ\"],[64705,1,\"فم\"],[64706,1,\"قح\"],[64707,1,\"قم\"],[64708,1,\"كج\"],[64709,1,\"كح\"],[64710,1,\"كخ\"],[64711,1,\"كل\"],[64712,1,\"كم\"],[64713,1,\"لج\"],[64714,1,\"لح\"],[64715,1,\"لخ\"],[64716,1,\"لم\"],[64717,1,\"له\"],[64718,1,\"مج\"],[64719,1,\"مح\"],[64720,1,\"مخ\"],[64721,1,\"مم\"],[64722,1,\"نج\"],[64723,1,\"نح\"],[64724,1,\"نخ\"],[64725,1,\"نم\"],[64726,1,\"نه\"],[64727,1,\"هج\"],[64728,1,\"هم\"],[64729,1,\"هٰ\"],[64730,1,\"يج\"],[64731,1,\"يح\"],[64732,1,\"يخ\"],[64733,1,\"يم\"],[64734,1,\"يه\"],[64735,1,\"ئم\"],[64736,1,\"ئه\"],[64737,1,\"بم\"],[64738,1,\"به\"],[64739,1,\"تم\"],[64740,1,\"ته\"],[64741,1,\"ثم\"],[64742,1,\"ثه\"],[64743,1,\"سم\"],[64744,1,\"سه\"],[64745,1,\"شم\"],[64746,1,\"شه\"],[64747,1,\"كل\"],[64748,1,\"كم\"],[64749,1,\"لم\"],[64750,1,\"نم\"],[64751,1,\"نه\"],[64752,1,\"يم\"],[64753,1,\"يه\"],[64754,1,\"ـَّ\"],[64755,1,\"ـُّ\"],[64756,1,\"ـِّ\"],[64757,1,\"طى\"],[64758,1,\"طي\"],[64759,1,\"عى\"],[64760,1,\"عي\"],[64761,1,\"غى\"],[64762,1,\"غي\"],[64763,1,\"سى\"],[64764,1,\"سي\"],[64765,1,\"شى\"],[64766,1,\"شي\"],[64767,1,\"حى\"],[64768,1,\"حي\"],[64769,1,\"جى\"],[64770,1,\"جي\"],[64771,1,\"خى\"],[64772,1,\"خي\"],[64773,1,\"صى\"],[64774,1,\"صي\"],[64775,1,\"ضى\"],[64776,1,\"ضي\"],[64777,1,\"شج\"],[64778,1,\"شح\"],[64779,1,\"شخ\"],[64780,1,\"شم\"],[64781,1,\"شر\"],[64782,1,\"سر\"],[64783,1,\"صر\"],[64784,1,\"ضر\"],[64785,1,\"طى\"],[64786,1,\"طي\"],[64787,1,\"عى\"],[64788,1,\"عي\"],[64789,1,\"غى\"],[64790,1,\"غي\"],[64791,1,\"سى\"],[64792,1,\"سي\"],[64793,1,\"شى\"],[64794,1,\"شي\"],[64795,1,\"حى\"],[64796,1,\"حي\"],[64797,1,\"جى\"],[64798,1,\"جي\"],[64799,1,\"خى\"],[64800,1,\"خي\"],[64801,1,\"صى\"],[64802,1,\"صي\"],[64803,1,\"ضى\"],[64804,1,\"ضي\"],[64805,1,\"شج\"],[64806,1,\"شح\"],[64807,1,\"شخ\"],[64808,1,\"شم\"],[64809,1,\"شر\"],[64810,1,\"سر\"],[64811,1,\"صر\"],[64812,1,\"ضر\"],[64813,1,\"شج\"],[64814,1,\"شح\"],[64815,1,\"شخ\"],[64816,1,\"شم\"],[64817,1,\"سه\"],[64818,1,\"شه\"],[64819,1,\"طم\"],[64820,1,\"سج\"],[64821,1,\"سح\"],[64822,1,\"سخ\"],[64823,1,\"شج\"],[64824,1,\"شح\"],[64825,1,\"شخ\"],[64826,1,\"طم\"],[64827,1,\"ظم\"],[[64828,64829],1,\"اً\"],[[64830,64831],2],[[64832,64847],2],[64848,1,\"تجم\"],[[64849,64850],1,\"تحج\"],[64851,1,\"تحم\"],[64852,1,\"تخم\"],[64853,1,\"تمج\"],[64854,1,\"تمح\"],[64855,1,\"تمخ\"],[[64856,64857],1,\"جمح\"],[64858,1,\"حمي\"],[64859,1,\"حمى\"],[64860,1,\"سحج\"],[64861,1,\"سجح\"],[64862,1,\"سجى\"],[[64863,64864],1,\"سمح\"],[64865,1,\"سمج\"],[[64866,64867],1,\"سمم\"],[[64868,64869],1,\"صحح\"],[64870,1,\"صمم\"],[[64871,64872],1,\"شحم\"],[64873,1,\"شجي\"],[[64874,64875],1,\"شمخ\"],[[64876,64877],1,\"شمم\"],[64878,1,\"ضحى\"],[[64879,64880],1,\"ضخم\"],[[64881,64882],1,\"طمح\"],[64883,1,\"طمم\"],[64884,1,\"طمي\"],[64885,1,\"عجم\"],[[64886,64887],1,\"عمم\"],[64888,1,\"عمى\"],[64889,1,\"غمم\"],[64890,1,\"غمي\"],[64891,1,\"غمى\"],[[64892,64893],1,\"فخم\"],[64894,1,\"قمح\"],[64895,1,\"قمم\"],[64896,1,\"لحم\"],[64897,1,\"لحي\"],[64898,1,\"لحى\"],[[64899,64900],1,\"لجج\"],[[64901,64902],1,\"لخم\"],[[64903,64904],1,\"لمح\"],[64905,1,\"محج\"],[64906,1,\"محم\"],[64907,1,\"محي\"],[64908,1,\"مجح\"],[64909,1,\"مجم\"],[64910,1,\"مخج\"],[64911,1,\"مخم\"],[[64912,64913],3],[64914,1,\"مجخ\"],[64915,1,\"همج\"],[64916,1,\"همم\"],[64917,1,\"نحم\"],[64918,1,\"نحى\"],[[64919,64920],1,\"نجم\"],[64921,1,\"نجى\"],[64922,1,\"نمي\"],[64923,1,\"نمى\"],[[64924,64925],1,\"يمم\"],[64926,1,\"بخي\"],[64927,1,\"تجي\"],[64928,1,\"تجى\"],[64929,1,\"تخي\"],[64930,1,\"تخى\"],[64931,1,\"تمي\"],[64932,1,\"تمى\"],[64933,1,\"جمي\"],[64934,1,\"جحى\"],[64935,1,\"جمى\"],[64936,1,\"سخى\"],[64937,1,\"صحي\"],[64938,1,\"شحي\"],[64939,1,\"ضحي\"],[64940,1,\"لجي\"],[64941,1,\"لمي\"],[64942,1,\"يحي\"],[64943,1,\"يجي\"],[64944,1,\"يمي\"],[64945,1,\"ممي\"],[64946,1,\"قمي\"],[64947,1,\"نحي\"],[64948,1,\"قمح\"],[64949,1,\"لحم\"],[64950,1,\"عمي\"],[64951,1,\"كمي\"],[64952,1,\"نجح\"],[64953,1,\"مخي\"],[64954,1,\"لجم\"],[64955,1,\"كمم\"],[64956,1,\"لجم\"],[64957,1,\"نجح\"],[64958,1,\"جحي\"],[64959,1,\"حجي\"],[64960,1,\"مجي\"],[64961,1,\"فمي\"],[64962,1,\"بحي\"],[64963,1,\"كمم\"],[64964,1,\"عجم\"],[64965,1,\"صمم\"],[64966,1,\"سخي\"],[64967,1,\"نجي\"],[[64968,64974],3],[64975,2],[[64976,65007],3],[65008,1,\"صلے\"],[65009,1,\"قلے\"],[65010,1,\"الله\"],[65011,1,\"اكبر\"],[65012,1,\"محمد\"],[65013,1,\"صلعم\"],[65014,1,\"رسول\"],[65015,1,\"عليه\"],[65016,1,\"وسلم\"],[65017,1,\"صلى\"],[65018,1,\"صلى الله عليه وسلم\"],[65019,1,\"جل جلاله\"],[65020,1,\"ریال\"],[65021,2],[[65022,65023],2],[[65024,65039],7],[65040,1,\",\"],[65041,1,\"、\"],[65042,3],[65043,1,\":\"],[65044,1,\";\"],[65045,1,\"!\"],[65046,1,\"?\"],[65047,1,\"〖\"],[65048,1,\"〗\"],[65049,3],[[65050,65055],3],[[65056,65059],2],[[65060,65062],2],[[65063,65069],2],[[65070,65071],2],[65072,3],[65073,1,\"—\"],[65074,1,\"–\"],[[65075,65076],1,\"_\"],[65077,1,\"(\"],[65078,1,\")\"],[65079,1,\"{\"],[65080,1,\"}\"],[65081,1,\"〔\"],[65082,1,\"〕\"],[65083,1,\"【\"],[65084,1,\"】\"],[65085,1,\"《\"],[65086,1,\"》\"],[65087,1,\"〈\"],[65088,1,\"〉\"],[65089,1,\"「\"],[65090,1,\"」\"],[65091,1,\"『\"],[65092,1,\"』\"],[[65093,65094],2],[65095,1,\"[\"],[65096,1,\"]\"],[[65097,65100],1,\" ̅\"],[[65101,65103],1,\"_\"],[65104,1,\",\"],[65105,1,\"、\"],[65106,3],[65107,3],[65108,1,\";\"],[65109,1,\":\"],[65110,1,\"?\"],[65111,1,\"!\"],[65112,1,\"—\"],[65113,1,\"(\"],[65114,1,\")\"],[65115,1,\"{\"],[65116,1,\"}\"],[65117,1,\"〔\"],[65118,1,\"〕\"],[65119,1,\"#\"],[65120,1,\"&\"],[65121,1,\"*\"],[65122,1,\"+\"],[65123,1,\"-\"],[65124,1,\"<\"],[65125,1,\">\"],[65126,1,\"=\"],[65127,3],[65128,1,\"\\\\\"],[65129,1,\"$\"],[65130,1,\"%\"],[65131,1,\"@\"],[[65132,65135],3],[65136,1,\" ً\"],[65137,1,\"ـً\"],[65138,1,\" ٌ\"],[65139,2],[65140,1,\" ٍ\"],[65141,3],[65142,1,\" َ\"],[65143,1,\"ـَ\"],[65144,1,\" ُ\"],[65145,1,\"ـُ\"],[65146,1,\" ِ\"],[65147,1,\"ـِ\"],[65148,1,\" ّ\"],[65149,1,\"ـّ\"],[65150,1,\" ْ\"],[65151,1,\"ـْ\"],[65152,1,\"ء\"],[[65153,65154],1,\"آ\"],[[65155,65156],1,\"أ\"],[[65157,65158],1,\"ؤ\"],[[65159,65160],1,\"إ\"],[[65161,65164],1,\"ئ\"],[[65165,65166],1,\"ا\"],[[65167,65170],1,\"ب\"],[[65171,65172],1,\"ة\"],[[65173,65176],1,\"ت\"],[[65177,65180],1,\"ث\"],[[65181,65184],1,\"ج\"],[[65185,65188],1,\"ح\"],[[65189,65192],1,\"خ\"],[[65193,65194],1,\"د\"],[[65195,65196],1,\"ذ\"],[[65197,65198],1,\"ر\"],[[65199,65200],1,\"ز\"],[[65201,65204],1,\"س\"],[[65205,65208],1,\"ش\"],[[65209,65212],1,\"ص\"],[[65213,65216],1,\"ض\"],[[65217,65220],1,\"ط\"],[[65221,65224],1,\"ظ\"],[[65225,65228],1,\"ع\"],[[65229,65232],1,\"غ\"],[[65233,65236],1,\"ف\"],[[65237,65240],1,\"ق\"],[[65241,65244],1,\"ك\"],[[65245,65248],1,\"ل\"],[[65249,65252],1,\"م\"],[[65253,65256],1,\"ن\"],[[65257,65260],1,\"ه\"],[[65261,65262],1,\"و\"],[[65263,65264],1,\"ى\"],[[65265,65268],1,\"ي\"],[[65269,65270],1,\"لآ\"],[[65271,65272],1,\"لأ\"],[[65273,65274],1,\"لإ\"],[[65275,65276],1,\"لا\"],[[65277,65278],3],[65279,7],[65280,3],[65281,1,\"!\"],[65282,1,\"\\\"\"],[65283,1,\"#\"],[65284,1,\"$\"],[65285,1,\"%\"],[65286,1,\"&\"],[65287,1,\"'\"],[65288,1,\"(\"],[65289,1,\")\"],[65290,1,\"*\"],[65291,1,\"+\"],[65292,1,\",\"],[65293,1,\"-\"],[65294,1,\".\"],[65295,1,\"/\"],[65296,1,\"0\"],[65297,1,\"1\"],[65298,1,\"2\"],[65299,1,\"3\"],[65300,1,\"4\"],[65301,1,\"5\"],[65302,1,\"6\"],[65303,1,\"7\"],[65304,1,\"8\"],[65305,1,\"9\"],[65306,1,\":\"],[65307,1,\";\"],[65308,1,\"<\"],[65309,1,\"=\"],[65310,1,\">\"],[65311,1,\"?\"],[65312,1,\"@\"],[65313,1,\"a\"],[65314,1,\"b\"],[65315,1,\"c\"],[65316,1,\"d\"],[65317,1,\"e\"],[65318,1,\"f\"],[65319,1,\"g\"],[65320,1,\"h\"],[65321,1,\"i\"],[65322,1,\"j\"],[65323,1,\"k\"],[65324,1,\"l\"],[65325,1,\"m\"],[65326,1,\"n\"],[65327,1,\"o\"],[65328,1,\"p\"],[65329,1,\"q\"],[65330,1,\"r\"],[65331,1,\"s\"],[65332,1,\"t\"],[65333,1,\"u\"],[65334,1,\"v\"],[65335,1,\"w\"],[65336,1,\"x\"],[65337,1,\"y\"],[65338,1,\"z\"],[65339,1,\"[\"],[65340,1,\"\\\\\"],[65341,1,\"]\"],[65342,1,\"^\"],[65343,1,\"_\"],[65344,1,\"`\"],[65345,1,\"a\"],[65346,1,\"b\"],[65347,1,\"c\"],[65348,1,\"d\"],[65349,1,\"e\"],[65350,1,\"f\"],[65351,1,\"g\"],[65352,1,\"h\"],[65353,1,\"i\"],[65354,1,\"j\"],[65355,1,\"k\"],[65356,1,\"l\"],[65357,1,\"m\"],[65358,1,\"n\"],[65359,1,\"o\"],[65360,1,\"p\"],[65361,1,\"q\"],[65362,1,\"r\"],[65363,1,\"s\"],[65364,1,\"t\"],[65365,1,\"u\"],[65366,1,\"v\"],[65367,1,\"w\"],[65368,1,\"x\"],[65369,1,\"y\"],[65370,1,\"z\"],[65371,1,\"{\"],[65372,1,\"|\"],[65373,1,\"}\"],[65374,1,\"~\"],[65375,1,\"⦅\"],[65376,1,\"⦆\"],[65377,1,\".\"],[65378,1,\"「\"],[65379,1,\"」\"],[65380,1,\"、\"],[65381,1,\"・\"],[65382,1,\"ヲ\"],[65383,1,\"ァ\"],[65384,1,\"ィ\"],[65385,1,\"ゥ\"],[65386,1,\"ェ\"],[65387,1,\"ォ\"],[65388,1,\"ャ\"],[65389,1,\"ュ\"],[65390,1,\"ョ\"],[65391,1,\"ッ\"],[65392,1,\"ー\"],[65393,1,\"ア\"],[65394,1,\"イ\"],[65395,1,\"ウ\"],[65396,1,\"エ\"],[65397,1,\"オ\"],[65398,1,\"カ\"],[65399,1,\"キ\"],[65400,1,\"ク\"],[65401,1,\"ケ\"],[65402,1,\"コ\"],[65403,1,\"サ\"],[65404,1,\"シ\"],[65405,1,\"ス\"],[65406,1,\"セ\"],[65407,1,\"ソ\"],[65408,1,\"タ\"],[65409,1,\"チ\"],[65410,1,\"ツ\"],[65411,1,\"テ\"],[65412,1,\"ト\"],[65413,1,\"ナ\"],[65414,1,\"ニ\"],[65415,1,\"ヌ\"],[65416,1,\"ネ\"],[65417,1,\"ノ\"],[65418,1,\"ハ\"],[65419,1,\"ヒ\"],[65420,1,\"フ\"],[65421,1,\"ヘ\"],[65422,1,\"ホ\"],[65423,1,\"マ\"],[65424,1,\"ミ\"],[65425,1,\"ム\"],[65426,1,\"メ\"],[65427,1,\"モ\"],[65428,1,\"ヤ\"],[65429,1,\"ユ\"],[65430,1,\"ヨ\"],[65431,1,\"ラ\"],[65432,1,\"リ\"],[65433,1,\"ル\"],[65434,1,\"レ\"],[65435,1,\"ロ\"],[65436,1,\"ワ\"],[65437,1,\"ン\"],[65438,1,\"゙\"],[65439,1,\"゚\"],[65440,7],[65441,1,\"ᄀ\"],[65442,1,\"ᄁ\"],[65443,1,\"ᆪ\"],[65444,1,\"ᄂ\"],[65445,1,\"ᆬ\"],[65446,1,\"ᆭ\"],[65447,1,\"ᄃ\"],[65448,1,\"ᄄ\"],[65449,1,\"ᄅ\"],[65450,1,\"ᆰ\"],[65451,1,\"ᆱ\"],[65452,1,\"ᆲ\"],[65453,1,\"ᆳ\"],[65454,1,\"ᆴ\"],[65455,1,\"ᆵ\"],[65456,1,\"ᄚ\"],[65457,1,\"ᄆ\"],[65458,1,\"ᄇ\"],[65459,1,\"ᄈ\"],[65460,1,\"ᄡ\"],[65461,1,\"ᄉ\"],[65462,1,\"ᄊ\"],[65463,1,\"ᄋ\"],[65464,1,\"ᄌ\"],[65465,1,\"ᄍ\"],[65466,1,\"ᄎ\"],[65467,1,\"ᄏ\"],[65468,1,\"ᄐ\"],[65469,1,\"ᄑ\"],[65470,1,\"ᄒ\"],[[65471,65473],3],[65474,1,\"ᅡ\"],[65475,1,\"ᅢ\"],[65476,1,\"ᅣ\"],[65477,1,\"ᅤ\"],[65478,1,\"ᅥ\"],[65479,1,\"ᅦ\"],[[65480,65481],3],[65482,1,\"ᅧ\"],[65483,1,\"ᅨ\"],[65484,1,\"ᅩ\"],[65485,1,\"ᅪ\"],[65486,1,\"ᅫ\"],[65487,1,\"ᅬ\"],[[65488,65489],3],[65490,1,\"ᅭ\"],[65491,1,\"ᅮ\"],[65492,1,\"ᅯ\"],[65493,1,\"ᅰ\"],[65494,1,\"ᅱ\"],[65495,1,\"ᅲ\"],[[65496,65497],3],[65498,1,\"ᅳ\"],[65499,1,\"ᅴ\"],[65500,1,\"ᅵ\"],[[65501,65503],3],[65504,1,\"¢\"],[65505,1,\"£\"],[65506,1,\"¬\"],[65507,1,\" ̄\"],[65508,1,\"¦\"],[65509,1,\"¥\"],[65510,1,\"₩\"],[65511,3],[65512,1,\"│\"],[65513,1,\"←\"],[65514,1,\"↑\"],[65515,1,\"→\"],[65516,1,\"↓\"],[65517,1,\"■\"],[65518,1,\"○\"],[[65519,65528],3],[[65529,65531],3],[65532,3],[65533,3],[[65534,65535],3],[[65536,65547],2],[65548,3],[[65549,65574],2],[65575,3],[[65576,65594],2],[65595,3],[[65596,65597],2],[65598,3],[[65599,65613],2],[[65614,65615],3],[[65616,65629],2],[[65630,65663],3],[[65664,65786],2],[[65787,65791],3],[[65792,65794],2],[[65795,65798],3],[[65799,65843],2],[[65844,65846],3],[[65847,65855],2],[[65856,65930],2],[[65931,65932],2],[[65933,65934],2],[65935,3],[[65936,65947],2],[65948,2],[[65949,65951],3],[65952,2],[[65953,65999],3],[[66000,66044],2],[66045,2],[[66046,66175],3],[[66176,66204],2],[[66205,66207],3],[[66208,66256],2],[[66257,66271],3],[66272,2],[[66273,66299],2],[[66300,66303],3],[[66304,66334],2],[66335,2],[[66336,66339],2],[[66340,66348],3],[[66349,66351],2],[[66352,66368],2],[66369,2],[[66370,66377],2],[66378,2],[[66379,66383],3],[[66384,66426],2],[[66427,66431],3],[[66432,66461],2],[66462,3],[66463,2],[[66464,66499],2],[[66500,66503],3],[[66504,66511],2],[[66512,66517],2],[[66518,66559],3],[66560,1,\"𐐨\"],[66561,1,\"𐐩\"],[66562,1,\"𐐪\"],[66563,1,\"𐐫\"],[66564,1,\"𐐬\"],[66565,1,\"𐐭\"],[66566,1,\"𐐮\"],[66567,1,\"𐐯\"],[66568,1,\"𐐰\"],[66569,1,\"𐐱\"],[66570,1,\"𐐲\"],[66571,1,\"𐐳\"],[66572,1,\"𐐴\"],[66573,1,\"𐐵\"],[66574,1,\"𐐶\"],[66575,1,\"𐐷\"],[66576,1,\"𐐸\"],[66577,1,\"𐐹\"],[66578,1,\"𐐺\"],[66579,1,\"𐐻\"],[66580,1,\"𐐼\"],[66581,1,\"𐐽\"],[66582,1,\"𐐾\"],[66583,1,\"𐐿\"],[66584,1,\"𐑀\"],[66585,1,\"𐑁\"],[66586,1,\"𐑂\"],[66587,1,\"𐑃\"],[66588,1,\"𐑄\"],[66589,1,\"𐑅\"],[66590,1,\"𐑆\"],[66591,1,\"𐑇\"],[66592,1,\"𐑈\"],[66593,1,\"𐑉\"],[66594,1,\"𐑊\"],[66595,1,\"𐑋\"],[66596,1,\"𐑌\"],[66597,1,\"𐑍\"],[66598,1,\"𐑎\"],[66599,1,\"𐑏\"],[[66600,66637],2],[[66638,66717],2],[[66718,66719],3],[[66720,66729],2],[[66730,66735],3],[66736,1,\"𐓘\"],[66737,1,\"𐓙\"],[66738,1,\"𐓚\"],[66739,1,\"𐓛\"],[66740,1,\"𐓜\"],[66741,1,\"𐓝\"],[66742,1,\"𐓞\"],[66743,1,\"𐓟\"],[66744,1,\"𐓠\"],[66745,1,\"𐓡\"],[66746,1,\"𐓢\"],[66747,1,\"𐓣\"],[66748,1,\"𐓤\"],[66749,1,\"𐓥\"],[66750,1,\"𐓦\"],[66751,1,\"𐓧\"],[66752,1,\"𐓨\"],[66753,1,\"𐓩\"],[66754,1,\"𐓪\"],[66755,1,\"𐓫\"],[66756,1,\"𐓬\"],[66757,1,\"𐓭\"],[66758,1,\"𐓮\"],[66759,1,\"𐓯\"],[66760,1,\"𐓰\"],[66761,1,\"𐓱\"],[66762,1,\"𐓲\"],[66763,1,\"𐓳\"],[66764,1,\"𐓴\"],[66765,1,\"𐓵\"],[66766,1,\"𐓶\"],[66767,1,\"𐓷\"],[66768,1,\"𐓸\"],[66769,1,\"𐓹\"],[66770,1,\"𐓺\"],[66771,1,\"𐓻\"],[[66772,66775],3],[[66776,66811],2],[[66812,66815],3],[[66816,66855],2],[[66856,66863],3],[[66864,66915],2],[[66916,66926],3],[66927,2],[66928,1,\"𐖗\"],[66929,1,\"𐖘\"],[66930,1,\"𐖙\"],[66931,1,\"𐖚\"],[66932,1,\"𐖛\"],[66933,1,\"𐖜\"],[66934,1,\"𐖝\"],[66935,1,\"𐖞\"],[66936,1,\"𐖟\"],[66937,1,\"𐖠\"],[66938,1,\"𐖡\"],[66939,3],[66940,1,\"𐖣\"],[66941,1,\"𐖤\"],[66942,1,\"𐖥\"],[66943,1,\"𐖦\"],[66944,1,\"𐖧\"],[66945,1,\"𐖨\"],[66946,1,\"𐖩\"],[66947,1,\"𐖪\"],[66948,1,\"𐖫\"],[66949,1,\"𐖬\"],[66950,1,\"𐖭\"],[66951,1,\"𐖮\"],[66952,1,\"𐖯\"],[66953,1,\"𐖰\"],[66954,1,\"𐖱\"],[66955,3],[66956,1,\"𐖳\"],[66957,1,\"𐖴\"],[66958,1,\"𐖵\"],[66959,1,\"𐖶\"],[66960,1,\"𐖷\"],[66961,1,\"𐖸\"],[66962,1,\"𐖹\"],[66963,3],[66964,1,\"𐖻\"],[66965,1,\"𐖼\"],[66966,3],[[66967,66977],2],[66978,3],[[66979,66993],2],[66994,3],[[66995,67001],2],[67002,3],[[67003,67004],2],[[67005,67007],3],[[67008,67059],2],[[67060,67071],3],[[67072,67382],2],[[67383,67391],3],[[67392,67413],2],[[67414,67423],3],[[67424,67431],2],[[67432,67455],3],[67456,2],[67457,1,\"ː\"],[67458,1,\"ˑ\"],[67459,1,\"æ\"],[67460,1,\"ʙ\"],[67461,1,\"ɓ\"],[67462,3],[67463,1,\"ʣ\"],[67464,1,\"ꭦ\"],[67465,1,\"ʥ\"],[67466,1,\"ʤ\"],[67467,1,\"ɖ\"],[67468,1,\"ɗ\"],[67469,1,\"ᶑ\"],[67470,1,\"ɘ\"],[67471,1,\"ɞ\"],[67472,1,\"ʩ\"],[67473,1,\"ɤ\"],[67474,1,\"ɢ\"],[67475,1,\"ɠ\"],[67476,1,\"ʛ\"],[67477,1,\"ħ\"],[67478,1,\"ʜ\"],[67479,1,\"ɧ\"],[67480,1,\"ʄ\"],[67481,1,\"ʪ\"],[67482,1,\"ʫ\"],[67483,1,\"ɬ\"],[67484,1,\"𝼄\"],[67485,1,\"ꞎ\"],[67486,1,\"ɮ\"],[67487,1,\"𝼅\"],[67488,1,\"ʎ\"],[67489,1,\"𝼆\"],[67490,1,\"ø\"],[67491,1,\"ɶ\"],[67492,1,\"ɷ\"],[67493,1,\"q\"],[67494,1,\"ɺ\"],[67495,1,\"𝼈\"],[67496,1,\"ɽ\"],[67497,1,\"ɾ\"],[67498,1,\"ʀ\"],[67499,1,\"ʨ\"],[67500,1,\"ʦ\"],[67501,1,\"ꭧ\"],[67502,1,\"ʧ\"],[67503,1,\"ʈ\"],[67504,1,\"ⱱ\"],[67505,3],[67506,1,\"ʏ\"],[67507,1,\"ʡ\"],[67508,1,\"ʢ\"],[67509,1,\"ʘ\"],[67510,1,\"ǀ\"],[67511,1,\"ǁ\"],[67512,1,\"ǂ\"],[67513,1,\"𝼊\"],[67514,1,\"𝼞\"],[[67515,67583],3],[[67584,67589],2],[[67590,67591],3],[67592,2],[67593,3],[[67594,67637],2],[67638,3],[[67639,67640],2],[[67641,67643],3],[67644,2],[[67645,67646],3],[67647,2],[[67648,67669],2],[67670,3],[[67671,67679],2],[[67680,67702],2],[[67703,67711],2],[[67712,67742],2],[[67743,67750],3],[[67751,67759],2],[[67760,67807],3],[[67808,67826],2],[67827,3],[[67828,67829],2],[[67830,67834],3],[[67835,67839],2],[[67840,67861],2],[[67862,67865],2],[[67866,67867],2],[[67868,67870],3],[67871,2],[[67872,67897],2],[[67898,67902],3],[67903,2],[[67904,67967],3],[[67968,68023],2],[[68024,68027],3],[[68028,68029],2],[[68030,68031],2],[[68032,68047],2],[[68048,68049],3],[[68050,68095],2],[[68096,68099],2],[68100,3],[[68101,68102],2],[[68103,68107],3],[[68108,68115],2],[68116,3],[[68117,68119],2],[68120,3],[[68121,68147],2],[[68148,68149],2],[[68150,68151],3],[[68152,68154],2],[[68155,68158],3],[68159,2],[[68160,68167],2],[68168,2],[[68169,68175],3],[[68176,68184],2],[[68185,68191],3],[[68192,68220],2],[[68221,68223],2],[[68224,68252],2],[[68253,68255],2],[[68256,68287],3],[[68288,68295],2],[68296,2],[[68297,68326],2],[[68327,68330],3],[[68331,68342],2],[[68343,68351],3],[[68352,68405],2],[[68406,68408],3],[[68409,68415],2],[[68416,68437],2],[[68438,68439],3],[[68440,68447],2],[[68448,68466],2],[[68467,68471],3],[[68472,68479],2],[[68480,68497],2],[[68498,68504],3],[[68505,68508],2],[[68509,68520],3],[[68521,68527],2],[[68528,68607],3],[[68608,68680],2],[[68681,68735],3],[68736,1,\"𐳀\"],[68737,1,\"𐳁\"],[68738,1,\"𐳂\"],[68739,1,\"𐳃\"],[68740,1,\"𐳄\"],[68741,1,\"𐳅\"],[68742,1,\"𐳆\"],[68743,1,\"𐳇\"],[68744,1,\"𐳈\"],[68745,1,\"𐳉\"],[68746,1,\"𐳊\"],[68747,1,\"𐳋\"],[68748,1,\"𐳌\"],[68749,1,\"𐳍\"],[68750,1,\"𐳎\"],[68751,1,\"𐳏\"],[68752,1,\"𐳐\"],[68753,1,\"𐳑\"],[68754,1,\"𐳒\"],[68755,1,\"𐳓\"],[68756,1,\"𐳔\"],[68757,1,\"𐳕\"],[68758,1,\"𐳖\"],[68759,1,\"𐳗\"],[68760,1,\"𐳘\"],[68761,1,\"𐳙\"],[68762,1,\"𐳚\"],[68763,1,\"𐳛\"],[68764,1,\"𐳜\"],[68765,1,\"𐳝\"],[68766,1,\"𐳞\"],[68767,1,\"𐳟\"],[68768,1,\"𐳠\"],[68769,1,\"𐳡\"],[68770,1,\"𐳢\"],[68771,1,\"𐳣\"],[68772,1,\"𐳤\"],[68773,1,\"𐳥\"],[68774,1,\"𐳦\"],[68775,1,\"𐳧\"],[68776,1,\"𐳨\"],[68777,1,\"𐳩\"],[68778,1,\"𐳪\"],[68779,1,\"𐳫\"],[68780,1,\"𐳬\"],[68781,1,\"𐳭\"],[68782,1,\"𐳮\"],[68783,1,\"𐳯\"],[68784,1,\"𐳰\"],[68785,1,\"𐳱\"],[68786,1,\"𐳲\"],[[68787,68799],3],[[68800,68850],2],[[68851,68857],3],[[68858,68863],2],[[68864,68903],2],[[68904,68911],3],[[68912,68921],2],[[68922,68927],3],[[68928,68943],2],[68944,1,\"\"],[68945,1,\"\"],[68946,1,\"\"],[68947,1,\"\"],[68948,1,\"\"],[68949,1,\"\"],[68950,1,\"\"],[68951,1,\"\"],[68952,1,\"\"],[68953,1,\"\"],[68954,1,\"\"],[68955,1,\"\"],[68956,1,\"\"],[68957,1,\"\"],[68958,1,\"\"],[68959,1,\"\"],[68960,1,\"\"],[68961,1,\"\"],[68962,1,\"\"],[68963,1,\"\"],[68964,1,\"\"],[68965,1,\"\"],[[68966,68968],3],[[68969,68973],2],[68974,2],[[68975,68997],2],[[68998,69005],3],[[69006,69007],2],[[69008,69215],3],[[69216,69246],2],[69247,3],[[69248,69289],2],[69290,3],[[69291,69292],2],[69293,2],[[69294,69295],3],[[69296,69297],2],[[69298,69313],3],[[69314,69316],2],[[69317,69371],3],[69372,2],[[69373,69375],2],[[69376,69404],2],[[69405,69414],2],[69415,2],[[69416,69423],3],[[69424,69456],2],[[69457,69465],2],[[69466,69487],3],[[69488,69509],2],[[69510,69513],2],[[69514,69551],3],[[69552,69572],2],[[69573,69579],2],[[69580,69599],3],[[69600,69622],2],[[69623,69631],3],[[69632,69702],2],[[69703,69709],2],[[69710,69713],3],[[69714,69733],2],[[69734,69743],2],[[69744,69749],2],[[69750,69758],3],[69759,2],[[69760,69818],2],[[69819,69820],2],[69821,3],[[69822,69825],2],[69826,2],[[69827,69836],3],[69837,3],[[69838,69839],3],[[69840,69864],2],[[69865,69871],3],[[69872,69881],2],[[69882,69887],3],[[69888,69940],2],[69941,3],[[69942,69951],2],[[69952,69955],2],[[69956,69958],2],[69959,2],[[69960,69967],3],[[69968,70003],2],[[70004,70005],2],[70006,2],[[70007,70015],3],[[70016,70084],2],[[70085,70088],2],[[70089,70092],2],[70093,2],[[70094,70095],2],[[70096,70105],2],[70106,2],[70107,2],[70108,2],[[70109,70111],2],[70112,3],[[70113,70132],2],[[70133,70143],3],[[70144,70161],2],[70162,3],[[70163,70199],2],[[70200,70205],2],[70206,2],[[70207,70209],2],[[70210,70271],3],[[70272,70278],2],[70279,3],[70280,2],[70281,3],[[70282,70285],2],[70286,3],[[70287,70301],2],[70302,3],[[70303,70312],2],[70313,2],[[70314,70319],3],[[70320,70378],2],[[70379,70383],3],[[70384,70393],2],[[70394,70399],3],[70400,2],[[70401,70403],2],[70404,3],[[70405,70412],2],[[70413,70414],3],[[70415,70416],2],[[70417,70418],3],[[70419,70440],2],[70441,3],[[70442,70448],2],[70449,3],[[70450,70451],2],[70452,3],[[70453,70457],2],[70458,3],[70459,2],[[70460,70468],2],[[70469,70470],3],[[70471,70472],2],[[70473,70474],3],[[70475,70477],2],[[70478,70479],3],[70480,2],[[70481,70486],3],[70487,2],[[70488,70492],3],[[70493,70499],2],[[70500,70501],3],[[70502,70508],2],[[70509,70511],3],[[70512,70516],2],[[70517,70527],3],[[70528,70537],2],[70538,3],[70539,2],[[70540,70541],3],[70542,2],[70543,3],[[70544,70581],2],[70582,3],[[70583,70592],2],[70593,3],[70594,2],[[70595,70596],3],[70597,2],[70598,3],[[70599,70602],2],[70603,3],[[70604,70611],2],[[70612,70613],2],[70614,3],[[70615,70616],2],[[70617,70624],3],[[70625,70626],2],[[70627,70655],3],[[70656,70730],2],[[70731,70735],2],[[70736,70745],2],[70746,2],[70747,2],[70748,3],[70749,2],[70750,2],[70751,2],[[70752,70753],2],[[70754,70783],3],[[70784,70853],2],[70854,2],[70855,2],[[70856,70863],3],[[70864,70873],2],[[70874,71039],3],[[71040,71093],2],[[71094,71095],3],[[71096,71104],2],[[71105,71113],2],[[71114,71127],2],[[71128,71133],2],[[71134,71167],3],[[71168,71232],2],[[71233,71235],2],[71236,2],[[71237,71247],3],[[71248,71257],2],[[71258,71263],3],[[71264,71276],2],[[71277,71295],3],[[71296,71351],2],[71352,2],[71353,2],[[71354,71359],3],[[71360,71369],2],[[71370,71375],3],[[71376,71395],2],[[71396,71423],3],[[71424,71449],2],[71450,2],[[71451,71452],3],[[71453,71467],2],[[71468,71471],3],[[71472,71481],2],[[71482,71487],2],[[71488,71494],2],[[71495,71679],3],[[71680,71738],2],[71739,2],[[71740,71839],3],[71840,1,\"𑣀\"],[71841,1,\"𑣁\"],[71842,1,\"𑣂\"],[71843,1,\"𑣃\"],[71844,1,\"𑣄\"],[71845,1,\"𑣅\"],[71846,1,\"𑣆\"],[71847,1,\"𑣇\"],[71848,1,\"𑣈\"],[71849,1,\"𑣉\"],[71850,1,\"𑣊\"],[71851,1,\"𑣋\"],[71852,1,\"𑣌\"],[71853,1,\"𑣍\"],[71854,1,\"𑣎\"],[71855,1,\"𑣏\"],[71856,1,\"𑣐\"],[71857,1,\"𑣑\"],[71858,1,\"𑣒\"],[71859,1,\"𑣓\"],[71860,1,\"𑣔\"],[71861,1,\"𑣕\"],[71862,1,\"𑣖\"],[71863,1,\"𑣗\"],[71864,1,\"𑣘\"],[71865,1,\"𑣙\"],[71866,1,\"𑣚\"],[71867,1,\"𑣛\"],[71868,1,\"𑣜\"],[71869,1,\"𑣝\"],[71870,1,\"𑣞\"],[71871,1,\"𑣟\"],[[71872,71913],2],[[71914,71922],2],[[71923,71934],3],[71935,2],[[71936,71942],2],[[71943,71944],3],[71945,2],[[71946,71947],3],[[71948,71955],2],[71956,3],[[71957,71958],2],[71959,3],[[71960,71989],2],[71990,3],[[71991,71992],2],[[71993,71994],3],[[71995,72003],2],[[72004,72006],2],[[72007,72015],3],[[72016,72025],2],[[72026,72095],3],[[72096,72103],2],[[72104,72105],3],[[72106,72151],2],[[72152,72153],3],[[72154,72161],2],[72162,2],[[72163,72164],2],[[72165,72191],3],[[72192,72254],2],[[72255,72262],2],[72263,2],[[72264,72271],3],[[72272,72323],2],[[72324,72325],2],[[72326,72345],2],[[72346,72348],2],[72349,2],[[72350,72354],2],[[72355,72367],3],[[72368,72383],2],[[72384,72440],2],[[72441,72447],3],[[72448,72457],2],[[72458,72639],3],[[72640,72672],2],[72673,2],[[72674,72687],3],[[72688,72697],2],[[72698,72703],3],[[72704,72712],2],[72713,3],[[72714,72758],2],[72759,3],[[72760,72768],2],[[72769,72773],2],[[72774,72783],3],[[72784,72793],2],[[72794,72812],2],[[72813,72815],3],[[72816,72817],2],[[72818,72847],2],[[72848,72849],3],[[72850,72871],2],[72872,3],[[72873,72886],2],[[72887,72959],3],[[72960,72966],2],[72967,3],[[72968,72969],2],[72970,3],[[72971,73014],2],[[73015,73017],3],[73018,2],[73019,3],[[73020,73021],2],[73022,3],[[73023,73031],2],[[73032,73039],3],[[73040,73049],2],[[73050,73055],3],[[73056,73061],2],[73062,3],[[73063,73064],2],[73065,3],[[73066,73102],2],[73103,3],[[73104,73105],2],[73106,3],[[73107,73112],2],[[73113,73119],3],[[73120,73129],2],[[73130,73439],3],[[73440,73462],2],[[73463,73464],2],[[73465,73471],3],[[73472,73488],2],[73489,3],[[73490,73530],2],[[73531,73533],3],[[73534,73538],2],[[73539,73551],2],[[73552,73561],2],[73562,2],[[73563,73647],3],[73648,2],[[73649,73663],3],[[73664,73713],2],[[73714,73726],3],[73727,2],[[73728,74606],2],[[74607,74648],2],[74649,2],[[74650,74751],3],[[74752,74850],2],[[74851,74862],2],[74863,3],[[74864,74867],2],[74868,2],[[74869,74879],3],[[74880,75075],2],[[75076,77711],3],[[77712,77808],2],[[77809,77810],2],[[77811,77823],3],[[77824,78894],2],[78895,2],[[78896,78904],3],[[78905,78911],3],[[78912,78933],2],[[78934,78943],3],[[78944,82938],2],[[82939,82943],3],[[82944,83526],2],[[83527,90367],3],[[90368,90425],2],[[90426,92159],3],[[92160,92728],2],[[92729,92735],3],[[92736,92766],2],[92767,3],[[92768,92777],2],[[92778,92781],3],[[92782,92783],2],[[92784,92862],2],[92863,3],[[92864,92873],2],[[92874,92879],3],[[92880,92909],2],[[92910,92911],3],[[92912,92916],2],[92917,2],[[92918,92927],3],[[92928,92982],2],[[92983,92991],2],[[92992,92995],2],[[92996,92997],2],[[92998,93007],3],[[93008,93017],2],[93018,3],[[93019,93025],2],[93026,3],[[93027,93047],2],[[93048,93052],3],[[93053,93071],2],[[93072,93503],3],[[93504,93548],2],[[93549,93551],2],[[93552,93561],2],[[93562,93759],3],[93760,1,\"𖹠\"],[93761,1,\"𖹡\"],[93762,1,\"𖹢\"],[93763,1,\"𖹣\"],[93764,1,\"𖹤\"],[93765,1,\"𖹥\"],[93766,1,\"𖹦\"],[93767,1,\"𖹧\"],[93768,1,\"𖹨\"],[93769,1,\"𖹩\"],[93770,1,\"𖹪\"],[93771,1,\"𖹫\"],[93772,1,\"𖹬\"],[93773,1,\"𖹭\"],[93774,1,\"𖹮\"],[93775,1,\"𖹯\"],[93776,1,\"𖹰\"],[93777,1,\"𖹱\"],[93778,1,\"𖹲\"],[93779,1,\"𖹳\"],[93780,1,\"𖹴\"],[93781,1,\"𖹵\"],[93782,1,\"𖹶\"],[93783,1,\"𖹷\"],[93784,1,\"𖹸\"],[93785,1,\"𖹹\"],[93786,1,\"𖹺\"],[93787,1,\"𖹻\"],[93788,1,\"𖹼\"],[93789,1,\"𖹽\"],[93790,1,\"𖹾\"],[93791,1,\"𖹿\"],[[93792,93823],2],[[93824,93850],2],[[93851,93951],3],[[93952,94020],2],[[94021,94026],2],[[94027,94030],3],[94031,2],[[94032,94078],2],[[94079,94087],2],[[94088,94094],3],[[94095,94111],2],[[94112,94175],3],[94176,2],[94177,2],[94178,2],[94179,2],[94180,2],[[94181,94191],3],[[94192,94193],2],[[94194,94207],3],[[94208,100332],2],[[100333,100337],2],[[100338,100343],2],[[100344,100351],3],[[100352,101106],2],[[101107,101589],2],[[101590,101630],3],[101631,2],[[101632,101640],2],[[101641,110575],3],[[110576,110579],2],[110580,3],[[110581,110587],2],[110588,3],[[110589,110590],2],[110591,3],[[110592,110593],2],[[110594,110878],2],[[110879,110882],2],[[110883,110897],3],[110898,2],[[110899,110927],3],[[110928,110930],2],[[110931,110932],3],[110933,2],[[110934,110947],3],[[110948,110951],2],[[110952,110959],3],[[110960,111355],2],[[111356,113663],3],[[113664,113770],2],[[113771,113775],3],[[113776,113788],2],[[113789,113791],3],[[113792,113800],2],[[113801,113807],3],[[113808,113817],2],[[113818,113819],3],[113820,2],[[113821,113822],2],[113823,2],[[113824,113827],7],[[113828,117759],3],[[117760,117973],2],[117974,1,\"a\"],[117975,1,\"b\"],[117976,1,\"c\"],[117977,1,\"d\"],[117978,1,\"e\"],[117979,1,\"f\"],[117980,1,\"g\"],[117981,1,\"h\"],[117982,1,\"i\"],[117983,1,\"j\"],[117984,1,\"k\"],[117985,1,\"l\"],[117986,1,\"m\"],[117987,1,\"n\"],[117988,1,\"o\"],[117989,1,\"p\"],[117990,1,\"q\"],[117991,1,\"r\"],[117992,1,\"s\"],[117993,1,\"t\"],[117994,1,\"u\"],[117995,1,\"v\"],[117996,1,\"w\"],[117997,1,\"x\"],[117998,1,\"y\"],[117999,1,\"z\"],[118000,1,\"0\"],[118001,1,\"1\"],[118002,1,\"2\"],[118003,1,\"3\"],[118004,1,\"4\"],[118005,1,\"5\"],[118006,1,\"6\"],[118007,1,\"7\"],[118008,1,\"8\"],[118009,1,\"9\"],[[118010,118015],3],[[118016,118451],2],[[118452,118527],3],[[118528,118573],2],[[118574,118575],3],[[118576,118598],2],[[118599,118607],3],[[118608,118723],2],[[118724,118783],3],[[118784,119029],2],[[119030,119039],3],[[119040,119078],2],[[119079,119080],3],[119081,2],[[119082,119133],2],[119134,1,\"𝅗𝅥\"],[119135,1,\"𝅘𝅥\"],[119136,1,\"𝅘𝅥𝅮\"],[119137,1,\"𝅘𝅥𝅯\"],[119138,1,\"𝅘𝅥𝅰\"],[119139,1,\"𝅘𝅥𝅱\"],[119140,1,\"𝅘𝅥𝅲\"],[[119141,119154],2],[[119155,119162],7],[[119163,119226],2],[119227,1,\"𝆹𝅥\"],[119228,1,\"𝆺𝅥\"],[119229,1,\"𝆹𝅥𝅮\"],[119230,1,\"𝆺𝅥𝅮\"],[119231,1,\"𝆹𝅥𝅯\"],[119232,1,\"𝆺𝅥𝅯\"],[[119233,119261],2],[[119262,119272],2],[[119273,119274],2],[[119275,119295],3],[[119296,119365],2],[[119366,119487],3],[[119488,119507],2],[[119508,119519],3],[[119520,119539],2],[[119540,119551],3],[[119552,119638],2],[[119639,119647],3],[[119648,119665],2],[[119666,119672],2],[[119673,119807],3],[119808,1,\"a\"],[119809,1,\"b\"],[119810,1,\"c\"],[119811,1,\"d\"],[119812,1,\"e\"],[119813,1,\"f\"],[119814,1,\"g\"],[119815,1,\"h\"],[119816,1,\"i\"],[119817,1,\"j\"],[119818,1,\"k\"],[119819,1,\"l\"],[119820,1,\"m\"],[119821,1,\"n\"],[119822,1,\"o\"],[119823,1,\"p\"],[119824,1,\"q\"],[119825,1,\"r\"],[119826,1,\"s\"],[119827,1,\"t\"],[119828,1,\"u\"],[119829,1,\"v\"],[119830,1,\"w\"],[119831,1,\"x\"],[119832,1,\"y\"],[119833,1,\"z\"],[119834,1,\"a\"],[119835,1,\"b\"],[119836,1,\"c\"],[119837,1,\"d\"],[119838,1,\"e\"],[119839,1,\"f\"],[119840,1,\"g\"],[119841,1,\"h\"],[119842,1,\"i\"],[119843,1,\"j\"],[119844,1,\"k\"],[119845,1,\"l\"],[119846,1,\"m\"],[119847,1,\"n\"],[119848,1,\"o\"],[119849,1,\"p\"],[119850,1,\"q\"],[119851,1,\"r\"],[119852,1,\"s\"],[119853,1,\"t\"],[119854,1,\"u\"],[119855,1,\"v\"],[119856,1,\"w\"],[119857,1,\"x\"],[119858,1,\"y\"],[119859,1,\"z\"],[119860,1,\"a\"],[119861,1,\"b\"],[119862,1,\"c\"],[119863,1,\"d\"],[119864,1,\"e\"],[119865,1,\"f\"],[119866,1,\"g\"],[119867,1,\"h\"],[119868,1,\"i\"],[119869,1,\"j\"],[119870,1,\"k\"],[119871,1,\"l\"],[119872,1,\"m\"],[119873,1,\"n\"],[119874,1,\"o\"],[119875,1,\"p\"],[119876,1,\"q\"],[119877,1,\"r\"],[119878,1,\"s\"],[119879,1,\"t\"],[119880,1,\"u\"],[119881,1,\"v\"],[119882,1,\"w\"],[119883,1,\"x\"],[119884,1,\"y\"],[119885,1,\"z\"],[119886,1,\"a\"],[119887,1,\"b\"],[119888,1,\"c\"],[119889,1,\"d\"],[119890,1,\"e\"],[119891,1,\"f\"],[119892,1,\"g\"],[119893,3],[119894,1,\"i\"],[119895,1,\"j\"],[119896,1,\"k\"],[119897,1,\"l\"],[119898,1,\"m\"],[119899,1,\"n\"],[119900,1,\"o\"],[119901,1,\"p\"],[119902,1,\"q\"],[119903,1,\"r\"],[119904,1,\"s\"],[119905,1,\"t\"],[119906,1,\"u\"],[119907,1,\"v\"],[119908,1,\"w\"],[119909,1,\"x\"],[119910,1,\"y\"],[119911,1,\"z\"],[119912,1,\"a\"],[119913,1,\"b\"],[119914,1,\"c\"],[119915,1,\"d\"],[119916,1,\"e\"],[119917,1,\"f\"],[119918,1,\"g\"],[119919,1,\"h\"],[119920,1,\"i\"],[119921,1,\"j\"],[119922,1,\"k\"],[119923,1,\"l\"],[119924,1,\"m\"],[119925,1,\"n\"],[119926,1,\"o\"],[119927,1,\"p\"],[119928,1,\"q\"],[119929,1,\"r\"],[119930,1,\"s\"],[119931,1,\"t\"],[119932,1,\"u\"],[119933,1,\"v\"],[119934,1,\"w\"],[119935,1,\"x\"],[119936,1,\"y\"],[119937,1,\"z\"],[119938,1,\"a\"],[119939,1,\"b\"],[119940,1,\"c\"],[119941,1,\"d\"],[119942,1,\"e\"],[119943,1,\"f\"],[119944,1,\"g\"],[119945,1,\"h\"],[119946,1,\"i\"],[119947,1,\"j\"],[119948,1,\"k\"],[119949,1,\"l\"],[119950,1,\"m\"],[119951,1,\"n\"],[119952,1,\"o\"],[119953,1,\"p\"],[119954,1,\"q\"],[119955,1,\"r\"],[119956,1,\"s\"],[119957,1,\"t\"],[119958,1,\"u\"],[119959,1,\"v\"],[119960,1,\"w\"],[119961,1,\"x\"],[119962,1,\"y\"],[119963,1,\"z\"],[119964,1,\"a\"],[119965,3],[119966,1,\"c\"],[119967,1,\"d\"],[[119968,119969],3],[119970,1,\"g\"],[[119971,119972],3],[119973,1,\"j\"],[119974,1,\"k\"],[[119975,119976],3],[119977,1,\"n\"],[119978,1,\"o\"],[119979,1,\"p\"],[119980,1,\"q\"],[119981,3],[119982,1,\"s\"],[119983,1,\"t\"],[119984,1,\"u\"],[119985,1,\"v\"],[119986,1,\"w\"],[119987,1,\"x\"],[119988,1,\"y\"],[119989,1,\"z\"],[119990,1,\"a\"],[119991,1,\"b\"],[119992,1,\"c\"],[119993,1,\"d\"],[119994,3],[119995,1,\"f\"],[119996,3],[119997,1,\"h\"],[119998,1,\"i\"],[119999,1,\"j\"],[120000,1,\"k\"],[120001,1,\"l\"],[120002,1,\"m\"],[120003,1,\"n\"],[120004,3],[120005,1,\"p\"],[120006,1,\"q\"],[120007,1,\"r\"],[120008,1,\"s\"],[120009,1,\"t\"],[120010,1,\"u\"],[120011,1,\"v\"],[120012,1,\"w\"],[120013,1,\"x\"],[120014,1,\"y\"],[120015,1,\"z\"],[120016,1,\"a\"],[120017,1,\"b\"],[120018,1,\"c\"],[120019,1,\"d\"],[120020,1,\"e\"],[120021,1,\"f\"],[120022,1,\"g\"],[120023,1,\"h\"],[120024,1,\"i\"],[120025,1,\"j\"],[120026,1,\"k\"],[120027,1,\"l\"],[120028,1,\"m\"],[120029,1,\"n\"],[120030,1,\"o\"],[120031,1,\"p\"],[120032,1,\"q\"],[120033,1,\"r\"],[120034,1,\"s\"],[120035,1,\"t\"],[120036,1,\"u\"],[120037,1,\"v\"],[120038,1,\"w\"],[120039,1,\"x\"],[120040,1,\"y\"],[120041,1,\"z\"],[120042,1,\"a\"],[120043,1,\"b\"],[120044,1,\"c\"],[120045,1,\"d\"],[120046,1,\"e\"],[120047,1,\"f\"],[120048,1,\"g\"],[120049,1,\"h\"],[120050,1,\"i\"],[120051,1,\"j\"],[120052,1,\"k\"],[120053,1,\"l\"],[120054,1,\"m\"],[120055,1,\"n\"],[120056,1,\"o\"],[120057,1,\"p\"],[120058,1,\"q\"],[120059,1,\"r\"],[120060,1,\"s\"],[120061,1,\"t\"],[120062,1,\"u\"],[120063,1,\"v\"],[120064,1,\"w\"],[120065,1,\"x\"],[120066,1,\"y\"],[120067,1,\"z\"],[120068,1,\"a\"],[120069,1,\"b\"],[120070,3],[120071,1,\"d\"],[120072,1,\"e\"],[120073,1,\"f\"],[120074,1,\"g\"],[[120075,120076],3],[120077,1,\"j\"],[120078,1,\"k\"],[120079,1,\"l\"],[120080,1,\"m\"],[120081,1,\"n\"],[120082,1,\"o\"],[120083,1,\"p\"],[120084,1,\"q\"],[120085,3],[120086,1,\"s\"],[120087,1,\"t\"],[120088,1,\"u\"],[120089,1,\"v\"],[120090,1,\"w\"],[120091,1,\"x\"],[120092,1,\"y\"],[120093,3],[120094,1,\"a\"],[120095,1,\"b\"],[120096,1,\"c\"],[120097,1,\"d\"],[120098,1,\"e\"],[120099,1,\"f\"],[120100,1,\"g\"],[120101,1,\"h\"],[120102,1,\"i\"],[120103,1,\"j\"],[120104,1,\"k\"],[120105,1,\"l\"],[120106,1,\"m\"],[120107,1,\"n\"],[120108,1,\"o\"],[120109,1,\"p\"],[120110,1,\"q\"],[120111,1,\"r\"],[120112,1,\"s\"],[120113,1,\"t\"],[120114,1,\"u\"],[120115,1,\"v\"],[120116,1,\"w\"],[120117,1,\"x\"],[120118,1,\"y\"],[120119,1,\"z\"],[120120,1,\"a\"],[120121,1,\"b\"],[120122,3],[120123,1,\"d\"],[120124,1,\"e\"],[120125,1,\"f\"],[120126,1,\"g\"],[120127,3],[120128,1,\"i\"],[120129,1,\"j\"],[120130,1,\"k\"],[120131,1,\"l\"],[120132,1,\"m\"],[120133,3],[120134,1,\"o\"],[[120135,120137],3],[120138,1,\"s\"],[120139,1,\"t\"],[120140,1,\"u\"],[120141,1,\"v\"],[120142,1,\"w\"],[120143,1,\"x\"],[120144,1,\"y\"],[120145,3],[120146,1,\"a\"],[120147,1,\"b\"],[120148,1,\"c\"],[120149,1,\"d\"],[120150,1,\"e\"],[120151,1,\"f\"],[120152,1,\"g\"],[120153,1,\"h\"],[120154,1,\"i\"],[120155,1,\"j\"],[120156,1,\"k\"],[120157,1,\"l\"],[120158,1,\"m\"],[120159,1,\"n\"],[120160,1,\"o\"],[120161,1,\"p\"],[120162,1,\"q\"],[120163,1,\"r\"],[120164,1,\"s\"],[120165,1,\"t\"],[120166,1,\"u\"],[120167,1,\"v\"],[120168,1,\"w\"],[120169,1,\"x\"],[120170,1,\"y\"],[120171,1,\"z\"],[120172,1,\"a\"],[120173,1,\"b\"],[120174,1,\"c\"],[120175,1,\"d\"],[120176,1,\"e\"],[120177,1,\"f\"],[120178,1,\"g\"],[120179,1,\"h\"],[120180,1,\"i\"],[120181,1,\"j\"],[120182,1,\"k\"],[120183,1,\"l\"],[120184,1,\"m\"],[120185,1,\"n\"],[120186,1,\"o\"],[120187,1,\"p\"],[120188,1,\"q\"],[120189,1,\"r\"],[120190,1,\"s\"],[120191,1,\"t\"],[120192,1,\"u\"],[120193,1,\"v\"],[120194,1,\"w\"],[120195,1,\"x\"],[120196,1,\"y\"],[120197,1,\"z\"],[120198,1,\"a\"],[120199,1,\"b\"],[120200,1,\"c\"],[120201,1,\"d\"],[120202,1,\"e\"],[120203,1,\"f\"],[120204,1,\"g\"],[120205,1,\"h\"],[120206,1,\"i\"],[120207,1,\"j\"],[120208,1,\"k\"],[120209,1,\"l\"],[120210,1,\"m\"],[120211,1,\"n\"],[120212,1,\"o\"],[120213,1,\"p\"],[120214,1,\"q\"],[120215,1,\"r\"],[120216,1,\"s\"],[120217,1,\"t\"],[120218,1,\"u\"],[120219,1,\"v\"],[120220,1,\"w\"],[120221,1,\"x\"],[120222,1,\"y\"],[120223,1,\"z\"],[120224,1,\"a\"],[120225,1,\"b\"],[120226,1,\"c\"],[120227,1,\"d\"],[120228,1,\"e\"],[120229,1,\"f\"],[120230,1,\"g\"],[120231,1,\"h\"],[120232,1,\"i\"],[120233,1,\"j\"],[120234,1,\"k\"],[120235,1,\"l\"],[120236,1,\"m\"],[120237,1,\"n\"],[120238,1,\"o\"],[120239,1,\"p\"],[120240,1,\"q\"],[120241,1,\"r\"],[120242,1,\"s\"],[120243,1,\"t\"],[120244,1,\"u\"],[120245,1,\"v\"],[120246,1,\"w\"],[120247,1,\"x\"],[120248,1,\"y\"],[120249,1,\"z\"],[120250,1,\"a\"],[120251,1,\"b\"],[120252,1,\"c\"],[120253,1,\"d\"],[120254,1,\"e\"],[120255,1,\"f\"],[120256,1,\"g\"],[120257,1,\"h\"],[120258,1,\"i\"],[120259,1,\"j\"],[120260,1,\"k\"],[120261,1,\"l\"],[120262,1,\"m\"],[120263,1,\"n\"],[120264,1,\"o\"],[120265,1,\"p\"],[120266,1,\"q\"],[120267,1,\"r\"],[120268,1,\"s\"],[120269,1,\"t\"],[120270,1,\"u\"],[120271,1,\"v\"],[120272,1,\"w\"],[120273,1,\"x\"],[120274,1,\"y\"],[120275,1,\"z\"],[120276,1,\"a\"],[120277,1,\"b\"],[120278,1,\"c\"],[120279,1,\"d\"],[120280,1,\"e\"],[120281,1,\"f\"],[120282,1,\"g\"],[120283,1,\"h\"],[120284,1,\"i\"],[120285,1,\"j\"],[120286,1,\"k\"],[120287,1,\"l\"],[120288,1,\"m\"],[120289,1,\"n\"],[120290,1,\"o\"],[120291,1,\"p\"],[120292,1,\"q\"],[120293,1,\"r\"],[120294,1,\"s\"],[120295,1,\"t\"],[120296,1,\"u\"],[120297,1,\"v\"],[120298,1,\"w\"],[120299,1,\"x\"],[120300,1,\"y\"],[120301,1,\"z\"],[120302,1,\"a\"],[120303,1,\"b\"],[120304,1,\"c\"],[120305,1,\"d\"],[120306,1,\"e\"],[120307,1,\"f\"],[120308,1,\"g\"],[120309,1,\"h\"],[120310,1,\"i\"],[120311,1,\"j\"],[120312,1,\"k\"],[120313,1,\"l\"],[120314,1,\"m\"],[120315,1,\"n\"],[120316,1,\"o\"],[120317,1,\"p\"],[120318,1,\"q\"],[120319,1,\"r\"],[120320,1,\"s\"],[120321,1,\"t\"],[120322,1,\"u\"],[120323,1,\"v\"],[120324,1,\"w\"],[120325,1,\"x\"],[120326,1,\"y\"],[120327,1,\"z\"],[120328,1,\"a\"],[120329,1,\"b\"],[120330,1,\"c\"],[120331,1,\"d\"],[120332,1,\"e\"],[120333,1,\"f\"],[120334,1,\"g\"],[120335,1,\"h\"],[120336,1,\"i\"],[120337,1,\"j\"],[120338,1,\"k\"],[120339,1,\"l\"],[120340,1,\"m\"],[120341,1,\"n\"],[120342,1,\"o\"],[120343,1,\"p\"],[120344,1,\"q\"],[120345,1,\"r\"],[120346,1,\"s\"],[120347,1,\"t\"],[120348,1,\"u\"],[120349,1,\"v\"],[120350,1,\"w\"],[120351,1,\"x\"],[120352,1,\"y\"],[120353,1,\"z\"],[120354,1,\"a\"],[120355,1,\"b\"],[120356,1,\"c\"],[120357,1,\"d\"],[120358,1,\"e\"],[120359,1,\"f\"],[120360,1,\"g\"],[120361,1,\"h\"],[120362,1,\"i\"],[120363,1,\"j\"],[120364,1,\"k\"],[120365,1,\"l\"],[120366,1,\"m\"],[120367,1,\"n\"],[120368,1,\"o\"],[120369,1,\"p\"],[120370,1,\"q\"],[120371,1,\"r\"],[120372,1,\"s\"],[120373,1,\"t\"],[120374,1,\"u\"],[120375,1,\"v\"],[120376,1,\"w\"],[120377,1,\"x\"],[120378,1,\"y\"],[120379,1,\"z\"],[120380,1,\"a\"],[120381,1,\"b\"],[120382,1,\"c\"],[120383,1,\"d\"],[120384,1,\"e\"],[120385,1,\"f\"],[120386,1,\"g\"],[120387,1,\"h\"],[120388,1,\"i\"],[120389,1,\"j\"],[120390,1,\"k\"],[120391,1,\"l\"],[120392,1,\"m\"],[120393,1,\"n\"],[120394,1,\"o\"],[120395,1,\"p\"],[120396,1,\"q\"],[120397,1,\"r\"],[120398,1,\"s\"],[120399,1,\"t\"],[120400,1,\"u\"],[120401,1,\"v\"],[120402,1,\"w\"],[120403,1,\"x\"],[120404,1,\"y\"],[120405,1,\"z\"],[120406,1,\"a\"],[120407,1,\"b\"],[120408,1,\"c\"],[120409,1,\"d\"],[120410,1,\"e\"],[120411,1,\"f\"],[120412,1,\"g\"],[120413,1,\"h\"],[120414,1,\"i\"],[120415,1,\"j\"],[120416,1,\"k\"],[120417,1,\"l\"],[120418,1,\"m\"],[120419,1,\"n\"],[120420,1,\"o\"],[120421,1,\"p\"],[120422,1,\"q\"],[120423,1,\"r\"],[120424,1,\"s\"],[120425,1,\"t\"],[120426,1,\"u\"],[120427,1,\"v\"],[120428,1,\"w\"],[120429,1,\"x\"],[120430,1,\"y\"],[120431,1,\"z\"],[120432,1,\"a\"],[120433,1,\"b\"],[120434,1,\"c\"],[120435,1,\"d\"],[120436,1,\"e\"],[120437,1,\"f\"],[120438,1,\"g\"],[120439,1,\"h\"],[120440,1,\"i\"],[120441,1,\"j\"],[120442,1,\"k\"],[120443,1,\"l\"],[120444,1,\"m\"],[120445,1,\"n\"],[120446,1,\"o\"],[120447,1,\"p\"],[120448,1,\"q\"],[120449,1,\"r\"],[120450,1,\"s\"],[120451,1,\"t\"],[120452,1,\"u\"],[120453,1,\"v\"],[120454,1,\"w\"],[120455,1,\"x\"],[120456,1,\"y\"],[120457,1,\"z\"],[120458,1,\"a\"],[120459,1,\"b\"],[120460,1,\"c\"],[120461,1,\"d\"],[120462,1,\"e\"],[120463,1,\"f\"],[120464,1,\"g\"],[120465,1,\"h\"],[120466,1,\"i\"],[120467,1,\"j\"],[120468,1,\"k\"],[120469,1,\"l\"],[120470,1,\"m\"],[120471,1,\"n\"],[120472,1,\"o\"],[120473,1,\"p\"],[120474,1,\"q\"],[120475,1,\"r\"],[120476,1,\"s\"],[120477,1,\"t\"],[120478,1,\"u\"],[120479,1,\"v\"],[120480,1,\"w\"],[120481,1,\"x\"],[120482,1,\"y\"],[120483,1,\"z\"],[120484,1,\"ı\"],[120485,1,\"ȷ\"],[[120486,120487],3],[120488,1,\"α\"],[120489,1,\"β\"],[120490,1,\"γ\"],[120491,1,\"δ\"],[120492,1,\"ε\"],[120493,1,\"ζ\"],[120494,1,\"η\"],[120495,1,\"θ\"],[120496,1,\"ι\"],[120497,1,\"κ\"],[120498,1,\"λ\"],[120499,1,\"μ\"],[120500,1,\"ν\"],[120501,1,\"ξ\"],[120502,1,\"ο\"],[120503,1,\"π\"],[120504,1,\"ρ\"],[120505,1,\"θ\"],[120506,1,\"σ\"],[120507,1,\"τ\"],[120508,1,\"υ\"],[120509,1,\"φ\"],[120510,1,\"χ\"],[120511,1,\"ψ\"],[120512,1,\"ω\"],[120513,1,\"∇\"],[120514,1,\"α\"],[120515,1,\"β\"],[120516,1,\"γ\"],[120517,1,\"δ\"],[120518,1,\"ε\"],[120519,1,\"ζ\"],[120520,1,\"η\"],[120521,1,\"θ\"],[120522,1,\"ι\"],[120523,1,\"κ\"],[120524,1,\"λ\"],[120525,1,\"μ\"],[120526,1,\"ν\"],[120527,1,\"ξ\"],[120528,1,\"ο\"],[120529,1,\"π\"],[120530,1,\"ρ\"],[[120531,120532],1,\"σ\"],[120533,1,\"τ\"],[120534,1,\"υ\"],[120535,1,\"φ\"],[120536,1,\"χ\"],[120537,1,\"ψ\"],[120538,1,\"ω\"],[120539,1,\"∂\"],[120540,1,\"ε\"],[120541,1,\"θ\"],[120542,1,\"κ\"],[120543,1,\"φ\"],[120544,1,\"ρ\"],[120545,1,\"π\"],[120546,1,\"α\"],[120547,1,\"β\"],[120548,1,\"γ\"],[120549,1,\"δ\"],[120550,1,\"ε\"],[120551,1,\"ζ\"],[120552,1,\"η\"],[120553,1,\"θ\"],[120554,1,\"ι\"],[120555,1,\"κ\"],[120556,1,\"λ\"],[120557,1,\"μ\"],[120558,1,\"ν\"],[120559,1,\"ξ\"],[120560,1,\"ο\"],[120561,1,\"π\"],[120562,1,\"ρ\"],[120563,1,\"θ\"],[120564,1,\"σ\"],[120565,1,\"τ\"],[120566,1,\"υ\"],[120567,1,\"φ\"],[120568,1,\"χ\"],[120569,1,\"ψ\"],[120570,1,\"ω\"],[120571,1,\"∇\"],[120572,1,\"α\"],[120573,1,\"β\"],[120574,1,\"γ\"],[120575,1,\"δ\"],[120576,1,\"ε\"],[120577,1,\"ζ\"],[120578,1,\"η\"],[120579,1,\"θ\"],[120580,1,\"ι\"],[120581,1,\"κ\"],[120582,1,\"λ\"],[120583,1,\"μ\"],[120584,1,\"ν\"],[120585,1,\"ξ\"],[120586,1,\"ο\"],[120587,1,\"π\"],[120588,1,\"ρ\"],[[120589,120590],1,\"σ\"],[120591,1,\"τ\"],[120592,1,\"υ\"],[120593,1,\"φ\"],[120594,1,\"χ\"],[120595,1,\"ψ\"],[120596,1,\"ω\"],[120597,1,\"∂\"],[120598,1,\"ε\"],[120599,1,\"θ\"],[120600,1,\"κ\"],[120601,1,\"φ\"],[120602,1,\"ρ\"],[120603,1,\"π\"],[120604,1,\"α\"],[120605,1,\"β\"],[120606,1,\"γ\"],[120607,1,\"δ\"],[120608,1,\"ε\"],[120609,1,\"ζ\"],[120610,1,\"η\"],[120611,1,\"θ\"],[120612,1,\"ι\"],[120613,1,\"κ\"],[120614,1,\"λ\"],[120615,1,\"μ\"],[120616,1,\"ν\"],[120617,1,\"ξ\"],[120618,1,\"ο\"],[120619,1,\"π\"],[120620,1,\"ρ\"],[120621,1,\"θ\"],[120622,1,\"σ\"],[120623,1,\"τ\"],[120624,1,\"υ\"],[120625,1,\"φ\"],[120626,1,\"χ\"],[120627,1,\"ψ\"],[120628,1,\"ω\"],[120629,1,\"∇\"],[120630,1,\"α\"],[120631,1,\"β\"],[120632,1,\"γ\"],[120633,1,\"δ\"],[120634,1,\"ε\"],[120635,1,\"ζ\"],[120636,1,\"η\"],[120637,1,\"θ\"],[120638,1,\"ι\"],[120639,1,\"κ\"],[120640,1,\"λ\"],[120641,1,\"μ\"],[120642,1,\"ν\"],[120643,1,\"ξ\"],[120644,1,\"ο\"],[120645,1,\"π\"],[120646,1,\"ρ\"],[[120647,120648],1,\"σ\"],[120649,1,\"τ\"],[120650,1,\"υ\"],[120651,1,\"φ\"],[120652,1,\"χ\"],[120653,1,\"ψ\"],[120654,1,\"ω\"],[120655,1,\"∂\"],[120656,1,\"ε\"],[120657,1,\"θ\"],[120658,1,\"κ\"],[120659,1,\"φ\"],[120660,1,\"ρ\"],[120661,1,\"π\"],[120662,1,\"α\"],[120663,1,\"β\"],[120664,1,\"γ\"],[120665,1,\"δ\"],[120666,1,\"ε\"],[120667,1,\"ζ\"],[120668,1,\"η\"],[120669,1,\"θ\"],[120670,1,\"ι\"],[120671,1,\"κ\"],[120672,1,\"λ\"],[120673,1,\"μ\"],[120674,1,\"ν\"],[120675,1,\"ξ\"],[120676,1,\"ο\"],[120677,1,\"π\"],[120678,1,\"ρ\"],[120679,1,\"θ\"],[120680,1,\"σ\"],[120681,1,\"τ\"],[120682,1,\"υ\"],[120683,1,\"φ\"],[120684,1,\"χ\"],[120685,1,\"ψ\"],[120686,1,\"ω\"],[120687,1,\"∇\"],[120688,1,\"α\"],[120689,1,\"β\"],[120690,1,\"γ\"],[120691,1,\"δ\"],[120692,1,\"ε\"],[120693,1,\"ζ\"],[120694,1,\"η\"],[120695,1,\"θ\"],[120696,1,\"ι\"],[120697,1,\"κ\"],[120698,1,\"λ\"],[120699,1,\"μ\"],[120700,1,\"ν\"],[120701,1,\"ξ\"],[120702,1,\"ο\"],[120703,1,\"π\"],[120704,1,\"ρ\"],[[120705,120706],1,\"σ\"],[120707,1,\"τ\"],[120708,1,\"υ\"],[120709,1,\"φ\"],[120710,1,\"χ\"],[120711,1,\"ψ\"],[120712,1,\"ω\"],[120713,1,\"∂\"],[120714,1,\"ε\"],[120715,1,\"θ\"],[120716,1,\"κ\"],[120717,1,\"φ\"],[120718,1,\"ρ\"],[120719,1,\"π\"],[120720,1,\"α\"],[120721,1,\"β\"],[120722,1,\"γ\"],[120723,1,\"δ\"],[120724,1,\"ε\"],[120725,1,\"ζ\"],[120726,1,\"η\"],[120727,1,\"θ\"],[120728,1,\"ι\"],[120729,1,\"κ\"],[120730,1,\"λ\"],[120731,1,\"μ\"],[120732,1,\"ν\"],[120733,1,\"ξ\"],[120734,1,\"ο\"],[120735,1,\"π\"],[120736,1,\"ρ\"],[120737,1,\"θ\"],[120738,1,\"σ\"],[120739,1,\"τ\"],[120740,1,\"υ\"],[120741,1,\"φ\"],[120742,1,\"χ\"],[120743,1,\"ψ\"],[120744,1,\"ω\"],[120745,1,\"∇\"],[120746,1,\"α\"],[120747,1,\"β\"],[120748,1,\"γ\"],[120749,1,\"δ\"],[120750,1,\"ε\"],[120751,1,\"ζ\"],[120752,1,\"η\"],[120753,1,\"θ\"],[120754,1,\"ι\"],[120755,1,\"κ\"],[120756,1,\"λ\"],[120757,1,\"μ\"],[120758,1,\"ν\"],[120759,1,\"ξ\"],[120760,1,\"ο\"],[120761,1,\"π\"],[120762,1,\"ρ\"],[[120763,120764],1,\"σ\"],[120765,1,\"τ\"],[120766,1,\"υ\"],[120767,1,\"φ\"],[120768,1,\"χ\"],[120769,1,\"ψ\"],[120770,1,\"ω\"],[120771,1,\"∂\"],[120772,1,\"ε\"],[120773,1,\"θ\"],[120774,1,\"κ\"],[120775,1,\"φ\"],[120776,1,\"ρ\"],[120777,1,\"π\"],[[120778,120779],1,\"ϝ\"],[[120780,120781],3],[120782,1,\"0\"],[120783,1,\"1\"],[120784,1,\"2\"],[120785,1,\"3\"],[120786,1,\"4\"],[120787,1,\"5\"],[120788,1,\"6\"],[120789,1,\"7\"],[120790,1,\"8\"],[120791,1,\"9\"],[120792,1,\"0\"],[120793,1,\"1\"],[120794,1,\"2\"],[120795,1,\"3\"],[120796,1,\"4\"],[120797,1,\"5\"],[120798,1,\"6\"],[120799,1,\"7\"],[120800,1,\"8\"],[120801,1,\"9\"],[120802,1,\"0\"],[120803,1,\"1\"],[120804,1,\"2\"],[120805,1,\"3\"],[120806,1,\"4\"],[120807,1,\"5\"],[120808,1,\"6\"],[120809,1,\"7\"],[120810,1,\"8\"],[120811,1,\"9\"],[120812,1,\"0\"],[120813,1,\"1\"],[120814,1,\"2\"],[120815,1,\"3\"],[120816,1,\"4\"],[120817,1,\"5\"],[120818,1,\"6\"],[120819,1,\"7\"],[120820,1,\"8\"],[120821,1,\"9\"],[120822,1,\"0\"],[120823,1,\"1\"],[120824,1,\"2\"],[120825,1,\"3\"],[120826,1,\"4\"],[120827,1,\"5\"],[120828,1,\"6\"],[120829,1,\"7\"],[120830,1,\"8\"],[120831,1,\"9\"],[[120832,121343],2],[[121344,121398],2],[[121399,121402],2],[[121403,121452],2],[[121453,121460],2],[121461,2],[[121462,121475],2],[121476,2],[[121477,121483],2],[[121484,121498],3],[[121499,121503],2],[121504,3],[[121505,121519],2],[[121520,122623],3],[[122624,122654],2],[[122655,122660],3],[[122661,122666],2],[[122667,122879],3],[[122880,122886],2],[122887,3],[[122888,122904],2],[[122905,122906],3],[[122907,122913],2],[122914,3],[[122915,122916],2],[122917,3],[[122918,122922],2],[[122923,122927],3],[122928,1,\"а\"],[122929,1,\"б\"],[122930,1,\"в\"],[122931,1,\"г\"],[122932,1,\"д\"],[122933,1,\"е\"],[122934,1,\"ж\"],[122935,1,\"з\"],[122936,1,\"и\"],[122937,1,\"к\"],[122938,1,\"л\"],[122939,1,\"м\"],[122940,1,\"о\"],[122941,1,\"п\"],[122942,1,\"р\"],[122943,1,\"с\"],[122944,1,\"т\"],[122945,1,\"у\"],[122946,1,\"ф\"],[122947,1,\"х\"],[122948,1,\"ц\"],[122949,1,\"ч\"],[122950,1,\"ш\"],[122951,1,\"ы\"],[122952,1,\"э\"],[122953,1,\"ю\"],[122954,1,\"ꚉ\"],[122955,1,\"ә\"],[122956,1,\"і\"],[122957,1,\"ј\"],[122958,1,\"ө\"],[122959,1,\"ү\"],[122960,1,\"ӏ\"],[122961,1,\"а\"],[122962,1,\"б\"],[122963,1,\"в\"],[122964,1,\"г\"],[122965,1,\"д\"],[122966,1,\"е\"],[122967,1,\"ж\"],[122968,1,\"з\"],[122969,1,\"и\"],[122970,1,\"к\"],[122971,1,\"л\"],[122972,1,\"о\"],[122973,1,\"п\"],[122974,1,\"с\"],[122975,1,\"у\"],[122976,1,\"ф\"],[122977,1,\"х\"],[122978,1,\"ц\"],[122979,1,\"ч\"],[122980,1,\"ш\"],[122981,1,\"ъ\"],[122982,1,\"ы\"],[122983,1,\"ґ\"],[122984,1,\"і\"],[122985,1,\"ѕ\"],[122986,1,\"џ\"],[122987,1,\"ҫ\"],[122988,1,\"ꙑ\"],[122989,1,\"ұ\"],[[122990,123022],3],[123023,2],[[123024,123135],3],[[123136,123180],2],[[123181,123183],3],[[123184,123197],2],[[123198,123199],3],[[123200,123209],2],[[123210,123213],3],[123214,2],[123215,2],[[123216,123535],3],[[123536,123566],2],[[123567,123583],3],[[123584,123641],2],[[123642,123646],3],[123647,2],[[123648,124111],3],[[124112,124153],2],[[124154,124367],3],[[124368,124410],2],[[124411,124414],3],[124415,2],[[124416,124895],3],[[124896,124902],2],[124903,3],[[124904,124907],2],[124908,3],[[124909,124910],2],[124911,3],[[124912,124926],2],[124927,3],[[124928,125124],2],[[125125,125126],3],[[125127,125135],2],[[125136,125142],2],[[125143,125183],3],[125184,1,\"𞤢\"],[125185,1,\"𞤣\"],[125186,1,\"𞤤\"],[125187,1,\"𞤥\"],[125188,1,\"𞤦\"],[125189,1,\"𞤧\"],[125190,1,\"𞤨\"],[125191,1,\"𞤩\"],[125192,1,\"𞤪\"],[125193,1,\"𞤫\"],[125194,1,\"𞤬\"],[125195,1,\"𞤭\"],[125196,1,\"𞤮\"],[125197,1,\"𞤯\"],[125198,1,\"𞤰\"],[125199,1,\"𞤱\"],[125200,1,\"𞤲\"],[125201,1,\"𞤳\"],[125202,1,\"𞤴\"],[125203,1,\"𞤵\"],[125204,1,\"𞤶\"],[125205,1,\"𞤷\"],[125206,1,\"𞤸\"],[125207,1,\"𞤹\"],[125208,1,\"𞤺\"],[125209,1,\"𞤻\"],[125210,1,\"𞤼\"],[125211,1,\"𞤽\"],[125212,1,\"𞤾\"],[125213,1,\"𞤿\"],[125214,1,\"𞥀\"],[125215,1,\"𞥁\"],[125216,1,\"𞥂\"],[125217,1,\"𞥃\"],[[125218,125258],2],[125259,2],[[125260,125263],3],[[125264,125273],2],[[125274,125277],3],[[125278,125279],2],[[125280,126064],3],[[126065,126132],2],[[126133,126208],3],[[126209,126269],2],[[126270,126463],3],[126464,1,\"ا\"],[126465,1,\"ب\"],[126466,1,\"ج\"],[126467,1,\"د\"],[126468,3],[126469,1,\"و\"],[126470,1,\"ز\"],[126471,1,\"ح\"],[126472,1,\"ط\"],[126473,1,\"ي\"],[126474,1,\"ك\"],[126475,1,\"ل\"],[126476,1,\"م\"],[126477,1,\"ن\"],[126478,1,\"س\"],[126479,1,\"ع\"],[126480,1,\"ف\"],[126481,1,\"ص\"],[126482,1,\"ق\"],[126483,1,\"ر\"],[126484,1,\"ش\"],[126485,1,\"ت\"],[126486,1,\"ث\"],[126487,1,\"خ\"],[126488,1,\"ذ\"],[126489,1,\"ض\"],[126490,1,\"ظ\"],[126491,1,\"غ\"],[126492,1,\"ٮ\"],[126493,1,\"ں\"],[126494,1,\"ڡ\"],[126495,1,\"ٯ\"],[126496,3],[126497,1,\"ب\"],[126498,1,\"ج\"],[126499,3],[126500,1,\"ه\"],[[126501,126502],3],[126503,1,\"ح\"],[126504,3],[126505,1,\"ي\"],[126506,1,\"ك\"],[126507,1,\"ل\"],[126508,1,\"م\"],[126509,1,\"ن\"],[126510,1,\"س\"],[126511,1,\"ع\"],[126512,1,\"ف\"],[126513,1,\"ص\"],[126514,1,\"ق\"],[126515,3],[126516,1,\"ش\"],[126517,1,\"ت\"],[126518,1,\"ث\"],[126519,1,\"خ\"],[126520,3],[126521,1,\"ض\"],[126522,3],[126523,1,\"غ\"],[[126524,126529],3],[126530,1,\"ج\"],[[126531,126534],3],[126535,1,\"ح\"],[126536,3],[126537,1,\"ي\"],[126538,3],[126539,1,\"ل\"],[126540,3],[126541,1,\"ن\"],[126542,1,\"س\"],[126543,1,\"ع\"],[126544,3],[126545,1,\"ص\"],[126546,1,\"ق\"],[126547,3],[126548,1,\"ش\"],[[126549,126550],3],[126551,1,\"خ\"],[126552,3],[126553,1,\"ض\"],[126554,3],[126555,1,\"غ\"],[126556,3],[126557,1,\"ں\"],[126558,3],[126559,1,\"ٯ\"],[126560,3],[126561,1,\"ب\"],[126562,1,\"ج\"],[126563,3],[126564,1,\"ه\"],[[126565,126566],3],[126567,1,\"ح\"],[126568,1,\"ط\"],[126569,1,\"ي\"],[126570,1,\"ك\"],[126571,3],[126572,1,\"م\"],[126573,1,\"ن\"],[126574,1,\"س\"],[126575,1,\"ع\"],[126576,1,\"ف\"],[126577,1,\"ص\"],[126578,1,\"ق\"],[126579,3],[126580,1,\"ش\"],[126581,1,\"ت\"],[126582,1,\"ث\"],[126583,1,\"خ\"],[126584,3],[126585,1,\"ض\"],[126586,1,\"ظ\"],[126587,1,\"غ\"],[126588,1,\"ٮ\"],[126589,3],[126590,1,\"ڡ\"],[126591,3],[126592,1,\"ا\"],[126593,1,\"ب\"],[126594,1,\"ج\"],[126595,1,\"د\"],[126596,1,\"ه\"],[126597,1,\"و\"],[126598,1,\"ز\"],[126599,1,\"ح\"],[126600,1,\"ط\"],[126601,1,\"ي\"],[126602,3],[126603,1,\"ل\"],[126604,1,\"م\"],[126605,1,\"ن\"],[126606,1,\"س\"],[126607,1,\"ع\"],[126608,1,\"ف\"],[126609,1,\"ص\"],[126610,1,\"ق\"],[126611,1,\"ر\"],[126612,1,\"ش\"],[126613,1,\"ت\"],[126614,1,\"ث\"],[126615,1,\"خ\"],[126616,1,\"ذ\"],[126617,1,\"ض\"],[126618,1,\"ظ\"],[126619,1,\"غ\"],[[126620,126624],3],[126625,1,\"ب\"],[126626,1,\"ج\"],[126627,1,\"د\"],[126628,3],[126629,1,\"و\"],[126630,1,\"ز\"],[126631,1,\"ح\"],[126632,1,\"ط\"],[126633,1,\"ي\"],[126634,3],[126635,1,\"ل\"],[126636,1,\"م\"],[126637,1,\"ن\"],[126638,1,\"س\"],[126639,1,\"ع\"],[126640,1,\"ف\"],[126641,1,\"ص\"],[126642,1,\"ق\"],[126643,1,\"ر\"],[126644,1,\"ش\"],[126645,1,\"ت\"],[126646,1,\"ث\"],[126647,1,\"خ\"],[126648,1,\"ذ\"],[126649,1,\"ض\"],[126650,1,\"ظ\"],[126651,1,\"غ\"],[[126652,126703],3],[[126704,126705],2],[[126706,126975],3],[[126976,127019],2],[[127020,127023],3],[[127024,127123],2],[[127124,127135],3],[[127136,127150],2],[[127151,127152],3],[[127153,127166],2],[127167,2],[127168,3],[[127169,127183],2],[127184,3],[[127185,127199],2],[[127200,127221],2],[[127222,127231],3],[127232,3],[127233,1,\"0,\"],[127234,1,\"1,\"],[127235,1,\"2,\"],[127236,1,\"3,\"],[127237,1,\"4,\"],[127238,1,\"5,\"],[127239,1,\"6,\"],[127240,1,\"7,\"],[127241,1,\"8,\"],[127242,1,\"9,\"],[[127243,127244],2],[[127245,127247],2],[127248,1,\"(a)\"],[127249,1,\"(b)\"],[127250,1,\"(c)\"],[127251,1,\"(d)\"],[127252,1,\"(e)\"],[127253,1,\"(f)\"],[127254,1,\"(g)\"],[127255,1,\"(h)\"],[127256,1,\"(i)\"],[127257,1,\"(j)\"],[127258,1,\"(k)\"],[127259,1,\"(l)\"],[127260,1,\"(m)\"],[127261,1,\"(n)\"],[127262,1,\"(o)\"],[127263,1,\"(p)\"],[127264,1,\"(q)\"],[127265,1,\"(r)\"],[127266,1,\"(s)\"],[127267,1,\"(t)\"],[127268,1,\"(u)\"],[127269,1,\"(v)\"],[127270,1,\"(w)\"],[127271,1,\"(x)\"],[127272,1,\"(y)\"],[127273,1,\"(z)\"],[127274,1,\"〔s〕\"],[127275,1,\"c\"],[127276,1,\"r\"],[127277,1,\"cd\"],[127278,1,\"wz\"],[127279,2],[127280,1,\"a\"],[127281,1,\"b\"],[127282,1,\"c\"],[127283,1,\"d\"],[127284,1,\"e\"],[127285,1,\"f\"],[127286,1,\"g\"],[127287,1,\"h\"],[127288,1,\"i\"],[127289,1,\"j\"],[127290,1,\"k\"],[127291,1,\"l\"],[127292,1,\"m\"],[127293,1,\"n\"],[127294,1,\"o\"],[127295,1,\"p\"],[127296,1,\"q\"],[127297,1,\"r\"],[127298,1,\"s\"],[127299,1,\"t\"],[127300,1,\"u\"],[127301,1,\"v\"],[127302,1,\"w\"],[127303,1,\"x\"],[127304,1,\"y\"],[127305,1,\"z\"],[127306,1,\"hv\"],[127307,1,\"mv\"],[127308,1,\"sd\"],[127309,1,\"ss\"],[127310,1,\"ppv\"],[127311,1,\"wc\"],[[127312,127318],2],[127319,2],[[127320,127326],2],[127327,2],[[127328,127337],2],[127338,1,\"mc\"],[127339,1,\"md\"],[127340,1,\"mr\"],[[127341,127343],2],[[127344,127352],2],[127353,2],[127354,2],[[127355,127356],2],[[127357,127358],2],[127359,2],[[127360,127369],2],[[127370,127373],2],[[127374,127375],2],[127376,1,\"dj\"],[[127377,127386],2],[[127387,127404],2],[127405,2],[[127406,127461],3],[[127462,127487],2],[127488,1,\"ほか\"],[127489,1,\"ココ\"],[127490,1,\"サ\"],[[127491,127503],3],[127504,1,\"手\"],[127505,1,\"字\"],[127506,1,\"双\"],[127507,1,\"デ\"],[127508,1,\"二\"],[127509,1,\"多\"],[127510,1,\"解\"],[127511,1,\"天\"],[127512,1,\"交\"],[127513,1,\"映\"],[127514,1,\"無\"],[127515,1,\"料\"],[127516,1,\"前\"],[127517,1,\"後\"],[127518,1,\"再\"],[127519,1,\"新\"],[127520,1,\"初\"],[127521,1,\"終\"],[127522,1,\"生\"],[127523,1,\"販\"],[127524,1,\"声\"],[127525,1,\"吹\"],[127526,1,\"演\"],[127527,1,\"投\"],[127528,1,\"捕\"],[127529,1,\"一\"],[127530,1,\"三\"],[127531,1,\"遊\"],[127532,1,\"左\"],[127533,1,\"中\"],[127534,1,\"右\"],[127535,1,\"指\"],[127536,1,\"走\"],[127537,1,\"打\"],[127538,1,\"禁\"],[127539,1,\"空\"],[127540,1,\"合\"],[127541,1,\"満\"],[127542,1,\"有\"],[127543,1,\"月\"],[127544,1,\"申\"],[127545,1,\"割\"],[127546,1,\"営\"],[127547,1,\"配\"],[[127548,127551],3],[127552,1,\"〔本〕\"],[127553,1,\"〔三〕\"],[127554,1,\"〔二〕\"],[127555,1,\"〔安〕\"],[127556,1,\"〔点〕\"],[127557,1,\"〔打〕\"],[127558,1,\"〔盗〕\"],[127559,1,\"〔勝〕\"],[127560,1,\"〔敗〕\"],[[127561,127567],3],[127568,1,\"得\"],[127569,1,\"可\"],[[127570,127583],3],[[127584,127589],2],[[127590,127743],3],[[127744,127776],2],[[127777,127788],2],[[127789,127791],2],[[127792,127797],2],[127798,2],[[127799,127868],2],[127869,2],[[127870,127871],2],[[127872,127891],2],[[127892,127903],2],[[127904,127940],2],[127941,2],[[127942,127946],2],[[127947,127950],2],[[127951,127955],2],[[127956,127967],2],[[127968,127984],2],[[127985,127991],2],[[127992,127999],2],[[128000,128062],2],[128063,2],[128064,2],[128065,2],[[128066,128247],2],[128248,2],[[128249,128252],2],[[128253,128254],2],[128255,2],[[128256,128317],2],[[128318,128319],2],[[128320,128323],2],[[128324,128330],2],[[128331,128335],2],[[128336,128359],2],[[128360,128377],2],[128378,2],[[128379,128419],2],[128420,2],[[128421,128506],2],[[128507,128511],2],[128512,2],[[128513,128528],2],[128529,2],[[128530,128532],2],[128533,2],[128534,2],[128535,2],[128536,2],[128537,2],[128538,2],[128539,2],[[128540,128542],2],[128543,2],[[128544,128549],2],[[128550,128551],2],[[128552,128555],2],[128556,2],[128557,2],[[128558,128559],2],[[128560,128563],2],[128564,2],[[128565,128576],2],[[128577,128578],2],[[128579,128580],2],[[128581,128591],2],[[128592,128639],2],[[128640,128709],2],[[128710,128719],2],[128720,2],[[128721,128722],2],[[128723,128724],2],[128725,2],[[128726,128727],2],[[128728,128731],3],[128732,2],[[128733,128735],2],[[128736,128748],2],[[128749,128751],3],[[128752,128755],2],[[128756,128758],2],[[128759,128760],2],[128761,2],[128762,2],[[128763,128764],2],[[128765,128767],3],[[128768,128883],2],[[128884,128886],2],[[128887,128890],3],[[128891,128895],2],[[128896,128980],2],[[128981,128984],2],[128985,2],[[128986,128991],3],[[128992,129003],2],[[129004,129007],3],[129008,2],[[129009,129023],3],[[129024,129035],2],[[129036,129039],3],[[129040,129095],2],[[129096,129103],3],[[129104,129113],2],[[129114,129119],3],[[129120,129159],2],[[129160,129167],3],[[129168,129197],2],[[129198,129199],3],[[129200,129201],2],[[129202,129211],2],[[129212,129215],3],[[129216,129217],2],[[129218,129279],3],[[129280,129291],2],[129292,2],[[129293,129295],2],[[129296,129304],2],[[129305,129310],2],[129311,2],[[129312,129319],2],[[129320,129327],2],[129328,2],[[129329,129330],2],[[129331,129342],2],[129343,2],[[129344,129355],2],[129356,2],[[129357,129359],2],[[129360,129374],2],[[129375,129387],2],[[129388,129392],2],[129393,2],[129394,2],[[129395,129398],2],[[129399,129400],2],[129401,2],[129402,2],[129403,2],[[129404,129407],2],[[129408,129412],2],[[129413,129425],2],[[129426,129431],2],[[129432,129442],2],[[129443,129444],2],[[129445,129450],2],[[129451,129453],2],[[129454,129455],2],[[129456,129465],2],[[129466,129471],2],[129472,2],[[129473,129474],2],[[129475,129482],2],[129483,2],[129484,2],[[129485,129487],2],[[129488,129510],2],[[129511,129535],2],[[129536,129619],2],[[129620,129631],3],[[129632,129645],2],[[129646,129647],3],[[129648,129651],2],[129652,2],[[129653,129655],2],[[129656,129658],2],[[129659,129660],2],[[129661,129663],3],[[129664,129666],2],[[129667,129670],2],[[129671,129672],2],[129673,2],[[129674,129678],3],[129679,2],[[129680,129685],2],[[129686,129704],2],[[129705,129708],2],[[129709,129711],2],[[129712,129718],2],[[129719,129722],2],[[129723,129725],2],[129726,2],[129727,2],[[129728,129730],2],[[129731,129733],2],[129734,2],[[129735,129741],3],[[129742,129743],2],[[129744,129750],2],[[129751,129753],2],[[129754,129755],2],[129756,2],[[129757,129758],3],[129759,2],[[129760,129767],2],[129768,2],[129769,2],[[129770,129775],3],[[129776,129782],2],[[129783,129784],2],[[129785,129791],3],[[129792,129938],2],[129939,3],[[129940,129994],2],[[129995,130031],2],[130032,1,\"0\"],[130033,1,\"1\"],[130034,1,\"2\"],[130035,1,\"3\"],[130036,1,\"4\"],[130037,1,\"5\"],[130038,1,\"6\"],[130039,1,\"7\"],[130040,1,\"8\"],[130041,1,\"9\"],[[130042,131069],3],[[131070,131071],3],[[131072,173782],2],[[173783,173789],2],[[173790,173791],2],[[173792,173823],3],[[173824,177972],2],[[177973,177976],2],[177977,2],[[177978,177983],3],[[177984,178205],2],[[178206,178207],3],[[178208,183969],2],[[183970,183983],3],[[183984,191456],2],[[191457,191471],3],[[191472,192093],2],[[192094,194559],3],[194560,1,\"丽\"],[194561,1,\"丸\"],[194562,1,\"乁\"],[194563,1,\"𠄢\"],[194564,1,\"你\"],[194565,1,\"侮\"],[194566,1,\"侻\"],[194567,1,\"倂\"],[194568,1,\"偺\"],[194569,1,\"備\"],[194570,1,\"僧\"],[194571,1,\"像\"],[194572,1,\"㒞\"],[194573,1,\"𠘺\"],[194574,1,\"免\"],[194575,1,\"兔\"],[194576,1,\"兤\"],[194577,1,\"具\"],[194578,1,\"𠔜\"],[194579,1,\"㒹\"],[194580,1,\"內\"],[194581,1,\"再\"],[194582,1,\"𠕋\"],[194583,1,\"冗\"],[194584,1,\"冤\"],[194585,1,\"仌\"],[194586,1,\"冬\"],[194587,1,\"况\"],[194588,1,\"𩇟\"],[194589,1,\"凵\"],[194590,1,\"刃\"],[194591,1,\"㓟\"],[194592,1,\"刻\"],[194593,1,\"剆\"],[194594,1,\"割\"],[194595,1,\"剷\"],[194596,1,\"㔕\"],[194597,1,\"勇\"],[194598,1,\"勉\"],[194599,1,\"勤\"],[194600,1,\"勺\"],[194601,1,\"包\"],[194602,1,\"匆\"],[194603,1,\"北\"],[194604,1,\"卉\"],[194605,1,\"卑\"],[194606,1,\"博\"],[194607,1,\"即\"],[194608,1,\"卽\"],[[194609,194611],1,\"卿\"],[194612,1,\"𠨬\"],[194613,1,\"灰\"],[194614,1,\"及\"],[194615,1,\"叟\"],[194616,1,\"𠭣\"],[194617,1,\"叫\"],[194618,1,\"叱\"],[194619,1,\"吆\"],[194620,1,\"咞\"],[194621,1,\"吸\"],[194622,1,\"呈\"],[194623,1,\"周\"],[194624,1,\"咢\"],[194625,1,\"哶\"],[194626,1,\"唐\"],[194627,1,\"啓\"],[194628,1,\"啣\"],[[194629,194630],1,\"善\"],[194631,1,\"喙\"],[194632,1,\"喫\"],[194633,1,\"喳\"],[194634,1,\"嗂\"],[194635,1,\"圖\"],[194636,1,\"嘆\"],[194637,1,\"圗\"],[194638,1,\"噑\"],[194639,1,\"噴\"],[194640,1,\"切\"],[194641,1,\"壮\"],[194642,1,\"城\"],[194643,1,\"埴\"],[194644,1,\"堍\"],[194645,1,\"型\"],[194646,1,\"堲\"],[194647,1,\"報\"],[194648,1,\"墬\"],[194649,1,\"𡓤\"],[194650,1,\"売\"],[194651,1,\"壷\"],[194652,1,\"夆\"],[194653,1,\"多\"],[194654,1,\"夢\"],[194655,1,\"奢\"],[194656,1,\"𡚨\"],[194657,1,\"𡛪\"],[194658,1,\"姬\"],[194659,1,\"娛\"],[194660,1,\"娧\"],[194661,1,\"姘\"],[194662,1,\"婦\"],[194663,1,\"㛮\"],[194664,1,\"㛼\"],[194665,1,\"嬈\"],[[194666,194667],1,\"嬾\"],[194668,1,\"𡧈\"],[194669,1,\"寃\"],[194670,1,\"寘\"],[194671,1,\"寧\"],[194672,1,\"寳\"],[194673,1,\"𡬘\"],[194674,1,\"寿\"],[194675,1,\"将\"],[194676,1,\"当\"],[194677,1,\"尢\"],[194678,1,\"㞁\"],[194679,1,\"屠\"],[194680,1,\"屮\"],[194681,1,\"峀\"],[194682,1,\"岍\"],[194683,1,\"𡷤\"],[194684,1,\"嵃\"],[194685,1,\"𡷦\"],[194686,1,\"嵮\"],[194687,1,\"嵫\"],[194688,1,\"嵼\"],[194689,1,\"巡\"],[194690,1,\"巢\"],[194691,1,\"㠯\"],[194692,1,\"巽\"],[194693,1,\"帨\"],[194694,1,\"帽\"],[194695,1,\"幩\"],[194696,1,\"㡢\"],[194697,1,\"𢆃\"],[194698,1,\"㡼\"],[194699,1,\"庰\"],[194700,1,\"庳\"],[194701,1,\"庶\"],[194702,1,\"廊\"],[194703,1,\"𪎒\"],[194704,1,\"廾\"],[[194705,194706],1,\"𢌱\"],[194707,1,\"舁\"],[[194708,194709],1,\"弢\"],[194710,1,\"㣇\"],[194711,1,\"𣊸\"],[194712,1,\"𦇚\"],[194713,1,\"形\"],[194714,1,\"彫\"],[194715,1,\"㣣\"],[194716,1,\"徚\"],[194717,1,\"忍\"],[194718,1,\"志\"],[194719,1,\"忹\"],[194720,1,\"悁\"],[194721,1,\"㤺\"],[194722,1,\"㤜\"],[194723,1,\"悔\"],[194724,1,\"𢛔\"],[194725,1,\"惇\"],[194726,1,\"慈\"],[194727,1,\"慌\"],[194728,1,\"慎\"],[194729,1,\"慌\"],[194730,1,\"慺\"],[194731,1,\"憎\"],[194732,1,\"憲\"],[194733,1,\"憤\"],[194734,1,\"憯\"],[194735,1,\"懞\"],[194736,1,\"懲\"],[194737,1,\"懶\"],[194738,1,\"成\"],[194739,1,\"戛\"],[194740,1,\"扝\"],[194741,1,\"抱\"],[194742,1,\"拔\"],[194743,1,\"捐\"],[194744,1,\"𢬌\"],[194745,1,\"挽\"],[194746,1,\"拼\"],[194747,1,\"捨\"],[194748,1,\"掃\"],[194749,1,\"揤\"],[194750,1,\"𢯱\"],[194751,1,\"搢\"],[194752,1,\"揅\"],[194753,1,\"掩\"],[194754,1,\"㨮\"],[194755,1,\"摩\"],[194756,1,\"摾\"],[194757,1,\"撝\"],[194758,1,\"摷\"],[194759,1,\"㩬\"],[194760,1,\"敏\"],[194761,1,\"敬\"],[194762,1,\"𣀊\"],[194763,1,\"旣\"],[194764,1,\"書\"],[194765,1,\"晉\"],[194766,1,\"㬙\"],[194767,1,\"暑\"],[194768,1,\"㬈\"],[194769,1,\"㫤\"],[194770,1,\"冒\"],[194771,1,\"冕\"],[194772,1,\"最\"],[194773,1,\"暜\"],[194774,1,\"肭\"],[194775,1,\"䏙\"],[194776,1,\"朗\"],[194777,1,\"望\"],[194778,1,\"朡\"],[194779,1,\"杞\"],[194780,1,\"杓\"],[194781,1,\"𣏃\"],[194782,1,\"㭉\"],[194783,1,\"柺\"],[194784,1,\"枅\"],[194785,1,\"桒\"],[194786,1,\"梅\"],[194787,1,\"𣑭\"],[194788,1,\"梎\"],[194789,1,\"栟\"],[194790,1,\"椔\"],[194791,1,\"㮝\"],[194792,1,\"楂\"],[194793,1,\"榣\"],[194794,1,\"槪\"],[194795,1,\"檨\"],[194796,1,\"𣚣\"],[194797,1,\"櫛\"],[194798,1,\"㰘\"],[194799,1,\"次\"],[194800,1,\"𣢧\"],[194801,1,\"歔\"],[194802,1,\"㱎\"],[194803,1,\"歲\"],[194804,1,\"殟\"],[194805,1,\"殺\"],[194806,1,\"殻\"],[194807,1,\"𣪍\"],[194808,1,\"𡴋\"],[194809,1,\"𣫺\"],[194810,1,\"汎\"],[194811,1,\"𣲼\"],[194812,1,\"沿\"],[194813,1,\"泍\"],[194814,1,\"汧\"],[194815,1,\"洖\"],[194816,1,\"派\"],[194817,1,\"海\"],[194818,1,\"流\"],[194819,1,\"浩\"],[194820,1,\"浸\"],[194821,1,\"涅\"],[194822,1,\"𣴞\"],[194823,1,\"洴\"],[194824,1,\"港\"],[194825,1,\"湮\"],[194826,1,\"㴳\"],[194827,1,\"滋\"],[194828,1,\"滇\"],[194829,1,\"𣻑\"],[194830,1,\"淹\"],[194831,1,\"潮\"],[194832,1,\"𣽞\"],[194833,1,\"𣾎\"],[194834,1,\"濆\"],[194835,1,\"瀹\"],[194836,1,\"瀞\"],[194837,1,\"瀛\"],[194838,1,\"㶖\"],[194839,1,\"灊\"],[194840,1,\"災\"],[194841,1,\"灷\"],[194842,1,\"炭\"],[194843,1,\"𠔥\"],[194844,1,\"煅\"],[194845,1,\"𤉣\"],[194846,1,\"熜\"],[194847,1,\"𤎫\"],[194848,1,\"爨\"],[194849,1,\"爵\"],[194850,1,\"牐\"],[194851,1,\"𤘈\"],[194852,1,\"犀\"],[194853,1,\"犕\"],[194854,1,\"𤜵\"],[194855,1,\"𤠔\"],[194856,1,\"獺\"],[194857,1,\"王\"],[194858,1,\"㺬\"],[194859,1,\"玥\"],[[194860,194861],1,\"㺸\"],[194862,1,\"瑇\"],[194863,1,\"瑜\"],[194864,1,\"瑱\"],[194865,1,\"璅\"],[194866,1,\"瓊\"],[194867,1,\"㼛\"],[194868,1,\"甤\"],[194869,1,\"𤰶\"],[194870,1,\"甾\"],[194871,1,\"𤲒\"],[194872,1,\"異\"],[194873,1,\"𢆟\"],[194874,1,\"瘐\"],[194875,1,\"𤾡\"],[194876,1,\"𤾸\"],[194877,1,\"𥁄\"],[194878,1,\"㿼\"],[194879,1,\"䀈\"],[194880,1,\"直\"],[194881,1,\"𥃳\"],[194882,1,\"𥃲\"],[194883,1,\"𥄙\"],[194884,1,\"𥄳\"],[194885,1,\"眞\"],[[194886,194887],1,\"真\"],[194888,1,\"睊\"],[194889,1,\"䀹\"],[194890,1,\"瞋\"],[194891,1,\"䁆\"],[194892,1,\"䂖\"],[194893,1,\"𥐝\"],[194894,1,\"硎\"],[194895,1,\"碌\"],[194896,1,\"磌\"],[194897,1,\"䃣\"],[194898,1,\"𥘦\"],[194899,1,\"祖\"],[194900,1,\"𥚚\"],[194901,1,\"𥛅\"],[194902,1,\"福\"],[194903,1,\"秫\"],[194904,1,\"䄯\"],[194905,1,\"穀\"],[194906,1,\"穊\"],[194907,1,\"穏\"],[194908,1,\"𥥼\"],[[194909,194910],1,\"𥪧\"],[194911,1,\"竮\"],[194912,1,\"䈂\"],[194913,1,\"𥮫\"],[194914,1,\"篆\"],[194915,1,\"築\"],[194916,1,\"䈧\"],[194917,1,\"𥲀\"],[194918,1,\"糒\"],[194919,1,\"䊠\"],[194920,1,\"糨\"],[194921,1,\"糣\"],[194922,1,\"紀\"],[194923,1,\"𥾆\"],[194924,1,\"絣\"],[194925,1,\"䌁\"],[194926,1,\"緇\"],[194927,1,\"縂\"],[194928,1,\"繅\"],[194929,1,\"䌴\"],[194930,1,\"𦈨\"],[194931,1,\"𦉇\"],[194932,1,\"䍙\"],[194933,1,\"𦋙\"],[194934,1,\"罺\"],[194935,1,\"𦌾\"],[194936,1,\"羕\"],[194937,1,\"翺\"],[194938,1,\"者\"],[194939,1,\"𦓚\"],[194940,1,\"𦔣\"],[194941,1,\"聠\"],[194942,1,\"𦖨\"],[194943,1,\"聰\"],[194944,1,\"𣍟\"],[194945,1,\"䏕\"],[194946,1,\"育\"],[194947,1,\"脃\"],[194948,1,\"䐋\"],[194949,1,\"脾\"],[194950,1,\"媵\"],[194951,1,\"𦞧\"],[194952,1,\"𦞵\"],[194953,1,\"𣎓\"],[194954,1,\"𣎜\"],[194955,1,\"舁\"],[194956,1,\"舄\"],[194957,1,\"辞\"],[194958,1,\"䑫\"],[194959,1,\"芑\"],[194960,1,\"芋\"],[194961,1,\"芝\"],[194962,1,\"劳\"],[194963,1,\"花\"],[194964,1,\"芳\"],[194965,1,\"芽\"],[194966,1,\"苦\"],[194967,1,\"𦬼\"],[194968,1,\"若\"],[194969,1,\"茝\"],[194970,1,\"荣\"],[194971,1,\"莭\"],[194972,1,\"茣\"],[194973,1,\"莽\"],[194974,1,\"菧\"],[194975,1,\"著\"],[194976,1,\"荓\"],[194977,1,\"菊\"],[194978,1,\"菌\"],[194979,1,\"菜\"],[194980,1,\"𦰶\"],[194981,1,\"𦵫\"],[194982,1,\"𦳕\"],[194983,1,\"䔫\"],[194984,1,\"蓱\"],[194985,1,\"蓳\"],[194986,1,\"蔖\"],[194987,1,\"𧏊\"],[194988,1,\"蕤\"],[194989,1,\"𦼬\"],[194990,1,\"䕝\"],[194991,1,\"䕡\"],[194992,1,\"𦾱\"],[194993,1,\"𧃒\"],[194994,1,\"䕫\"],[194995,1,\"虐\"],[194996,1,\"虜\"],[194997,1,\"虧\"],[194998,1,\"虩\"],[194999,1,\"蚩\"],[195000,1,\"蚈\"],[195001,1,\"蜎\"],[195002,1,\"蛢\"],[195003,1,\"蝹\"],[195004,1,\"蜨\"],[195005,1,\"蝫\"],[195006,1,\"螆\"],[195007,1,\"䗗\"],[195008,1,\"蟡\"],[195009,1,\"蠁\"],[195010,1,\"䗹\"],[195011,1,\"衠\"],[195012,1,\"衣\"],[195013,1,\"𧙧\"],[195014,1,\"裗\"],[195015,1,\"裞\"],[195016,1,\"䘵\"],[195017,1,\"裺\"],[195018,1,\"㒻\"],[195019,1,\"𧢮\"],[195020,1,\"𧥦\"],[195021,1,\"䚾\"],[195022,1,\"䛇\"],[195023,1,\"誠\"],[195024,1,\"諭\"],[195025,1,\"變\"],[195026,1,\"豕\"],[195027,1,\"𧲨\"],[195028,1,\"貫\"],[195029,1,\"賁\"],[195030,1,\"贛\"],[195031,1,\"起\"],[195032,1,\"𧼯\"],[195033,1,\"𠠄\"],[195034,1,\"跋\"],[195035,1,\"趼\"],[195036,1,\"跰\"],[195037,1,\"𠣞\"],[195038,1,\"軔\"],[195039,1,\"輸\"],[195040,1,\"𨗒\"],[195041,1,\"𨗭\"],[195042,1,\"邔\"],[195043,1,\"郱\"],[195044,1,\"鄑\"],[195045,1,\"𨜮\"],[195046,1,\"鄛\"],[195047,1,\"鈸\"],[195048,1,\"鋗\"],[195049,1,\"鋘\"],[195050,1,\"鉼\"],[195051,1,\"鏹\"],[195052,1,\"鐕\"],[195053,1,\"𨯺\"],[195054,1,\"開\"],[195055,1,\"䦕\"],[195056,1,\"閷\"],[195057,1,\"𨵷\"],[195058,1,\"䧦\"],[195059,1,\"雃\"],[195060,1,\"嶲\"],[195061,1,\"霣\"],[195062,1,\"𩅅\"],[195063,1,\"𩈚\"],[195064,1,\"䩮\"],[195065,1,\"䩶\"],[195066,1,\"韠\"],[195067,1,\"𩐊\"],[195068,1,\"䪲\"],[195069,1,\"𩒖\"],[[195070,195071],1,\"頋\"],[195072,1,\"頩\"],[195073,1,\"𩖶\"],[195074,1,\"飢\"],[195075,1,\"䬳\"],[195076,1,\"餩\"],[195077,1,\"馧\"],[195078,1,\"駂\"],[195079,1,\"駾\"],[195080,1,\"䯎\"],[195081,1,\"𩬰\"],[195082,1,\"鬒\"],[195083,1,\"鱀\"],[195084,1,\"鳽\"],[195085,1,\"䳎\"],[195086,1,\"䳭\"],[195087,1,\"鵧\"],[195088,1,\"𪃎\"],[195089,1,\"䳸\"],[195090,1,\"𪄅\"],[195091,1,\"𪈎\"],[195092,1,\"𪊑\"],[195093,1,\"麻\"],[195094,1,\"䵖\"],[195095,1,\"黹\"],[195096,1,\"黾\"],[195097,1,\"鼅\"],[195098,1,\"鼏\"],[195099,1,\"鼖\"],[195100,1,\"鼻\"],[195101,1,\"𪘀\"],[[195102,196605],3],[[196606,196607],3],[[196608,201546],2],[[201547,201551],3],[[201552,205743],2],[[205744,262141],3],[[262142,262143],3],[[262144,327677],3],[[327678,327679],3],[[327680,393213],3],[[393214,393215],3],[[393216,458749],3],[[458750,458751],3],[[458752,524285],3],[[524286,524287],3],[[524288,589821],3],[[589822,589823],3],[[589824,655357],3],[[655358,655359],3],[[655360,720893],3],[[720894,720895],3],[[720896,786429],3],[[786430,786431],3],[[786432,851965],3],[[851966,851967],3],[[851968,917501],3],[[917502,917503],3],[917504,3],[917505,3],[[917506,917535],3],[[917536,917631],3],[[917632,917759],3],[[917760,917999],7],[[918000,983037],3],[[983038,983039],3],[[983040,1048573],3],[[1048574,1048575],3],[[1048576,1114109],3],[[1114110,1114111],3]]","\"use strict\";\n\nmodule.exports.STATUS_MAPPING = {\n mapped: 1,\n valid: 2,\n disallowed: 3,\n deviation: 6,\n ignored: 7\n};\n","\"use strict\";\n\nconst punycode = require(\"punycode/\");\nconst regexes = require(\"./lib/regexes.js\");\nconst mappingTable = require(\"./lib/mappingTable.json\");\nconst { STATUS_MAPPING } = require(\"./lib/statusMapping.js\");\n\nfunction containsNonASCII(str) {\n return /[^\\x00-\\x7F]/u.test(str);\n}\n\nfunction findStatus(val) {\n let start = 0;\n let end = mappingTable.length - 1;\n\n while (start <= end) {\n const mid = Math.floor((start + end) / 2);\n\n const target = mappingTable[mid];\n const min = Array.isArray(target[0]) ? target[0][0] : target[0];\n const max = Array.isArray(target[0]) ? target[0][1] : target[0];\n\n if (min <= val && max >= val) {\n return target.slice(1);\n } else if (min > val) {\n end = mid - 1;\n } else {\n start = mid + 1;\n }\n }\n\n return null;\n}\n\nfunction mapChars(domainName, { transitionalProcessing }) {\n let processed = \"\";\n\n for (const ch of domainName) {\n const [status, mapping] = findStatus(ch.codePointAt(0));\n\n switch (status) {\n case STATUS_MAPPING.disallowed:\n processed += ch;\n break;\n case STATUS_MAPPING.ignored:\n break;\n case STATUS_MAPPING.mapped:\n if (transitionalProcessing && ch === \"ẞ\") {\n processed += \"ss\";\n } else {\n processed += mapping;\n }\n break;\n case STATUS_MAPPING.deviation:\n if (transitionalProcessing) {\n processed += mapping;\n } else {\n processed += ch;\n }\n break;\n case STATUS_MAPPING.valid:\n processed += ch;\n break;\n }\n }\n\n return processed;\n}\n\nfunction validateLabel(label, {\n checkHyphens,\n checkBidi,\n checkJoiners,\n transitionalProcessing,\n useSTD3ASCIIRules,\n isBidi\n}) {\n // \"must be satisfied for a non-empty label\"\n if (label.length === 0) {\n return true;\n }\n\n // \"1. The label must be in Unicode Normalization Form NFC.\"\n if (label.normalize(\"NFC\") !== label) {\n return false;\n }\n\n const codePoints = Array.from(label);\n\n // \"2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character in both the\n // third and fourth positions.\"\n //\n // \"3. If CheckHyphens, the label must neither begin nor end with a U+002D HYPHEN-MINUS character.\"\n if (checkHyphens) {\n if ((codePoints[2] === \"-\" && codePoints[3] === \"-\") ||\n (label.startsWith(\"-\") || label.endsWith(\"-\"))) {\n return false;\n }\n }\n\n // \"4. If not CheckHyphens, the label must not begin with “xn--”.\"\n if (!checkHyphens) {\n if (label.startsWith(\"xn--\")) {\n return false;\n }\n }\n\n // \"5. The label must not contain a U+002E ( . ) FULL STOP.\"\n if (label.includes(\".\")) {\n return false;\n }\n\n // \"6. The label must not begin with a combining mark, that is: General_Category=Mark.\"\n if (regexes.combiningMarks.test(codePoints[0])) {\n return false;\n }\n\n // \"7. Each code point in the label must only have certain Status values according to Section 5\"\n for (const ch of codePoints) {\n const codePoint = ch.codePointAt(0);\n const [status] = findStatus(codePoint);\n if (transitionalProcessing) {\n // \"For Transitional Processing (deprecated), each value must be valid.\"\n if (status !== STATUS_MAPPING.valid) {\n return false;\n }\n } else if (status !== STATUS_MAPPING.valid && status !== STATUS_MAPPING.deviation) {\n // \"For Nontransitional Processing, each value must be either valid or deviation.\"\n return false;\n }\n // \"In addition, if UseSTD3ASCIIRules=true and the code point is an ASCII code point (U+0000..U+007F), then it must\n // be a lowercase letter (a-z), a digit (0-9), or a hyphen-minus (U+002D). (Note: This excludes uppercase ASCII\n // A-Z which are mapped in UTS #46 and disallowed in IDNA2008.)\"\n if (useSTD3ASCIIRules && codePoint <= 0x7F) {\n if (!/^(?:[a-z]|[0-9]|-)$/u.test(ch)) {\n return false;\n }\n }\n }\n\n // \"8. If CheckJoiners, the label must satisify the ContextJ rules\"\n // https://tools.ietf.org/html/rfc5892#appendix-A\n if (checkJoiners) {\n let last = 0;\n for (const [i, ch] of codePoints.entries()) {\n if (ch === \"\\u200C\" || ch === \"\\u200D\") {\n if (i > 0) {\n if (regexes.combiningClassVirama.test(codePoints[i - 1])) {\n continue;\n }\n if (ch === \"\\u200C\") {\n // TODO: make this more efficient\n const next = codePoints.indexOf(\"\\u200C\", i + 1);\n const test = next < 0 ? codePoints.slice(last) : codePoints.slice(last, next);\n if (regexes.validZWNJ.test(test.join(\"\"))) {\n last = i + 1;\n continue;\n }\n }\n }\n return false;\n }\n }\n }\n\n // \"9. If CheckBidi, and if the domain name is a Bidi domain name, then the label must satisfy...\"\n // https://tools.ietf.org/html/rfc5893#section-2\n if (checkBidi && isBidi) {\n let rtl;\n\n // 1\n if (regexes.bidiS1LTR.test(codePoints[0])) {\n rtl = false;\n } else if (regexes.bidiS1RTL.test(codePoints[0])) {\n rtl = true;\n } else {\n return false;\n }\n\n if (rtl) {\n // 2-4\n if (!regexes.bidiS2.test(label) ||\n !regexes.bidiS3.test(label) ||\n (regexes.bidiS4EN.test(label) && regexes.bidiS4AN.test(label))) {\n return false;\n }\n } else if (!regexes.bidiS5.test(label) ||\n !regexes.bidiS6.test(label)) { // 5-6\n return false;\n }\n }\n\n return true;\n}\n\nfunction isBidiDomain(labels) {\n const domain = labels.map(label => {\n if (label.startsWith(\"xn--\")) {\n try {\n return punycode.decode(label.substring(4));\n } catch {\n return \"\";\n }\n }\n return label;\n }).join(\".\");\n return regexes.bidiDomain.test(domain);\n}\n\nfunction processing(domainName, options) {\n // 1. Map.\n let string = mapChars(domainName, options);\n\n // 2. Normalize.\n string = string.normalize(\"NFC\");\n\n // 3. Break.\n const labels = string.split(\".\");\n const isBidi = isBidiDomain(labels);\n\n // 4. Convert/Validate.\n let error = false;\n for (const [i, origLabel] of labels.entries()) {\n let label = origLabel;\n let transitionalProcessingForThisLabel = options.transitionalProcessing;\n if (label.startsWith(\"xn--\")) {\n if (containsNonASCII(label)) {\n error = true;\n continue;\n }\n\n try {\n label = punycode.decode(label.substring(4));\n } catch {\n if (!options.ignoreInvalidPunycode) {\n error = true;\n continue;\n }\n }\n labels[i] = label;\n\n if (label === \"\" || !containsNonASCII(label)) {\n error = true;\n }\n\n transitionalProcessingForThisLabel = false;\n }\n\n // No need to validate if we already know there is an error.\n if (error) {\n continue;\n }\n const validation = validateLabel(label, {\n ...options,\n transitionalProcessing: transitionalProcessingForThisLabel,\n isBidi\n });\n if (!validation) {\n error = true;\n }\n }\n\n return {\n string: labels.join(\".\"),\n error\n };\n}\n\nfunction toASCII(domainName, {\n checkHyphens = false,\n checkBidi = false,\n checkJoiners = false,\n useSTD3ASCIIRules = false,\n verifyDNSLength = false,\n transitionalProcessing = false,\n ignoreInvalidPunycode = false\n} = {}) {\n const result = processing(domainName, {\n checkHyphens,\n checkBidi,\n checkJoiners,\n useSTD3ASCIIRules,\n transitionalProcessing,\n ignoreInvalidPunycode\n });\n let labels = result.string.split(\".\");\n labels = labels.map(l => {\n if (containsNonASCII(l)) {\n try {\n return `xn--${punycode.encode(l)}`;\n } catch {\n result.error = true;\n }\n }\n return l;\n });\n\n if (verifyDNSLength) {\n const total = labels.join(\".\").length;\n if (total > 253 || total === 0) {\n result.error = true;\n }\n\n for (let i = 0; i < labels.length; ++i) {\n if (labels[i].length > 63 || labels[i].length === 0) {\n result.error = true;\n break;\n }\n }\n }\n\n if (result.error) {\n return null;\n }\n return labels.join(\".\");\n}\n\nfunction toUnicode(domainName, {\n checkHyphens = false,\n checkBidi = false,\n checkJoiners = false,\n useSTD3ASCIIRules = false,\n transitionalProcessing = false,\n ignoreInvalidPunycode = false\n} = {}) {\n const result = processing(domainName, {\n checkHyphens,\n checkBidi,\n checkJoiners,\n useSTD3ASCIIRules,\n transitionalProcessing,\n ignoreInvalidPunycode\n });\n\n return {\n domain: result.string,\n error: result.error\n };\n}\n\nmodule.exports = {\n toASCII,\n toUnicode\n};\n","import { createWriteStream, readFileSync, statSync } from \"node:fs\";\nimport { basename, extname } from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\nimport { setTimeout as delay } from \"node:timers/promises\";\nimport { Realtime, type AuthOptions, type InboundMessage } from \"ably\";\nimport type {\n ZeroBuiltInGenerationAcceptedResponse,\n ZeroBuiltInGenerationResponse,\n} from \"@vm0/api-contracts/contracts/zero-built-in-generation\";\nimport type {\n ZeroAvatarVideoAvatar,\n ZeroAvatarVideoAvatarsQuery,\n ZeroAvatarVideoGenerateRequest,\n ZeroAvatarVideoGenerateResponse,\n ZeroAvatarVideoVoice,\n ZeroAvatarVideoVoicesQuery,\n} from \"@vm0/api-contracts/contracts/zero-avatar-video\";\nimport {\n zeroAvatarVideoAvatarsResponseSchema,\n zeroAvatarVideoVoicesResponseSchema,\n} from \"@vm0/api-contracts/contracts/zero-avatar-video\";\nimport { ApiRequestError, getBaseUrl } from \"../core/client-factory\";\nimport { getActiveToken } from \"../config\";\nimport { headersWithCliClientHeaders } from \"../client-headers\";\n\nconst BUILT_IN_GENERATION_POLL_INTERVAL_MS = 2_000;\nconst BUILT_IN_GENERATION_WAIT_TIMEOUT_MS_BY_TYPE = {\n image: 15 * 60 * 1000,\n video: 30 * 60 * 1000,\n presentation: 60 * 60 * 1000,\n website: 60 * 60 * 1000,\n} as const satisfies Record<\n ZeroBuiltInGenerationAcceptedResponse[\"type\"],\n number\n>;\nconst ABLY_CONNECT_TIMEOUT_MS = 10_000;\n\n/**\n * Minimal extension → MIME map covering the server allowlist for\n * `/api/zero/uploads/prepare`. Kept in this file rather than a shared module\n * to match the YAGNI pattern used elsewhere in the CLI.\n */\nconst MIME_BY_EXTENSION: Record<string, string> = {\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".jpeg\": \"image/jpeg\",\n \".gif\": \"image/gif\",\n \".webp\": \"image/webp\",\n \".avif\": \"image/avif\",\n \".svg\": \"image/svg+xml\",\n \".bmp\": \"image/bmp\",\n \".heic\": \"image/heic\",\n \".heif\": \"image/heif\",\n \".tif\": \"image/tiff\",\n \".tiff\": \"image/tiff\",\n \".psd\": \"image/vnd.adobe.photoshop\",\n \".mp4\": \"video/mp4\",\n \".webm\": \"video/webm\",\n \".mov\": \"video/quicktime\",\n \".aac\": \"audio/aac\",\n \".flac\": \"audio/flac\",\n \".m4a\": \"audio/mp4\",\n \".mp3\": \"audio/mpeg\",\n \".mpga\": \"audio/mpga\",\n \".oga\": \"audio/ogg\",\n \".ogg\": \"audio/ogg\",\n \".opus\": \"audio/opus\",\n \".wav\": \"audio/wav\",\n \".wave\": \"audio/wave\",\n \".pdf\": \"application/pdf\",\n \".txt\": \"text/plain\",\n \".csv\": \"text/csv\",\n \".md\": \"text/markdown\",\n \".html\": \"text/html\",\n \".htm\": \"text/html\",\n \".json\": \"application/json\",\n \".xml\": \"application/xml\",\n \".yaml\": \"application/yaml\",\n \".yml\": \"application/yaml\",\n \".tsv\": \"text/tab-separated-values\",\n \".doc\": \"application/msword\",\n \".docx\":\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \".docm\": \"application/vnd.ms-word.document.macroenabled.12\",\n \".dotm\": \"application/vnd.ms-word.template.macroenabled.12\",\n \".dotx\":\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\n \".odt\": \"application/vnd.oasis.opendocument.text\",\n \".rtf\": \"application/rtf\",\n \".xls\": \"application/vnd.ms-excel\",\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \".xlsb\": \"application/vnd.ms-excel.sheet.binary.macroenabled.12\",\n \".xlsm\": \"application/vnd.ms-excel.sheet.macroenabled.12\",\n \".xltm\": \"application/vnd.ms-excel.template.macroenabled.12\",\n \".xltx\":\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\n \".ods\": \"application/vnd.oasis.opendocument.spreadsheet\",\n \".ppt\": \"application/vnd.ms-powerpoint\",\n \".pptx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \".potm\": \"application/vnd.ms-powerpoint.template.macroenabled.12\",\n \".potx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.template\",\n \".odp\": \"application/vnd.oasis.opendocument.presentation\",\n \".ppsx\":\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\n \".ppsm\": \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\n \".pptm\": \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\n \".zip\": \"application/zip\",\n \".rar\": \"application/vnd.rar\",\n \".7z\": \"application/x-7z-compressed\",\n \".tar\": \"application/x-tar\",\n \".gz\": \"application/gzip\",\n \".tgz\": \"application/gzip\",\n \".bz2\": \"application/x-bzip2\",\n \".xz\": \"application/x-xz\",\n \".pages\": \"application/vnd.apple.pages\",\n \".numbers\": \"application/vnd.apple.numbers\",\n \".key\": \"application/vnd.apple.keynote\",\n \".parquet\": \"application/vnd.apache.parquet\",\n \".sqlite\": \"application/vnd.sqlite3\",\n \".sqlite3\": \"application/vnd.sqlite3\",\n \".db\": \"application/vnd.sqlite3\",\n \".epub\": \"application/epub+zip\",\n \".ai\": \"application/postscript\",\n};\n\nexport function inferWebUploadContentType(localPath: string): string {\n const ext = extname(localPath).toLowerCase();\n return MIME_BY_EXTENSION[ext] ?? \"application/octet-stream\";\n}\n\ninterface DownloadWebFileResult {\n path: string;\n mimetype: string;\n size: number;\n}\n\n/**\n * Download a web-uploaded file to a local path, streaming the response body\n * to disk. Authenticates via ZERO_TOKEN. Response is binary, so this bypasses\n * the typed contract client.\n */\nexport async function downloadWebFile(\n fileId: string,\n outPath: string,\n): Promise<DownloadWebFileResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const url = new URL(\"/api/zero/web/download-file\", baseUrl);\n url.searchParams.set(\"file_id\", fileId);\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n };\n\n const response = await fetch(url, {\n headers: headersWithCliClientHeaders(headers),\n });\n\n if (!response.ok) {\n let message = `Failed to download web file (HTTP ${response.status})`;\n let code = \"UNKNOWN\";\n try {\n const body = (await response.json()) as {\n error?: { message?: string; code?: string };\n };\n if (body.error?.message) message = body.error.message;\n if (body.error?.code) code = body.error.code;\n } catch {\n // ignore parse errors — keep generic message\n }\n throw new ApiRequestError(message, code, response.status);\n }\n\n if (!response.body) {\n throw new ApiRequestError(\n \"Web download response has no body\",\n \"EMPTY_BODY\",\n 502,\n );\n }\n\n const mimetype =\n response.headers.get(\"x-file-mimetype\") ??\n response.headers.get(\"content-type\") ??\n \"application/octet-stream\";\n\n // Cast required: Web API ReadableStream and Node.js ReadableStream are\n // structurally compatible but have incompatible type declarations.\n await pipeline(\n Readable.fromWeb(response.body as never),\n createWriteStream(outPath),\n );\n\n const contentLengthHeader = response.headers.get(\"content-length\");\n const size = contentLengthHeader ? Number(contentLengthHeader) : 0;\n\n return { path: outPath, mimetype, size };\n}\n\ninterface UploadWebFileResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n}\n\ninterface GenerateWebVoiceOptions {\n text: string;\n voice?: string;\n instructions?: string;\n}\n\ninterface GenerateWebVoiceResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n durationSeconds: number;\n creditsCharged: number;\n model: string;\n voice: string;\n}\n\ninterface GenerateWebImageOptions {\n prompt: string;\n model?: string;\n size?: string;\n quality?: string;\n background?: string;\n outputFormat?: string;\n outputCompression?: number;\n moderation?: string;\n seed?: number;\n safetyTolerance?: string;\n enhancePrompt?: boolean;\n imageUrls?: readonly string[];\n maskImageUrl?: string;\n inputFidelity?: string;\n imagePromptStrength?: number;\n}\n\ninterface GenerateWebImageResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n creditsCharged: number;\n model: string;\n provider: string;\n imageSize: string;\n quality: string;\n background: string;\n outputFormat: string;\n outputCompression?: number;\n moderation?: string;\n safetyTolerance?: string;\n revisedPrompt?: string;\n usage?: {\n textInputTokens: number;\n imageInputTokens: number;\n imageOutputTokens: number;\n totalTokens: number;\n };\n billingCategory?: string;\n billingQuantity?: number;\n sourceUrl?: string;\n seed?: number;\n sourceImageUrls?: string[];\n maskImageUrl?: string;\n inputFidelity?: string;\n imagePromptStrength?: number;\n}\n\ninterface GenerateWebVideoOptions {\n prompt: string;\n model?: string;\n aspectRatio?: string;\n duration?: string;\n resolution?: string;\n generateAudio?: boolean;\n negativePrompt?: string;\n seed?: number;\n autoFix?: boolean;\n safetyTolerance?: string;\n imageUrls?: string[];\n videoUrls?: string[];\n audioUrls?: string[];\n firstFrameImageUrl?: string;\n lastFrameImageUrl?: string;\n}\n\ninterface GenerateWebVideoResult {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n durationSeconds: number;\n creditsCharged: number;\n model: string;\n aspectRatio: string;\n duration: string;\n resolution: string;\n generateAudio: boolean;\n sourceUrl: string;\n requestId?: string;\n}\n\ninterface ListWebAvatarVideoAvatarsResult {\n readonly avatars: readonly ZeroAvatarVideoAvatar[];\n}\n\ninterface ListWebAvatarVideoVoicesResult {\n readonly voices: readonly ZeroAvatarVideoVoice[];\n readonly hasMore: boolean;\n}\n\nfunction shouldIncludePayloadValue(value: unknown): boolean {\n if (value === undefined) {\n return false;\n }\n return !Array.isArray(value) || value.length > 0;\n}\n\nfunction compactPayload(\n entries: readonly (readonly [string, unknown])[],\n): Record<string, unknown> {\n return Object.fromEntries(\n entries.filter(([, value]) => {\n return shouldIncludePayloadValue(value);\n }),\n );\n}\n\nfunction generateWebVideoPayload(\n options: GenerateWebVideoOptions,\n): Record<string, unknown> {\n return compactPayload([\n [\"prompt\", options.prompt],\n [\"model\", options.model],\n [\"aspectRatio\", options.aspectRatio],\n [\"duration\", options.duration],\n [\"resolution\", options.resolution],\n [\"generateAudio\", options.generateAudio],\n [\"negativePrompt\", options.negativePrompt],\n [\"seed\", options.seed],\n [\"autoFix\", options.autoFix],\n [\"safetyTolerance\", options.safetyTolerance],\n [\"imageUrls\", options.imageUrls],\n [\"videoUrls\", options.videoUrls],\n [\"audioUrls\", options.audioUrls],\n [\"firstFrameImageUrl\", options.firstFrameImageUrl],\n [\"lastFrameImageUrl\", options.lastFrameImageUrl],\n ]);\n}\n\ninterface PrepareUploadResponse {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n uploadUrl: string;\n uploadHeaders?: Record<string, string>;\n url: string;\n}\n\ninterface CompleteUploadResponse {\n id: string;\n filename: string;\n contentType: string;\n size: number;\n url: string;\n}\n\nasync function parseErrorBody(\n response: Response,\n fallback: string,\n): Promise<{ message: string; code: string }> {\n let message = `${fallback} (HTTP ${response.status})`;\n let code = \"UNKNOWN\";\n try {\n const body = (await response.json()) as {\n error?: { message?: string; code?: string };\n };\n if (body.error?.message) message = body.error.message;\n if (body.error?.code) code = body.error.code;\n } catch {\n // ignore parse errors — keep generic message\n }\n return { message, code };\n}\n\nfunction authenticatedJsonHeaders(token: string): Headers {\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n return headersWithCliClientHeaders(headers);\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isBuiltInGenerationAcceptedResponse(\n value: unknown,\n): value is ZeroBuiltInGenerationAcceptedResponse {\n if (!isRecord(value)) {\n return false;\n }\n return (\n typeof value.generationId === \"string\" &&\n value.status === \"queued\" &&\n (value.type === \"image\" ||\n value.type === \"video\" ||\n value.type === \"presentation\" ||\n value.type === \"website\") &&\n isRecord(value.realtime)\n );\n}\n\ninterface BuiltInGenerationNotifier {\n wait(timeoutMs: number): Promise<void>;\n close(): void;\n}\n\nfunction createBuiltInGenerationRealtime(\n accepted: ZeroBuiltInGenerationAcceptedResponse,\n): Realtime {\n let nextAuthRequest = accepted.realtime.tokenRequest;\n const authCallback: NonNullable<AuthOptions[\"authCallback\"]> = (\n _params,\n callback,\n ) => {\n const current = nextAuthRequest;\n nextAuthRequest = accepted.realtime.tokenRequest;\n callback(null, current);\n };\n\n return new Realtime({\n authCallback,\n autoConnect: true,\n disconnectedRetryTimeout: 5000,\n suspendedRetryTimeout: 15_000,\n });\n}\n\nfunction waitForRealtimeConnected(\n ably: Realtime,\n timeoutMs = ABLY_CONNECT_TIMEOUT_MS,\n): Promise<void> {\n if (ably.connection.state === \"connected\") {\n return Promise.resolve();\n }\n if (ably.connection.state === \"failed\") {\n return Promise.reject(new Error(\"Ably connection failed\"));\n }\n\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"Timed out connecting to Ably\"));\n }, timeoutMs);\n\n ably.connection.once(\"connected\", () => {\n clearTimeout(timer);\n resolve();\n });\n ably.connection.once(\"failed\", (stateChange) => {\n clearTimeout(timer);\n reject(\n new Error(\n `Ably connection failed: ${stateChange?.reason?.message ?? \"unknown\"}`,\n ),\n );\n });\n });\n}\n\nasync function createBuiltInGenerationNotifier(\n accepted: ZeroBuiltInGenerationAcceptedResponse,\n): Promise<BuiltInGenerationNotifier | null> {\n const ably = createBuiltInGenerationRealtime(accepted);\n\n try {\n await waitForRealtimeConnected(ably);\n const channel = ably.channels.get(accepted.realtime.channelName);\n\n let pendingEvent = false;\n let closed = false;\n let wake: (() => void) | null = null;\n\n const wakeWaiter = () => {\n const current = wake;\n wake = null;\n current?.();\n };\n\n const onMessage = (_message: InboundMessage) => {\n if (wake) {\n wakeWaiter();\n return;\n }\n pendingEvent = true;\n };\n\n await channel.subscribe(accepted.realtime.eventName, onMessage);\n\n return {\n wait(timeoutMs: number): Promise<void> {\n if (pendingEvent || closed || timeoutMs <= 0) {\n pendingEvent = false;\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n function done() {\n clearTimeout(timer);\n if (wake === done) {\n wake = null;\n }\n resolve();\n }\n const timer = setTimeout(done, timeoutMs);\n wake = done;\n });\n },\n close(): void {\n if (closed) {\n return;\n }\n closed = true;\n channel.unsubscribe(accepted.realtime.eventName, onMessage);\n wakeWaiter();\n ably.close();\n },\n };\n } catch {\n ably.close();\n return null;\n }\n}\n\nasync function getBuiltInGenerationStatus(\n baseUrl: string,\n token: string,\n generationId: string,\n): Promise<ZeroBuiltInGenerationResponse> {\n const response = await fetch(\n new URL(`/api/zero/built-in-generations/${generationId}`, baseUrl),\n { headers: authenticatedJsonHeaders(token) },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to get generation status\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as ZeroBuiltInGenerationResponse;\n}\n\nfunction readBuiltInGenerationResult<T>(\n status: ZeroBuiltInGenerationResponse,\n fallback: string,\n): T | undefined {\n if (status.status === \"completed\") {\n if (!status.result) {\n throw new ApiRequestError(\n `${fallback} returned no result`,\n \"EMPTY_RESULT\",\n 502,\n );\n }\n return status.result as T;\n }\n\n if (status.status === \"failed\") {\n const code = status.error?.code ?? \"GENERATION_FAILED\";\n throw new ApiRequestError(\n status.error?.message ?? `${fallback} failed`,\n code,\n statusForBuiltInGenerationError(code),\n );\n }\n\n return undefined;\n}\n\nfunction statusForBuiltInGenerationError(code: string): number {\n if (code === \"BAD_REQUEST\") {\n return 400;\n }\n if (code === \"INSUFFICIENT_CREDITS\") {\n return 402;\n }\n if (code === \"NOT_CONFIGURED\") {\n return 503;\n }\n if (code === \"GENERATION_TIMEOUT\") {\n return 504;\n }\n if (\n code.startsWith(\"BYTEPLUS_INVALID_PARAMETER\") ||\n code.startsWith(\"BYTEPLUS_INPUT_\")\n ) {\n return 400;\n }\n if (code.startsWith(\"BYTEPLUS_\")) {\n return 502;\n }\n if (code.startsWith(\"NO_\") || code.endsWith(\"_FAILED\")) {\n return 502;\n }\n return 500;\n}\n\nasync function waitForBuiltInGenerationResult<T>(args: {\n readonly accepted: ZeroBuiltInGenerationAcceptedResponse;\n readonly baseUrl: string;\n readonly token: string;\n readonly fallback: string;\n}): Promise<T> {\n let notifier: BuiltInGenerationNotifier | null = null;\n let notifierCreated = false;\n const startedAt = Date.now();\n const timeoutMs =\n BUILT_IN_GENERATION_WAIT_TIMEOUT_MS_BY_TYPE[args.accepted.type];\n\n try {\n while (Date.now() - startedAt < timeoutMs) {\n const status = await getBuiltInGenerationStatus(\n args.baseUrl,\n args.token,\n args.accepted.generationId,\n );\n const result = readBuiltInGenerationResult<T>(status, args.fallback);\n if (result) {\n return result;\n }\n\n const elapsed = Date.now() - startedAt;\n const remaining = timeoutMs - elapsed;\n const waitMs = Math.min(BUILT_IN_GENERATION_POLL_INTERVAL_MS, remaining);\n if (!notifierCreated) {\n notifier = await createBuiltInGenerationNotifier(args.accepted);\n notifierCreated = true;\n }\n if (notifier) {\n await notifier.wait(waitMs);\n } else {\n await delay(waitMs);\n }\n }\n } finally {\n notifier?.close();\n }\n\n throw new ApiRequestError(\n `${args.fallback} timed out (generationId: ${args.accepted.generationId})`,\n \"GENERATION_TIMEOUT\",\n 504,\n );\n}\n\nasync function readBuiltInGenerationResponse<T>(args: {\n readonly response: Response;\n readonly baseUrl: string;\n readonly token: string;\n readonly fallback: string;\n}): Promise<T> {\n const body: unknown = await args.response.json();\n if (isBuiltInGenerationAcceptedResponse(body)) {\n return waitForBuiltInGenerationResult<T>({\n accepted: body,\n baseUrl: args.baseUrl,\n token: args.token,\n fallback: args.fallback,\n });\n }\n if (args.response.status === 202) {\n throw new ApiRequestError(\n `${args.fallback} returned an invalid generation response`,\n \"INVALID_GENERATION_RESPONSE\",\n 502,\n );\n }\n return body as T;\n}\n\n/**\n * Upload a local file and receive back metadata including a public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI\n * PAT / Clerk session.\n *\n * Three-step flow:\n * 1. POST /api/zero/uploads/prepare — server signs a PUT URL for R2\n * 2. PUT the file bytes directly to R2\n * 3. POST /api/zero/uploads/complete — server verifies the object and\n * records any run-scoped upload association\n *\n * Step 2 never touches the Next.js runtime, which lifts the cap from\n * Vercel's ~4.5 MB body limit up to R2's 5 GB single-PUT limit.\n */\nexport async function uploadWebFile(\n localPath: string,\n options?: { contentType?: string },\n): Promise<UploadWebFileResult> {\n const stats = statSync(localPath);\n if (!stats.isFile()) {\n throw new ApiRequestError(\n `Not a regular file: ${localPath}`,\n \"BAD_REQUEST\",\n 400,\n );\n }\n\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const filename = basename(localPath);\n const contentType =\n options?.contentType ?? inferWebUploadContentType(localPath);\n\n const prepareHeaders: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const prepareUrl = new URL(\"/api/zero/uploads/prepare\", baseUrl);\n const prepareRes = await fetch(prepareUrl, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(prepareHeaders),\n body: JSON.stringify({\n filename,\n contentType,\n size: stats.size,\n supportsUploadHeaders: true,\n }),\n });\n\n if (!prepareRes.ok) {\n const { message, code } = await parseErrorBody(\n prepareRes,\n \"Failed to prepare upload\",\n );\n throw new ApiRequestError(message, code, prepareRes.status);\n }\n\n const prepared = (await prepareRes.json()) as PrepareUploadResponse;\n\n const bytes = readFileSync(localPath);\n const putRes = await fetch(prepared.uploadUrl, {\n method: \"PUT\",\n headers: {\n \"Content-Type\": prepared.contentType,\n ...prepared.uploadHeaders,\n },\n body: new Uint8Array(bytes),\n });\n\n if (!putRes.ok) {\n throw new ApiRequestError(\n `Failed to upload file to storage (HTTP ${putRes.status})`,\n \"UPLOAD_FAILED\",\n putRes.status,\n );\n }\n\n const completeUrl = new URL(\"/api/zero/uploads/complete\", baseUrl);\n const completeRes = await fetch(completeUrl, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(prepareHeaders),\n body: JSON.stringify({\n id: prepared.id,\n contentType: prepared.contentType,\n }),\n });\n\n if (!completeRes.ok) {\n const { message, code } = await parseErrorBody(\n completeRes,\n \"Failed to complete upload\",\n );\n throw new ApiRequestError(message, code, completeRes.status);\n }\n\n const completed = (await completeRes.json()) as CompleteUploadResponse;\n\n return {\n id: completed.id,\n filename: completed.filename,\n contentType: completed.contentType,\n size: completed.size,\n url: completed.url,\n };\n}\n\n/**\n * Generate billed speech audio from text and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebVoice(\n options: GenerateWebVoiceOptions,\n): Promise<GenerateWebVoiceResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(new URL(\"/api/zero/voice-io/speech\", baseUrl), {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify({\n text: options.text,\n ...(options.voice ? { voice: options.voice } : {}),\n ...(options.instructions ? { instructions: options.instructions } : {}),\n }),\n });\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate voice\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as GenerateWebVoiceResult;\n}\n\n/**\n * Generate a billed image from a prompt and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebImage(\n options: GenerateWebImageOptions,\n): Promise<GenerateWebImageResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(\n new URL(\"/api/zero/image-io/generate\", baseUrl),\n {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify({\n prompt: options.prompt,\n ...(options.model ? { model: options.model } : {}),\n ...(options.size ? { size: options.size } : {}),\n ...(options.quality ? { quality: options.quality } : {}),\n ...(options.background ? { background: options.background } : {}),\n ...(options.outputFormat ? { outputFormat: options.outputFormat } : {}),\n ...(options.outputCompression !== undefined\n ? { outputCompression: options.outputCompression }\n : {}),\n ...(options.moderation ? { moderation: options.moderation } : {}),\n ...(options.seed !== undefined ? { seed: options.seed } : {}),\n ...(options.safetyTolerance\n ? { safetyTolerance: options.safetyTolerance }\n : {}),\n ...(options.enhancePrompt !== undefined\n ? { enhancePrompt: options.enhancePrompt }\n : {}),\n ...(options.imageUrls && options.imageUrls.length > 0\n ? { imageUrls: options.imageUrls }\n : {}),\n ...(options.maskImageUrl ? { maskImageUrl: options.maskImageUrl } : {}),\n ...(options.inputFidelity\n ? { inputFidelity: options.inputFidelity }\n : {}),\n ...(options.imagePromptStrength !== undefined\n ? { imagePromptStrength: options.imagePromptStrength }\n : {}),\n }),\n },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate image\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return readBuiltInGenerationResponse<GenerateWebImageResult>({\n response,\n baseUrl,\n token,\n fallback: \"Failed to generate image\",\n });\n}\n\n/**\n * Generate a billed video from a prompt and receive the public CDN URL.\n * Authenticates via ZERO_TOKEN (`file:write` capability) or a CLI PAT /\n * Clerk session.\n */\nexport async function generateWebVideo(\n options: GenerateWebVideoOptions,\n): Promise<GenerateWebVideoResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n };\n\n const response = await fetch(\n new URL(\"/api/zero/video-io/generate\", baseUrl),\n {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: JSON.stringify(generateWebVideoPayload(options)),\n },\n );\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate video\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return readBuiltInGenerationResponse<GenerateWebVideoResult>({\n response,\n baseUrl,\n token,\n fallback: \"Failed to generate video\",\n });\n}\n\n/**\n * Generate a billed JoggAI talking-avatar video and receive its public CDN URL.\n */\nexport async function generateWebAvatarVideo(\n options: ZeroAvatarVideoGenerateRequest,\n): Promise<ZeroAvatarVideoGenerateResponse> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n const response = await fetch(\n new URL(\"/api/zero/avatar-video/generate\", baseUrl),\n {\n method: \"POST\",\n headers: headersWithCliClientHeaders({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n }),\n body: JSON.stringify(options),\n },\n );\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Failed to generate avatar video\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n return readBuiltInGenerationResponse<ZeroAvatarVideoGenerateResponse>({\n response,\n baseUrl,\n token,\n fallback: \"Failed to generate avatar video\",\n });\n}\n\nfunction avatarVideoCollectionUrl(\n baseUrl: string,\n collection: \"avatars\" | \"voices\",\n query: Record<string, string | number | undefined>,\n): URL {\n const url = new URL(`/api/zero/avatar-video/${collection}`, baseUrl);\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n return url;\n}\n\nasync function getAvatarVideoCollection(\n url: URL,\n fallback: string,\n): Promise<unknown> {\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n const response = await fetch(url, {\n headers: headersWithCliClientHeaders({\n Authorization: `Bearer ${token}`,\n }),\n });\n if (!response.ok) {\n const { message, code } = await parseErrorBody(response, fallback);\n throw new ApiRequestError(message, code, response.status);\n }\n return await response.json();\n}\n\nexport async function listWebAvatarVideoAvatars(\n query: ZeroAvatarVideoAvatarsQuery,\n): Promise<ListWebAvatarVideoAvatarsResult> {\n const baseUrl = await getBaseUrl();\n return zeroAvatarVideoAvatarsResponseSchema.parse(\n await getAvatarVideoCollection(\n avatarVideoCollectionUrl(baseUrl, \"avatars\", query),\n \"Failed to list JoggAI avatars\",\n ),\n );\n}\n\nexport async function listWebAvatarVideoVoices(\n query: ZeroAvatarVideoVoicesQuery,\n): Promise<ListWebAvatarVideoVoicesResult> {\n const baseUrl = await getBaseUrl();\n return zeroAvatarVideoVoicesResponseSchema.parse(\n await getAvatarVideoCollection(\n avatarVideoCollectionUrl(baseUrl, \"voices\", query),\n \"Failed to list JoggAI voices\",\n ),\n );\n}\n\nexport interface TranscribeAudioSegment {\n readonly start: number;\n readonly end: number;\n readonly text: string;\n}\n\ninterface TranscribeAudioResult {\n readonly text: string;\n readonly segments?: readonly TranscribeAudioSegment[];\n}\n\nexport async function transcribeAudio(\n audioPath: string,\n options: { readonly verbose?: boolean } = {},\n): Promise<TranscribeAudioResult> {\n const baseUrl = await getBaseUrl();\n const token = await getActiveToken();\n if (!token) {\n throw new ApiRequestError(\"Not authenticated\", \"UNAUTHORIZED\", 401);\n }\n\n const headers: Record<string, string> = {\n Authorization: `Bearer ${token}`,\n };\n\n const url = new URL(\"/api/zero/voice-io/stt\", baseUrl);\n if (options.verbose) {\n url.searchParams.set(\"verbose\", \"true\");\n }\n\n const audioData = readFileSync(audioPath);\n const filename = basename(audioPath);\n const ext = extname(filename).toLowerCase();\n const mimeMap: Record<string, string> = {\n \".mp3\": \"audio/mpeg\",\n \".mp4\": \"audio/mp4\",\n \".m4a\": \"audio/m4a\",\n \".wav\": \"audio/wav\",\n \".webm\": \"audio/webm\",\n };\n const mimeType = mimeMap[ext] ?? \"audio/mpeg\";\n\n const formData = new FormData();\n formData.append(\"file\", new Blob([audioData], { type: mimeType }), filename);\n\n const response = await fetch(url, {\n method: \"POST\",\n headers: headersWithCliClientHeaders(headers),\n body: formData,\n });\n\n if (!response.ok) {\n const { message, code } = await parseErrorBody(\n response,\n \"Transcription failed\",\n );\n throw new ApiRequestError(message, code, response.status);\n }\n\n return (await response.json()) as TranscribeAudioResult;\n}\n","import { z } from \"zod\";\n\nimport { authHeadersSchema, initContract } from \"./base\";\nimport { apiErrorSchema } from \"./errors\";\nimport { zeroBuiltInGenerationAcceptedResponseSchema } from \"./zero-built-in-generation\";\n\nconst c = initContract();\n\nexport const avatarVideoAspectRatioSchema = z.enum([\n \"portrait\",\n \"landscape\",\n \"square\",\n]);\nexport const avatarVideoScreenStyleSchema = z.union([\n z.literal(1),\n z.literal(2),\n z.literal(3),\n]);\nexport const avatarVideoVoiceIdSchema = z\n .string()\n .trim()\n .min(1)\n .max(200)\n .regex(/^[A-Za-z0-9._:-]+$/);\n\nexport const zeroAvatarVideoGenerateRequestSchema = z\n .object({\n avatarId: z.number().int().positive(),\n voiceId: avatarVideoVoiceIdSchema,\n script: z.string().trim().min(1).optional(),\n audioUrl: z.url().optional(),\n aspectRatio: avatarVideoAspectRatioSchema.optional(),\n screenStyle: avatarVideoScreenStyleSchema.optional(),\n caption: z.boolean().optional(),\n videoName: z.string().trim().min(1).optional(),\n })\n .refine(\n (value) => {\n return Boolean(value.script) !== Boolean(value.audioUrl);\n },\n {\n message: \"Provide exactly one of script or audioUrl\",\n },\n );\n\nexport const zeroAvatarVideoGenerateResponseSchema = z.object({\n id: z.string(),\n filename: z.string(),\n contentType: z.string(),\n size: z.number(),\n url: z.string(),\n durationSeconds: z.number(),\n creditsCharged: z.number(),\n provider: z.literal(\"joggai\"),\n model: z.literal(\"joggai-talking-avatar\"),\n providerVideoId: z.string(),\n avatarId: z.number().int().positive(),\n voiceId: z.string(),\n inputType: z.enum([\"script\", \"audio\"]),\n aspectRatio: avatarVideoAspectRatioSchema,\n screenStyle: avatarVideoScreenStyleSchema,\n caption: z.boolean(),\n sourceUrl: z.url(),\n});\n\nexport const zeroAvatarVideoAvatarSchema = z.object({\n id: z.number().int().positive(),\n name: z.string(),\n videoUrl: z.url().optional(),\n coverUrl: z.url().optional(),\n aspectRatio: z.number().int().optional(),\n style: z.string().optional(),\n gender: z.string().optional(),\n age: z.string().optional(),\n});\n\nexport const zeroAvatarVideoVoiceSchema = z.object({\n id: avatarVideoVoiceIdSchema,\n name: z.string(),\n sampleUrl: z.url().optional(),\n language: z.string().optional(),\n gender: z.string().optional(),\n age: z.string().optional(),\n accent: z.string().optional(),\n useCase: z.string().optional(),\n});\n\nexport const zeroAvatarVideoAvatarsResponseSchema = z.object({\n avatars: z.array(zeroAvatarVideoAvatarSchema),\n});\nexport const zeroAvatarVideoVoicesResponseSchema = z.object({\n voices: z.array(zeroAvatarVideoVoiceSchema),\n hasMore: z.boolean(),\n filterOptions: z\n .object({\n languages: z.array(z.string().min(1)),\n useCases: z.array(z.string().min(1)),\n })\n .optional(),\n});\n\nconst pageQuerySchema = z.object({\n page: z.coerce.number().int().min(1).optional(),\n pageSize: z.coerce.number().int().min(1).max(100).optional(),\n});\n\nexport const zeroAvatarVideoAvatarsQuerySchema = pageQuerySchema.extend({\n aspectRatio: avatarVideoAspectRatioSchema.optional(),\n style: z.enum([\"professional\", \"social\"]).optional(),\n gender: z.enum([\"female\", \"male\"]).optional(),\n age: z.enum([\"adult\", \"senior\", \"young_adult\"]).optional(),\n scene: z\n .enum([\n \"lifestyle\",\n \"outdoors\",\n \"business\",\n \"studio\",\n \"health_fitness\",\n \"education\",\n \"news\",\n ])\n .optional(),\n ethnicity: z\n .enum([\n \"european\",\n \"african\",\n \"south_asian\",\n \"east_asian\",\n \"middle_eastern\",\n \"south_american\",\n \"north_american\",\n ])\n .optional(),\n});\n\nexport const zeroAvatarVideoVoicesQuerySchema = pageQuerySchema.extend({\n gender: z.enum([\"female\", \"male\"]).optional(),\n language: z.string().min(1).optional(),\n age: z.enum([\"young\", \"middle_aged\", \"old\"]).optional(),\n useCase: z.string().min(1).optional(),\n});\n\nexport type ZeroAvatarVideoGenerateRequest = z.infer<\n typeof zeroAvatarVideoGenerateRequestSchema\n>;\nexport type ZeroAvatarVideoGenerateResponse = z.infer<\n typeof zeroAvatarVideoGenerateResponseSchema\n>;\nexport type ZeroAvatarVideoAvatarsQuery = z.infer<\n typeof zeroAvatarVideoAvatarsQuerySchema\n>;\nexport type ZeroAvatarVideoVoicesQuery = z.infer<\n typeof zeroAvatarVideoVoicesQuerySchema\n>;\nexport type ZeroAvatarVideoAvatar = z.infer<typeof zeroAvatarVideoAvatarSchema>;\nexport type ZeroAvatarVideoVoice = z.infer<typeof zeroAvatarVideoVoiceSchema>;\n\nexport const zeroAvatarVideoContract = c.router({\n generate: {\n method: \"POST\",\n path: \"/api/zero/avatar-video/generate\",\n headers: authHeadersSchema,\n body: zeroAvatarVideoGenerateRequestSchema,\n responses: {\n 200: zeroAvatarVideoGenerateResponseSchema,\n 202: zeroBuiltInGenerationAcceptedResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 402: apiErrorSchema,\n 403: apiErrorSchema,\n 500: apiErrorSchema,\n 502: apiErrorSchema,\n 503: apiErrorSchema,\n 504: apiErrorSchema,\n },\n summary: \"Generate and persist a JoggAI talking-avatar video\",\n },\n avatars: {\n method: \"GET\",\n path: \"/api/zero/avatar-video/avatars\",\n headers: authHeadersSchema,\n query: zeroAvatarVideoAvatarsQuerySchema,\n responses: {\n 200: zeroAvatarVideoAvatarsResponseSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 502: apiErrorSchema,\n 503: apiErrorSchema,\n },\n summary: \"List public JoggAI avatars\",\n },\n voices: {\n method: \"GET\",\n path: \"/api/zero/avatar-video/voices\",\n headers: authHeadersSchema,\n query: zeroAvatarVideoVoicesQuerySchema,\n responses: {\n 200: zeroAvatarVideoVoicesResponseSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 502: apiErrorSchema,\n 503: apiErrorSchema,\n },\n summary: \"List public JoggAI voices\",\n },\n});\n\nexport type ZeroAvatarVideoContract = typeof zeroAvatarVideoContract;\n","import { z } from \"zod\";\n\nexport { initContract } from \"./trpc-contract\";\n\nconst MAX_DATE_TIMESTAMP_MS = 8_640_000_000_000_000;\n\nfunction rejectBlankQueryNumber(value: unknown): unknown {\n if (typeof value === \"string\" && value.trim().length === 0) {\n return Number.NaN;\n }\n\n return value;\n}\n\nexport function isValidDateTimestamp(value: number): boolean {\n return (\n Number.isSafeInteger(value) && Math.abs(value) <= MAX_DATE_TIMESTAMP_MS\n );\n}\n\nexport const timestampQueryNumberSchema = z.preprocess(\n rejectBlankQueryNumber,\n z.coerce\n .number()\n .refine(Number.isSafeInteger, {\n message: \"Value must be a safe integer\",\n })\n .refine(isValidDateTimestamp, {\n message: \"Timestamp is out of range\",\n }),\n);\n\n/**\n * Shared headers schema for endpoints requiring authentication.\n * The authorization header is optional - endpoints handle missing auth\n * by returning 401 responses.\n *\n */\nexport const authHeadersSchema = z.object({\n authorization: z.string().optional(),\n});\n","import { z } from \"zod\";\n\nimport { authHeadersSchema, initContract } from \"./base\";\nimport { apiErrorSchema } from \"./errors\";\nimport { ablyTokenRequestSchema } from \"./realtime\";\n\nconst c = initContract();\n\nexport const zeroBuiltInGenerationTypeSchema = z.enum([\n \"image\",\n \"video\",\n \"presentation\",\n \"website\",\n]);\n\nexport const zeroBuiltInGenerationStatusSchema = z.enum([\n \"queued\",\n \"running\",\n \"completed\",\n \"failed\",\n]);\n\nexport const zeroBuiltInGenerationRealtimeSubscriptionSchema = z.object({\n channelName: z.string(),\n eventName: z.string(),\n tokenRequest: ablyTokenRequestSchema,\n});\n\nexport const zeroBuiltInGenerationAcceptedResponseSchema = z.object({\n generationId: z.string().uuid(),\n type: zeroBuiltInGenerationTypeSchema,\n status: z.literal(\"queued\"),\n realtime: zeroBuiltInGenerationRealtimeSubscriptionSchema,\n});\n\nexport const zeroBuiltInGenerationErrorSchema = z.object({\n message: z.string(),\n code: z.string(),\n});\n\nexport const zeroBuiltInGenerationResponseSchema = z.object({\n generationId: z.string().uuid(),\n type: zeroBuiltInGenerationTypeSchema,\n status: zeroBuiltInGenerationStatusSchema,\n result: z.record(z.string(), z.unknown()).optional(),\n error: zeroBuiltInGenerationErrorSchema.optional(),\n createdAt: z.string(),\n startedAt: z.string().nullable(),\n completedAt: z.string().nullable(),\n});\n\nexport type ZeroBuiltInGenerationType = z.infer<\n typeof zeroBuiltInGenerationTypeSchema\n>;\nexport type ZeroBuiltInGenerationStatus = z.infer<\n typeof zeroBuiltInGenerationStatusSchema\n>;\nexport type ZeroBuiltInGenerationRealtimeSubscription = z.infer<\n typeof zeroBuiltInGenerationRealtimeSubscriptionSchema\n>;\nexport type ZeroBuiltInGenerationAcceptedResponse = z.infer<\n typeof zeroBuiltInGenerationAcceptedResponseSchema\n>;\nexport type ZeroBuiltInGenerationResponse = z.infer<\n typeof zeroBuiltInGenerationResponseSchema\n>;\n\nexport const zeroBuiltInGenerationContract = c.router({\n get: {\n method: \"GET\",\n path: \"/api/zero/built-in-generations/:generationId\",\n headers: authHeadersSchema,\n pathParams: z.object({\n generationId: z.string().uuid(),\n }),\n responses: {\n 200: zeroBuiltInGenerationResponseSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Get a built-in generation job\",\n },\n});\n\nexport type ZeroBuiltInGenerationContract =\n typeof zeroBuiltInGenerationContract;\n","import { z } from \"zod\";\nimport { authHeadersSchema, initContract } from \"./base\";\nimport { connectorSlugSchema } from \"./connector-identity\";\nimport { apiErrorSchema } from \"./errors\";\nimport { runnerGroupSchema } from \"./runners\";\n\nconst c = initContract();\n\nexport const connectorChangedPayloadSchema = z.object({\n connectorSlug: connectorSlugSchema,\n});\n\nexport type ConnectorChangedPayload = z.infer<\n typeof connectorChangedPayloadSchema\n>;\n\nexport const browserSessionChangedPayloadSchema = z\n .object({\n threadId: z.uuid(),\n })\n .strict();\n\nexport type BrowserSessionChangedPayload = z.infer<\n typeof browserSessionChangedPayloadSchema\n>;\n\n/**\n * Ably token request schema (matches Ably SDK's TokenRequest type)\n */\nexport const ablyTokenRequestSchema = z.object({\n keyName: z.string(),\n ttl: z.number().optional(),\n timestamp: z.number(),\n capability: z.string(),\n clientId: z.string().optional(),\n nonce: z.string(),\n mac: z.string(),\n});\n\n/**\n * Runner realtime token contract for /api/runners/realtime/token\n */\nexport const runnerRealtimeTokenContract = c.router({\n /**\n * POST /api/runners/realtime/token\n * Get an Ably token to subscribe to a runner group's job notification channel\n */\n create: {\n method: \"POST\",\n path: \"/api/runners/realtime/token\",\n headers: authHeadersSchema,\n body: z.object({\n group: runnerGroupSchema,\n }),\n responses: {\n 200: ablyTokenRequestSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Get Ably token for runner group job notifications\",\n },\n});\n\nexport type RunnerRealtimeTokenContract = typeof runnerRealtimeTokenContract;\n\n/**\n * Platform realtime token contract for /api/zero/realtime/token\n * Used by the frontend to get an Ably token for subscribing to user-scoped push signals.\n */\nexport const platformRealtimeTokenContract = c.router({\n /**\n * POST /api/zero/realtime/token\n * Get an Ably token to subscribe to the authenticated user's push channel\n */\n create: {\n method: \"POST\",\n path: \"/api/zero/realtime/token\",\n headers: authHeadersSchema,\n body: z.object({}),\n responses: {\n 200: ablyTokenRequestSchema,\n 401: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Get Ably token for platform user push notifications\",\n },\n});\n\nexport type PlatformRealtimeTokenContract =\n typeof platformRealtimeTokenContract;\n","import { z } from \"zod\";\n\nconst CONNECTOR_SLUG_MAX_LENGTH = 64;\nconst CONNECTOR_AUTH_METHOD_ID_MAX_LENGTH = 50;\n\nconst connectorIdentityPattern = /^[a-z0-9][a-z0-9-]*$/u;\n\nexport const connectorSlugSchema = z\n .string()\n .min(1)\n .max(CONNECTOR_SLUG_MAX_LENGTH)\n .regex(connectorIdentityPattern);\n\nexport const connectorAuthMethodIdSchema = z\n .string()\n .min(1)\n .max(CONNECTOR_AUTH_METHOD_ID_MAX_LENGTH)\n .regex(connectorIdentityPattern);\n\nexport type ConnectorSlug = z.infer<typeof connectorSlugSchema>;\nexport type ConnectorAuthMethodId = z.infer<typeof connectorAuthMethodIdSchema>;\n","import { z } from \"zod\";\nimport { authHeadersSchema, initContract } from \"./base\";\nimport {\n executionFirewallsSchema,\n firewallPolicyValueSchema,\n firewallSchema,\n networkPolicySchema,\n networkPoliciesSchema,\n} from \"@vm0/connectors/firewall-types\";\nimport { connectorSlugSchema } from \"./connector-identity\";\nimport { apiErrorSchema } from \"./errors\";\nimport { modelProviderCodexRuntimeConfigSchema } from \"./model-providers\";\n\nconst c = initContract();\n\nexport const MIN_EPOCH_MS_TIMESTAMP = 1_000_000_000_000;\nconst apiStartTimeSchema = z.number().int().min(MIN_EPOCH_MS_TIMESTAMP);\n\nexport const CANONICAL_GUEST_HOME_DIR = \"/home/user\";\nexport const CANONICAL_WORKING_DIR = `${CANONICAL_GUEST_HOME_DIR}/workspace`;\nconst CANONICAL_CLAUDE_PROJECT_NAME = CANONICAL_WORKING_DIR.replace(\n /^\\//,\n \"\",\n).replace(/\\//g, \"-\");\nexport const CANONICAL_CLAUDE_MEMORY_MOUNT_PATH = `${CANONICAL_GUEST_HOME_DIR}/.claude/projects/-${CANONICAL_CLAUDE_PROJECT_NAME}/memory`;\nexport const CANONICAL_CODEX_MEMORY_MOUNT_PATH = `${CANONICAL_GUEST_HOME_DIR}/.codex/memories`;\n// Shared resume history size contract. Rust consumers import the generated\n// binding from `api_contracts::generated::constants`.\nexport const RESUME_SESSION_HISTORY_MAX_BYTES = 128 * 1024 * 1024;\nexport const ACTIVE_INPUT_CONTROL_PAYLOAD_MAX_BYTES = 1024 * 1024;\nexport const SESSION_HISTORY_ENCODING_IDENTITY = \"identity\";\nexport const SESSION_HISTORY_ENCODING_GZIP = \"gzip\";\nexport const SESSION_HISTORY_ENCODING_ZSTD = \"zstd\";\nexport const SESSION_HISTORY_DOWNLOAD_SOURCE_CONFIGURED_PUBLIC_ENDPOINT =\n \"configured_public_endpoint\";\nexport const SESSION_HISTORY_DOWNLOAD_SOURCE_DEFAULT_R2_ENDPOINT =\n \"default_r2_endpoint\";\nexport const SESSION_HISTORY_GZIP_MIN_BYTES = 64 * 1024;\nexport const NETWORK_POLICY_REFRESH_CONNECTOR_SLUGS_MAX = 256;\nexport const NETWORK_POLICY_REFRESH_RUN_TERMINAL_ERROR_CODE = \"RUN_TERMINAL\";\nexport const RUNNER_CANCELLATION_RECOVERY_GRACE_MS = 90_000;\nexport const CANCELLATION_RECOVERY_STALE_AFTER_MS =\n RUNNER_CANCELLATION_RECOVERY_GRACE_MS + 30_000;\nexport const RUNNER_BUILTIN_FIREWALL_RESOLVE_NAMES_MAX = 512;\nexport const sessionHistoryEncodingSchema = z.enum([\n SESSION_HISTORY_ENCODING_IDENTITY,\n SESSION_HISTORY_ENCODING_GZIP,\n SESSION_HISTORY_ENCODING_ZSTD,\n]);\nexport const sessionHistoryDownloadSourceSchema = z.enum([\n SESSION_HISTORY_DOWNLOAD_SOURCE_CONFIGURED_PUBLIC_ENDPOINT,\n SESSION_HISTORY_DOWNLOAD_SOURCE_DEFAULT_R2_ENDPOINT,\n]);\nexport const sessionHistorySizeBucketSchema = z.enum([\n \"lt_64_kib\",\n \"64_256_kib\",\n \"256_kib_1_mib\",\n \"1_4_mib\",\n \"4_16_mib\",\n \"16_64_mib\",\n \"64_128_mib\",\n]);\n\nexport function elapsedSinceApiStartMs(\n apiStartTimeMs: number | undefined,\n nowMs: number,\n): number | undefined {\n if (\n apiStartTimeMs === undefined ||\n !Number.isInteger(apiStartTimeMs) ||\n apiStartTimeMs < MIN_EPOCH_MS_TIMESTAMP\n ) {\n return undefined;\n }\n\n return Math.max(0, nowMs - apiStartTimeMs);\n}\n\nexport const runnerClaimPollReasonSchema = z.enum([\n \"immediate\",\n \"deferred\",\n \"wakeup_retry\",\n \"slow\",\n \"fast\",\n]);\n\nconst runnerHeartbeatGenerationSchema = z\n .number()\n .int()\n .positive()\n .max(Number.MAX_SAFE_INTEGER);\n\nconst runnerProcessIdentitySchema = z\n .object({\n runnerId: z.uuid(),\n heartbeatGeneration: runnerHeartbeatGenerationSchema,\n })\n .strict();\n\n/**\n * Advisory cross-runner coordination, not an exclusive assignment. A runner\n * with an equivalent compatible local resource remains eligible to claim.\n */\nexport const runnerPreferenceSchema = z\n .object({\n runnerIdentity: runnerProcessIdentitySchema,\n reason: z.enum([\n \"exactHistoryGeneration\",\n \"matchingReuseKey\",\n \"finalizingPredecessor\",\n ]),\n expiresAt: z.string().datetime({ offset: true }),\n })\n .strict();\n\nconst runnerClaimDiscoverySourceSchema = z.enum([\"ably\", \"poll\"]);\nconst runnerClaimTelemetrySchema = z\n .object({\n discoverySource: runnerClaimDiscoverySourceSchema.optional(),\n jobDiscoveredToClaimRequestMs: z.number().int().nonnegative().optional(),\n localAdmissionToClaimRequestMs: z.number().int().nonnegative().optional(),\n directCandidateNotificationToEnqueueMs: z\n .number()\n .int()\n .nonnegative()\n .optional(),\n directCandidateInboxWaitMs: z.number().int().nonnegative().optional(),\n providerDiscoveryToMainLoopMs: z.number().int().nonnegative().optional(),\n mainLoopToLocalAdmissionMs: z.number().int().nonnegative().optional(),\n pollDueToJobDiscoveredMs: z.number().int().nonnegative().optional(),\n pollHttpRequestMs: z.number().int().nonnegative().optional(),\n pollReason: runnerClaimPollReasonSchema.optional(),\n })\n .catch({});\n\nexport const runnerZeroCliCompatibilitySchema = z.object({\n available: z.boolean(),\n version: z.string().min(1).optional(),\n buildId: z.string().min(1).optional(),\n checksumSha256: z\n .string()\n .regex(/^[a-f0-9]{64}$/u)\n .optional(),\n});\n\nexport type RunnerZeroCliCompatibility = z.infer<\n typeof runnerZeroCliCompatibilitySchema\n>;\n\nconst runnerPollTelemetrySchema = z\n .object({\n pollReason: runnerClaimPollReasonSchema.optional(),\n })\n .catch({});\n\nconst runnerProfileListSchema = z.array(z.string());\nconst runnerSupportedProfileListSchema = runnerProfileListSchema.min(1);\nexport const RUNNER_POLL_EXCLUDED_RUN_IDS_MAX = 128;\n\nconst networkPolicyRefreshSchema = z.object({\n nextRefreshAt: z.string().datetime({ offset: true }),\n});\n\nconst networkPolicyRefreshesSchema = z.record(\n z.string(),\n networkPolicyRefreshSchema,\n);\nconst connectorPermissionNameListSchema = z\n .array(z.string().min(1))\n .superRefine((names, context) => {\n if (new Set(names).size !== names.length) {\n context.addIssue({\n code: \"custom\",\n message: \"Connector permission names must be unique\",\n });\n }\n });\nconst connectorPermissionDefaultOverridesSchema = z\n .object({\n allow: connectorPermissionNameListSchema.optional(),\n deny: connectorPermissionNameListSchema.optional(),\n ask: connectorPermissionNameListSchema.optional(),\n })\n .strict();\nconst connectorPermissionBaselineEntrySchema = z\n .object({\n permissionNames: connectorPermissionNameListSchema,\n defaultPolicy: z\n .object({\n permissionDefault: firewallPolicyValueSchema,\n permissionOverrides:\n connectorPermissionDefaultOverridesSchema.optional(),\n unknownPolicy: firewallPolicyValueSchema,\n })\n .strict(),\n })\n .strict()\n .superRefine((entry, context) => {\n const permissionNames = new Set(entry.permissionNames);\n const overrideNames = Object.values(\n entry.defaultPolicy.permissionOverrides ?? {},\n ).flat();\n if (new Set(overrideNames).size !== overrideNames.length) {\n context.addIssue({\n code: \"custom\",\n path: [\"defaultPolicy\", \"permissionOverrides\"],\n message: \"Connector permission overrides must not overlap\",\n });\n }\n for (const permissionName of overrideNames) {\n if (!permissionNames.has(permissionName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"defaultPolicy\", \"permissionOverrides\"],\n message: \"Connector permission override must name a permission\",\n });\n }\n }\n });\nconst connectorCatalogDigestSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/u);\nconst connectorCatalogBackendVersionSchema = z\n .string()\n .regex(/^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$/u);\nconst connectorCatalogBuildCommitShaSchema = z\n .string()\n .regex(/^[a-f0-9]{40}$/u);\n\nexport const storedConnectorPermissionBaselineSchema = z\n .object({\n version: z.literal(1),\n catalogIdentity: z\n .object({\n sourceId: z.string().min(1),\n schemaVersion: z.number().int().positive(),\n catalogVersion: z.string().min(1),\n catalogDigest: connectorCatalogDigestSchema,\n capabilityDigest: connectorCatalogDigestSchema,\n })\n .strict(),\n validationAuthority: z\n .object({\n backendVersion: connectorCatalogBackendVersionSchema,\n buildCommitSha: connectorCatalogBuildCommitShaSchema.nullable(),\n })\n .strict(),\n connectors: z.record(\n connectorSlugSchema,\n connectorPermissionBaselineEntrySchema,\n ),\n })\n .strict();\nconst runnerBuiltinFirewallNameSchema = z\n .string()\n .min(1)\n .max(128)\n .regex(/^(?:[a-z0-9][a-z0-9-]*|model-provider:[a-z0-9][a-z0-9-]*)$/);\nconst runnerBuiltinFirewallsResolveBodySchema = z\n .object({\n names: z\n .array(runnerBuiltinFirewallNameSchema)\n .min(1)\n .max(RUNNER_BUILTIN_FIREWALL_RESOLVE_NAMES_MAX)\n .optional(),\n })\n .strict();\nconst runnerBuiltinFirewallsResolveResponseSchema = z.object({\n catalogDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n catalogVersion: z.string().min(1),\n firewalls: z.record(runnerBuiltinFirewallNameSchema, firewallSchema),\n});\n\n/**\n * Default profile when none is specified.\n * Must stay in sync with Rust: crates/runner/src/profile.rs → DEFAULT_PROFILE\n */\nexport const DEFAULT_PROFILE = \"vm0/default\";\n\n/**\n * Runner group format: vm0/<name> (e.g., \"vm0/production\")\n */\nexport const runnerGroupSchema = z\n .string()\n .regex(\n /^[a-z0-9-]+\\/[a-z0-9-]+$/,\n \"Runner group must be in vm0/<name> format (e.g., vm0/production)\",\n );\n\nconst runnersPollBodySchema = z.object({\n runnerId: z.uuid().optional(),\n group: runnerGroupSchema,\n supportedProfiles: runnerSupportedProfileListSchema,\n excludedRunIds: z\n .array(z.uuid())\n .max(RUNNER_POLL_EXCLUDED_RUN_IDS_MAX)\n .optional(),\n telemetry: runnerPollTelemetrySchema.optional(),\n});\n\n/**\n * Job schema for polling response\n */\nexport const jobSchema = z.object({\n runId: z.uuid(),\n prompt: z.string(),\n appendSystemPrompt: z.string().nullable(),\n agentComposeVersionId: z.string().nullable(),\n vars: z.record(z.string(), z.string()).nullable(),\n experimentalProfile: z.string(),\n cliAgentSessionId: z.string().nullable().optional(),\n reuseKey: z.string().nullable().optional(),\n historyGenerationRunId: z.uuid().optional(),\n runnerPreference: runnerPreferenceSchema.optional(),\n});\n\nconst heldWorkspaceCacheSchema = z.object({\n profile: z.string(),\n workspaceAffinityVersion: z.literal(1),\n});\n\nexport const heldSandboxStateSchema = z.object({\n reuseKey: z.string(),\n lastCompletedAt: z.string().datetime({ offset: true }),\n reusableSandbox: z.object({\n profile: z.string(),\n historyGenerationRunId: z.uuid().optional(),\n }),\n});\n\nexport const heldWorkspaceStateSchema = z.object({\n reuseKey: z.string(),\n lastCompletedAt: z.string().datetime({ offset: true }),\n workspaceCaches: z.array(heldWorkspaceCacheSchema).min(1).max(8),\n});\n\n/**\n * Runners poll contract - POST /api/runners/poll\n * Long-polling endpoint to fetch pending jobs for a runner group\n *\n * NOTE: Uses POST instead of GET to avoid CDN caching issues on preview deployments.\n * POST requests are never cached, ensuring the Authorization header is always read fresh.\n */\nexport const runnersPollContract = c.router({\n poll: {\n method: \"POST\",\n path: \"/api/runners/poll\",\n headers: authHeadersSchema,\n body: runnersPollBodySchema,\n responses: {\n 200: z.object({\n job: jobSchema.nullable(),\n }),\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Poll for pending jobs (long-polling with 30s timeout)\",\n },\n});\n\nconst archiveSizeSchema = z.number().int().min(1).max(Number.MAX_SAFE_INTEGER);\n\n// Optional internal checkpoint behavior for a missing artifact root. Absence\n// is equivalent to \"fail\".\nexport const artifactMissingRootPolicySchema = z.enum([\n \"fail\",\n \"preserveParentVersion\",\n]);\n\n/**\n * Canonical resolved Storage mount emitted to runners.\n */\nexport const storageMountEntrySchema = z\n .object({\n name: z.string(),\n storageId: z.string(),\n versionId: z.string(),\n mountPath: z.string(),\n archiveUrl: z.string().optional(),\n archiveSize: archiveSizeSchema.optional(),\n empty: z.boolean().optional(),\n instructionsTargetFilename: z.string().optional(),\n missingRootPolicy: artifactMissingRootPolicySchema.optional(),\n writeback: z.boolean().optional(),\n })\n .superRefine((mount, ctx) => {\n const writeback = mount.writeback ?? false;\n if (\n mount.archiveUrl === undefined &&\n !(writeback && mount.empty === true)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"archiveUrl\"],\n message:\n \"archiveUrl is required unless an empty writeback mount is requested\",\n });\n }\n if (!writeback && mount.empty === true) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"empty\"],\n message: \"empty is only valid for writeback mounts\",\n });\n }\n if (writeback && mount.instructionsTargetFilename !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"instructionsTargetFilename\"],\n message: \"instructionsTargetFilename is not valid for writeback mounts\",\n });\n }\n if (!writeback && mount.missingRootPolicy !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"missingRootPolicy\"],\n message: \"missingRootPolicy is only valid for writeback mounts\",\n });\n }\n });\n\n/**\n * Canonical resolved Storage mount persisted by the API before claim-time\n * capability negotiation. Ownership is API-only metadata and is intentionally\n * omitted from the Runner wire representation.\n */\nexport const storedStorageMountEntrySchema = storageMountEntrySchema.extend({\n orgId: z.string(),\n userId: z.string(),\n});\n\nfunction uniqueStorageMountPaths<T extends { readonly mountPath: string }>(\n mounts: readonly T[],\n ctx: z.RefinementCtx,\n): void {\n const mountPaths = new Set<string>();\n for (const [index, mount] of mounts.entries()) {\n if (mountPaths.has(mount.mountPath)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [index, \"mountPath\"],\n message: `Duplicate Storage mount path \"${mount.mountPath}\"`,\n });\n }\n mountPaths.add(mount.mountPath);\n }\n}\n\n/** Canonical Runner wire representation. */\nexport const storageManifestSchema = z.object({\n storageMounts: z\n .array(storageMountEntrySchema)\n .superRefine(uniqueStorageMountPaths),\n});\n\n/**\n * Resume session information. The compatibility wire field is `sessionId`, but\n * its semantic name in API/runner code is `cliAgentSessionId`.\n */\nconst inlineResumeSessionSchema = z.object({\n sessionId: z.string(),\n sessionHistory: z.string(),\n});\n\nconst resumeSessionHistoryBlobRefSchema = z.object({\n kind: z.literal(\"blob\"),\n hash: z.string().regex(/^[a-f0-9]{64}$/),\n});\nconst resumeSessionHistoryDownloadSourceFieldSchema = {\n downloadSource: sessionHistoryDownloadSourceSchema.optional(),\n};\nconst resumeSessionHistoryRawSizeSchema = z\n .number()\n .int()\n .positive()\n .max(RESUME_SESSION_HISTORY_MAX_BYTES);\nconst resumeSessionHistoryEncodedSizeSchema = z\n .number()\n .int()\n .positive()\n .max(RESUME_SESSION_HISTORY_MAX_BYTES);\n\nconst storedResumeSessionRefSchema = z.object({\n sessionId: z.string(),\n historyGenerationRunId: z.uuid().optional(),\n historyRef: resumeSessionHistoryBlobRefSchema.extend({\n encoding: sessionHistoryEncodingSchema.optional(),\n }),\n});\n\nconst resumeSessionIdentityHistoryRefSchema = resumeSessionHistoryBlobRefSchema\n .extend({\n url: z.string().url(),\n encoding: z.literal(\"identity\"),\n rawSize: resumeSessionHistoryRawSizeSchema,\n encodedSize: resumeSessionHistoryEncodedSizeSchema,\n ...resumeSessionHistoryDownloadSourceFieldSchema,\n })\n .strict();\n\nconst resumeSessionGzipHistoryRefSchema = resumeSessionHistoryBlobRefSchema\n .extend({\n url: z.string().url(),\n encoding: z.literal(\"gzip\"),\n rawSize: resumeSessionHistoryRawSizeSchema,\n encodedSize: resumeSessionHistoryEncodedSizeSchema,\n ...resumeSessionHistoryDownloadSourceFieldSchema,\n })\n .strict();\n\nconst resumeSessionZstdHistoryRefSchema = resumeSessionHistoryBlobRefSchema\n .extend({\n url: z.string().url(),\n encoding: z.literal(\"zstd\"),\n rawSize: resumeSessionHistoryRawSizeSchema,\n encodedSize: resumeSessionHistoryEncodedSizeSchema,\n ...resumeSessionHistoryDownloadSourceFieldSchema,\n })\n .strict();\n\nconst resumeSessionRefSchema = z.object({\n sessionId: z.string(),\n historyRef: z.union([\n resumeSessionGzipHistoryRefSchema,\n resumeSessionZstdHistoryRefSchema,\n resumeSessionIdentityHistoryRefSchema,\n ]),\n});\n\nexport const storedResumeSessionSchema = z.union([\n inlineResumeSessionSchema,\n storedResumeSessionRefSchema,\n]);\n\nexport const resumeSessionSchema = z.union([\n inlineResumeSessionSchema,\n resumeSessionRefSchema,\n]);\n\nexport const secretConnectorMetadataSchema = z.object({\n sourceType: z.enum([\"connector\", \"model-provider\", \"platform-secret\"]),\n sourceUserId: z.string().optional(),\n metadataKey: z.string().optional(),\n});\n\n// Keyed by the same firewall auth secret env aliases as secretConnectorMap.\nexport const secretConnectorMetadataMapSchema = z.record(\n z.string(),\n secretConnectorMetadataSchema,\n);\n\n/**\n * Stored execution context (subset stored in database for late routing)\n * Contains prepared context without runtime-generated fields\n * Secrets are encrypted with AES-256-GCM before storage\n */\nexport const storedExecutionContextSchema = z.object({\n storageMounts: z\n .array(storedStorageMountEntrySchema)\n .superRefine(uniqueStorageMountPaths),\n environment: z.record(z.string(), z.string()).nullable(),\n // API-only references used to reconstruct runner masking values from the\n // stored environment. Null means no persistent secret map, and array\n // order/repetition follows secret-map values.\n // This field must not be included in the runner-facing ExecutionContext.\n secretValueEnvironmentKeys: z.array(z.string()).nullable(),\n // Connector-owned runtime vars used by proxy/firewall template resolution.\n // User-provided run vars stay in agent_runs.vars and are merged at claim time.\n vars: z.record(z.string(), z.string()).nullable().optional(),\n resumeSession: storedResumeSessionSchema.nullable(),\n // AES-256-GCM encrypted Record<string, string>. Keys are the runtime secret\n // names used by `${{ secrets.NAME }}`; connector/model-provider keys are env\n // aliases, not backing storage secret names.\n encryptedSecrets: z.string().nullable(),\n // Maps firewall auth secret env aliases (the `NAME` in `${{ secrets.NAME }}`) to\n // their connector or provider owner. Keys are env aliases, not storage secret names.\n secretConnectorMap: z.record(z.string(), z.string()).nullable().optional(),\n // Same keys as secretConnectorMap; adds source details when the owner alone\n // is not enough to locate access storage (for example, personal model providers).\n secretConnectorMetadataMap: secretConnectorMetadataMapSchema\n .nullable()\n .optional(),\n cliAgentType: z.string(),\n // Preview evaluation escape hatch: bypass preview mock CLIs and use the real\n // agent runtime.\n realAgentInPreview: z.boolean().optional(),\n // Capture HTTP header names, selected safe header values, request bodies, and response bodies\n // in network logs\n captureNetworkBodies: z.boolean().optional(),\n // Dispatch timestamp for E2E timing metrics, as Unix epoch milliseconds\n apiStartTime: apiStartTimeSchema.optional(),\n // User's timezone preference (IANA format, e.g., \"Asia/Shanghai\")\n userTimezone: z.string().optional(),\n // Firewall entries for proxy-side token replacement. Built-ins stay compact;\n // org custom connectors use inline firewall bodies.\n firewalls: executionFirewallsSchema.optional(),\n // Per-firewall network policies: which permissions are granted + unknownPolicy\n networkPolicies: networkPoliciesSchema.optional(),\n // Per-connector runtime network policy refresh deadlines. Used by runners to refresh\n // active sandbox policy when temporary allow grants expire.\n networkPolicyRefreshes: networkPolicyRefreshesSchema.optional(),\n // API-only catalog-derived permission defaults for claim-time grant refresh.\n connectorPermissionBaseline:\n storedConnectorPermissionBaselineSchema.optional(),\n // Tools to disable in Claude CLI (passed as --disallowed-tools)\n disallowedTools: z.array(z.string()).optional(),\n // Tools to make available in Claude CLI (passed as --tools)\n tools: z.array(z.string()).optional(),\n // Settings JSON to pass to Claude CLI (passed as --settings)\n settings: z.string().optional(),\n // Feature flags evaluated at job creation time (all switch states for user/org)\n featureFlags: z.record(z.string(), z.boolean()).optional(),\n billableFirewalls: z.array(z.string()).optional(),\n // Canonical model id the proxy reports for model token usage. The API uses\n // this model id for built-in billing rows and model usage observations;\n // billing eligibility is decided from API-owned run context.\n modelUsageProvider: z.string().optional(),\n // API-owned Codex provider/runtime metadata forwarded through the runner.\n codexRuntimeConfig: modelProviderCodexRuntimeConfigSchema\n .nullable()\n .optional(),\n});\n\n/**\n * Tolerant reader for execution contexts already persisted in a database or\n * encrypted queue payload. The optional baseline is derived performance data,\n * so malformed or future versions must remain an independent cache miss rather\n * than invalidating the complete queued execution context.\n */\nexport const compatibleStoredExecutionContextSchema =\n storedExecutionContextSchema.extend({\n connectorPermissionBaseline: z.unknown().optional(),\n });\n\n/**\n * Execution context returned when claiming a job.\n *\n * This is the canonical producer schema. The runner's `ExecutionContext` is a\n * tolerant consumer projection and intentionally does not mirror every field.\n * See `crates/runner/src/types.rs`.\n */\nexport const executionContextSchema = z.object({\n runId: z.uuid(),\n reuseKey: z.string().nullable().optional(),\n prompt: z.string(),\n appendSystemPrompt: z.string().nullable(),\n agentComposeVersionId: z.string().nullable(),\n vars: z.record(z.string(), z.string()).nullable(),\n sandboxToken: z.string(),\n storageManifest: storageManifestSchema.nullable(),\n environment: z.record(z.string(), z.string()).nullable(),\n resumeSession: resumeSessionSchema.nullable(),\n // Plain secret values used by the runner for redaction. These are values, not\n // names, and are base64-encoded only when exported through VM0_SECRET_VALUES.\n secretValues: z.array(z.string()).nullable(),\n // AES-256-GCM encrypted Record<string, string>, passed through to mitm-addon\n // for auth resolution. Keys are runtime secret names used by\n // `${{ secrets.NAME }}`; connector/model-provider keys are env aliases, not\n // backing storage secret names.\n encryptedSecrets: z.string().nullable(),\n // Maps firewall auth secret env aliases (the `NAME` in `${{ secrets.NAME }}`) to\n // their connector or provider owner. Keys are env aliases, not storage secret names.\n secretConnectorMap: z.record(z.string(), z.string()).nullable().optional(),\n // Same keys as secretConnectorMap; adds source details when the owner alone\n // is not enough to locate access storage (for example, personal model providers).\n secretConnectorMetadataMap: secretConnectorMetadataMapSchema\n .nullable()\n .optional(),\n cliAgentType: z.string(),\n // Preview evaluation escape hatch: bypass preview mock CLIs and use the real\n // agent runtime.\n realAgentInPreview: z.boolean().optional(),\n // Capture HTTP header names, selected safe header values, request bodies, and response bodies\n // in network logs\n captureNetworkBodies: z.boolean().optional(),\n // Dispatch timestamp for E2E timing metrics, as Unix epoch milliseconds\n apiStartTime: apiStartTimeSchema.optional(),\n // User's timezone preference (IANA format, e.g., \"Asia/Shanghai\")\n userTimezone: z.string().optional(),\n // Firewall entries for proxy-side token replacement. Built-ins stay compact;\n // org custom connectors use inline firewall bodies.\n firewalls: executionFirewallsSchema.optional(),\n // Per-firewall network policies: which permissions are granted + unknownPolicy\n networkPolicies: networkPoliciesSchema.optional(),\n // Per-connector runtime network policy refresh deadlines. Used by runners to refresh\n // active sandbox policy when temporary allow grants expire.\n networkPolicyRefreshes: networkPolicyRefreshesSchema.optional(),\n // Tools to disable in Claude CLI (passed as --disallowed-tools)\n disallowedTools: z.array(z.string()).optional(),\n // Tools to make available in Claude CLI (passed as --tools)\n tools: z.array(z.string()).optional(),\n // Settings JSON to pass to Claude CLI (passed as --settings)\n settings: z.string().optional(),\n // Feature flags evaluated at job creation time (all switch states for user/org)\n featureFlags: z.record(z.string(), z.boolean()).optional(),\n billableFirewalls: z.array(z.string()).optional(),\n // Canonical model id the proxy reports for model token usage. The API uses\n // this model id for built-in billing rows and model usage observations;\n // billing eligibility is decided from API-owned run context.\n modelUsageProvider: z.string().optional(),\n // API-owned Codex provider/runtime metadata forwarded through the runner.\n codexRuntimeConfig: modelProviderCodexRuntimeConfigSchema\n .nullable()\n .optional(),\n});\n\n/**\n * Runners job claim contract - POST /api/runners/jobs/:id/claim\n * Claim a pending job for execution\n * Verifies that the job's agent_run belongs to the authenticated user\n */\nexport const runnersJobClaimContract = c.router({\n claim: {\n method: \"POST\",\n path: \"/api/runners/jobs/:id/claim\",\n headers: authHeadersSchema,\n pathParams: z.object({\n id: z.uuid(),\n }),\n body: z.object({\n runnerIdentity: runnerProcessIdentitySchema.optional(),\n telemetry: runnerClaimTelemetrySchema.optional(),\n zeroCli: runnerZeroCliCompatibilitySchema.optional(),\n }),\n responses: {\n 200: executionContextSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema, // Job does not belong to user\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Claim a pending job for execution\",\n },\n});\n\nexport const runnersActiveInputsContract = c.router({\n list: {\n method: \"GET\",\n path: \"/api/runners/runs/:runId/active-inputs\",\n headers: authHeadersSchema,\n pathParams: z.object({\n runId: z.uuid(),\n }),\n responses: {\n 200: z.object({\n eventIds: z.array(z.uuid()),\n }),\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"List pending input prompts for a running agent run\",\n },\n claim: {\n method: \"POST\",\n path: \"/api/runners/runs/:runId/active-inputs/claim\",\n headers: authHeadersSchema,\n pathParams: z.object({\n runId: z.uuid(),\n }),\n body: z.object({\n eventIds: z.array(z.uuid()).min(1),\n }),\n responses: {\n 200: z.object({\n prompt: z.string().min(1),\n }),\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 409: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Claim pending input prompts for a running agent run\",\n },\n});\n\nexport const runnersNetworkPolicyRefreshContract = c.router({\n refresh: {\n method: \"POST\",\n path: \"/api/runners/runs/:runId/network-policy-refresh\",\n headers: authHeadersSchema,\n pathParams: z.object({\n runId: z.uuid(),\n }),\n body: z.object({\n connectorSlugs: z\n .array(connectorSlugSchema)\n .min(1)\n .max(NETWORK_POLICY_REFRESH_CONNECTOR_SLUGS_MAX)\n .transform((connectorSlugs) => {\n return [...new Set(connectorSlugs)];\n }),\n }),\n responses: {\n 200: z.object({\n refreshes: z.array(\n z.object({\n connectorSlug: connectorSlugSchema,\n networkPolicy: networkPolicySchema,\n nextRefreshAt: z.string().datetime({ offset: true }).nullable(),\n }),\n ),\n }),\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 403: apiErrorSchema,\n 404: apiErrorSchema,\n 409: apiErrorSchema.extend({\n error: apiErrorSchema.shape.error.extend({\n code: z.literal(NETWORK_POLICY_REFRESH_RUN_TERMINAL_ERROR_CODE),\n }),\n }),\n 500: apiErrorSchema,\n },\n summary: \"Refresh active run network policies\",\n },\n});\n\nexport const runnersBuiltinFirewallsResolveContract = c.router({\n resolve: {\n method: \"POST\",\n path: \"/api/runners/builtin-firewalls/resolve\",\n headers: authHeadersSchema,\n body: runnerBuiltinFirewallsResolveBodySchema,\n responses: {\n 200: runnerBuiltinFirewallsResolveResponseSchema,\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Resolve builtin firewall definitions for runners\",\n },\n});\n\n/**\n * Runner heartbeat body — periodic state report from each runner\n */\nexport const heartbeatBodySchema = z\n .object({\n runnerId: z.uuid(),\n runnerName: z.string(),\n group: runnerGroupSchema,\n snapshotGeneration: runnerHeartbeatGenerationSchema,\n snapshotSequence: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n totalVcpu: z.number().int().nonnegative(),\n totalMemoryMb: z.number().int().nonnegative(),\n maxConcurrent: z.number().int().nonnegative(),\n allocatedVcpu: z.number().int().nonnegative(),\n allocatedMemoryMb: z.number().int().nonnegative(),\n runningCount: z.number().int().nonnegative(),\n admittableProfiles: runnerProfileListSchema,\n heldSandboxStates: z.array(heldSandboxStateSchema).max(1024),\n heldWorkspaceStates: z.array(heldWorkspaceStateSchema).max(1024),\n mode: z.enum([\"starting\", \"running\", \"draining\", \"stopping\"]),\n })\n .superRefine((heartbeat, ctx) => {\n const workspaceCacheCount = heartbeat.heldWorkspaceStates.reduce(\n (count, state) => {\n return count + state.workspaceCaches.length;\n },\n 0,\n );\n if (workspaceCacheCount <= 1024) {\n return;\n }\n\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"heldWorkspaceStates\"],\n message: \"heartbeat may contain at most 1024 workspace caches\",\n });\n });\n\n/**\n * Runners heartbeat contract - POST /api/runners/heartbeat\n * Periodic state report from runners for capacity tracking and dispatch\n */\nexport const runnersHeartbeatContract = c.router({\n heartbeat: {\n method: \"POST\",\n path: \"/api/runners/heartbeat\",\n headers: authHeadersSchema,\n body: heartbeatBodySchema,\n responses: {\n 200: z.object({ ok: z.literal(true) }),\n 400: apiErrorSchema,\n 401: apiErrorSchema,\n 500: apiErrorSchema,\n },\n summary: \"Report runner heartbeat with capacity and state\",\n },\n});\n\nexport type RunnersPollContract = typeof runnersPollContract;\nexport type RunnersJobClaimContract = typeof runnersJobClaimContract;\nexport type RunnersActiveInputsContract = typeof runnersActiveInputsContract;\nexport type RunnersNetworkPolicyRefreshContract =\n typeof runnersNetworkPolicyRefreshContract;\nexport type RunnersHeartbeatContract = typeof runnersHeartbeatContract;\nexport type RunnersBuiltinFirewallsResolveContract =\n typeof runnersBuiltinFirewallsResolveContract;\nexport type Job = z.infer<typeof jobSchema>;\nexport type RunnerPreference = z.infer<typeof runnerPreferenceSchema>;\nexport type HeldSandboxState = z.infer<typeof heldSandboxStateSchema>;\nexport type HeldWorkspaceState = z.infer<typeof heldWorkspaceStateSchema>;\nexport type ExecutionContext = z.infer<typeof executionContextSchema>;\nexport type StoredExecutionContext = z.infer<\n typeof storedExecutionContextSchema\n>;\nexport type CompatibleStoredExecutionContext = z.infer<\n typeof compatibleStoredExecutionContextSchema\n>;\nexport type StoredConnectorPermissionBaseline = z.infer<\n typeof storedConnectorPermissionBaselineSchema\n>;\nexport type NetworkPolicyRefresh = z.infer<typeof networkPolicyRefreshSchema>;\nexport type RunnerBuiltinFirewallsResolveBody = z.infer<\n typeof runnerBuiltinFirewallsResolveBodySchema\n>;\nexport type RunnerBuiltinFirewallsResolveResponse = z.infer<\n typeof runnerBuiltinFirewallsResolveResponseSchema\n>;\nexport type SecretConnectorMetadata = z.infer<\n typeof secretConnectorMetadataSchema\n>;\nexport type StorageMountEntry = z.infer<typeof storageMountEntrySchema>;\nexport type StoredStorageMountEntry = z.infer<\n typeof storedStorageMountEntrySchema\n>;\nexport type StorageManifest = z.infer<typeof storageManifestSchema>;\nexport type CanonicalStorageManifest = StorageManifest;\nexport type StoredResumeSession = z.infer<typeof storedResumeSessionSchema>;\nexport type ResumeSession = z.infer<typeof resumeSessionSchema>;\nexport type SessionHistoryDownloadSource = z.infer<\n typeof sessionHistoryDownloadSourceSchema\n>;\nexport type SessionHistorySizeBucket = z.infer<\n typeof sessionHistorySizeBucketSchema\n>;\n","import { z } from \"zod\";\n\nimport {\n canonicalizeFirewallDnsHostname,\n FIREWALL_HOSTNAME_POLICY_VERSION,\n} from \"./firewall-hostname-policy\";\nimport { hasRawWhitespace, hasUnsafeUrlCodepoint } from \"./firewall-url-utils\";\nimport { parseSegment, splitPathSegments } from \"./segment-parser\";\n\nexport { normalizeFirewallFixedHost } from \"./firewall-url-utils\";\n\nconst HOST_DOT_EQUIVALENT_PATTERN = /[\\u3002\\uff0e\\uff61]/g;\nconst HOST_POLICY_HOST_FORBIDDEN_PATTERN = /[%*[\\]/?#@\\\\:{}<>^|]/u;\nconst DNS_HOST_FORBIDDEN_ASCII_CHARS = new Set([\"<\", \">\", \"[\", \"]\", \"^\", \"|\"]);\n\n/**\n * Proxy-side firewall configuration for token replacement.\n *\n * All firewall zod schemas are defined here as the single source of truth.\n * Other modules (composes.ts, runners.ts) import from here.\n */\n\n/**\n * Firewall permission schema — a named permission group with matching rules.\n * Rules use the format `METHOD /path` where path is relative to the API entry's base URL.\n */\nexport const firewallPermissionSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n rules: z.array(z.string()),\n});\n\nexport const firewallAwsSigv4AuthSchema = z\n .object({\n accessKeyId: z.string().min(1),\n secretAccessKey: z.string().min(1),\n sessionToken: z.string().min(1).optional(),\n })\n .strict();\n\nconst firewallAuthSchema = z\n .object({\n headers: z.record(z.string(), z.string()).optional(),\n base: z.string().min(1).optional(),\n query: z.record(z.string(), z.string()).optional(),\n awsSigv4: firewallAwsSigv4AuthSchema.optional(),\n })\n .superRefine((auth, ctx) => {\n if (!auth.awsSigv4) {\n return;\n }\n if (auth.headers && Object.keys(auth.headers).length > 0) {\n ctx.addIssue({\n code: \"custom\",\n path: [\"headers\"],\n message: \"auth.headers cannot be combined with auth.awsSigv4\",\n });\n }\n if (auth.query && Object.keys(auth.query).length > 0) {\n ctx.addIssue({\n code: \"custom\",\n path: [\"query\"],\n message: \"auth.query cannot be combined with auth.awsSigv4\",\n });\n }\n if (auth.base !== undefined) {\n ctx.addIssue({\n code: \"custom\",\n path: [\"base\"],\n message: \"auth.base cannot be combined with auth.awsSigv4\",\n });\n }\n });\n\nfunction hostPolicyHostHasFixedOwnership(\n value: string,\n options: { readonly allowLeadingDot: boolean },\n): boolean {\n if (!options.allowLeadingDot && value.startsWith(\".\")) {\n return false;\n }\n const rawHost =\n options.allowLeadingDot && value.startsWith(\".\") ? value.slice(1) : value;\n const normalized = rawHost\n .replace(HOST_DOT_EQUIVALENT_PATTERN, \".\")\n .toLowerCase();\n const withoutTrailingDot = normalized.endsWith(\".\")\n ? normalized.slice(0, -1)\n : normalized;\n if (\n withoutTrailingDot === \"\" ||\n !isAscii(value) ||\n hasRawWhitespace(value) ||\n hasUnsafeUrlCodepoint(value) ||\n HOST_POLICY_HOST_FORBIDDEN_PATTERN.test(withoutTrailingDot)\n ) {\n return false;\n }\n if (\n isIpv4LiteralLike(withoutTrailingDot) ||\n parseIpv6Address(withoutTrailingDot)\n ) {\n return false;\n }\n const labels = withoutTrailingDot.split(\".\");\n return (\n labels.length >= 2 &&\n labels.every((label) => {\n return label !== \"\";\n })\n );\n}\n\nconst firewallProviderOwnedHostPolicySchema = z\n .object({\n kind: z.literal(\"providerOwned\"),\n exactHosts: z.array(z.string().min(1)).optional(),\n suffixes: z.array(z.string().min(1)).optional(),\n allowNonDefaultPort: z.boolean().optional(),\n })\n .strict()\n .superRefine((policy, ctx) => {\n if (\n (policy.exactHosts?.length ?? 0) === 0 &&\n (policy.suffixes?.length ?? 0) === 0\n ) {\n ctx.addIssue({\n code: \"custom\",\n message: \"providerOwned host policy requires exactHosts or suffixes\",\n });\n }\n for (const [index, exactHost] of (policy.exactHosts ?? []).entries()) {\n if (\n !hostPolicyHostHasFixedOwnership(exactHost, { allowLeadingDot: false })\n ) {\n ctx.addIssue({\n code: \"custom\",\n path: [\"exactHosts\", index],\n message:\n \"providerOwned host policy exactHosts must be fixed hostnames with at least two labels\",\n });\n }\n }\n for (const [index, suffix] of (policy.suffixes ?? []).entries()) {\n if (!hostPolicyHostHasFixedOwnership(suffix, { allowLeadingDot: true })) {\n ctx.addIssue({\n code: \"custom\",\n path: [\"suffixes\", index],\n message:\n \"providerOwned host policy suffixes must be fixed hostnames with at least two labels\",\n });\n }\n }\n });\n\nconst firewallPublicDestinationHostPolicySchema = z\n .object({\n kind: z.literal(\"publicDestination\"),\n })\n .strict();\n\nexport const firewallBaseHostPolicySchema = z.union([\n firewallProviderOwnedHostPolicySchema,\n firewallPublicDestinationHostPolicySchema,\n]);\n\n/**\n * Firewall API entry — a base URL with optional auth headers/query/base and permissions.\n * An entry without permissions is the owner's fallback when no concrete\n * permission route matches.\n */\nexport const firewallApiSchema = z.object({\n base: z.string(),\n hostPolicy: firewallBaseHostPolicySchema.optional(),\n auth: firewallAuthSchema,\n permissions: z.array(firewallPermissionSchema).optional(),\n});\n\n/**\n * A single firewall with its name and API entries.\n * Used in the expanded (post-compose) format.\n */\nexport const firewallSchema = z.object({\n name: z.string(),\n apis: z.array(firewallApiSchema),\n});\n\n/**\n * Firewall configuration for proxy-side token replacement.\n * Flat array of firewall entries: [{ name, apis }]\n */\nexport const firewallsSchema = z.array(firewallSchema);\n\nexport const executionFirewallBuiltinEntrySchema = z.object({\n kind: z.literal(\"builtin\"),\n name: z.string().min(1),\n baseUrlVars: z.record(z.string(), z.string()).optional(),\n});\n\nexport const executionFirewallInlineEntrySchema = z.object({\n kind: z.literal(\"inline\"),\n firewall: firewallSchema,\n});\n\nexport const executionFirewallEntrySchema = z.discriminatedUnion(\"kind\", [\n executionFirewallBuiltinEntrySchema,\n executionFirewallInlineEntrySchema,\n]);\n\nexport const executionFirewallsSchema = z.array(executionFirewallEntrySchema);\n\n/**\n * Reserved permission name used by user grant storage to represent the\n * unknown-endpoint policy row for a connector firewall.\n */\nexport const UNKNOWN_PERMISSION_GRANT = \"__unknown__\";\n\n/** Zod schema for validating firewall config definitions. */\nexport const firewallConfigSchema = z.object({\n name: z.string().min(1, \"Firewall name is required\"),\n description: z.string().optional(),\n apis: z\n .array(firewallApiSchema)\n .min(1, \"Firewall must have at least one API entry\"),\n placeholders: z.record(z.string(), z.string()).optional(),\n});\n\n/**\n * Firewall policy value — per-permission access control.\n * - \"allow\": always allow without prompting\n * - \"deny\": always deny\n * - \"ask\": prompt user for approval each time\n */\nexport const firewallPolicyValueSchema = z.enum([\"allow\", \"deny\", \"ask\"]);\nexport type FirewallPolicyValue = z.infer<typeof firewallPolicyValueSchema>;\n\n/**\n * Per-firewall permission policy: permission map + unknown endpoint handling.\n */\nexport const firewallPolicySchema = z.object({\n policies: z.record(z.string(), firewallPolicyValueSchema),\n unknownPolicy: firewallPolicyValueSchema.optional(),\n});\nexport type FirewallPolicy = z.infer<typeof firewallPolicySchema>;\n\n/**\n * Firewall policies — map of firewall name → firewall permission policy.\n * Example: { \"github\": { policies: { \"repo-read\": \"allow\" }, unknownPolicy: \"allow\" } }\n */\nexport const firewallPoliciesSchema = z.record(\n z.string(),\n firewallPolicySchema,\n);\nexport type FirewallPolicies = z.infer<typeof firewallPoliciesSchema>;\n\n/**\n * Per-firewall grant configuration — which permissions are granted and\n * what policy applies to unknown endpoints (not matching any permission rule).\n * Firewall names absent from the map are fully permissive (all granted + allow unknown).\n */\nexport const networkPolicySchema = z.object({\n allow: z.array(z.string()),\n deny: z.array(z.string()),\n ask: z.array(z.string()),\n unknownPolicy: firewallPolicyValueSchema,\n});\nexport type NetworkPolicy = z.infer<typeof networkPolicySchema>;\n\n/**\n * Network policies map — firewall name → runtime network policy config.\n * Example: { \"github\": { allow: [\"repo-read\"], deny: [\"admin\"], ask: [], unknownPolicy: \"deny\" } }\n */\nexport const networkPoliciesSchema = z.record(z.string(), networkPolicySchema);\nexport type NetworkPolicies = z.infer<typeof networkPoliciesSchema>;\n\n/** Inferred types */\nexport type FirewallApi = z.infer<typeof firewallApiSchema>;\nexport type FirewallBaseHostPolicy = z.infer<\n typeof firewallBaseHostPolicySchema\n>;\n\nexport class FirewallBaseUrlResolutionError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"FirewallBaseUrlResolutionError\";\n }\n}\n\nexport type FirewallConfig = z.infer<typeof firewallConfigSchema>;\n/**\n * Extract the union of permission names from a firewall config object.\n * Requires the config to be declared with `as const satisfies FirewallConfig`\n * so that permission name strings are preserved as literal types.\n */\nexport type PermissionNamesOf<T extends FirewallConfig> =\n T[\"apis\"][number] extends infer Api\n ? Api extends { readonly permissions?: infer P }\n ? P extends ReadonlyArray<{ readonly name: infer N }>\n ? N extends string\n ? N\n : never\n : never\n : never\n : never;\nexport type Firewall = z.infer<typeof firewallSchema>;\nexport type Firewalls = z.infer<typeof firewallsSchema>;\nexport type ExecutionFirewallBuiltinEntry = z.infer<\n typeof executionFirewallBuiltinEntrySchema\n>;\nexport type ExecutionFirewallInlineEntry = z.infer<\n typeof executionFirewallInlineEntrySchema\n>;\nexport type ExecutionFirewallEntry = z.infer<\n typeof executionFirewallEntrySchema\n>;\nexport type ExecutionFirewalls = z.infer<typeof executionFirewallsSchema>;\n\n/**\n * Regex pattern matching `${{ secrets.XXX }}` references in auth header templates.\n * Tolerates optional whitespace inside braces: `${{ secrets.X }}` and `${{secrets.X}}`.\n */\nconst AUTH_SECRET_PATTERN =\n /\\$\\{\\{\\s*secrets\\.([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\}\\}/g;\nconst AUTH_REFERENCE_PATTERN =\n /\\$\\{\\{\\s*(secrets|vars)\\.([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\}\\}/g;\nconst AUTH_REFERENCE_PATTERN_G = new RegExp(AUTH_REFERENCE_PATTERN.source, \"g\");\nconst AUTH_REFERENCE_PREFIX_PATTERN = new RegExp(\n `^${AUTH_REFERENCE_PATTERN.source}`,\n);\nconst AUTH_TEMPLATE_START = \"${{\";\nconst AUTH_TEMPLATE_URL_PLACEHOLDER = \"placeholder\";\nconst IPV4_MAX_OCTET = 255;\nconst IPV4_OCTET_BASE = IPV4_MAX_OCTET + 1;\nconst IPV4_NON_PUBLIC_RANGES: readonly (readonly [number, number])[] = [\n [0x00000000, 0x00ffffff],\n [0x0a000000, 0x0affffff],\n [0x64400000, 0x647fffff],\n [0x7f000000, 0x7fffffff],\n [0xa9fe0000, 0xa9feffff],\n [0xac100000, 0xac1fffff],\n [0xc0000000, 0xc0000008],\n [0xc000000b, 0xc00000ff],\n [0xc0000200, 0xc00002ff],\n [0xc0586300, 0xc05863ff],\n [0xc0a80000, 0xc0a8ffff],\n [0xc6120000, 0xc613ffff],\n [0xc6336400, 0xc63364ff],\n [0xcb007100, 0xcb0071ff],\n [0xe0000000, 0xffffffff],\n];\n\nexport type FirewallTemplateReferenceNamespace = \"secrets\" | \"vars\";\n\nexport interface FirewallTemplateReferences {\n readonly secrets: readonly string[];\n readonly vars: readonly string[];\n}\n\nexport interface BasicAuthTemplateArg {\n readonly namespace?: FirewallTemplateReferenceNamespace;\n readonly key?: string;\n readonly literal?: string;\n}\n\nexport interface BasicAuthTemplateMatch {\n readonly start: number;\n readonly end: number;\n readonly first: BasicAuthTemplateArg;\n readonly second: BasicAuthTemplateArg;\n}\n\ninterface ParsedBasicArg {\n readonly arg: BasicAuthTemplateArg | null;\n readonly index: number;\n}\n\ninterface ParsedBasicTemplate {\n readonly match: BasicAuthTemplateMatch | null;\n readonly index: number;\n}\n\ninterface BasicAuthTemplateParserContext {\n readonly nextQuoteIndexes: Int32Array;\n readonly nextBackslashIndexes: Int32Array;\n readonly nextTemplateIndexes: Int32Array;\n}\n\nfunction isTemplateWhitespace(char: string): boolean {\n return (\n char === \" \" ||\n char === \"\\t\" ||\n char === \"\\n\" ||\n char === \"\\r\" ||\n char === \"\\f\" ||\n char === \"\\v\"\n );\n}\n\nfunction skipTemplateWhitespace(template: string, index: number): number {\n let nextIndex = index;\n while (\n nextIndex < template.length &&\n isTemplateWhitespace(template[nextIndex]!)\n ) {\n nextIndex += 1;\n }\n return nextIndex;\n}\n\nfunction isIdentifierStart(char: string): boolean {\n const code = char.charCodeAt(0);\n return (\n char === \"_\" || (code >= 65 && code <= 90) || (code >= 97 && code <= 122)\n );\n}\n\nfunction isIdentifierPart(char: string): boolean {\n const code = char.charCodeAt(0);\n return isIdentifierStart(char) || (code >= 48 && code <= 57);\n}\n\nfunction parseTemplateIdentifier(\n template: string,\n index: number,\n): { readonly value: string; readonly index: number } | null {\n if (index >= template.length || !isIdentifierStart(template[index]!)) {\n return null;\n }\n\n let nextIndex = index + 1;\n while (\n nextIndex < template.length &&\n isIdentifierPart(template[nextIndex]!)\n ) {\n nextIndex += 1;\n }\n return {\n value: template.slice(index, nextIndex),\n index: nextIndex,\n };\n}\n\nfunction createBasicAuthTemplateParserContext(\n template: string,\n): BasicAuthTemplateParserContext {\n const nextQuoteIndexes = new Int32Array(template.length + 1);\n const nextBackslashIndexes = new Int32Array(template.length + 1);\n const nextTemplateIndexes = new Int32Array(template.length + 1);\n let nextQuoteIndex = -1;\n let nextBackslashIndex = -1;\n let nextTemplateIndex = -1;\n nextQuoteIndexes[template.length] = nextQuoteIndex;\n nextBackslashIndexes[template.length] = nextBackslashIndex;\n nextTemplateIndexes[template.length] = nextTemplateIndex;\n\n for (let index = template.length - 1; index >= 0; index -= 1) {\n if (template[index] === '\"') {\n nextQuoteIndex = index;\n }\n if (template[index] === \"\\\\\") {\n nextBackslashIndex = index;\n }\n if (template.startsWith(\"${{\", index)) {\n nextTemplateIndex = index;\n }\n nextQuoteIndexes[index] = nextQuoteIndex;\n nextBackslashIndexes[index] = nextBackslashIndex;\n nextTemplateIndexes[index] = nextTemplateIndex;\n }\n\n return { nextQuoteIndexes, nextBackslashIndexes, nextTemplateIndexes };\n}\n\nfunction parseBasicAuthTemplateArg(\n context: BasicAuthTemplateParserContext,\n template: string,\n index: number,\n): ParsedBasicArg {\n let nextIndex = skipTemplateWhitespace(template, index);\n const char = template[nextIndex];\n if (char === \",\" || char === \")\") {\n return { arg: {}, index: nextIndex };\n }\n\n if (char === '\"') {\n const literalStart = nextIndex + 1;\n const quoteIndex = context.nextQuoteIndexes[literalStart] ?? -1;\n if (quoteIndex === -1) {\n const nestedTemplateStart =\n context.nextTemplateIndexes[literalStart] ?? -1;\n return {\n arg: null,\n index:\n nestedTemplateStart === -1 ? template.length : nestedTemplateStart,\n };\n }\n const escapeIndex = context.nextBackslashIndexes[literalStart] ?? -1;\n if (escapeIndex !== -1 && escapeIndex < quoteIndex) {\n const nestedTemplateStart =\n context.nextTemplateIndexes[literalStart] ?? -1;\n return {\n arg: null,\n index:\n nestedTemplateStart !== -1 && nestedTemplateStart < escapeIndex\n ? nestedTemplateStart\n : escapeIndex + 1,\n };\n }\n return {\n arg: { literal: template.slice(literalStart, quoteIndex) },\n index: quoteIndex + 1,\n };\n }\n\n let namespace: FirewallTemplateReferenceNamespace;\n if (template.startsWith(\"secrets.\", nextIndex)) {\n namespace = \"secrets\";\n nextIndex += \"secrets.\".length;\n } else if (template.startsWith(\"vars.\", nextIndex)) {\n namespace = \"vars\";\n nextIndex += \"vars.\".length;\n } else {\n return { arg: null, index: nextIndex };\n }\n\n const key = parseTemplateIdentifier(template, nextIndex);\n if (!key) {\n return { arg: null, index: nextIndex };\n }\n return {\n arg: { namespace, key: key.value },\n index: key.index,\n };\n}\n\nfunction parseBasicAuthTemplateAt(\n context: BasicAuthTemplateParserContext,\n template: string,\n start: number,\n): ParsedBasicTemplate {\n let index = start + \"${{\".length;\n index = skipTemplateWhitespace(template, index);\n if (!template.startsWith(\"basic(\", index)) {\n return { match: null, index: start + \"${{\".length };\n }\n index += \"basic(\".length;\n\n const first = parseBasicAuthTemplateArg(context, template, index);\n if (!first.arg) {\n return { match: null, index: first.index };\n }\n index = skipTemplateWhitespace(template, first.index);\n if (template[index] !== \",\") {\n return { match: null, index: Math.max(index + 1, first.index) };\n }\n index += 1;\n\n const second = parseBasicAuthTemplateArg(context, template, index);\n if (!second.arg) {\n return { match: null, index: second.index };\n }\n index = skipTemplateWhitespace(template, second.index);\n if (template[index] !== \")\") {\n return { match: null, index: Math.max(index + 1, second.index) };\n }\n index += 1;\n index = skipTemplateWhitespace(template, index);\n if (!template.startsWith(\"}}\", index)) {\n return { match: null, index: Math.max(index + 1, second.index) };\n }\n\n const end = index + \"}}\".length;\n return {\n match: {\n start,\n end,\n first: first.arg,\n second: second.arg,\n },\n index: end,\n };\n}\n\nfunction findNextBasicAuthTemplateStart(\n template: string,\n index: number,\n): number {\n let basicIndex = template.indexOf(\"basic(\", index);\n while (basicIndex !== -1) {\n let contentStart = basicIndex;\n while (\n contentStart > index &&\n isTemplateWhitespace(template[contentStart - 1]!)\n ) {\n contentStart -= 1;\n }\n\n const start = contentStart - \"${{\".length;\n if (start >= index && template.startsWith(\"${{\", start)) {\n return start;\n }\n\n basicIndex = template.indexOf(\"basic(\", basicIndex + \"basic(\".length);\n }\n return -1;\n}\n\n/**\n * Parse `${{ basic(username, password) }}` templates in linear time.\n * Each side is secrets.X, vars.X, \"literal\", or empty; comma is required.\n * Literal strings forbid `\"` and `\\`, and are not subject to simple template\n * resolution.\n */\nexport function parseBasicAuthTemplates(\n template: string,\n): readonly BasicAuthTemplateMatch[] {\n const matches: BasicAuthTemplateMatch[] = [];\n let start = findNextBasicAuthTemplateStart(template, 0);\n if (start === -1) {\n return matches;\n }\n\n const context = createBasicAuthTemplateParserContext(template);\n\n while (start !== -1) {\n const parsed = parseBasicAuthTemplateAt(context, template, start);\n if (parsed.match) {\n matches.push(parsed.match);\n start = findNextBasicAuthTemplateStart(template, parsed.index);\n } else {\n start = findNextBasicAuthTemplateStart(\n template,\n Math.max(parsed.index, start + \"${{\".length),\n );\n }\n }\n\n return matches;\n}\n\nexport function replaceBasicAuthTemplates(\n template: string,\n replacer: (match: BasicAuthTemplateMatch) => string,\n): string {\n const matches = parseBasicAuthTemplates(template);\n if (matches.length === 0) {\n return template;\n }\n\n const parts: string[] = [];\n let lastIndex = 0;\n for (const match of matches) {\n parts.push(template.slice(lastIndex, match.start), replacer(match));\n lastIndex = match.end;\n }\n parts.push(template.slice(lastIndex));\n return parts.join(\"\");\n}\n\nfunction forEachSimpleAuthReference(\n template: string,\n basicMatches: readonly BasicAuthTemplateMatch[],\n callback: (namespace: string, name: string) => void,\n): void {\n let basicMatchIndex = 0;\n\n for (const match of template.matchAll(AUTH_REFERENCE_PATTERN)) {\n if (!match[1] || !match[2] || match.index === undefined) {\n continue;\n }\n\n while (\n basicMatchIndex < basicMatches.length &&\n basicMatches[basicMatchIndex]!.end <= match.index\n ) {\n basicMatchIndex += 1;\n }\n\n const basicMatch = basicMatches[basicMatchIndex];\n if (\n basicMatch &&\n match.index >= basicMatch.start &&\n match.index < basicMatch.end\n ) {\n continue;\n }\n\n callback(match[1], match[2]);\n }\n}\n\n/**\n * Extract all secret names referenced in firewall rule auth header templates.\n * Handles both simple `${{ secrets.X }}` and `${{ basic(...) }}` templates.\n * E.g., `Bearer ${{ secrets.GITHUB_TOKEN }}` → `[\"GITHUB_TOKEN\"]`\n */\nexport function extractSecretNamesFromApis(\n apis: FirewallConfig[\"apis\"],\n): string[] {\n const names = new Set<string>();\n for (const entry of apis) {\n for (const value of Object.values(entry.auth.headers ?? {})) {\n const basicMatches = parseBasicAuthTemplates(value);\n forEachSimpleAuthReference(value, basicMatches, (namespace, name) => {\n if (namespace === \"secrets\") {\n names.add(name);\n }\n });\n // basic() args may reference secrets, vars, or be string literals;\n // only collect secrets here (vars don't need placeholders, literals\n // are baked into the config).\n for (const match of basicMatches) {\n if (match.first.namespace === \"secrets\" && match.first.key) {\n names.add(match.first.key);\n }\n if (match.second.namespace === \"secrets\" && match.second.key) {\n names.add(match.second.key);\n }\n }\n }\n // Scan auth.base for secret references (webhook-url connectors).\n // Only simple ${{ secrets.X }} — basic() makes no sense in a URL template.\n if (entry.auth.base) {\n for (const match of entry.auth.base.matchAll(AUTH_SECRET_PATTERN)) {\n names.add(match[1]!);\n }\n }\n // Scan auth.query for secret references (query-param auth connectors).\n // Only simple ${{ secrets.X }} — basic() makes no sense in query params.\n if (entry.auth.query) {\n for (const value of Object.values(entry.auth.query)) {\n for (const match of value.matchAll(AUTH_SECRET_PATTERN)) {\n names.add(match[1]!);\n }\n }\n }\n if (entry.auth.awsSigv4) {\n for (const value of Object.values(entry.auth.awsSigv4)) {\n if (!value) continue;\n for (const match of value.matchAll(AUTH_SECRET_PATTERN)) {\n names.add(match[1]!);\n }\n }\n }\n }\n return [...names];\n}\n\nfunction collectFirewallTemplateReferencesFromValue(\n template: string,\n references: { secrets: Set<string>; vars: Set<string> },\n): void {\n const basicMatches = parseBasicAuthTemplates(template);\n const addReference = (namespace: string, name: string): void => {\n if (namespace === \"secrets\") {\n references.secrets.add(name);\n } else if (namespace === \"vars\") {\n references.vars.add(name);\n }\n };\n\n forEachSimpleAuthReference(template, basicMatches, addReference);\n for (const match of basicMatches) {\n if (match.first.namespace && match.first.key) {\n addReference(match.first.namespace, match.first.key);\n }\n if (match.second.namespace && match.second.key) {\n addReference(match.second.namespace, match.second.key);\n }\n }\n}\n\nexport function extractFirewallTemplateReferences(\n apis: FirewallConfig[\"apis\"],\n): FirewallTemplateReferences {\n const references = {\n secrets: new Set<string>(),\n vars: new Set<string>(),\n };\n\n for (const entry of apis) {\n for (const value of Object.values(entry.auth.headers ?? {})) {\n collectFirewallTemplateReferencesFromValue(value, references);\n }\n if (entry.auth.base) {\n collectFirewallTemplateReferencesFromValue(entry.auth.base, references);\n }\n for (const value of Object.values(entry.auth.query ?? {})) {\n collectFirewallTemplateReferencesFromValue(value, references);\n }\n for (const value of Object.values(entry.auth.awsSigv4 ?? {})) {\n if (value) {\n collectFirewallTemplateReferencesFromValue(value, references);\n }\n }\n }\n\n return {\n secrets: [...references.secrets],\n vars: [...references.vars],\n };\n}\n\n/**\n * Regex pattern matching `${{ vars.XXX }}` references in base URL templates.\n */\nconst BASE_URL_VARS_PATTERN = /\\$\\{\\{\\s*vars\\.([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\}\\}/;\nconst BASE_URL_VARS_PATTERN_G = new RegExp(BASE_URL_VARS_PATTERN.source, \"g\");\nconst URL_COMPONENT_DELIMITER_PATTERN = /[/?#]/;\nconst AUTHORITY_VAR_STRUCTURE_CHARS = new Set([\"/\", \"?\", \"#\", \"@\", \"\\\\\"]);\nconst AUTHORITY_FRAGMENT_VAR_STRUCTURE_CHARS = new Set([\n \"/\",\n \":\",\n \"?\",\n \"#\",\n \"@\",\n \"\\\\\",\n]);\nconst PERCENT_DECODED_BOUNDARY_CHARS = new Set([\"/\", \":\", \"?\", \"#\", \"@\", \"\\\\\"]);\nconst BASE_URL_VAR_PARAMETER_CHARS = new Set([\"{\", \"}\"]);\nconst PATH_VAR_STRUCTURE_CHARS = new Set([\"/\", \"?\", \"#\", \"\\\\\"]);\nconst PORT_VAR_PATTERN = /^[0-9]+$/;\nconst MAX_PATH_PERCENT_DECODE_PASSES = 5;\n\n/**\n * Check if a base URL contains `${{ vars.X }}` template references.\n */\nexport function hasBaseUrlVars(base: string): boolean {\n return BASE_URL_VARS_PATTERN.test(base);\n}\n\nexport function extractBaseUrlVarNames(base: string): string[] {\n const names = new Set<string>();\n for (const match of base.matchAll(BASE_URL_VARS_PATTERN_G)) {\n names.add(match[1]!);\n }\n return [...names];\n}\n\nfunction baseUrlVariableError(\n base: string,\n serviceName: string,\n name: string,\n detail: string,\n): Error {\n return new Error(\n errMsg(base, serviceName, `base URL variable \"${name}\" ${detail}`),\n );\n}\n\nfunction validateBaseUrlVariableCommonSyntax({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): void {\n if (WHITESPACE_PATTERN.test(value)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain whitespace\",\n );\n }\n if (hasUnsafeUrlCodepoint(value)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain control characters or invalid Unicode\",\n );\n }\n for (const char of value) {\n if (BASE_URL_VAR_PARAMETER_CHARS.has(char)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain firewall parameter syntax\",\n );\n }\n }\n}\n\nfunction pathPartDotPrefix(part: string): string {\n return part.split(\";\", 1)[0]!;\n}\n\nfunction pathPartIsDotSegment(part: string): boolean {\n const dotPrefix = pathPartDotPrefix(part);\n return dotPrefix === \".\" || dotPrefix === \"..\";\n}\n\nfunction pathSegmentContainsDotPathPart(segment: string): boolean {\n if (pathPartIsDotSegment(segment)) return true;\n return segment.split(\"/\").some((part) => {\n return pathPartIsDotSegment(part);\n });\n}\n\nfunction pathSegmentHasUnsafeSyntaxParts(\n segment: string,\n rejectPathStructure: boolean,\n): boolean {\n if (hasUnsafeUrlCodepoint(segment)) return true;\n if (segment.includes(\"\\\\\")) return true;\n if (pathSegmentContainsDotPathPart(segment)) return true;\n if (!rejectPathStructure) return false;\n for (const char of segment) {\n if (PATH_VAR_STRUCTURE_CHARS.has(char)) return true;\n }\n return false;\n}\n\nfunction normalizedPathSegmentHasUnsafeSyntax(\n segment: string,\n rejectPathStructure: boolean,\n): boolean {\n const normalized = segment.normalize(\"NFKC\");\n if (normalized === segment) return false;\n if (normalized.includes(\"%\")) return true;\n return pathSegmentHasUnsafeSyntaxParts(normalized, rejectPathStructure);\n}\n\nfunction percentDecodePathSegment(\n segment: string,\n rejectPathStructure: boolean,\n): string | null {\n if (!segment.includes(\"%\")) return segment;\n for (let i = 0; i < segment.length; i += 1) {\n if (segment[i] !== \"%\") continue;\n if (\n i + 2 >= segment.length ||\n !isHexDigit(segment[i + 1]!) ||\n !isHexDigit(segment[i + 2]!)\n ) {\n return null;\n }\n }\n\n let decoded: string;\n try {\n decoded = decodeURIComponent(segment);\n } catch {\n return null;\n }\n if (rejectPathStructure) {\n for (const char of decoded) {\n if (\n PATH_VAR_STRUCTURE_CHARS.has(char) ||\n WHITESPACE_PATTERN.test(char) ||\n UNICODE_CONTROL_PATTERN.test(char)\n ) {\n return null;\n }\n }\n }\n return decoded;\n}\n\nfunction pathSegmentHasUnsafeSyntax(\n segment: string,\n rejectPathStructure: boolean,\n): boolean {\n let current = segment;\n for (let pass = 0; pass < MAX_PATH_PERCENT_DECODE_PASSES; pass += 1) {\n if (\n pathSegmentHasUnsafeSyntaxParts(current, rejectPathStructure) ||\n normalizedPathSegmentHasUnsafeSyntax(current, rejectPathStructure)\n ) {\n return true;\n }\n const decoded = percentDecodePathSegment(current, rejectPathStructure);\n if (decoded === null) return true;\n if (decoded === current) return false;\n current = decoded;\n }\n\n if (\n pathSegmentHasUnsafeSyntaxParts(current, rejectPathStructure) ||\n normalizedPathSegmentHasUnsafeSyntax(current, rejectPathStructure)\n ) {\n return true;\n }\n const decoded = percentDecodePathSegment(current, rejectPathStructure);\n return decoded === null || decoded !== current;\n}\n\nexport function hasUnsafeFirewallPath(path: string): boolean {\n return path.split(\"/\").some((segment) => {\n return pathSegmentHasUnsafeSyntax(segment, false);\n });\n}\n\nfunction validateBaseUrlVariablePercentEncoding({\n base,\n serviceName,\n name,\n value,\n structureChars,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n readonly structureChars: ReadonlySet<string>;\n}): string {\n for (let i = 0; i < value.length; i += 1) {\n if (value[i] !== \"%\") {\n continue;\n }\n if (\n i + 2 >= value.length ||\n !isHexDigit(value[i + 1]!) ||\n !isHexDigit(value[i + 2]!)\n ) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"has invalid percent encoding\",\n );\n }\n\n let end = i;\n while (\n end + 2 < value.length &&\n value[end] === \"%\" &&\n isHexDigit(value[end + 1]!) &&\n isHexDigit(value[end + 2]!)\n ) {\n end += 3;\n }\n\n let decoded: string;\n try {\n decoded = decodeURIComponent(value.slice(i, end));\n } catch {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"has invalid percent encoding\",\n );\n }\n for (const char of decoded) {\n if (\n structureChars.has(char) ||\n WHITESPACE_PATTERN.test(char) ||\n UNICODE_CONTROL_PATTERN.test(char)\n ) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain encoded URL structure\",\n );\n }\n }\n i = end - 1;\n }\n if (!value.includes(\"%\")) {\n return value;\n }\n try {\n return decodeURIComponent(value);\n } catch {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"has invalid percent encoding\",\n );\n }\n}\n\nfunction validateBaseUrlPathSegment({\n base,\n serviceName,\n name,\n segment,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly segment: string;\n}): void {\n if (pathSegmentHasUnsafeSyntax(segment, true)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain unsafe path segments\",\n );\n }\n}\n\nfunction rawPathFromBaseUrl(value: string): string {\n const schemeEnd = value.indexOf(\"://\");\n if (schemeEnd === -1) return \"\";\n const afterScheme = value.slice(schemeEnd + 3);\n const pathStart = afterScheme.search(/[/?#]/);\n if (pathStart === -1 || afterScheme[pathStart] !== \"/\") return \"\";\n const pathAndAfter = afterScheme.slice(pathStart);\n const pathEnd = pathAndAfter.search(/[?#]/);\n return pathEnd === -1 ? pathAndAfter : pathAndAfter.slice(0, pathEnd);\n}\n\nfunction validateBaseUrlPrefixVariable({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): void {\n const rawPath = rawPathFromBaseUrl(value);\n if (hasUnsafeFirewallPath(rawPath)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain unsafe path segments before a fixed path suffix\",\n );\n }\n const canonicalValue = canonicalizeFirewallBaseUrl(value, serviceName);\n const url = urlForCanonicalBaseSyntax(canonicalValue);\n if (url.search || url.hash) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not contain query or fragment before a fixed path suffix\",\n );\n }\n}\n\nfunction validateResolvedBaseUrlPathSafety(\n templateBase: string,\n serviceName: string,\n resolved: string,\n): void {\n const rawPath = rawPathFromBaseUrl(resolved);\n for (const segment of rawPath.split(\"/\")) {\n if (pathSegmentHasUnsafeSyntax(segment, false)) {\n throw new Error(\n errMsg(\n templateBase,\n serviceName,\n \"resolved base URL must not contain unsafe path segments\",\n ),\n );\n }\n }\n}\n\nfunction validateBaseUrlAuthorityVariable({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): void {\n for (const char of value) {\n if (AUTHORITY_VAR_STRUCTURE_CHARS.has(char)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not introduce URL structure\",\n );\n }\n }\n validateBaseUrlVariablePercentEncoding({\n base,\n serviceName,\n name,\n value,\n structureChars: PERCENT_DECODED_BOUNDARY_CHARS,\n });\n validateBaseUrl(`https://${value}`, serviceName);\n}\n\nfunction validateBaseUrlAuthorityFragmentVariable({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): void {\n for (const char of value) {\n if (AUTHORITY_FRAGMENT_VAR_STRUCTURE_CHARS.has(char)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not introduce URL structure\",\n );\n }\n }\n validateBaseUrlVariablePercentEncoding({\n base,\n serviceName,\n name,\n value,\n structureChars: PERCENT_DECODED_BOUNDARY_CHARS,\n });\n}\n\nfunction validateBaseUrlPortVariable({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): void {\n if (!PORT_VAR_PATTERN.test(value)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must be a numeric URL port\",\n );\n }\n}\n\nfunction validateBaseUrlPathVariable({\n base,\n serviceName,\n name,\n value,\n prefix,\n suffix,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n readonly prefix: string;\n readonly suffix: string;\n}): void {\n for (const char of value) {\n if (PATH_VAR_STRUCTURE_CHARS.has(char)) {\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"must not introduce path structure\",\n );\n }\n }\n const decoded = validateBaseUrlVariablePercentEncoding({\n base,\n serviceName,\n name,\n value,\n structureChars: PATH_VAR_STRUCTURE_CHARS,\n });\n const prefixSegment = prefix.slice(prefix.lastIndexOf(\"/\") + 1);\n const suffixSegmentEnd = suffix.search(URL_COMPONENT_DELIMITER_PATTERN);\n const suffixSegment =\n suffixSegmentEnd === -1 ? suffix : suffix.slice(0, suffixSegmentEnd);\n validateBaseUrlPathSegment({\n base,\n serviceName,\n name,\n segment: `${prefixSegment}${decoded}${suffixSegment}`,\n });\n}\n\nfunction prefixIsInsideAuthority(prefix: string): boolean {\n const schemeEnd = prefix.indexOf(\"://\");\n if (schemeEnd === -1) return false;\n const afterScheme = prefix.slice(schemeEnd + 3);\n return !URL_COMPONENT_DELIMITER_PATTERN.test(afterScheme);\n}\n\nfunction prefixIsInsidePath(prefix: string): boolean {\n const schemeEnd = prefix.indexOf(\"://\");\n if (schemeEnd === -1) return false;\n const afterScheme = prefix.slice(schemeEnd + 3);\n if (afterScheme.includes(\"?\") || afterScheme.includes(\"#\")) return false;\n return afterScheme.includes(\"/\");\n}\n\nfunction suffixAuthorityPrefix(suffix: string): string {\n const delimiterIndex = suffix.search(URL_COMPONENT_DELIMITER_PATTERN);\n return delimiterIndex === -1 ? suffix : suffix.slice(0, delimiterIndex);\n}\n\nfunction authoritySuffixHasFixedHostOwnership(\n authoritySuffix: string,\n): boolean {\n const hostSuffix = authoritySuffix\n .replace(/^[.]+/u, \"\")\n .replace(/:\\d*$/u, \"\");\n const labels = hostSuffix.split(\".\").filter((label) => {\n return label !== \"\";\n });\n return labels.length >= 2;\n}\n\nfunction validateBaseUrlTemplateVariable({\n base,\n serviceName,\n name,\n value,\n prefix,\n suffix,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n readonly prefix: string;\n readonly suffix: string;\n}): void {\n validateBaseUrlVariableCommonSyntax({ base, serviceName, name, value });\n if (prefix === \"\" && suffix === \"\") {\n return;\n }\n if (prefix === \"\" && suffix.startsWith(\"/\")) {\n validateBaseUrlPrefixVariable({ base, serviceName, name, value });\n return;\n }\n if (prefix.endsWith(\"://\") && (suffix === \"\" || suffix.startsWith(\"/\"))) {\n validateBaseUrlAuthorityVariable({ base, serviceName, name, value });\n return;\n }\n if (\n prefixIsInsideAuthority(prefix) &&\n prefix.endsWith(\":\") &&\n (suffix === \"\" || suffix.startsWith(\"/\"))\n ) {\n validateBaseUrlPortVariable({ base, serviceName, name, value });\n return;\n }\n if (prefixIsInsideAuthority(prefix)) {\n validateBaseUrlAuthorityFragmentVariable({\n base,\n serviceName,\n name,\n value,\n });\n return;\n }\n if (prefixIsInsidePath(prefix)) {\n validateBaseUrlPathVariable({\n base,\n serviceName,\n name,\n value,\n prefix,\n suffix,\n });\n return;\n }\n throw baseUrlVariableError(\n base,\n serviceName,\n name,\n \"is used in an unsupported base URL template position\",\n );\n}\n\nexport function firewallAuthInjectsCredentials(\n auth: FirewallApi[\"auth\"],\n): boolean {\n return (\n Object.keys(auth.headers ?? {}).length > 0 ||\n Object.keys(auth.query ?? {}).length > 0 ||\n Object.keys(auth.awsSigv4 ?? {}).length > 0 ||\n (typeof auth.base === \"string\" && auth.base.length > 0)\n );\n}\n\nfunction baseUrlScheme(base: string): string {\n const schemeEnd = base.indexOf(\"://\");\n if (schemeEnd === -1) return \"\";\n return base.slice(0, schemeEnd).toLowerCase();\n}\n\nexport function firewallBaseUrlTemplateNeedsHostPolicy(base: string): boolean {\n if (!hasBaseUrlVars(base)) return false;\n\n for (const match of base.matchAll(BASE_URL_VARS_PATTERN_G)) {\n const fullMatch = match[0];\n const matchIndex = match.index!;\n const prefix = base.slice(0, matchIndex);\n const suffix = base.slice(matchIndex + fullMatch.length);\n if (prefix === \"\" && (suffix === \"\" || suffix.startsWith(\"/\"))) {\n return true;\n }\n if (prefix.endsWith(\"://\")) {\n const authoritySuffix = suffixAuthorityPrefix(suffix);\n if (\n authoritySuffix === \"\" ||\n !authoritySuffixHasFixedHostOwnership(authoritySuffix)\n ) {\n return true;\n }\n }\n if (prefixIsInsideAuthority(prefix) && !prefix.endsWith(\":\")) {\n const authoritySuffix = suffixAuthorityPrefix(suffix);\n if (\n authoritySuffix === \"\" ||\n !authoritySuffixHasFixedHostOwnership(authoritySuffix)\n ) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction validateCredentialedBaseUrlTransportValue(\n base: string,\n serviceName: string,\n credentialed: boolean,\n): void {\n if (!credentialed) return;\n if (baseUrlScheme(base) === REQUIRED_AUTH_BASE_URL_SCHEME) return;\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": credentialed base URL must use https`,\n );\n}\n\nfunction normalizeHostPolicyHostname(hostname: string): string {\n let normalized = hostname\n .replace(HOST_DOT_EQUIVALENT_PATTERN, \".\")\n .toLowerCase();\n if (normalized.endsWith(\".\")) {\n normalized = normalized.slice(0, -1);\n }\n return normalized;\n}\n\nfunction normalizeHostPolicySuffix(suffix: string): string {\n const withoutLeadingDot = suffix.startsWith(\".\") ? suffix.slice(1) : suffix;\n return normalizeHostPolicyHostname(withoutLeadingDot);\n}\n\nfunction parseCanonicalIpv4Address(value: string): readonly number[] | null {\n if (!isCanonicalIpv4Address(value)) {\n return null;\n }\n return value.split(\".\").map((part) => {\n return Number(part);\n });\n}\n\nfunction ipv4PartsToNumber(parts: readonly number[]): number | null {\n if (parts.length !== 4) {\n return null;\n }\n return parts.reduce((acc, part) => {\n return acc * IPV4_OCTET_BASE + part;\n }, 0);\n}\n\nfunction isPublicIpv4Address(parts: readonly number[]): boolean {\n const value = ipv4PartsToNumber(parts);\n if (value === null) {\n return false;\n }\n return !IPV4_NON_PUBLIC_RANGES.some(([start, end]) => {\n return value >= start && value <= end;\n });\n}\n\nfunction parseIpv6Word(value: string): number | null {\n if (\n value === \"\" ||\n value.length > 4 ||\n ![...value].every((char) => {\n return isHexDigit(char);\n })\n ) {\n return null;\n }\n return Number.parseInt(value, 16);\n}\n\nfunction parseIpv6WordList(value: string): readonly number[] | null {\n if (value === \"\") {\n return [];\n }\n const words: number[] = [];\n for (const part of value.split(\":\")) {\n const word = parseIpv6Word(part);\n if (word === null) {\n return null;\n }\n words.push(word);\n }\n return words;\n}\n\nfunction parseIpv6Address(value: string): readonly number[] | null {\n if (value.includes(\"%\")) {\n return null;\n }\n\n let normalized = value.toLowerCase();\n if (normalized.includes(\".\")) {\n const lastColon = normalized.lastIndexOf(\":\");\n if (lastColon === -1) {\n return null;\n }\n const ipv4Parts = parseCanonicalIpv4Address(\n normalized.slice(lastColon + 1),\n );\n if (!ipv4Parts) {\n return null;\n }\n const highWord = (ipv4Parts[0]! << 8) + ipv4Parts[1]!;\n const lowWord = (ipv4Parts[2]! << 8) + ipv4Parts[3]!;\n normalized = `${normalized.slice(0, lastColon)}:${highWord.toString(16)}:${lowWord.toString(16)}`;\n }\n\n const compressed = normalized.split(\"::\");\n if (compressed.length > 2) {\n return null;\n }\n\n const left = parseIpv6WordList(compressed[0]!);\n const right =\n compressed.length === 2 ? parseIpv6WordList(compressed[1]!) : [];\n if (!left || !right) {\n return null;\n }\n\n if (compressed.length === 1) {\n return left.length === 8 ? left : null;\n }\n\n const zeroCount = 8 - left.length - right.length;\n if (zeroCount < 1) {\n return null;\n }\n return [\n ...left,\n ...Array.from({ length: zeroCount }, () => {\n return 0;\n }),\n ...right,\n ];\n}\n\nfunction isPublicIpv6SpecialRegistryException(\n words: readonly number[],\n): boolean {\n const second = words[1]!;\n if (\n second === 0x0001 &&\n words[2] === 0 &&\n words[3] === 0 &&\n words[4] === 0 &&\n words[5] === 0 &&\n words[6] === 0 &&\n words[7]! >= 1 &&\n words[7]! <= 3\n ) {\n return true;\n }\n if (second === 0x0003) {\n return true;\n }\n if (second === 0x0004 && words[2] === 0x0112) {\n return true;\n }\n if (second >= 0x0020 && second <= 0x002f) {\n return true;\n }\n return second >= 0x0030 && second <= 0x003f;\n}\n\nfunction isPublicIpv6Address(words: readonly number[]): boolean {\n if (words.length !== 8) {\n return false;\n }\n const first = words[0]!;\n const second = words[1]!;\n if ((first & 0xe000) !== 0x2000) {\n return false;\n }\n if (first === 0x2001 && second <= 0x01ff) {\n return isPublicIpv6SpecialRegistryException(words);\n }\n if (first === 0x2001 && second === 0x0db8) {\n return false;\n }\n if (first === 0x3fff && second <= 0x0fff) {\n return false;\n }\n if (first === 0x2002) {\n return false;\n }\n return true;\n}\n\nfunction hostPolicyIpLiteralIsPublic(hostname: string): boolean | null {\n if (hostname.startsWith(\"[\") && hostname.endsWith(\"]\")) {\n const words = parseIpv6Address(hostname.slice(1, -1));\n return words ? isPublicIpv6Address(words) : false;\n }\n\n const ipv4Parts = parseCanonicalIpv4Address(hostname);\n if (ipv4Parts) {\n return isPublicIpv4Address(ipv4Parts);\n }\n\n const normalizedIpv4Host = normalizeHostForIpv4LiteralSyntax(hostname);\n if (isIpv4LiteralLike(normalizedIpv4Host)) {\n return false;\n }\n return null;\n}\n\nfunction providerOwnedHostMatches(\n hostname: string,\n hostPolicy: Extract<\n FirewallBaseHostPolicy,\n { readonly kind: \"providerOwned\" }\n >,\n options: { readonly allowExactHosts?: boolean } = {},\n): boolean {\n if (options.allowExactHosts !== false) {\n const exactHosts = hostPolicy.exactHosts ?? [];\n for (const exactHost of exactHosts) {\n if (hostname === normalizeHostPolicyHostname(exactHost)) {\n return true;\n }\n }\n }\n\n const suffixes = hostPolicy.suffixes ?? [];\n for (const suffix of suffixes) {\n const normalizedSuffix = normalizeHostPolicySuffix(suffix);\n if (\n normalizedSuffix !== \"\" &&\n hostname.length > normalizedSuffix.length &&\n hostname.endsWith(`.${normalizedSuffix}`)\n ) {\n return true;\n }\n }\n return false;\n}\n\nfunction baseUrlAuthorityHasParams(base: string): boolean {\n const authority = rawAuthorityFromBaseUrl(base);\n return authority !== null && hasBaseUrlParams(authority);\n}\n\nfunction validateHostPolicyShape(\n base: string,\n serviceName: string,\n hostPolicy: FirewallBaseHostPolicy,\n): void {\n const result = firewallBaseHostPolicySchema.safeParse(hostPolicy);\n if (result.success) return;\n\n const message = result.error.issues\n .map((issue) => {\n return issue.message;\n })\n .join(\"; \");\n throw new Error(\n errMsg(base, serviceName, `hostPolicy is invalid: ${message}`),\n );\n}\n\ninterface HostPolicyValidationUrl {\n readonly hostname: string;\n readonly port: string;\n}\n\nfunction urlForHostPolicyValidation(\n base: string,\n serviceName: string,\n): HostPolicyValidationUrl {\n const authority = rawAuthorityFromBaseUrl(base);\n if (authority === null) {\n const url = urlForCanonicalBaseSyntax(base);\n return { hostname: url.hostname, port: url.port };\n }\n const authorityParts = splitParameterizedAuthority(\n authority,\n base,\n serviceName,\n );\n const hostname = splitAuthorityHostSegments(authorityParts.normalizedHost)\n .map((segment) => {\n return hostSegmentForSyntaxValidation(segment, base, serviceName);\n })\n .join(\".\");\n const schemeEnd = base.indexOf(\"://\");\n const scheme = schemeEnd === -1 ? \"https\" : base.slice(0, schemeEnd);\n const port = new URL(\n `${scheme}://vm0-host.invalid${authorityParts.portSuffix}`,\n ).port;\n return { hostname, port };\n}\n\nexport function validateBaseUrlHostPolicy({\n base,\n diagnosticBase = base,\n serviceName,\n hostPolicy,\n}: {\n readonly base: string;\n readonly diagnosticBase?: string;\n readonly serviceName: string;\n readonly hostPolicy: FirewallBaseHostPolicy | undefined;\n}): void {\n if (!hostPolicy) {\n return;\n }\n\n validateHostPolicyShape(diagnosticBase, serviceName, hostPolicy);\n if (hasBaseUrlVars(base)) {\n return;\n }\n\n const canonicalBase = canonicalizeFirewallBaseUrl(base, serviceName);\n const authorityHasParams = baseUrlAuthorityHasParams(canonicalBase);\n const url = urlForHostPolicyValidation(canonicalBase, serviceName);\n const rawAuthority = rawAuthorityFromBaseUrl(base);\n const hostname = normalizeHostPolicyHostname(url.hostname);\n if (hostPolicy.kind === \"providerOwned\") {\n if (\n !providerOwnedHostMatches(hostname, hostPolicy, {\n allowExactHosts: !authorityHasParams,\n })\n ) {\n throw new Error(\n errMsg(\n diagnosticBase,\n serviceName,\n `host policy does not allow resolved host \"${hostname}\"`,\n ),\n );\n }\n if (!hostPolicy.allowNonDefaultPort && url.port !== \"\") {\n throw new Error(\n errMsg(\n diagnosticBase,\n serviceName,\n \"host policy does not allow non-default ports\",\n ),\n );\n }\n return;\n }\n\n const publicDestinationHost =\n rawAuthority === null ? url.hostname : rawHostFromAuthority(rawAuthority);\n const publicIpLiteral = hostPolicyIpLiteralIsPublic(publicDestinationHost);\n if (publicIpLiteral === false) {\n throw new Error(\n errMsg(\n diagnosticBase,\n serviceName,\n `host policy does not allow non-public IP literal \"${hostname}\"`,\n ),\n );\n }\n}\n\nexport interface ResolveFirewallBaseUrlTemplateOptions {\n readonly serviceName: string;\n readonly base: string;\n readonly vars: Record<string, string> | undefined;\n readonly credentialed?: boolean;\n readonly hostPolicy?: FirewallBaseHostPolicy;\n}\n\nexport function resolveFirewallBaseUrlTemplate({\n serviceName,\n base,\n vars,\n credentialed = false,\n hostPolicy,\n}: ResolveFirewallBaseUrlTemplateOptions): string {\n if (!hasBaseUrlVars(base)) return base;\n\n try {\n let resolved = \"\";\n let lastIndex = 0;\n for (const match of base.matchAll(BASE_URL_VARS_PATTERN_G)) {\n const fullMatch = match[0];\n const name = match[1]!;\n const matchIndex = match.index!;\n const value = vars?.[name];\n if (!value) {\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${serviceName}\" base URL requires variable \"${name}\" but it was not provided`,\n );\n }\n validateBaseUrlTemplateVariable({\n base,\n serviceName,\n name,\n value,\n prefix: base.slice(0, matchIndex),\n suffix: base.slice(matchIndex + fullMatch.length),\n });\n resolved += base.slice(lastIndex, matchIndex) + value;\n lastIndex = matchIndex + fullMatch.length;\n }\n resolved += base.slice(lastIndex);\n validateResolvedBaseUrlPathSafety(base, serviceName, resolved);\n const canonicalBase = canonicalizeFirewallBaseUrl(resolved, serviceName);\n validateCredentialedBaseUrlTransportValue(\n canonicalBase,\n serviceName,\n credentialed,\n );\n validateBaseUrlHostPolicy({\n base: resolved,\n diagnosticBase: base,\n serviceName,\n hostPolicy,\n });\n return canonicalBase;\n } catch (error) {\n if (error instanceof FirewallBaseUrlResolutionError) {\n throw error;\n }\n if (error instanceof Error) {\n throw new FirewallBaseUrlResolutionError(error.message);\n }\n throw error;\n }\n}\n\nfunction canonicalAuthorityVariableValue(\n value: string,\n serviceName: string,\n): string {\n const canonicalBase = canonicalizeFirewallBaseUrl(\n `https://${value}`,\n serviceName,\n );\n const authority = rawAuthorityFromBaseUrl(canonicalBase);\n if (authority === null) {\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${serviceName}\" base URL variable is not a valid authority`,\n );\n }\n return authority;\n}\n\nfunction canonicalHostFragmentVariableValue({\n base,\n serviceName,\n name,\n value,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n}): string {\n validateHostPercentEncoding(value, base, serviceName);\n validateHostHasNoUnsafeIdnaMappings(value, base, serviceName);\n validateHostHasNoRawWildcards(value, base, serviceName);\n try {\n return canonicalizeDnsHostForExecution(value, base, serviceName);\n } catch (error) {\n if (error instanceof Error) {\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${serviceName}\" base URL variable \"${name}\" is not a valid hostname`,\n );\n }\n throw error;\n }\n}\n\nfunction canonicalBaseUrlVariableValue({\n base,\n serviceName,\n name,\n value,\n prefix,\n suffix,\n}: {\n readonly base: string;\n readonly serviceName: string;\n readonly name: string;\n readonly value: string;\n readonly prefix: string;\n readonly suffix: string;\n}): string {\n validateBaseUrlTemplateVariable({\n base,\n serviceName,\n name,\n value,\n prefix,\n suffix,\n });\n if (prefix === \"\" && (suffix === \"\" || suffix.startsWith(\"/\"))) {\n return canonicalizeFirewallBaseUrl(value, serviceName);\n }\n if (prefix.endsWith(\"://\") && (suffix === \"\" || suffix.startsWith(\"/\"))) {\n return canonicalAuthorityVariableValue(value, serviceName);\n }\n if (\n prefixIsInsideAuthority(prefix) &&\n prefix.endsWith(\":\") &&\n (suffix === \"\" || suffix.startsWith(\"/\"))\n ) {\n return value;\n }\n if (prefixIsInsideAuthority(prefix)) {\n const schemeEnd = prefix.indexOf(\"://\");\n const authorityPrefix = prefix.slice(schemeEnd + 3);\n const authoritySuffix = suffixAuthorityPrefix(suffix);\n const startsAtLabelBoundary =\n authorityPrefix === \"\" || authorityPrefix.endsWith(\".\");\n const endsAtLabelBoundary =\n authoritySuffix === \"\" ||\n authoritySuffix.startsWith(\".\") ||\n authoritySuffix.startsWith(\":\");\n if (!startsAtLabelBoundary || !endsAtLabelBoundary) {\n const decodedValue = validateBaseUrlVariablePercentEncoding({\n base,\n serviceName,\n name,\n value,\n structureChars: PERCENT_DECODED_BOUNDARY_CHARS,\n });\n if (isAscii(decodedValue)) return decodedValue.toLowerCase();\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${serviceName}\" base URL variable \"${name}\" cannot use a non-ASCII value inside a host label`,\n );\n }\n return canonicalHostFragmentVariableValue({\n base,\n serviceName,\n name,\n value,\n });\n }\n return value;\n}\n\n/**\n * Return the existing base-URL variable payload with hostname-bearing values\n * converted to the same canonical ASCII identity used by resolved firewalls.\n */\nexport function canonicalizeFirewallBaseUrlVarsForExecution(\n firewalls: Firewalls,\n vars: Record<string, string> | undefined,\n): Record<string, string> {\n resolveFirewallBaseUrlVars(firewalls, vars);\n const canonicalVars: Record<string, string> = {};\n for (const firewall of firewalls) {\n for (const api of firewall.apis) {\n for (const match of api.base.matchAll(BASE_URL_VARS_PATTERN_G)) {\n const fullMatch = match[0];\n const name = match[1]!;\n const matchIndex = match.index!;\n const value = vars?.[name];\n if (!value) {\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${firewall.name}\" base URL requires variable \"${name}\" but it was not provided`,\n );\n }\n const canonicalValue = canonicalBaseUrlVariableValue({\n base: api.base,\n serviceName: firewall.name,\n name,\n value,\n prefix: api.base.slice(0, matchIndex),\n suffix: api.base.slice(matchIndex + fullMatch.length),\n });\n const previousValue = canonicalVars[name];\n if (previousValue !== undefined && previousValue !== canonicalValue) {\n throw new FirewallBaseUrlResolutionError(\n `Firewall \"${firewall.name}\" base URL variable \"${name}\" requires incompatible execution representations`,\n );\n }\n canonicalVars[name] = canonicalValue;\n }\n }\n }\n return canonicalVars;\n}\n\n/**\n * Resolve `${{ vars.X }}` templates in firewall base URLs.\n * Static definitions are trusted catalog input and returned unchanged. Dynamic\n * values are validated and hostname-bearing values use canonical ASCII.\n */\nexport function resolveFirewallBaseUrlVars(\n firewalls: Firewalls,\n vars: Record<string, string> | undefined,\n): Firewalls {\n return firewalls.map((fw) => {\n return {\n ...fw,\n apis: fw.apis.map((api) => {\n if (!hasBaseUrlVars(api.base)) return api;\n const resolved = resolveFirewallBaseUrlTemplate({\n serviceName: fw.name,\n base: api.base,\n vars,\n credentialed: firewallAuthInjectsCredentials(api.auth),\n hostPolicy: api.hostPolicy,\n });\n return { ...api, base: resolved };\n }),\n };\n });\n}\n\n/**\n * Check if a base URL contains `{name}` style parameter placeholders\n * (as opposed to `${{ vars.X }}` template references).\n */\nexport function hasBaseUrlParams(base: string): boolean {\n // Strip ${{ ... }} template references, then check for remaining { }.\n // Uses string iteration instead of regex to avoid ReDoS risk.\n let stripped = base;\n let start = stripped.indexOf(\"${{\");\n while (start !== -1) {\n const end = stripped.indexOf(\"}}\", start + 3);\n if (end === -1) break;\n stripped = stripped.slice(0, start) + stripped.slice(end + 2);\n start = stripped.indexOf(\"${{\");\n }\n return stripped.includes(\"{\") && stripped.includes(\"}\");\n}\n\nconst HOST_WILDCARD_PARAM_PREFIX = \"hostWildcard\";\n\ninterface RawBaseUrlAuthority {\n readonly authority: string;\n readonly start: number;\n readonly end: number;\n}\n\ninterface RawWildcardAuthorityParts {\n readonly host: string;\n readonly portSuffix: string;\n}\n\nfunction rawBaseUrlAuthorityRange(base: string): RawBaseUrlAuthority | null {\n const schemeEnd = base.indexOf(\"://\");\n if (schemeEnd === -1) return null;\n const start = schemeEnd + 3;\n const rest = base.slice(start);\n const delimiterIndexes = [\n rest.indexOf(\"/\"),\n rest.indexOf(\"?\"),\n rest.indexOf(\"#\"),\n ].filter((index) => {\n return index !== -1;\n });\n const end =\n delimiterIndexes.length === 0\n ? base.length\n : start + Math.min(...delimiterIndexes);\n return {\n authority: base.slice(start, end),\n start,\n end,\n };\n}\n\nfunction splitRawWildcardAuthority(\n authority: string,\n): RawWildcardAuthorityParts | null {\n if (\n authority === \"\" ||\n authority.includes(\"@\") ||\n authorityHasEmptyPort(authority)\n ) {\n return null;\n }\n\n if (authority.startsWith(\"[\")) {\n return null;\n }\n\n const portSeparator = authority.lastIndexOf(\":\");\n if (portSeparator === -1) {\n return { host: authority, portSuffix: \"\" };\n }\n if (authority.indexOf(\":\") !== portSeparator) {\n return null;\n }\n return {\n host: authority.slice(0, portSeparator),\n portSuffix: authority.slice(portSeparator),\n };\n}\n\n/**\n * Convert user-facing `*` wildcards in a URL host into the existing\n * parameterized host grammar understood by the firewall matcher.\n *\n * Examples:\n * - https://*.example.com/ -> https://{hostWildcard1}.example.com/\n * - https://api-*.example.com/ -> https://api-{hostWildcard1}.example.com/\n * - https://*.*.example.com/ -> https://{hostWildcard1}.{hostWildcard2}.example.com/\n *\n * Each `*` is a single host-label wildcard. Only the host is transformed.\n * Path `*` characters remain literal.\n */\nexport function expandHostWildcardsInBaseUrl(base: string): string {\n if (base.includes(\"\\\\\")) {\n return base;\n }\n\n const authorityRange = rawBaseUrlAuthorityRange(base);\n if (authorityRange === null) {\n return base;\n }\n const authority = splitRawWildcardAuthority(authorityRange.authority);\n if (authority === null || !authority.host.includes(\"*\")) return base;\n\n let paramIndex = 0;\n const host = authority.host\n .split(\".\")\n .map((segment) => {\n if (!segment.includes(\"*\")) {\n return segment;\n }\n let expanded = \"\";\n for (let i = 0; i < segment.length; i++) {\n const ch = segment[i]!;\n if (ch === \"*\") {\n paramIndex += 1;\n expanded += `{${HOST_WILDCARD_PARAM_PREFIX}${paramIndex}}`;\n } else {\n expanded += ch;\n }\n }\n return expanded;\n })\n .join(\".\");\n\n return `${base.slice(0, authorityRange.start)}${host}${authority.portSuffix}${base.slice(\n authorityRange.end,\n )}`;\n}\n\nfunction errMsg(base: string, svc: string, detail: string): string {\n return `Invalid base URL \"${base}\" in firewall \"${svc}\": ${detail}`;\n}\n\nconst HOST_DOT_EQUIVALENTS = new Set([\".\", \"\\u3002\", \"\\uff0e\", \"\\uff61\"]);\nconst FORBIDDEN_NORMALIZED_LABEL_CHARS = new Set(\"#%,/:<>?@[\\\\]^|[]\".split(\"\"));\nconst ALLOWED_BASE_URL_SCHEMES = new Set([\"http\", \"https\"]);\nconst REQUIRED_AUTH_BASE_URL_SCHEME = \"https\";\nconst WHITESPACE_PATTERN = /\\s/u;\nconst UNICODE_CONTROL_PATTERN = /\\p{C}/u;\nconst UNICODE_DECIMAL_NUMBER_PATTERN = /^\\p{Decimal_Number}+$/u;\nconst UNICODE_MARK_PATTERN = /\\p{M}/u;\nconst UNICODE_LETTER_PATTERN = /\\p{L}/u;\nconst GREEK_COMBINING_YPOGEGRAMMENI = \"\\u0345\";\nconst GREEK_SMALL_IOTA = \"\\u03b9\";\n// WHATWG accepts these RTL-class label chars in places where Python's IDNA\n// bidi validation rejects mixed LTR/RTL labels at runtime.\nconst IDNA_BIDI_RTL_LABEL_RANGES = [\n [0x061d, 0x061d],\n [0x0870, 0x088e],\n [0x08b5, 0x08b5],\n [0x08c8, 0x08c9],\n [0xfbc2, 0xfbc2],\n [0x10f70, 0x10f81],\n [0x10f86, 0x10f89],\n] as const;\n// Keep creation-time host validation aligned with mitm-addon host_normalization.py.\nconst UNSAFE_UTS46_COLLISION_CHARS = new Set([\n \"\\u03f2\",\n \"\\u04c0\",\n \"\\u1e9e\",\n \"\\u1806\",\n \"\\u2132\",\n \"\\u2183\",\n \"\\u3164\",\n \"\\uffa0\",\n \"\\ufffc\",\n \"\\ufffd\",\n \"\\u{2f868}\",\n \"\\u{2f874}\",\n \"\\u{2f91f}\",\n \"\\u{2f95f}\",\n \"\\u{2f9bf}\",\n]);\nconst UNSAFE_UTS46_COLLISION_RANGES = [\n [0x10a0, 0x10c5],\n [0x115f, 0x1160],\n [0x17b4, 0x17b5],\n [0x2ff0, 0x2ffb],\n] as const;\nconst UNSAFE_UTS46_IGNORABLE_RANGES = [\n [0x034f, 0x034f],\n [0x180b, 0x180d],\n [0x180f, 0x180f],\n [0xfe00, 0xfe0f],\n [0xe0100, 0xe01ef],\n] as const;\n\ninterface ParameterizedAuthorityParts {\n readonly normalizedHost: string;\n readonly portSuffix: string;\n}\n\nfunction isHexDigit(char: string): boolean {\n return (\n (char >= \"0\" && char <= \"9\") ||\n (char >= \"a\" && char <= \"f\") ||\n (char >= \"A\" && char <= \"F\")\n );\n}\n\nfunction validateBaseUrlScheme(\n scheme: string,\n base: string,\n serviceName: string,\n): void {\n if (!ALLOWED_BASE_URL_SCHEMES.has(scheme.toLowerCase())) {\n throw new Error(errMsg(base, serviceName, \"scheme must be http or https\"));\n }\n}\n\nfunction validateUrlSchemeDelimiter(\n value: string,\n serviceName: string,\n label: \"base URL\" | \"auth.base URL\",\n displayValue = value,\n): void {\n if (value.includes(\"://\")) return;\n\n const colonIndex = value.indexOf(\":\");\n if (colonIndex !== -1) {\n const scheme = value.slice(0, colonIndex);\n const schemeDetail =\n label === \"auth.base URL\"\n ? \"scheme must be https\"\n : \"scheme must be http or https\";\n const allowedScheme =\n label === \"auth.base URL\"\n ? scheme.toLowerCase() === REQUIRED_AUTH_BASE_URL_SCHEME\n : ALLOWED_BASE_URL_SCHEMES.has(scheme.toLowerCase());\n if (!allowedScheme) {\n throw new Error(\n `Invalid ${label} \"${displayValue}\" in firewall \"${serviceName}\": ${schemeDetail}`,\n );\n }\n throw new Error(\n `Invalid ${label} \"${displayValue}\" in firewall \"${serviceName}\": URL must include \"://\" after the scheme`,\n );\n }\n\n throw new Error(\n `Invalid ${label} \"${displayValue}\" in firewall \"${serviceName}\": URL must include a scheme (e.g. \"https://${displayValue}\")`,\n );\n}\n\nfunction isAscii(value: string): boolean {\n for (let i = 0; i < value.length; i += 1) {\n if (value.charCodeAt(i) > 0x7f) return false;\n }\n return true;\n}\n\nfunction isIpv4NumberComponent(value: string): boolean {\n if (value === \"\") return false;\n if (value.toLowerCase().startsWith(\"0x\")) {\n return (\n value.length > 2 &&\n [...value.slice(2)].every((char) => {\n return isHexDigit(char);\n })\n );\n }\n return UNICODE_DECIMAL_NUMBER_PATTERN.test(value);\n}\n\nfunction isIpv4LiteralLike(value: string): boolean {\n const parts = value.split(\".\");\n return (\n parts.length >= 1 && parts.length <= 4 && parts.every(isIpv4NumberComponent)\n );\n}\n\nfunction isCanonicalIpv4Address(value: string): boolean {\n const parts = value.split(\".\");\n if (parts.length !== 4) return false;\n return parts.every((part) => {\n if (\n part === \"\" ||\n ![...part].every((char) => {\n return char >= \"0\" && char <= \"9\";\n })\n ) {\n return false;\n }\n if (part.length > 1 && part.startsWith(\"0\")) return false;\n return Number(part) <= IPV4_MAX_OCTET;\n });\n}\n\nfunction codePointInRanges(\n codePoint: number,\n ranges: readonly (readonly [number, number])[],\n): boolean {\n return ranges.some(([start, end]) => {\n return start <= codePoint && codePoint <= end;\n });\n}\n\nfunction hasUnsafeUts46MappingChar(value: string): boolean {\n for (const char of value) {\n const codePoint = char.codePointAt(0);\n if (\n UNSAFE_UTS46_COLLISION_CHARS.has(char) ||\n (codePoint !== undefined &&\n (codePointInRanges(codePoint, UNSAFE_UTS46_COLLISION_RANGES) ||\n codePointInRanges(codePoint, UNSAFE_UTS46_IGNORABLE_RANGES)))\n ) {\n return true;\n }\n }\n return false;\n}\n\nfunction normalizesToAscii(value: string): boolean {\n return isAscii(normalizeLabelTextForIdnaValidation(value));\n}\n\nfunction normalizeLabelTextForIdnaValidation(value: string): string {\n return value\n .replaceAll(GREEK_COMBINING_YPOGEGRAMMENI, GREEK_SMALL_IOTA)\n .normalize(\"NFKD\")\n .normalize(\"NFC\")\n .toLowerCase();\n}\n\nfunction hasForbiddenNormalizedLabelChar(value: string): boolean {\n for (const char of normalizeLabelTextForIdnaValidation(value)) {\n if (\n FORBIDDEN_NORMALIZED_LABEL_CHARS.has(char) ||\n HOST_DOT_EQUIVALENTS.has(char) ||\n WHITESPACE_PATTERN.test(char) ||\n UNICODE_CONTROL_PATTERN.test(char)\n ) {\n return true;\n }\n }\n return false;\n}\n\nfunction normalizedLabelStartsWithMark(value: string): boolean {\n const [firstChar] = normalizeLabelTextForIdnaValidation(value);\n return firstChar !== undefined && UNICODE_MARK_PATTERN.test(firstChar);\n}\n\nfunction isIdnaBidiRtlLabelChar(char: string): boolean {\n const codePoint = char.codePointAt(0);\n return (\n codePoint !== undefined &&\n codePointInRanges(codePoint, IDNA_BIDI_RTL_LABEL_RANGES)\n );\n}\n\nfunction isLtrLetterForBidiCheck(char: string): boolean {\n return UNICODE_LETTER_PATTERN.test(char) && !isIdnaBidiRtlLabelChar(char);\n}\n\nfunction isAsciiDigit(char: string): boolean {\n return char >= \"0\" && char <= \"9\";\n}\n\nfunction isArabicNumberForBidiCheck(char: string): boolean {\n const codePoint = char.codePointAt(0);\n return codePoint !== undefined && 0x0660 <= codePoint && codePoint <= 0x0669;\n}\n\nfunction effectiveBidiEndChar(chars: readonly string[]): string | undefined {\n for (let index = chars.length - 1; index >= 0; index -= 1) {\n const char = chars[index]!;\n if (!UNICODE_MARK_PATTERN.test(char)) return char;\n }\n return chars.at(-1);\n}\n\nfunction firstEffectiveBidiChar(chars: readonly string[]): string | undefined {\n return chars.find((char) => {\n return !UNICODE_MARK_PATTERN.test(char);\n });\n}\n\nfunction isRtlEndCharForBidiCheck(char: string): boolean {\n return (\n isIdnaBidiRtlLabelChar(char) ||\n isAsciiDigit(char) ||\n isArabicNumberForBidiCheck(char)\n );\n}\n\nfunction hasInvalidMixedBidiLabelText(value: string): boolean {\n const chars = Array.from(normalizeLabelTextForIdnaValidation(value));\n const firstRtlIndex = chars.findIndex((char) => {\n return isIdnaBidiRtlLabelChar(char);\n });\n if (firstRtlIndex === -1) return false;\n\n const suffix = chars.slice(firstRtlIndex + 1);\n if (firstRtlIndex === 0) {\n const suffixHasLtrLetter = suffix.some((char) => {\n return isLtrLetterForBidiCheck(char);\n });\n if (suffixHasLtrLetter) return true;\n\n const endChar = effectiveBidiEndChar(chars);\n return endChar !== undefined && !isRtlEndCharForBidiCheck(endChar);\n }\n\n const suffixHasLtrLetter = suffix.some((char) => {\n return isLtrLetterForBidiCheck(char);\n });\n if (suffixHasLtrLetter) return true;\n\n const prefix = chars.slice(0, firstRtlIndex);\n const prefixHasLtrLetter = prefix.some((char) => {\n return isLtrLetterForBidiCheck(char);\n });\n if (prefixHasLtrLetter) {\n if (prefix.some(isArabicNumberForBidiCheck)) return true;\n const firstPrefixChar = firstEffectiveBidiChar(prefix);\n if (\n firstPrefixChar === undefined ||\n !isLtrLetterForBidiCheck(firstPrefixChar)\n ) {\n return true;\n }\n return suffix.some((char) => {\n return !UNICODE_MARK_PATTERN.test(char);\n });\n }\n\n const endChar = effectiveBidiEndChar(chars);\n return endChar !== undefined && !isRtlEndCharForBidiCheck(endChar);\n}\n\nfunction baseUrlRawSyntaxTarget(base: string): string {\n return base.replace(BASE_URL_VARS_PATTERN_G, AUTH_TEMPLATE_URL_PLACEHOLDER);\n}\n\nfunction validateDecodedHostPercentCharacters(\n decoded: string,\n base: string,\n serviceName: string,\n): void {\n for (const char of decoded) {\n const codeUnit = char.charCodeAt(0);\n if (codeUnit <= 0x20 || codeUnit === 0x7f) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain percent-encoded control characters or whitespace\",\n ),\n );\n }\n if (PERCENT_DECODED_BOUNDARY_CHARS.has(char)) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain percent-encoded URL structure\",\n ),\n );\n }\n if (char === \"{\" || char === \"}\") {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain percent-encoded braces\",\n ),\n );\n }\n if (HOST_DOT_EQUIVALENTS.has(char)) {\n throw new Error(\n errMsg(base, serviceName, \"host must not contain percent-encoded dots\"),\n );\n }\n if (char === \",\") {\n throw new Error(\n errMsg(base, serviceName, \"host must not contain commas\"),\n );\n }\n if (char === \"*\") {\n throw new Error(\n errMsg(base, serviceName, \"host must not contain wildcard characters\"),\n );\n }\n }\n}\n\nfunction validateHostPercentEncoding(\n host: string,\n base: string,\n serviceName: string,\n): void {\n if (host.includes(\",\")) {\n throw new Error(errMsg(base, serviceName, \"host must not contain commas\"));\n }\n for (let i = 0; i < host.length; i += 1) {\n if (host[i] !== \"%\") continue;\n if (\n i + 2 >= host.length ||\n !isHexDigit(host[i + 1]!) ||\n !isHexDigit(host[i + 2]!)\n ) {\n throw new Error(\n errMsg(base, serviceName, \"host has invalid percent encoding\"),\n );\n }\n\n let end = i;\n while (\n end + 2 < host.length &&\n host[end] === \"%\" &&\n isHexDigit(host[end + 1]!) &&\n isHexDigit(host[end + 2]!)\n ) {\n end += 3;\n }\n\n let decoded: string;\n try {\n decoded = decodeURIComponent(host.slice(i, end));\n } catch {\n throw new Error(\n errMsg(base, serviceName, \"host has invalid percent encoding\"),\n );\n }\n validateDecodedHostPercentCharacters(decoded, base, serviceName);\n i = end - 1;\n }\n if (host.includes(\"%\")) {\n let decoded: string;\n try {\n decoded = decodeURIComponent(host);\n } catch {\n throw new Error(\n errMsg(base, serviceName, \"host has invalid percent encoding\"),\n );\n }\n validateHostHasNoUnsafeIdnaMappings(decoded, base, serviceName);\n }\n}\n\nfunction rawAuthorityFromBaseUrl(base: string): string | null {\n const schemeEnd = base.indexOf(\"://\");\n if (schemeEnd === -1) return null;\n const rest = base.slice(schemeEnd + 3);\n const delimiterIndexes = [\n rest.indexOf(\"/\"),\n rest.indexOf(\"?\"),\n rest.indexOf(\"#\"),\n ].filter((index) => {\n return index !== -1;\n });\n const authorityEnd =\n delimiterIndexes.length === 0 ? -1 : Math.min(...delimiterIndexes);\n return authorityEnd === -1 ? rest : rest.slice(0, authorityEnd);\n}\n\nfunction authorityHasEmptyPort(authority: string): boolean {\n if (authority.startsWith(\"[\")) {\n const closeBracket = authority.indexOf(\"]\");\n if (closeBracket === -1) return false;\n return authority.slice(closeBracket + 1) === \":\";\n }\n\n const portSeparator = authority.lastIndexOf(\":\");\n if (portSeparator === -1) return false;\n return (\n authority.indexOf(\":\") === portSeparator &&\n portSeparator === authority.length - 1\n );\n}\n\nfunction validateNoUserinfo(\n authority: string,\n base: string,\n serviceName: string,\n): void {\n if (authority.includes(\"@\")) {\n throw new Error(errMsg(base, serviceName, \"must not contain userinfo\"));\n }\n}\n\nfunction validateHostHasNoEmptyLabels(\n host: string,\n base: string,\n serviceName: string,\n): string {\n let normalizedHost = host.replace(HOST_DOT_EQUIVALENT_PATTERN, \".\");\n if (normalizedHost.endsWith(\".\")) {\n normalizedHost = normalizedHost.slice(0, -1);\n }\n if (\n normalizedHost === \"\" ||\n normalizedHost.endsWith(\".\") ||\n normalizedHost.split(\".\").some((label) => {\n return label === \"\";\n })\n ) {\n throw new Error(\n errMsg(base, serviceName, \"host must not contain empty labels\"),\n );\n }\n return normalizedHost;\n}\n\nfunction normalizeHostForIpv4LiteralSyntax(host: string): string {\n let normalized = host.replace(HOST_DOT_EQUIVALENT_PATTERN, \".\").toLowerCase();\n if (normalized.endsWith(\".\")) {\n normalized = normalized.slice(0, -1);\n }\n return normalized;\n}\n\nfunction rawHostForCanonicalIpv4Syntax(host: string): string {\n const normalized = host.toLowerCase();\n return normalized.endsWith(\".\") ? normalized.slice(0, -1) : normalized;\n}\n\nfunction splitAuthorityHostSegments(host: string): string[] {\n if (host.startsWith(\"[\") && host.endsWith(\"]\")) {\n return [host];\n }\n return host.split(\".\");\n}\n\nfunction rawHostFromAuthority(authority: string): string {\n const withoutUserinfo = authority.slice(authority.lastIndexOf(\"@\") + 1);\n if (withoutUserinfo.startsWith(\"[\")) {\n const closeBracket = withoutUserinfo.indexOf(\"]\");\n return closeBracket === -1\n ? withoutUserinfo\n : withoutUserinfo.slice(0, closeBracket + 1);\n }\n const portSeparator = withoutUserinfo.lastIndexOf(\":\");\n return portSeparator === -1\n ? withoutUserinfo\n : withoutUserinfo.slice(0, portSeparator);\n}\n\nfunction canonicalizeDnsHostForExecution(\n rawHost: string,\n base: string,\n serviceName: string,\n): string {\n if (rawHost.startsWith(\"[\") && rawHost.endsWith(\"]\")) {\n return rawHost.toLowerCase();\n }\n const normalizedHost = validateHostHasNoEmptyLabels(\n rawHost,\n base,\n serviceName,\n );\n let decodedHost: string;\n try {\n decodedHost = decodeURIComponent(normalizedHost);\n } catch {\n throw new Error(\n errMsg(base, serviceName, \"host has invalid percent encoding\"),\n );\n }\n for (const char of decodedHost) {\n if (DNS_HOST_FORBIDDEN_ASCII_CHARS.has(char)) {\n throw new Error(\n errMsg(base, serviceName, \"host contains a forbidden ASCII character\"),\n );\n }\n }\n const canonicalHost = canonicalizeFirewallDnsHostname(decodedHost);\n if (canonicalHost === null || canonicalHost === \"\") {\n throw new Error(\n errMsg(\n base,\n serviceName,\n `host is not valid under hostname policy ${FIREWALL_HOSTNAME_POLICY_VERSION}`,\n ),\n );\n }\n validateHostHasNoEmptyLabels(canonicalHost, base, serviceName);\n return canonicalHost;\n}\n\nfunction canonicalizeAuthorityForExecution(\n authority: string,\n base: string,\n serviceName: string,\n): string {\n const rawHost = rawHostFromAuthority(authority);\n if (rawHost.startsWith(\"[\") && rawHost.endsWith(\"]\")) {\n return `${rawHost.toLowerCase()}${authority.slice(rawHost.length)}`;\n }\n const canonicalHost = canonicalizeDnsHostForExecution(\n rawHost,\n base,\n serviceName,\n );\n return `${canonicalHost}${authority.slice(rawHost.length)}`;\n}\n\nfunction baseWithAuthority(base: string, authority: string): string {\n const schemeEnd = base.indexOf(\"://\");\n const rawAuthority = rawAuthorityFromBaseUrl(base);\n if (schemeEnd === -1 || rawAuthority === null) {\n return base;\n }\n const authorityStart = schemeEnd + 3;\n return `${base.slice(0, authorityStart)}${authority}${base.slice(\n authorityStart + rawAuthority.length,\n )}`;\n}\n\nfunction authorityForUrlSyntaxValidation(authority: string): string {\n const rawHost = rawHostFromAuthority(authority);\n if (rawHost.startsWith(\"[\") && rawHost.endsWith(\"]\")) {\n return authority;\n }\n return `vm0-host.invalid${authority.slice(rawHost.length)}`;\n}\n\nfunction urlForCanonicalBaseSyntax(base: string): URL {\n const authority = rawAuthorityFromBaseUrl(base);\n return new URL(\n authority === null\n ? base\n : baseWithAuthority(base, authorityForUrlSyntaxValidation(authority)),\n );\n}\n\nfunction validateLabelHasNoUnsafeIdnaMappings(\n label: string,\n base: string,\n serviceName: string,\n): void {\n const parsed = parseSegment(label);\n const value =\n parsed.kind === \"param\" ? `${parsed.prefix}${parsed.suffix}` : label;\n if (value === \"\" || isAscii(value)) return;\n if (hasForbiddenNormalizedLabelChar(value)) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain characters that normalize to forbidden host syntax\",\n ),\n );\n }\n if (normalizedLabelStartsWithMark(value)) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host label must not start with a combining mark\",\n ),\n );\n }\n if (hasInvalidMixedBidiLabelText(value)) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain invalid bidirectional label text\",\n ),\n );\n }\n if (hasUnsafeUts46MappingChar(value) || normalizesToAscii(value)) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host must not contain unsafe IDNA compatibility mappings\",\n ),\n );\n }\n}\n\nfunction validateHostHasNoUnsafeIdnaMappings(\n authorityOrHost: string,\n base: string,\n serviceName: string,\n): void {\n const host = rawHostFromAuthority(authorityOrHost);\n if (host.startsWith(\"[\") && host.endsWith(\"]\")) return;\n for (const label of host\n .replace(HOST_DOT_EQUIVALENT_PATTERN, \".\")\n .split(\".\")) {\n validateLabelHasNoUnsafeIdnaMappings(label, base, serviceName);\n }\n}\n\nfunction validateHostHasCanonicalIpv4Syntax(\n authorityOrHost: string,\n base: string,\n serviceName: string,\n): void {\n const host = rawHostFromAuthority(authorityOrHost);\n if (host.startsWith(\"[\") && host.endsWith(\"]\")) return;\n const normalizedHost = normalizeHostForIpv4LiteralSyntax(host);\n if (\n isIpv4LiteralLike(normalizedHost) &&\n (rawHostForCanonicalIpv4Syntax(host) !== normalizedHost ||\n !isCanonicalIpv4Address(normalizedHost))\n ) {\n throw new Error(\n errMsg(base, serviceName, \"host must use canonical IPv4 address syntax\"),\n );\n }\n}\n\nfunction splitParameterizedAuthority(\n authority: string,\n base: string,\n serviceName: string,\n): ParameterizedAuthorityParts {\n let host = authority;\n let portSuffix = \"\";\n if (authority.startsWith(\"[\")) {\n const closeBracket = authority.indexOf(\"]\");\n if (closeBracket === -1) {\n throw new Error(errMsg(base, serviceName, \"not a valid URL authority\"));\n }\n host = authority.slice(0, closeBracket + 1);\n portSuffix = authority.slice(closeBracket + 1);\n if (portSuffix !== \"\" && !portSuffix.startsWith(\":\")) {\n throw new Error(errMsg(base, serviceName, \"not a valid URL authority\"));\n }\n } else {\n const portSeparator = authority.lastIndexOf(\":\");\n if (portSeparator !== -1) {\n host = authority.slice(0, portSeparator);\n portSuffix = authority.slice(portSeparator);\n }\n }\n\n const normalizedHost = validateHostHasNoEmptyLabels(host, base, serviceName);\n\n return { normalizedHost, portSuffix };\n}\n\nfunction validateStaticHostLabels(\n hostname: string,\n base: string,\n serviceName: string,\n): void {\n if (hostname.startsWith(\"[\") && hostname.endsWith(\"]\")) return;\n validateHostHasNoEmptyLabels(hostname, base, serviceName);\n validateHostHasNoRawWildcards(hostname, base, serviceName);\n}\n\nfunction hostSegmentHasRawWildcard(segment: string): boolean {\n const parsed = parseSegment(segment);\n if (parsed.kind === \"literal\") return parsed.value.includes(\"*\");\n if (parsed.kind === \"param\") {\n return parsed.prefix.includes(\"*\") || parsed.suffix.includes(\"*\");\n }\n return false;\n}\n\nfunction validateHostHasNoRawWildcards(\n host: string,\n base: string,\n serviceName: string,\n): void {\n if (host.startsWith(\"[\") && host.endsWith(\"]\")) return;\n for (const segment of host\n .replace(HOST_DOT_EQUIVALENT_PATTERN, \".\")\n .split(\".\")) {\n if (hostSegmentHasRawWildcard(segment)) {\n throw new Error(\n errMsg(base, serviceName, \"host must not contain wildcard characters\"),\n );\n }\n }\n}\n\nfunction hostSegmentForSyntaxValidation(\n seg: string,\n base: string,\n svc: string,\n): string {\n const parsed = parseSegment(seg);\n if (parsed.kind === \"literal\") return seg;\n if (parsed.kind === \"error\") {\n throw new Error(errMsg(base, svc, parsed.reason));\n }\n if (!isAscii(parsed.prefix) || !isAscii(parsed.suffix)) {\n throw new Error(\n errMsg(\n base,\n svc,\n `host parameter segment \"${seg}\" must use ASCII literal prefix and suffix`,\n ),\n );\n }\n return `${parsed.prefix}x${parsed.suffix}`;\n}\n\nfunction validateParameterizedHostUrlSyntax(\n scheme: string,\n authority: ParameterizedAuthorityParts,\n base: string,\n serviceName: string,\n): void {\n const syntaxHost = splitAuthorityHostSegments(authority.normalizedHost)\n .map((seg) => {\n hostSegmentForSyntaxValidation(seg, base, serviceName);\n const parsed = parseSegment(seg);\n if (parsed.kind === \"error\") {\n throw new Error(errMsg(base, serviceName, parsed.reason));\n }\n return \"x\";\n })\n .join(\".\");\n try {\n new URL(`${scheme}://${syntaxHost}${authority.portSuffix}`);\n } catch {\n throw new Error(errMsg(base, serviceName, \"not a valid URL authority\"));\n }\n}\n\n/**\n * Validate host segments (`.`-delimited) for parameterized base URLs.\n * Greedy params (`+`/`*`) must be the first (leftmost) host segment and\n * must not appear in mixed segments (prefix/suffix).\n * At least one pure-literal segment is required for security — a mixed\n * segment carrying a parameter is NOT counted as static.\n */\nfunction validateHostParams(\n segments: string[],\n paramNames: Set<string>,\n base: string,\n svc: string,\n): void {\n if (segments.length < 2) {\n throw new Error(errMsg(base, svc, \"host must have at least two segments\"));\n }\n let hasStatic = false;\n for (let i = 0; i < segments.length; i++) {\n const seg = segments[i]!;\n const parsed = parseSegment(seg);\n if (parsed.kind === \"error\") {\n throw new Error(errMsg(base, svc, parsed.reason));\n }\n if (parsed.kind === \"literal\") {\n hasStatic = true;\n continue;\n }\n const { name, greedy, prefix, suffix } = parsed;\n if (paramNames.has(name)) {\n throw new Error(\n errMsg(base, svc, `duplicate parameter name \"{${name}}\" in host`),\n );\n }\n paramNames.add(name);\n if (greedy && i !== 0) {\n throw new Error(\n errMsg(base, svc, `{${name}${greedy}} must be the first host segment`),\n );\n }\n if (greedy && (prefix !== \"\" || suffix !== \"\")) {\n throw new Error(\n errMsg(\n base,\n svc,\n `greedy parameter {${name}${greedy}} cannot be combined with a literal prefix or suffix in host segment \"${seg}\"`,\n ),\n );\n }\n }\n if (!hasStatic) {\n throw new Error(\n errMsg(base, svc, \"host must have at least one static segment\"),\n );\n }\n}\n\n/**\n * Validate path segments (`/`-delimited) for parameterized base URLs.\n * Greedy params (`+`/`*`) are rejected — they would consume the entire\n * remaining path, leaving nothing for permission rules to match against.\n * Mixed segments (`{param}.ext`, `prefix-{param}`) are accepted.\n */\nfunction validatePathParams(\n segments: string[],\n paramNames: Set<string>,\n base: string,\n svc: string,\n): void {\n for (const seg of segments) {\n const parsed = parseSegment(seg);\n if (parsed.kind === \"error\") {\n throw new Error(errMsg(base, svc, parsed.reason));\n }\n if (parsed.kind === \"literal\") continue;\n const { name, greedy } = parsed;\n if (greedy) {\n throw new Error(\n errMsg(\n base,\n svc,\n `greedy parameter {${name}${greedy}} is not allowed in base URL path`,\n ),\n );\n }\n if (paramNames.has(name)) {\n throw new Error(\n errMsg(base, svc, `duplicate parameter name \"{${name}}\"`),\n );\n }\n paramNames.add(name);\n }\n}\n\n/**\n * Validate parameter segments in a firewall base URL.\n *\n * Host portion: `{param}`, `{param+}`, `{param*}` allowed.\n * - Greedy (`+`/`*`) must be in the leftmost (first) host segment.\n * - At least one static host segment is required for security.\n *\n * Path portion: only `{param}` (single-segment) allowed.\n * - Greedy (`+`/`*`) is rejected — it would consume the entire remaining\n * path, leaving nothing for permission rules to match against.\n */\nfunction validateBaseUrlParams(base: string, serviceName: string): string {\n const schemeEnd = base.indexOf(\"://\");\n if (schemeEnd === -1) {\n throw new Error(errMsg(base, serviceName, \"missing scheme\"));\n }\n const scheme = base.slice(0, schemeEnd);\n if (scheme.includes(\"{\")) {\n throw new Error(\n errMsg(base, serviceName, \"scheme must not contain parameters\"),\n );\n }\n validateBaseUrlScheme(scheme, base, serviceName);\n if (base.includes(\"?\")) {\n throw new Error(errMsg(base, serviceName, \"must not contain query string\"));\n }\n if (base.includes(\"#\")) {\n throw new Error(errMsg(base, serviceName, \"must not contain fragment\"));\n }\n\n const rest = base.slice(schemeEnd + 3);\n const slashIdx = rest.indexOf(\"/\");\n const host = slashIdx === -1 ? rest : rest.slice(0, slashIdx);\n const path = slashIdx === -1 ? \"\" : rest.slice(slashIdx);\n if (authorityHasEmptyPort(host)) {\n throw new Error(errMsg(base, serviceName, \"not a valid URL authority\"));\n }\n validateNoUserinfo(host, base, serviceName);\n validateHostPercentEncoding(host, base, serviceName);\n const authority = splitParameterizedAuthority(host, base, serviceName);\n validateHostHasCanonicalIpv4Syntax(\n authority.normalizedHost,\n base,\n serviceName,\n );\n validateHostHasNoUnsafeIdnaMappings(\n authority.normalizedHost,\n base,\n serviceName,\n );\n validateHostHasNoRawWildcards(authority.normalizedHost, base, serviceName);\n const canonicalAuthority = {\n normalizedHost: splitAuthorityHostSegments(authority.normalizedHost)\n .map((segment) => {\n const parsed = parseSegment(segment);\n if (parsed.kind === \"error\") {\n throw new Error(errMsg(base, serviceName, parsed.reason));\n }\n if (parsed.kind === \"param\") {\n canonicalizeDnsHostForExecution(\n `${parsed.prefix}x${parsed.suffix}`,\n base,\n serviceName,\n );\n return segment;\n }\n const canonicalSegment = canonicalizeDnsHostForExecution(\n segment,\n base,\n serviceName,\n );\n if (\n !canonicalSegment.startsWith(\"[\") &&\n canonicalSegment.includes(\".\")\n ) {\n throw new Error(\n errMsg(\n base,\n serviceName,\n \"host label must not map to multiple labels\",\n ),\n );\n }\n return canonicalSegment;\n })\n .join(\".\"),\n portSuffix: authority.portSuffix,\n };\n const canonicalHostSegments = splitAuthorityHostSegments(\n canonicalAuthority.normalizedHost,\n );\n if (\n hasBaseUrlParams(canonicalAuthority.normalizedHost) &&\n canonicalHostSegments.length <= 4 &&\n canonicalHostSegments.some((segment) => {\n const parsed = parseSegment(segment);\n return parsed.kind === \"literal\" && isIpv4NumberComponent(parsed.value);\n }) &&\n canonicalHostSegments.every((segment) => {\n const parsed = parseSegment(segment);\n return (\n (parsed.kind === \"literal\" && isIpv4NumberComponent(parsed.value)) ||\n (parsed.kind === \"param\" &&\n parsed.prefix === \"\" &&\n parsed.suffix === \"\")\n );\n })\n ) {\n throw new Error(errMsg(base, serviceName, \"not a valid URL authority\"));\n }\n validateParameterizedHostUrlSyntax(\n base.slice(0, schemeEnd),\n canonicalAuthority,\n base,\n serviceName,\n );\n\n const paramNames = new Set<string>();\n validateHostParams(canonicalHostSegments, paramNames, base, serviceName);\n if (path) {\n validatePathParams(splitPathSegments(path), paramNames, base, serviceName);\n }\n return baseWithAuthority(\n base,\n `${canonicalAuthority.normalizedHost}${canonicalAuthority.portSuffix}`,\n );\n}\n\nfunction validateAndCanonicalizeBaseUrl(\n base: string,\n serviceName: string,\n): string {\n if (base.includes(\"\\\\\")) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": must not contain backslash`,\n );\n }\n\n const hasTemplateVars = hasBaseUrlVars(base);\n const rawSyntaxTarget = baseUrlRawSyntaxTarget(base);\n if (hasRawWhitespace(rawSyntaxTarget)) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": must not contain whitespace`,\n );\n }\n if (hasUnsafeUrlCodepoint(rawSyntaxTarget)) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": must not contain control characters or invalid Unicode`,\n );\n }\n\n let knownRawPath = rawPathFromBaseUrl(rawSyntaxTarget);\n if (\n knownRawPath === \"\" &&\n hasTemplateVars &&\n rawSyntaxTarget.startsWith(`${AUTH_TEMPLATE_URL_PLACEHOLDER}/`)\n ) {\n knownRawPath = rawSyntaxTarget.slice(AUTH_TEMPLATE_URL_PLACEHOLDER.length);\n }\n if (hasUnsafeFirewallPath(knownRawPath)) {\n throw new Error(\n errMsg(base, serviceName, \"must not contain unsafe path segments\"),\n );\n }\n\n // Template base URLs are validated after variable resolution at compose time.\n if (hasTemplateVars) return base;\n\n validateUrlSchemeDelimiter(base, serviceName, \"base URL\");\n\n // Parameterized base URLs have their own validation path.\n if (hasBaseUrlParams(base)) {\n return validateBaseUrlParams(base, serviceName);\n }\n\n const authority = rawAuthorityFromBaseUrl(base);\n let canonicalBase = base;\n if (authority !== null) {\n if (authority === \"\") {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": not a valid URL authority`,\n );\n }\n if (authorityHasEmptyPort(authority)) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": not a valid URL authority`,\n );\n }\n validateNoUserinfo(authority, base, serviceName);\n validateHostPercentEncoding(authority, base, serviceName);\n validateHostHasCanonicalIpv4Syntax(authority, base, serviceName);\n validateHostHasNoUnsafeIdnaMappings(authority, base, serviceName);\n validateHostHasNoRawWildcards(\n rawHostFromAuthority(authority),\n base,\n serviceName,\n );\n canonicalBase = baseWithAuthority(\n base,\n canonicalizeAuthorityForExecution(authority, base, serviceName),\n );\n }\n let url: URL;\n try {\n url = urlForCanonicalBaseSyntax(canonicalBase);\n } catch {\n if (!base.includes(\"://\")) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": URL must include a scheme (e.g. \"https://${base}\")`,\n );\n }\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": not a valid URL`,\n );\n }\n validateBaseUrlScheme(url.protocol.slice(0, -1), base, serviceName);\n if (url.search) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": must not contain query string`,\n );\n }\n if (url.hash) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": must not contain fragment`,\n );\n }\n const canonicalAuthority = rawAuthorityFromBaseUrl(canonicalBase);\n const canonicalHostname =\n canonicalAuthority === null\n ? url.hostname\n : rawHostFromAuthority(canonicalAuthority);\n validateStaticHostLabels(canonicalHostname, base, serviceName);\n if (canonicalHostname.includes(\"{\") || canonicalHostname.includes(\"}\")) {\n throw new Error(\n `Invalid base URL \"${base}\" in firewall \"${serviceName}\": host must not contain braces`,\n );\n }\n return canonicalBase;\n}\n\nexport function validateBaseUrl(base: string, serviceName: string): void {\n validateAndCanonicalizeBaseUrl(base, serviceName);\n}\n\nexport function canonicalizeFirewallBaseUrl(\n base: string,\n serviceName: string,\n): string {\n return validateAndCanonicalizeBaseUrl(base, serviceName);\n}\n\ninterface AuthBaseStaticValidationTarget {\n readonly url: string | null;\n readonly dynamicPrefixSuffix: string;\n}\n\nfunction authBaseForStaticUrlValidation(\n authBase: string,\n): AuthBaseStaticValidationTarget {\n if (!authBase.includes(AUTH_TEMPLATE_START)) {\n return { url: authBase, dynamicPrefixSuffix: \"\" };\n }\n\n const replaced = authBase.replace(\n AUTH_REFERENCE_PATTERN_G,\n AUTH_TEMPLATE_URL_PLACEHOLDER,\n );\n if (replaced.includes(AUTH_TEMPLATE_START)) {\n return { url: authBase, dynamicPrefixSuffix: \"\" };\n }\n const prefixMatch = AUTH_REFERENCE_PREFIX_PATTERN.exec(authBase);\n if (prefixMatch) {\n return {\n url: null,\n dynamicPrefixSuffix: authBase\n .slice(prefixMatch[0].length)\n .replace(AUTH_REFERENCE_PATTERN_G, AUTH_TEMPLATE_URL_PLACEHOLDER),\n };\n }\n return { url: replaced, dynamicPrefixSuffix: \"\" };\n}\n\nfunction validateDynamicAuthBaseSuffix(\n authBase: string,\n suffix: string,\n serviceName: string,\n): void {\n if (suffix.includes(AUTH_TEMPLATE_START)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": contains unsupported template reference`,\n );\n }\n if (hasRawWhitespace(suffix)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain whitespace`,\n );\n }\n if (hasUnsafeUrlCodepoint(suffix)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain control characters or invalid Unicode`,\n );\n }\n if (suffix.includes(\"#\")) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain fragment`,\n );\n }\n if (suffix !== \"\" && !suffix.startsWith(\"/\") && !suffix.startsWith(\"?\")) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": dynamic URL suffix must start with \"/\" or \"?\"`,\n );\n }\n}\n\nexport function validateAuthBaseUrl(\n authBase: string,\n serviceName: string,\n): void {\n if (authBase.includes(\"\\\\\")) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain backslash`,\n );\n }\n\n // Auth base URLs may be fully or partially secret/var-backed; resolved\n // values are only available in the sandbox when auth is applied.\n const target = authBaseForStaticUrlValidation(authBase);\n validateDynamicAuthBaseSuffix(\n authBase,\n target.dynamicPrefixSuffix,\n serviceName,\n );\n const validationUrl = target.url;\n if (validationUrl === null) return;\n if (validationUrl.includes(AUTH_TEMPLATE_START)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": contains unsupported template reference`,\n );\n }\n\n if (hasRawWhitespace(validationUrl)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain whitespace`,\n );\n }\n if (hasUnsafeUrlCodepoint(validationUrl)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain control characters or invalid Unicode`,\n );\n }\n\n validateUrlSchemeDelimiter(\n validationUrl,\n serviceName,\n \"auth.base URL\",\n authBase,\n );\n\n const authority = rawAuthorityFromBaseUrl(validationUrl);\n let canonicalValidationUrl = validationUrl;\n if (authority !== null) {\n if (authority === \"\") {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": not a valid URL authority`,\n );\n }\n if (authorityHasEmptyPort(authority)) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": not a valid URL authority`,\n );\n }\n if (authority.includes(\"@\")) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain userinfo`,\n );\n }\n validateHostPercentEncoding(authority, validationUrl, serviceName);\n validateHostHasCanonicalIpv4Syntax(authority, validationUrl, serviceName);\n validateHostHasNoUnsafeIdnaMappings(authority, validationUrl, serviceName);\n validateHostHasNoRawWildcards(\n rawHostFromAuthority(authority),\n validationUrl,\n serviceName,\n );\n canonicalValidationUrl = baseWithAuthority(\n validationUrl,\n canonicalizeAuthorityForExecution(authority, validationUrl, serviceName),\n );\n }\n\n let url: URL;\n try {\n url = urlForCanonicalBaseSyntax(canonicalValidationUrl);\n } catch {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": not a valid URL`,\n );\n }\n if (\n url.protocol.slice(0, -1).toLowerCase() !== REQUIRED_AUTH_BASE_URL_SCHEME\n ) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": scheme must be https`,\n );\n }\n if (url.hash) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": must not contain fragment`,\n );\n }\n const canonicalAuthority = rawAuthorityFromBaseUrl(canonicalValidationUrl);\n validateStaticHostLabels(\n canonicalAuthority === null\n ? url.hostname\n : rawHostFromAuthority(canonicalAuthority),\n validationUrl,\n serviceName,\n );\n\n const rawAuthAuthority = rawAuthorityFromBaseUrl(authBase);\n if (\n rawAuthAuthority !== null &&\n rawAuthAuthority.includes(AUTH_TEMPLATE_START) &&\n (!isAscii(rawAuthAuthority) || rawAuthAuthority.includes(\"%\"))\n ) {\n throw new Error(\n `Invalid auth.base URL \"${authBase}\" in firewall \"${serviceName}\": dynamic authority must use ASCII static text`,\n );\n }\n}\n\n/**\n * Expanded firewall config stored in compose content.\n * Resolved from firewall name + FirewallConfig at compose time, then frozen.\n *\n * - `name`: firewall config name (e.g., \"slack\"). Also the key used in\n * vm0.yaml to reference this firewall config, and the map key in\n * `FirewallPolicies` / `NetworkPolicies`.\n * - `description`: optional description from the firewall config\n */\nexport interface ExpandedFirewallConfig {\n name: string;\n description?: string;\n apis: FirewallApi[];\n placeholders?: Record<string, string>;\n /**\n * Optional per-firewall default permission overrides for auto-generated\n * model-provider firewalls (which otherwise default to fully permissive).\n * Permission names listed in `deny`/`ask` are routed accordingly; all\n * others remain allowed. `unknownPolicy` controls handling of base-URL\n * matches that don't match any permission rule. Ignored on the connector\n * firewall path (which uses stored per-user policies instead).\n */\n defaultPolicies?: {\n deny?: string[];\n ask?: string[];\n unknownPolicy?: FirewallPolicyValue;\n };\n}\n","import { toASCII, type ToASCIIOptions } from \"tr46\";\n\n/**\n * Hostname identity accepted by the API before firewall values cross to a\n * runner. The policy version changes only after a deliberate Unicode-data and\n * runner-compatibility review.\n */\nexport const FIREWALL_HOSTNAME_POLICY_VERSION = \"vm0-uts46-16.0-v1\";\n\nconst FIREWALL_HOSTNAME_TO_ASCII_OPTIONS = {\n checkBidi: true,\n checkHyphens: false,\n checkJoiners: true,\n ignoreInvalidPunycode: false,\n transitionalProcessing: false,\n useSTD3ASCIIRules: false,\n verifyDNSLength: true,\n} as const satisfies ToASCIIOptions;\n\n/**\n * Return the fixed-policy ASCII identity for a dot-separated DNS hostname.\n * Callers remain responsible for vm0's stricter raw-input and IP-literal\n * checks before invoking this UTS #46 mapping step.\n */\nexport function canonicalizeFirewallDnsHostname(\n hostname: string,\n): string | null {\n return toASCII(hostname, FIREWALL_HOSTNAME_TO_ASCII_OPTIONS);\n}\n","const ASCII_CONTROL_MAX = 0x20;\nconst ASCII_DELETE = 0x7f;\nconst UNICODE_HIGH_SURROGATE_MIN = 0xd800;\nconst UNICODE_HIGH_SURROGATE_MAX = 0xdbff;\nconst UNICODE_LOW_SURROGATE_MIN = 0xdc00;\nconst UNICODE_LOW_SURROGATE_MAX = 0xdfff;\n\nfunction trimTrailingDots(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 46) {\n end -= 1;\n }\n return end === value.length ? value : value.slice(0, end);\n}\n\nfunction stripHostnameTrailingDot(host: string): string {\n const portStart = host.startsWith(\"[\") ? -1 : host.lastIndexOf(\":\");\n if (portStart === -1) {\n return trimTrailingDots(host);\n }\n\n const hostname = trimTrailingDots(host.slice(0, portStart));\n return `${hostname}${host.slice(portStart)}`;\n}\n\nexport function normalizeFirewallFixedHost(host: string): string | null {\n const trimmedHost = host.trim();\n if (trimmedHost.length === 0) {\n return null;\n }\n\n try {\n const url = trimmedHost.includes(\"://\")\n ? new URL(trimmedHost)\n : new URL(`https://${trimmedHost}`);\n return stripHostnameTrailingDot(url.host.toLowerCase());\n } catch {\n return stripHostnameTrailingDot(trimmedHost.toLowerCase());\n }\n}\n\nexport function hasRawWhitespace(value: string): boolean {\n for (let i = 0; i < value.length; i += 1) {\n const char = value[i]!;\n if (\n char === \" \" ||\n char === \"\\t\" ||\n char === \"\\n\" ||\n char === \"\\r\" ||\n char === \"\\f\" ||\n char === \"\\v\"\n ) {\n return true;\n }\n }\n return false;\n}\n\nexport function hasUnsafeUrlCodepoint(value: string): boolean {\n for (let i = 0; i < value.length; i += 1) {\n const codeUnit = value.charCodeAt(i);\n if (codeUnit < ASCII_CONTROL_MAX || codeUnit === ASCII_DELETE) {\n return true;\n }\n if (\n UNICODE_HIGH_SURROGATE_MIN <= codeUnit &&\n codeUnit <= UNICODE_HIGH_SURROGATE_MAX\n ) {\n const nextCodeUnit = value.charCodeAt(i + 1);\n if (\n !(\n UNICODE_LOW_SURROGATE_MIN <= nextCodeUnit &&\n nextCodeUnit <= UNICODE_LOW_SURROGATE_MAX\n )\n ) {\n return true;\n }\n i += 1;\n continue;\n }\n if (\n UNICODE_LOW_SURROGATE_MIN <= codeUnit &&\n codeUnit <= UNICODE_LOW_SURROGATE_MAX\n ) {\n return true;\n }\n }\n return false;\n}\n","/**\n * Shared grammar for a single host/path segment used across firewall\n * base URL validation, permission rule path validation, and runtime URL\n * matching.\n *\n * Grammar mirrors crates/runner/mitm-addon/src/firewall_matching/patterns.py::parse_segment —\n * keep both implementations in lockstep. Any change to accepted or rejected\n * forms must land in both languages and the shared contract fixture at once:\n * turbo/packages/connectors/src/__tests__/firewall-semantics-contract.json.\n *\n * Accepted forms:\n * - Plain literal (no braces).\n * - `{name}` pure parameter.\n * - `{name}suffix` parameter + literal suffix.\n * - `prefix{name}` literal prefix + parameter.\n * - `prefix{name}suffix` literal prefix + parameter + literal suffix.\n * - Parameter names are opaque non-empty segment text and may carry a\n * trailing `+` or `*` for greedy matching;\n * greedy is only valid in positions the caller allows (leftmost host\n * segment, or last rule-path segment). Greedy names must NOT appear in\n * mixed segments — that combination is reserved.\n *\n * Rejected forms (error kind with a specific reason):\n * - `{}` / `prefix{}suffix` empty parameter name.\n * - `{a}{b}` adjacent parameters in one segment.\n * - `{a}.{b}` literal-separated parameters in one segment.\n * - `{name` / `name}` unbalanced brace.\n *\n * Match-time semantics for mixed segments (carried by `param` result):\n * - The runtime segment must startsWith(prefix) AND endsWith(suffix)\n * AND length > prefix.length + suffix.length (middle must be non-empty).\n * - Captured value is the middle slice.\n */\n\nconst ERROR_HINT =\n 'use \"{name}\", \"prefix{name}\", \"{name}suffix\", or \"prefix{name}suffix\"';\n\ntype SegmentParseResult =\n | { kind: \"literal\"; value: string }\n | {\n kind: \"param\";\n prefix: string;\n name: string;\n suffix: string;\n greedy: \"\" | \"+\" | \"*\";\n }\n | { kind: \"error\"; reason: string };\n\nexport function parseSegment(seg: string): SegmentParseResult {\n const openCount = countChar(seg, \"{\");\n const closeCount = countChar(seg, \"}\");\n\n if (openCount === 0 && closeCount === 0) {\n return { kind: \"literal\", value: seg };\n }\n if (openCount !== closeCount) {\n return {\n kind: \"error\",\n reason: `unbalanced brace in segment \"${seg}\" — ${ERROR_HINT}`,\n };\n }\n\n const open1 = seg.indexOf(\"{\");\n const close1 = seg.indexOf(\"}\");\n if (close1 < open1) {\n return {\n kind: \"error\",\n reason: `unbalanced brace in segment \"${seg}\" — ${ERROR_HINT}`,\n };\n }\n\n if (openCount >= 2) {\n const open2 = seg.indexOf(\"{\", close1 + 1);\n if (close1 + 1 === open2) {\n return {\n kind: \"error\",\n reason: `adjacent parameters in segment \"${seg}\" — only one parameter per segment is allowed; ${ERROR_HINT}`,\n };\n }\n return {\n kind: \"error\",\n reason: `literal-separated parameters in segment \"${seg}\" — only one parameter per segment is allowed; ${ERROR_HINT}`,\n };\n }\n\n const prefix = seg.slice(0, open1);\n const content = seg.slice(open1 + 1, close1);\n const suffix = seg.slice(close1 + 1);\n\n if (\n prefix.includes(\"{\") ||\n prefix.includes(\"}\") ||\n suffix.includes(\"{\") ||\n suffix.includes(\"}\")\n ) {\n return {\n kind: \"error\",\n reason: `unbalanced brace in segment \"${seg}\" — ${ERROR_HINT}`,\n };\n }\n\n // Strip optional trailing greedy marker BEFORE emptiness check so that\n // `{+}` / `{*}` report \"empty parameter name\", matching legacy behavior.\n let greedy: \"\" | \"+\" | \"*\" = \"\";\n let name = content;\n if (content.length > 0) {\n const last = content[content.length - 1]!;\n if (last === \"+\" || last === \"*\") {\n greedy = last;\n name = content.slice(0, -1);\n }\n }\n\n if (name.length === 0) {\n return {\n kind: \"error\",\n reason: `empty parameter name in segment \"${seg}\" — ${ERROR_HINT}`,\n };\n }\n\n return { kind: \"param\", prefix, name, suffix, greedy };\n}\n\nexport function splitPathSegments(path: string): string[] {\n if (path === \"\" || path === \"/\") return [];\n const pathWithoutLeadingSlash = path.startsWith(\"/\") ? path.slice(1) : path;\n if (pathWithoutLeadingSlash === \"\") return [];\n return pathWithoutLeadingSlash.split(\"/\");\n}\n\nfunction countChar(s: string, ch: string): number {\n let n = 0;\n for (let i = 0; i < s.length; i++) {\n if (s[i] === ch) n++;\n }\n return n;\n}\n"],"mappings":"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E,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,IAAI,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,IAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,OAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,SAAI,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,IAAI,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,IAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,GAAE,IAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,cAAI,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,GAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,SAAI,GAAE,CAAC,KAAI,GAAE,eAAK,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,MAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,CAAC,KAAI,GAAG,GAAE,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAI,GAAE,QAAG,GAAE,CAAC,KAAI,CAAC,GAAE,CAAC,KAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,oBAAK,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,oBAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,GAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,MAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,MAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,MAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,KAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,eAAK,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,EAAE,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,oBAAK,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,cAAI,GAAE,CAAC,MAAK,GAAE,oBAAK,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,SAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,0BAAM,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,OAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,OAAI,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,MAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAAE,QAAG,GAAE,CAAC,MAAK,GAA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AAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,IAAI,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,MAAK,GAAE,MAAM,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,KAAK,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,MAAK,GAAE,GAAG,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,MAAK,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,IAAI,GAAE,CAAC,GAAE,CAAC,CAAC,MAAK,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,gBAAM,GAAE,CAAC,OAAM,GAAE,gBAAM,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,MAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,sCAAQ,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,gCAAO,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM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I,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,UAAK,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,MAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,MAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,OAAM,GAAE,KAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,IAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,eAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,GAAE,oBAAK,GAAE,CAAC,OAAM,GAAE,+FAAoB,GAAE,CAAC,OAAM,GAAE,6CAAU,GAAE,CAAC,OAAM,GAAE,0BAAM,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,SAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,cAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,GAAE,cAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAI,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,IAAI,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,SAAI,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,MAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,MAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,GAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,QAAG,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,OAAM,GAAE,WAAI,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,OAAM,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,KAAK,GAAE,CAAC,GAAE,CAAC,CAAC,OAAM,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,OAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,oBAAM,GAAE,CAAC,QAAO,GAAE,oBAAM,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,oBAAM,GAAE,CAAC,QAAO,GAAE,oBAAM,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,QAAO,GAAE,6BAAQ,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,MAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,eAAK,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,KAAK,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,IAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,cAAI,GAAE,CAAC,QAAO,GAAE,cAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,QAAO,GAAE,oBAAK,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,OAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,QAAO,GAAE,GAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,OAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,QAAG,GAAE,CAAC,QAAO,GAAE,WAAI,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,QAAO,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,OAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,MAAM,GAAE,CAAC,GAAE,CAAC,CAAC,QAAO,OAAO,GAAE,CAAC,GAAE,CAAC,CAAC,SAAQ,OAAO,GAAE,C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","names":["punycode","error","toASCII","toUnicode","c","c","c"]}
|