UNPKG

@orama/stemmers

Version:
1 lines 38.8 kB
{"version":3,"sources":["<anon>"],"sourcesContent":["/*\n * -----------------------------------------------------------------------------\n * GENERATED FILE - DO NOT EDIT!\n * This file has been compiled using the Snowball stemmer generator.\n * Don't edit this file directly.\n * -----------------------------------------------------------------------------\n */ \"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: Object.getOwnPropertyDescriptor(all, name).get\n });\n}\n_export(exports, {\n get language () {\n return language;\n },\n get stemmer () {\n return stemmer;\n }\n});\nvar g = !0, p = !1;\nfunction C() {\n this.p = function(k) {\n this.j = k;\n this.cursor = 0;\n this.a = this.j.length;\n this.f = 0;\n this.c = this.cursor;\n this.d = this.a;\n };\n this.z = function() {\n return this.j;\n };\n this.w = function(k) {\n this.j = k.j;\n this.cursor = k.cursor;\n this.a = k.a;\n this.f = k.f;\n this.c = k.c;\n this.d = k.d;\n };\n this.i = function(k, l, h) {\n if (this.cursor >= this.a) return p;\n var c = this.j.charCodeAt(this.cursor);\n if (c > h || c < l) return p;\n c -= l;\n if (0 == (k[c >>> 3] & 1 << (c & 7))) return p;\n this.cursor++;\n return g;\n };\n this.n = function(k, l, h) {\n if (this.cursor <= this.f) return p;\n var c = this.j.charCodeAt(this.cursor - 1);\n if (c > h || c < l) return p;\n c -= l;\n if (0 == (k[c >>> 3] & 1 << (c & 7))) return p;\n this.cursor--;\n return g;\n };\n this.k = function(k, l, h) {\n if (this.cursor >= this.a) return p;\n var c = this.j.charCodeAt(this.cursor);\n if (c > h || c < l) return this.cursor++, g;\n c -= l;\n return 0 == (k[c >>> 3] & 1 << (c & 7)) ? (this.cursor++, g) : p;\n };\n this.q = function(k, l, h) {\n if (this.cursor <= this.f) return p;\n var c = this.j.charCodeAt(this.cursor - 1);\n if (c > h || c < l) return this.cursor--, g;\n c -= l;\n return 0 == (k[c >>> 3] & 1 << (c & 7)) ? (this.cursor--, g) : p;\n };\n this.m = function(k) {\n if (this.a - this.cursor < k.length || this.j.slice(this.cursor, this.cursor + k.length) != k) return p;\n this.cursor += k.length;\n return g;\n };\n this.g = function(k) {\n if (this.cursor - this.f < k.length || this.j.slice(this.cursor - k.length, this.cursor) != k) return p;\n this.cursor -= k.length;\n return g;\n };\n this.o = function(k) {\n for(var l = 0, h = k.length, c = this.cursor, a = this.a, d = 0, n = 0, v = p;;){\n var b = l + (h - l >>> 1), f = 0, q = d < n ? d : n, t = k[b], s;\n for(s = q; s < t[0].length; s++){\n if (c + q == a) {\n f = -1;\n break;\n }\n f = this.j.charCodeAt(c + q) - t[0].charCodeAt(s);\n if (0 != f) break;\n q++;\n }\n 0 > f ? (h = b, n = q) : (l = b, d = q);\n if (1 >= h - l) {\n if (0 < l) break;\n if (h == l) break;\n if (v) break;\n v = g;\n }\n }\n for(;;){\n t = k[l];\n if (d >= t[0].length) {\n this.cursor = c + t[0].length;\n if (4 > t.length) return t[2];\n l = t[3](this);\n this.cursor = c + t[0].length;\n if (l) return t[2];\n }\n l = t[1];\n if (0 > l) return 0;\n }\n };\n this.h = function(k) {\n for(var l = 0, h = k.length, c = this.cursor, a = this.f, d = 0, n = 0, v = p;;){\n var b = l + (h - l >> 1), f = 0, q = d < n ? d : n, t = k[b], s;\n for(s = t[0].length - 1 - q; 0 <= s; s--){\n if (c - q == a) {\n f = -1;\n break;\n }\n f = this.j.charCodeAt(c - 1 - q) - t[0].charCodeAt(s);\n if (0 != f) break;\n q++;\n }\n 0 > f ? (h = b, n = q) : (l = b, d = q);\n if (1 >= h - l) {\n if (0 < l) break;\n if (h == l) break;\n if (v) break;\n v = g;\n }\n }\n for(;;){\n t = k[l];\n if (d >= t[0].length) {\n this.cursor = c - t[0].length;\n if (4 > t.length) return t[2];\n l = t[3](this);\n this.cursor = c - t[0].length;\n if (l) return t[2];\n }\n l = t[1];\n if (0 > l) return 0;\n }\n };\n this.s = function(k, l, h) {\n var c = h.length - (l - k);\n this.j = this.j.slice(0, k) + h + this.j.slice(l);\n this.a += c;\n this.cursor >= l ? this.cursor += c : this.cursor > k && (this.cursor = k);\n return c;\n };\n this.t = function() {\n return 0 > this.c || this.c > this.d || this.d > this.a || this.a > this.j.length ? p : g;\n };\n this.b = function(k) {\n var l = p;\n this.t() && (this.s(this.c, this.d, k), l = g);\n return l;\n };\n this.e = function() {\n return this.b('');\n };\n this.r = function(k, l, h) {\n l = this.s(k, l, h);\n k <= this.c && (this.c += l);\n k <= this.d && (this.d += l);\n };\n this.u = function() {\n var k = '';\n this.t() && (k = this.j.slice(this.c, this.d));\n return k;\n };\n this.v = function() {\n return this.j.slice(0, this.a);\n };\n}\nfunction stem() {\n function k() {\n var b;\n c.d = c.cursor;\n b = c.h(a);\n if (0 == b) return p;\n c.c = c.cursor;\n switch(b){\n case 1:\n a: {\n b = c.a - c.cursor;\n if (c.g('\\u0430')) break a;\n c.cursor = c.a - b;\n if (!c.g('\\u044f')) return p;\n }\n if (!c.e()) return p;\n break;\n case 2:\n if (!c.e()) return p;\n }\n return g;\n }\n function l() {\n var a, b;\n c.d = c.cursor;\n 0 == c.h(d) ? b = p : (c.c = c.cursor, b = !c.e() ? p : g);\n if (!b) return p;\n b = c.a - c.cursor;\n a: if (c.d = c.cursor, a = c.h(n), 0 == a) c.cursor = c.a - b;\n else switch(c.c = c.cursor, a){\n case 1:\n b: {\n a = c.a - c.cursor;\n if (c.g('\\u0430')) break b;\n c.cursor = c.a - a;\n if (!c.g('\\u044f')) {\n c.cursor = c.a - b;\n break a;\n }\n }\n if (!c.e()) return p;\n break;\n case 2:\n if (!c.e()) return p;\n }\n return g;\n }\n function h() {\n var a;\n c.d = c.cursor;\n a = c.h(b);\n if (0 == a) return p;\n c.c = c.cursor;\n switch(a){\n case 1:\n a: {\n a = c.a - c.cursor;\n if (c.g('\\u0430')) break a;\n c.cursor = c.a - a;\n if (!c.g('\\u044f')) return p;\n }\n if (!c.e()) return p;\n break;\n case 2:\n if (!c.e()) return p;\n }\n return g;\n }\n var c = new C(), a = [\n [\n '\\u0432',\n -1,\n 1\n ],\n [\n '\\u0438\\u0432',\n 0,\n 2\n ],\n [\n '\\u044b\\u0432',\n 0,\n 2\n ],\n [\n '\\u0432\\u0448\\u0438',\n -1,\n 1\n ],\n [\n '\\u0438\\u0432\\u0448\\u0438',\n 3,\n 2\n ],\n [\n '\\u044b\\u0432\\u0448\\u0438',\n 3,\n 2\n ],\n [\n '\\u0432\\u0448\\u0438\\u0441\\u044c',\n -1,\n 1\n ],\n [\n '\\u0438\\u0432\\u0448\\u0438\\u0441\\u044c',\n 6,\n 2\n ],\n [\n '\\u044b\\u0432\\u0448\\u0438\\u0441\\u044c',\n 6,\n 2\n ]\n ], d = [\n [\n '\\u0435\\u0435',\n -1,\n 1\n ],\n [\n '\\u0438\\u0435',\n -1,\n 1\n ],\n [\n '\\u043e\\u0435',\n -1,\n 1\n ],\n [\n '\\u044b\\u0435',\n -1,\n 1\n ],\n [\n '\\u0438\\u043c\\u0438',\n -1,\n 1\n ],\n [\n '\\u044b\\u043c\\u0438',\n -1,\n 1\n ],\n [\n '\\u0435\\u0439',\n -1,\n 1\n ],\n [\n '\\u0438\\u0439',\n -1,\n 1\n ],\n [\n '\\u043e\\u0439',\n -1,\n 1\n ],\n [\n '\\u044b\\u0439',\n -1,\n 1\n ],\n [\n '\\u0435\\u043c',\n -1,\n 1\n ],\n [\n '\\u0438\\u043c',\n -1,\n 1\n ],\n [\n '\\u043e\\u043c',\n -1,\n 1\n ],\n [\n '\\u044b\\u043c',\n -1,\n 1\n ],\n [\n '\\u0435\\u0433\\u043e',\n -1,\n 1\n ],\n [\n '\\u043e\\u0433\\u043e',\n -1,\n 1\n ],\n [\n '\\u0435\\u043c\\u0443',\n -1,\n 1\n ],\n [\n '\\u043e\\u043c\\u0443',\n -1,\n 1\n ],\n [\n '\\u0438\\u0445',\n -1,\n 1\n ],\n [\n '\\u044b\\u0445',\n -1,\n 1\n ],\n [\n '\\u0435\\u044e',\n -1,\n 1\n ],\n [\n '\\u043e\\u044e',\n -1,\n 1\n ],\n [\n '\\u0443\\u044e',\n -1,\n 1\n ],\n [\n '\\u044e\\u044e',\n -1,\n 1\n ],\n [\n '\\u0430\\u044f',\n -1,\n 1\n ],\n [\n '\\u044f\\u044f',\n -1,\n 1\n ]\n ], n = [\n [\n '\\u0435\\u043c',\n -1,\n 1\n ],\n [\n '\\u043d\\u043d',\n -1,\n 1\n ],\n [\n '\\u0432\\u0448',\n -1,\n 1\n ],\n [\n '\\u0438\\u0432\\u0448',\n 2,\n 2\n ],\n [\n '\\u044b\\u0432\\u0448',\n 2,\n 2\n ],\n [\n '\\u0449',\n -1,\n 1\n ],\n [\n '\\u044e\\u0449',\n 5,\n 1\n ],\n [\n '\\u0443\\u044e\\u0449',\n 6,\n 2\n ]\n ], v = [\n [\n '\\u0441\\u044c',\n -1,\n 1\n ],\n [\n '\\u0441\\u044f',\n -1,\n 1\n ]\n ], b = [\n [\n '\\u043b\\u0430',\n -1,\n 1\n ],\n [\n '\\u0438\\u043b\\u0430',\n 0,\n 2\n ],\n [\n '\\u044b\\u043b\\u0430',\n 0,\n 2\n ],\n [\n '\\u043d\\u0430',\n -1,\n 1\n ],\n [\n '\\u0435\\u043d\\u0430',\n 3,\n 2\n ],\n [\n '\\u0435\\u0442\\u0435',\n -1,\n 1\n ],\n [\n '\\u0438\\u0442\\u0435',\n -1,\n 2\n ],\n [\n '\\u0439\\u0442\\u0435',\n -1,\n 1\n ],\n [\n '\\u0435\\u0439\\u0442\\u0435',\n 7,\n 2\n ],\n [\n '\\u0443\\u0439\\u0442\\u0435',\n 7,\n 2\n ],\n [\n '\\u043b\\u0438',\n -1,\n 1\n ],\n [\n '\\u0438\\u043b\\u0438',\n 10,\n 2\n ],\n [\n '\\u044b\\u043b\\u0438',\n 10,\n 2\n ],\n [\n '\\u0439',\n -1,\n 1\n ],\n [\n '\\u0435\\u0439',\n 13,\n 2\n ],\n [\n '\\u0443\\u0439',\n 13,\n 2\n ],\n [\n '\\u043b',\n -1,\n 1\n ],\n [\n '\\u0438\\u043b',\n 16,\n 2\n ],\n [\n '\\u044b\\u043b',\n 16,\n 2\n ],\n [\n '\\u0435\\u043c',\n -1,\n 1\n ],\n [\n '\\u0438\\u043c',\n -1,\n 2\n ],\n [\n '\\u044b\\u043c',\n -1,\n 2\n ],\n [\n '\\u043d',\n -1,\n 1\n ],\n [\n '\\u0435\\u043d',\n 22,\n 2\n ],\n [\n '\\u043b\\u043e',\n -1,\n 1\n ],\n [\n '\\u0438\\u043b\\u043e',\n 24,\n 2\n ],\n [\n '\\u044b\\u043b\\u043e',\n 24,\n 2\n ],\n [\n '\\u043d\\u043e',\n -1,\n 1\n ],\n [\n '\\u0435\\u043d\\u043e',\n 27,\n 2\n ],\n [\n '\\u043d\\u043d\\u043e',\n 27,\n 1\n ],\n [\n '\\u0435\\u0442',\n -1,\n 1\n ],\n [\n '\\u0443\\u0435\\u0442',\n 30,\n 2\n ],\n [\n '\\u0438\\u0442',\n -1,\n 2\n ],\n [\n '\\u044b\\u0442',\n -1,\n 2\n ],\n [\n '\\u044e\\u0442',\n -1,\n 1\n ],\n [\n '\\u0443\\u044e\\u0442',\n 34,\n 2\n ],\n [\n '\\u044f\\u0442',\n -1,\n 2\n ],\n [\n '\\u043d\\u044b',\n -1,\n 1\n ],\n [\n '\\u0435\\u043d\\u044b',\n 37,\n 2\n ],\n [\n '\\u0442\\u044c',\n -1,\n 1\n ],\n [\n '\\u0438\\u0442\\u044c',\n 39,\n 2\n ],\n [\n '\\u044b\\u0442\\u044c',\n 39,\n 2\n ],\n [\n '\\u0435\\u0448\\u044c',\n -1,\n 1\n ],\n [\n '\\u0438\\u0448\\u044c',\n -1,\n 2\n ],\n [\n '\\u044e',\n -1,\n 2\n ],\n [\n '\\u0443\\u044e',\n 44,\n 2\n ]\n ], f = [\n [\n '\\u0430',\n -1,\n 1\n ],\n [\n '\\u0435\\u0432',\n -1,\n 1\n ],\n [\n '\\u043e\\u0432',\n -1,\n 1\n ],\n [\n '\\u0435',\n -1,\n 1\n ],\n [\n '\\u0438\\u0435',\n 3,\n 1\n ],\n [\n '\\u044c\\u0435',\n 3,\n 1\n ],\n [\n '\\u0438',\n -1,\n 1\n ],\n [\n '\\u0435\\u0438',\n 6,\n 1\n ],\n [\n '\\u0438\\u0438',\n 6,\n 1\n ],\n [\n '\\u0430\\u043c\\u0438',\n 6,\n 1\n ],\n [\n '\\u044f\\u043c\\u0438',\n 6,\n 1\n ],\n [\n '\\u0438\\u044f\\u043c\\u0438',\n 10,\n 1\n ],\n [\n '\\u0439',\n -1,\n 1\n ],\n [\n '\\u0435\\u0439',\n 12,\n 1\n ],\n [\n '\\u0438\\u0435\\u0439',\n 13,\n 1\n ],\n [\n '\\u0438\\u0439',\n 12,\n 1\n ],\n [\n '\\u043e\\u0439',\n 12,\n 1\n ],\n [\n '\\u0430\\u043c',\n -1,\n 1\n ],\n [\n '\\u0435\\u043c',\n -1,\n 1\n ],\n [\n '\\u0438\\u0435\\u043c',\n 18,\n 1\n ],\n [\n '\\u043e\\u043c',\n -1,\n 1\n ],\n [\n '\\u044f\\u043c',\n -1,\n 1\n ],\n [\n '\\u0438\\u044f\\u043c',\n 21,\n 1\n ],\n [\n '\\u043e',\n -1,\n 1\n ],\n [\n '\\u0443',\n -1,\n 1\n ],\n [\n '\\u0430\\u0445',\n -1,\n 1\n ],\n [\n '\\u044f\\u0445',\n -1,\n 1\n ],\n [\n '\\u0438\\u044f\\u0445',\n 26,\n 1\n ],\n [\n '\\u044b',\n -1,\n 1\n ],\n [\n '\\u044c',\n -1,\n 1\n ],\n [\n '\\u044e',\n -1,\n 1\n ],\n [\n '\\u0438\\u044e',\n 30,\n 1\n ],\n [\n '\\u044c\\u044e',\n 30,\n 1\n ],\n [\n '\\u044f',\n -1,\n 1\n ],\n [\n '\\u0438\\u044f',\n 33,\n 1\n ],\n [\n '\\u044c\\u044f',\n 33,\n 1\n ]\n ], q = [\n [\n '\\u043e\\u0441\\u0442',\n -1,\n 1\n ],\n [\n '\\u043e\\u0441\\u0442\\u044c',\n -1,\n 1\n ]\n ], t = [\n [\n '\\u0435\\u0439\\u0448\\u0435',\n -1,\n 1\n ],\n [\n '\\u043d',\n -1,\n 2\n ],\n [\n '\\u0435\\u0439\\u0448',\n -1,\n 1\n ],\n [\n '\\u044c',\n -1,\n 3\n ]\n ], s = [\n 33,\n 65,\n 8,\n 232\n ], r = 0, m = 0;\n this.l = function() {\n var a = c.cursor;\n for(;;){\n var b = c.cursor;\n b: {\n c: for(;;){\n var d = c.cursor;\n c.c = c.cursor;\n if (c.m('\\u0451')) {\n c.d = c.cursor;\n c.cursor = d;\n break c;\n }\n c.cursor = d;\n if (c.cursor >= c.a) break b;\n c.cursor++;\n }\n if (!c.b('\\u0435')) return p;\n continue;\n }\n c.cursor = b;\n break;\n }\n c.cursor = a;\n r = m = c.a;\n a = c.cursor;\n a: {\n b: for(;;){\n if (c.i(s, 1072, 1103)) break b;\n if (c.cursor >= c.a) break a;\n c.cursor++;\n }\n m = c.cursor;\n b: for(;;){\n if (c.k(s, 1072, 1103)) break b;\n if (c.cursor >= c.a) break a;\n c.cursor++;\n }\n b: for(;;){\n if (c.i(s, 1072, 1103)) break b;\n if (c.cursor >= c.a) break a;\n c.cursor++;\n }\n b: for(;;){\n if (c.k(s, 1072, 1103)) break b;\n if (c.cursor >= c.a) break a;\n c.cursor++;\n }\n r = c.cursor;\n }\n c.cursor = a;\n c.f = c.cursor;\n c.cursor = c.a;\n if (c.cursor < m) return p;\n a = c.f;\n c.f = m;\n b = c.a - c.cursor;\n b: {\n d = c.a - c.cursor;\n if (k()) break b;\n c.cursor = c.a - d;\n d = c.a - c.cursor;\n var n;\n c.d = c.cursor;\n 0 == c.h(v) ? n = p : (c.c = c.cursor, n = !c.e() ? p : g);\n n || (c.cursor = c.a - d);\n c: {\n d = c.a - c.cursor;\n if (l()) break c;\n c.cursor = c.a - d;\n if (h()) break c;\n c.cursor = c.a - d;\n c.d = c.cursor;\n 0 != c.h(f) && (c.c = c.cursor, c.e());\n }\n }\n c.cursor = c.a - b;\n b = c.a - c.cursor;\n c.d = c.cursor;\n if (c.g('\\u0438')) {\n if (c.c = c.cursor, !c.e()) return p;\n } else c.cursor = c.a - b;\n b = c.a - c.cursor;\n c.d = c.cursor;\n 0 != c.h(q) && (c.c = c.cursor, !(r <= c.cursor) || c.e());\n c.cursor = c.a - b;\n b = c.a - c.cursor;\n c.d = c.cursor;\n d = c.h(t);\n if (0 != d) switch(c.c = c.cursor, d){\n case 1:\n if (!c.e()) break;\n c.d = c.cursor;\n if (!c.g('\\u043d')) break;\n c.c = c.cursor;\n if (!c.g('\\u043d') || !c.e()) break;\n break;\n case 2:\n if (!c.g('\\u043d') || !c.e()) break;\n break;\n case 3:\n c.e();\n }\n c.cursor = c.a - b;\n c.f = a;\n c.cursor = c.f;\n return g;\n };\n this.stemWord = function(a) {\n c.p(a);\n this.l();\n return c.j;\n };\n}\nconst stemmerInstance = new stem();\nfunction stemmer(word) {\n return stemmerInstance.stemWord(word);\n}\nconst language = 'russian';\n"],"names":["_export","target","all","name","Object","defineProperty","enumerable","get","getOwnPropertyDescriptor","exports","value","language","stemmer","g","p","C","k","j","cursor","a","length","f","c","d","z","w","i","l","h","charCodeAt","n","q","m","slice","o","v","s","b","t","e","r","u","stem","stemWord","stemmerInstance","word"],"mappings":"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,CAAC,CAAG,SAASxB,CAAC,CAAEW,CAAC,CAAEC,CAAC,EACrBD,EAAI,IAAI,CAACS,CAAC,CAACpB,EAAGW,EAAGC,GACjBZ,GAAK,IAAI,CAACM,CAAC,EAAK,CAAA,IAAI,CAACA,CAAC,EAAIK,CAAAA,EAC1BX,GAAK,IAAI,CAACO,CAAC,EAAK,CAAA,IAAI,CAACA,CAAC,EAAII,CAAAA,CAC9B,EACA,IAAI,CAACc,CAAC,CAAG,WACL,IAAIzB,EAAI,GAER,OADA,IAAI,CAACsB,CAAC,IAAOtB,CAAAA,EAAI,IAAI,CAACC,CAAC,CAACgB,KAAK,CAAC,IAAI,CAACX,CAAC,CAAE,IAAI,CAACC,CAAC,CAAA,EACrCP,CACX,EACA,IAAI,CAACmB,CAAC,CAAG,WACL,OAAO,IAAI,CAAClB,CAAC,CAACgB,KAAK,CAAC,EAAG,IAAI,CAACd,CAAC,CACjC,CACJ,CACA,SAASuB,OAoEL,IAAIpB,EAAI,IAAIP,EAAKI,EAAI,CACjB,CACI,IACA,GACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,OACA,EACA,EACH,CACD,CACI,OACA,EACA,EACH,CACD,CACI,QACA,GACA,EACH,CACD,CACI,SACA,EACA,EACH,CACD,CACI,SACA,EACA,EACH,CACJ,CAAEI,EAAI,CACH,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACJ,CAAEO,EAAI,CACH,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,MACA,EACA,EACH,CACJ,CAAEK,EAAI,CACH,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACJ,CAAEE,EAAI,CACH,CACI,KACA,GACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,OACA,EACA,EACH,CACD,CACI,OACA,EACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACJ,CAAEhB,EAAI,CACH,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,KACA,EACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,MACA,EACA,EACH,CACD,CACI,OACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,IACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,KACA,GACA,EACH,CACD,CACI,MAC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"}