UNPKG

jnf-ui

Version:

基于 vue3+ ts+ Element-plus 二次封装组件

819 lines 1.83 MB
import jv, { defineComponent as vr, ref as Tt, onActivated as Vv, openBlock as me, createElementBlock as dt, renderSlot as kr, computed as ct, resolveComponent as kt, createBlock as pt, mergeProps as Ir, unref as ie, isRef as zo, withCtx as Ke, createTextVNode as Sr, createCommentVNode as It, Fragment as zr, renderList as mo, createSlots as Jl, createElementVNode as Jt, toDisplayString as Dr, createVNode as Pt, onMounted as Da, onBeforeUnmount as Cs, normalizeClass as Kt, withDirectives as Ua, resolveDynamicComponent as pn, toHandlers as Bl, vShow as go, nextTick as Ln, useAttrs as Xl, normalizeProps as Ep, guardReactiveProps as Fp, watch as wn, resolveDirective as Tp, normalizeStyle as Wo, withModifiers as uo, getCurrentScope as Hv, onScopeDispose as Sp, readonly as zv, getCurrentInstance as As, warn as Wv, provide as d0, inject as vo, watchEffect as Gv, toRef as Ul, onUnmounted as Kv, useSlots as Cp, shallowRef as Sf, Transition as Ql, Text as Yv, reactive as p0, h as vs, createApp as Jv, toRefs as Ap, shallowReactive as Xv, isVNode as Zl, render as $l, withKeys as gl } from "vue"; const Qv = { name: "TLayoutPage" }, Zv = /* @__PURE__ */ vr({ ...Qv, props: { keepScrollDisabled: { type: Boolean, default: !1 } }, setup(i) { const d = i, s = Tt(null), u = Tt(0); return Vv(() => { d.keepScrollDisabled || (s.value.scrollTop = u); }), (r, e) => (me(), dt("div", { ref_key: "TLayoutPageRef", ref: s, class: "t_layout_page", onScroll: e[0] || (e[0] = (g) => u.value = g.target.scrollTop) }, [ kr(r.$slots, "default", {}, void 0, !0) ], 544)); } }); const Ha = (i, d) => { const s = i.__vccOpts || i; for (const [u, r] of d) s[u] = r; return s; }, qv = /* @__PURE__ */ Ha(Zv, [["__scopeId", "data-v-777b5cfb"]]), ya = (i, d) => { if (i.install = (s) => { for (const u of [i, ...Object.values(d != null ? d : {})]) s.component(u.name, u); }, d) for (const [s, u] of Object.entries(d)) i[s] = u; return i; }, e4 = ya(qv); const t4 = {}, r4 = { class: "t_layout_page_item" }; function n4(i, d) { return me(), dt("section", r4, [ kr(i.$slots, "default", {}, void 0, !0) ]); } const a4 = /* @__PURE__ */ Ha(t4, [["render", n4], ["__scopeId", "data-v-b9eaddc4"]]), o4 = ya(a4), s4 = { name: "JnSelect" }, i4 = /* @__PURE__ */ vr({ ...s4, props: { modelValue: { type: [String, Number, Array] }, multiple: { type: Boolean, default: !1 }, width: { type: String }, valueKey: { type: String, default: "key" }, labelKey: { type: String, default: "label" }, optionSource: { type: Array, default: () => [] } }, emits: ["update:modelValue"], setup(i, { emit: d }) { const s = i; let u = ct({ get() { return s.modelValue; }, set(g) { d("update:modelValue", g); } }); const r = ct({ get() { const g = s.modelValue; return (g == null ? void 0 : g.length) === s.optionSource.length; }, set(g) { return (g == null ? void 0 : g.length) === s.optionSource.length; } }), e = (g) => { const x = JSON.parse(JSON.stringify(s.optionSource)); if (g) { const T = x.map((F) => F[s.valueKey]); d("update:modelValue", T); } else d("update:modelValue", null); }; return (g, x) => { const T = kt("el-checkbox"), F = kt("el-option"), k = kt("el-select"); return me(), pt(k, Ir({ "popper-class": "jn_select", modelValue: ie(u), "onUpdate:modelValue": x[1] || (x[1] = (D) => zo(u) ? u.value = D : u = D), style: { width: i.width || "100%" } }, { clearable: !0, filterable: !0, ...g.$attrs }, { multiple: i.multiple }), { default: Ke(() => [ i.multiple ? (me(), pt(T, { key: 0, modelValue: ie(r), "onUpdate:modelValue": x[0] || (x[0] = (D) => zo(r) ? r.value = D : null), onChange: e, class: "all_checkbox" }, { default: Ke(() => [ Sr("\u5168\u9009") ]), _: 1 }, 8, ["modelValue"])) : It("", !0), (me(!0), dt(zr, null, mo(i.optionSource, (D, O) => (me(), pt(F, { key: O + "i", label: D[i.labelKey], value: D[i.valueKey] }, null, 8, ["label", "value"]))), 128)) ]), _: 1 }, 16, ["modelValue", "style", "multiple"]); }; } }); const l4 = /* @__PURE__ */ Ha(i4, [["__scopeId", "data-v-df53e48b"]]), c4 = ya(l4), f4 = vr({ name: "RenderTooltip", props: { render: Function, item: Object }, render(i) { return console.log("ctx", i), i.render(i == null ? void 0 : i.item); } }), u4 = { key: 1, class: "tip_class" }, h4 = { key: 0 }, d4 = { key: 1 }, p4 = { key: 0 }, g4 = { key: 1 }, m4 = { key: 0 }, v4 = { key: 1 }, b4 = { name: "JnDetail" }, y4 = /* @__PURE__ */ vr({ ...b4, props: { descColumn: { type: Number, default: 4 }, dataList: { type: Object, default: () => ({}) }, listTypeInfo: { type: Object, default: () => ({}) }, descData: { type: Array, default: () => [] } }, setup(i) { const d = (s, u, r, e) => { const g = u.find((x) => x[r] === s); return g && g[e]; }; return (s, u) => { const r = kt("Warning"), e = kt("el-icon"), g = kt("el-tooltip"), x = kt("el-descriptions-item"), T = kt("el-descriptions"); return me(), pt(T, Ir({ class: "jn_detail", size: "small" }, s.$attrs, { column: i.descColumn }), { default: Ke(() => [ (me(!0), dt(zr, null, mo(i.descData, (F, k) => (me(), pt(x, Ir({ key: k, label: F.label, span: F.span || 1 }, s.$attrs), { default: Ke(() => [ F.slotName ? kr(s.$slots, F.slotName, { key: 0 }, void 0, !0) : (me(), dt("span", u4, [ F.tooltip ? (me(), pt(g, Ir({ key: 0 }, s.$attrs, { placement: F.placement || "bottom" }), Jl({ default: Ke(() => [ Jt("span", null, [ F.filters && F.filters.list ? (me(), dt("span", h4, Dr(d( i.dataList[F.fieldName], i.listTypeInfo[F.filters.list], F.filters.key || "value", F.filters.label || "label" )), 1)) : (me(), dt("span", d4, Dr(F.value), 1)), Pt(e, { size: F.iconSize, color: F.iconColor, style: { cursor: "pointer", "margin-left": "2px", top: "1px" } }, { default: Ke(() => [ Pt(r) ]), _: 2 }, 1032, ["size", "color"]) ]) ]), _: 2 }, [ F.tooltip ? { name: "content", fn: Ke(() => [ typeof F.tooltip == "string" ? (me(), dt("span", p4, Dr(F.tooltip), 1)) : typeof F.tooltip == "function" ? (me(), pt(f4, { key: 1, render: F.tooltip, item: F }, null, 8, ["render", "item"])) : It("", !0) ]), key: "0" } : void 0 ]), 1040, ["placement"])) : (me(), dt("span", g4, [ F.filters && F.filters.list ? (me(), dt("span", m4, Dr(d( i.dataList[F.fieldName], i.listTypeInfo[F.filters.list], F.filters.key || "value", F.filters.label || "label" )), 1)) : (me(), dt("span", v4, Dr(F.value), 1)) ])) ])) ]), _: 2 }, 1040, ["label", "span"]))), 128)) ]), _: 3 }, 16, ["column"]); }; } }); const w4 = /* @__PURE__ */ Ha(y4, [["__scopeId", "data-v-6d93d84e"]]), x4 = ya(w4), E4 = { name: "JnButton" }, F4 = /* @__PURE__ */ vr({ ...E4, props: { time: { type: Number, default: 1e3 } }, emits: ["click"], setup(i, { emit: d }) { const s = i, u = Tt(0), r = () => { new Date().getTime() - u.value > s.time && d("click"), u.value = new Date().getTime(); }; return (e, g) => { const x = kt("el-button"); return me(), pt(x, Ir(e.$attrs, { onClick: r }), { default: Ke(() => [ kr(e.$slots, "default") ]), _: 3 }, 16); }; } }), T4 = ya(F4), S4 = ["innerHTML"], C4 = /* @__PURE__ */ vr({ __name: "index", props: { modelValue: { type: Object }, formData: { type: Object, default: null }, formOpts: { type: Object, default: () => ({}) }, httpRequest: { type: Function }, disabled: { type: Boolean, default: !1 }, isSearch: { type: Boolean, default: !1 }, rowsTotal: { type: Number, default: 999999 }, isDetail: { type: Boolean, default: !1 }, oldData: { type: Object, default: () => ({}) }, isComparison: { type: Boolean, default: !1 } }, emits: [ "update:modelValue", "on-preview", "on-remove", "on-success", "on-error", "on-progress", "on-change", "before-upload", "before-remove", "on-exceed" ], setup(i, { expose: d, emit: s }) { const u = i, r = Tt(), e = Tt(), g = Tt(""); function x(X) { if (Array.isArray(u.modelValue[X])) { const he = JSON.stringify(u.modelValue[X]), Ae = JSON.stringify(u.oldData[X]); return he !== Ae; } return u.modelValue[X] !== u.oldData[X]; } function T(X, he, Ae) { if (Array.isArray(u.modelValue[he])) { const ve = JSON.stringify(u.modelValue[he]), Ue = JSON.stringify(u.oldData[he]); return u.isComparison && ve !== Ue && (g.value = u.oldData[he + "Label"].join("/") || "", r.value = X.currentTarget), !1; } if (Ae == "select") return u.isComparison && u.modelValue[he] !== u.oldData[he] && (g.value = u.oldData[he + "Label"], r.value = X.currentTarget), !1; u.isComparison && u.modelValue[he] !== u.oldData[he] && (g.value = u.oldData[he], r.value = X.currentTarget); } const F = Tt(6), k = Tt(!1), D = (X) => (F.value += X != null ? X : 12, F.value <= 24 * u.rowsTotal), O = Tt(window.innerWidth); function P() { O.value = window.innerWidth; } window.addEventListener("resize", P); const R = () => O.value < 576 ? 24 : O.value >= 576 && O.value < 768 ? 12 : O.value >= 768 && O.value < 992 || O.value >= 992 && O.value < 1200 ? 8 : 6, L = (X) => { var he; for (const Ae in u.formOpts) { const ve = u.formOpts[Ae]; ve.attrs && (ve.colSize = u.isSearch ? ct(R) : (he = ve == null ? void 0 : ve.colSize) != null ? he : 12); let Ue = u.isSearch ? X || D(ve == null ? void 0 : ve.colSize) : ve.hasOwnProperty("show") ? ve.show : !0; ve.show = Ue; } k.value = X ? !X : F.value <= 24 * u.rowsTotal, F.value = 6; }, U = (X) => { let he = !1; for (const Ae in u.formOpts) { let ve = u.formOpts[Ae]; Ae === X ? he = !0 : ve.type === "title" && (he = !1), he && (ve.show = !ve.show); } }; let z = Tt({}); Tt({}); let j = Tt(); Tt(""); let ee = Tt(!1); const V = async ({ formData: X = {}, type: he }) => { if (ee.value) return !1; ee.value = !0; const Ae = u.formOpts; Object.keys(Ae).forEach((ve) => { z.value[ve] = [ { trigger: "blur", required: u.disabled ? !1 : Ae[ve].required, message: (Ae[ve].label || "\u6B64\u9879") + "\u662F\u5FC5\u586B\u9879" }, ...Ae[ve].rules || [] ]; }), he || s("update:modelValue", X), await Ln(), j.value.clearValidate(), L(!1), ee.value = !1; }; Da(() => { setTimeout(() => { ee.value || V({ type: "itself" }); }); }), Cs(() => { ee.value = !1; }); const K = ct(() => (X) => { switch (X.type) { case "select": return "option"; case "checkbox-group": return "checkbox"; case "radio-group": return "radio"; default: return null; } }), re = ct(() => (X, he, Ae) => { var ve, Ue, $t; switch (X.type) { case "select": if ((ve = X.attrs) != null && ve.valueKey) return he; default: return he[(($t = (Ue = X.attrs) == null ? void 0 : Ue.props) == null ? void 0 : $t.value) || "value"]; } }), Fe = ct(() => (X, he) => { var Ae, ve, Ue, $t; switch (X.type) { case "radio-group": return he[((ve = (Ae = X.attrs) == null ? void 0 : Ae.props) == null ? void 0 : ve.value) || "value"]; default: return he[(($t = (Ue = X.attrs) == null ? void 0 : Ue.props) == null ? void 0 : $t.label) || "label"]; } }), Re = ct(() => (X) => { var Ae, ve; return typeof X.attrs == "function" ? { ...X.attrs(u.modelValue), disabled: u != null && u.disabled ? !0 : (Ae = X.attrs(u.modelValue)) == null ? void 0 : Ae.disabled } : { clearable: !0, filterable: !0, ...X.attrs, disabled: u.disabled || ((ve = X.attrs) == null ? void 0 : ve.disabled) }; }), le = ct(() => (X) => { let he = { ...X.events }, Ae = {}; return Object.keys(he).forEach((ve) => { Ae[ve] = (Ue) => { he[ve] && he[ve](Ue, u.modelValue); }; }), { ...Ae }; }); return d({ initForm: V, resetFields: () => { j.value.resetFields(); }, validate: () => j.value.validate, getFormData: () => u.modelValue, model: u.modelValue, calculateShowCol: L, isShowExpand: k }), (X, he) => { const Ae = kt("ArrowDown"), ve = kt("ArrowUp"), Ue = kt("el-icon"), $t = kt("el-button"), yt = kt("el-form-item"), ke = kt("el-col"), Z = kt("el-row"), Ce = kt("el-form"), Ie = kt("el-tooltip"); return me(), dt(zr, null, [ i.modelValue ? (me(), pt(Ce, Ir({ key: 0, class: "jnf-form", ref_key: "form", ref: j, model: i.modelValue, rules: ie(z) }, X.$attrs, { "validate-on-rule-change": !1 }), { default: Ke(() => [ Pt(Z, { class: "demo-autocomplete" }, { default: Ke(() => [ (me(!0), dt(zr, null, mo(i.formOpts, (ne, q) => { var pe, J; return me(), dt(zr, { key: q }, [ (X.$attrs.hasOwnProperty("isShowApproval") ? ne.type == "title" && ne.show : ne.type == "title") ? (me(), dt("div", { key: 0, class: Kt(["secondary-tit", (pe = ne.attrs) == null ? void 0 : pe.className]) }, [ Jt("span", { innerHTML: ne.label }, null, 8, S4), (J = ne.attrs) != null && J.isShowExpand ? (me(), pt($t, { key: 0, type: "primary", onClick: (tt) => U(q), link: "" }, { default: Ke(() => [ Pt(Ue, null, { default: Ke(() => [ ne.show ? (me(), pt(ve, { key: 1 })) : (me(), pt(Ae, { key: 0 })) ]), _: 2 }, 1024), Sr(" " + Dr(ne.show ? "\u6536\u8D77" : "\u5C55\u5F00"), 1) ]), _: 2 }, 1032, ["onClick"])) : It("", !0), kr(X.$slots, q, {}, void 0, !0) ], 2)) : kr(X.$slots, q, { key: 1, formData: i.modelValue, schema: { ...ne } }, () => [ Ua(Pt(ke, { span: ne == null ? void 0 : ne.colSize }, { default: Ke(() => [ Pt(yt, { prop: q, label: ne.label, "label-width": ne.labelWidth, class: Kt({ showRed: i.isComparison && x(q) }), onMouseover: (tt) => { T(tt, q, ne.type); } }, { default: Ke(() => { var tt; return [ ne != null && ne.hasOwnProperty("children") ? (me(), pt(pn(`el-${ne.type}`), Ir({ key: 1, modelValue: i.modelValue[q], "onUpdate:modelValue": (Se) => i.modelValue[q] = Se, disabled: ie(u).disabled || ((tt = ne.attrs) == null ? void 0 : tt.disabled) }, ie(Re)(ne), Bl(ie(le)(ne))), { default: Ke(() => [ ie(K)(ne) ? (me(!0), dt(zr, { key: 0 }, mo(ne == null ? void 0 : ne.children, (Se, jt) => { var fr; return me(), pt(pn(`el-${ie(K)(ne)}`), { key: Se[((fr = ne.attrs) == null ? void 0 : fr.valueKey) || "value"], label: ie(Fe)(ne, Se), value: ie(re)(ne, Se, jt), disabled: ie(u).disabled || (Se == null ? void 0 : Se.disabled) }, { default: Ke(() => { var ft, rt; return [ Sr(Dr(Se[((rt = (ft = ne.attrs) == null ? void 0 : ft.props) == null ? void 0 : rt.label) || "label"]), 1) ]; }), _: 2 }, 1032, ["label", "value", "disabled"]); }), 128)) : It("", !0) ]), _: 2 }, 1040, ["modelValue", "onUpdate:modelValue", "disabled"])) : (me(), dt(zr, { key: 0 }, [ ne.type === "jn-date-picker" ? (me(), pt(pn("jn-date-picker"), Ir({ key: 0, modelValue: i.modelValue, "onUpdate:modelValue": he[0] || (he[0] = (Se) => zo(modelValue) ? modelValue.value = Se : null) }, ie(Re)(ne)), null, 16, ["modelValue"])) : (me(), pt(pn(`el-${ne.type}`), Ir({ key: 1 }, ie(Re)(ne), { modelValue: i.modelValue[q], "onUpdate:modelValue": (Se) => i.modelValue[q] = Se }, Bl(ie(le)(ne))), null, 16, ["modelValue", "onUpdate:modelValue"])) ], 64)) ]; }), _: 2 }, 1032, ["prop", "label", "label-width", "class", "onMouseover"]) ]), _: 2 }, 1032, ["span"]), [ [go, ne.show] ]) ], !0) ], 64); }), 128)), Pt(ke, { span: 6 }, { default: Ke(() => [ kr(X.$slots, "searchAction", { form: ie(j), model: i.modelValue, isShowExpand: k.value }, void 0, !0) ]), _: 3 }) ]), _: 3 }) ]), _: 3 }, 16, ["model", "rules"])) : It("", !0), Pt(Ie, { ref_key: "tooltipRef", ref: e, "popper-options": { modifiers: [ { name: "computeStyles", options: { adaptive: !1, enabled: !1 } } ] }, "virtual-ref": r.value, placement: "top", "virtual-triggering": "", "popper-class": "singleton-tooltip" }, { content: Ke(() => [ Jt("div", null, Dr(g.value), 1) ]), _: 1 }, 8, ["virtual-ref"]) ], 64); }; } }); const A4 = /* @__PURE__ */ Ha(C4, [["__scopeId", "data-v-59ad7bc1"]]), D4 = ya(A4), k4 = /* @__PURE__ */ vr({ __name: "index", props: { modelValue: { type: Object, default: () => ({}) }, rowsTotal: { type: Number, default: 999999 }, searchParamet: { type: Object, default: () => { } }, formData: { type: Object, default: () => { } } }, emits: [ "search", "update:formData", "update:modelValue" ], setup(i, { expose: d, emit: s }) { const u = i, r = Xl(), e = Tt(u.modelValue || {}), g = Tt(); Tt(""); const x = Tt(!1); Tt(!1); const T = Tt(), F = () => { x.value = !x.value, g.value.calculateShowCol(x.value); }, k = () => { if (r.onReset) { r == null || r.onReset(); return; } g.value.resetFields(), e.value = {}, s("update:modelValue", e.value), s("search", { current: 1 }); }; Da(() => { }); const D = () => { g.value.resetFields(); }, O = (P) => { const R = { ...P }; for (const L in R) typeof R[L] == "string" && (R[L] = R[L].trim()), Array.isArray(R[L]) && !R[L].length && delete R[L]; s("search", { ...R, current: 1 }); }; return d({ resetSearchForm: k, resetSearchFormParams: D }), (P, R) => { const L = kt("jn-button"), U = kt("ArrowDown"), z = kt("ArrowUp"), j = kt("el-icon"), ee = kt("jn-form"); return me(), dt("div", { class: "subList", ref_key: "subListRef", ref: T }, [ Pt(ee, { ref_key: "searchFormRef", ref: g, isSearch: "", rowsTotal: ie(u).rowsTotal, formOpts: ie(u).searchParamet, modelValue: e.value, "onUpdate:modelValue": R[0] || (R[0] = (V) => e.value = V) }, { searchAction: Ke((V) => [ Pt(L, { type: "primary", icon: "Search", onClick: (K) => O(V.model) }, { default: Ke(() => [ Sr("\u67E5\u8BE2") ]), _: 2 }, 1032, ["onClick"]), Pt(L, { icon: "Refresh", onClick: k }, { default: Ke(() => [ Sr("\u91CD\u7F6E") ]), _: 1 }), V.isShowExpand ? It("", !0) : (me(), pt(L, { key: 0, type: "primary", link: "", onClick: F }, { default: Ke(() => [ Pt(j, null, { default: Ke(() => [ x.value ? (me(), pt(z, { key: 1 })) : (me(), pt(U, { key: 0 })) ]), _: 1 }), Sr(" " + Dr(x.value ? "\u6536\u8D77" : "\u5C55\u5F00"), 1) ]), _: 1 })) ]), _: 1 }, 8, ["rowsTotal", "formOpts", "modelValue"]) ], 512); }; } }); const O4 = /* @__PURE__ */ Ha(k4, [["__scopeId", "data-v-6d31ba7d"]]), I4 = ya(O4); var Dp = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function R4(i) { return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i; } function kp(i) { var d = i.default; if (typeof d == "function") { var s = function() { return d.apply(this, arguments); }; s.prototype = d.prototype; } else s = {}; return Object.defineProperty(s, "__esModule", { value: !0 }), Object.keys(i).forEach(function(u) { var r = Object.getOwnPropertyDescriptor(i, u); Object.defineProperty(s, u, r.get ? r : { enumerable: !0, get: function() { return i[u]; } }); }), s; } function Ol(i) { throw new Error('Could not dynamically require "' + i + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } var Wf = { exports: {} }, Cf = { exports: {} }; /*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */ var Cd; function N4() { return Cd || (Cd = 1, function(i) { var d = { version: "1.15.0" }; d[437] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[620] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\u0105\xE7\xEA\xEB\xE8\xEF\xEE\u0107\xC4\u0104\u0118\u0119\u0142\xF4\xF6\u0106\xFB\xF9\u015A\xD6\xDC\xA2\u0141\xA5\u015B\u0192\u0179\u017B\xF3\xD3\u0144\u0143\u017A\u017C\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[737] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[850] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[852] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[857] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[861] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[865] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[866] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[874] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[895] = function() { for (var s = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u010C\xFC\xE9\u010F\xE4\u010E\u0164\u010D\u011B\u011A\u0139\xCD\u013E\u01EA\xC4\xC1\xC9\u017E\u017D\xF4\xF6\xD3\u016F\xDA\xFD\xD6\xDC\u0160\u013D\xDD\u0158\u0165\xE1\xED\xF3\xFA\u0148\u0147\u016E\xD4\u0161\u0159\u0155\u0154\xBC\xA7\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0`, u = [], r = {}, e = 0; e != s.length; ++e) s.charCodeAt(e) !== 65533 && (r[s.charAt(e)] = e), u[e] = s.charAt(e); return { enc: r, dec: u }; }(), d[932] = function() { var s = [], u = {}, r = [], e; for (r[0] = `\0\x07\b \v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`.split(""), e = 0; e != r[0].length; ++e) r[0][e].charCodeAt(0) !== 65533 && (u[r[0][e]] = 0 + e, s[0 + e] = r[0][e]); for (r[129] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008\u3009\u300A\u300B\u300C\u300D\u300E\u300F\u3010\u3011\uFF0B\uFF0D\xB1\xD7\uFFFD\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6\uFFFD\uFFFD\uFFFD\uFFFD\u25EF\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[129].length; ++e) r[129][e].charCodeAt(0) !== 65533 && (u[r[129][e]] = 33024 + e, s[33024 + e] = r[129][e]); for (r[130] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF10\uFF11\uFF12\uFF13\uFF14\uFF15\uFF16\uFF17\uFF18\uFF19\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF21\uFF22\uFF23\uFF24\uFF25\uFF26\uFF27\uFF28\uFF29\uFF2A\uFF2B\uFF2C\uFF2D\uFF2E\uFF2F\uFF30\uFF31\uFF32\uFF33\uFF34\uFF35\uFF36\uFF37\uFF38\uFF39\uFF3A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF41\uFF42\uFF43\uFF44\uFF45\uFF46\uFF47\uFF48\uFF49\uFF4A\uFF4B\uFF4C\uFF4D\uFF4E\uFF4F\uFF50\uFF51\uFF52\uFF53\uFF54\uFF55\uFF56\uFF57\uFF58\uFF59\uFF5A\uFFFD\uFFFD\uFFFD\uFFFD\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058\u3059\u305A\u305B\u305C\u305D\u305E\u305F\u3060\u3061\u3062\u3063\u3064\u3065\u3066\u3067\u3068\u3069\u306A\u306B\u306C\u306D\u306E\u306F\u3070\u3071\u3072\u3073\u3074\u3075\u3076\u3077\u3078\u3079\u307A\u307B\u307C\u307D\u307E\u307F\u3080\u3081\u3082\u3083\u3084\u3085\u3086\u3087\u3088\u3089\u308A\u308B\u308C\u308D\u308E\u308F\u3090\u3091\u3092\u3093\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[130].length; ++e) r[130][e].charCodeAt(0) !== 65533 && (u[r[130][e]] = 33280 + e, s[33280 + e] = r[130][e]); for (r[131] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u30A1\u30A2\u30A3\u30A4\u30A5\u30A6\u30A7\u30A8\u30A9\u30AA\u30AB\u30AC\u30AD\u30AE\u30AF\u30B0\u30B1\u30B2\u30B3\u30B4\u30B5\u30B6\u30B7\u30B8\u30B9\u30BA\u30BB\u30BC\u30BD\u30BE\u30BF\u30C0\u30C1\u30C2\u30C3\u30C4\u30C5\u30C6\u30C7\u30C8\u30C9\u30CA\u30CB\u30CC\u30CD\u30CE\u30CF\u30D0\u30D1\u30D2\u30D3\u30D4\u30D5\u30D6\u30D7\u30D8\u30D9\u30DA\u30DB\u30DC\u30DD\u30DE\u30DF\uFFFD\u30E0\u30E1\u30E2\u30E3\u30E4\u30E5\u30E6\u30E7\u30E8\u30E9\u30EA\u30EB\u30EC\u30ED\u30EE\u30EF\u30F0\u30F1\u30F2\u30F3\u30F4\u30F5\u30F6\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[131].length; ++e) r[131][e].charCodeAt(0) !== 65533 && (u[r[131][e]] = 33536 + e, s[33536 + e] = r[131][e]); for (r[132] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0410\u0411\u0412\u0413\u0414\u0415\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0430\u0431\u0432\u0433\u0434\u0435\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\uFFFD\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[132].length; ++e) r[132][e].charCodeAt(0) !== 65533 && (u[r[132][e]] = 33792 + e, s[33792 + e] = r[132][e]); for (r[135] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169\uFFFD\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u337B\uFFFD\u301D\u301F\u2116\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[135].length; ++e) r[135][e].charCodeAt(0) !== 65533 && (u[r[135][e]] = 34560 + e, s[34560 + e] = r[135][e]); for (r[136] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D\uFFFD\uFFFD\uFFFD".split(""), e = 0; e != r[136].length; ++e) r[136][e].charCodeAt(0) !== 65533 && (u[r[136][e]] = 34816 + e, s[34816 + e] = r[136][e]); for (r[137] = "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\uFFFD\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u