@quitting/ui 1.0.1 → 1.2.0

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.
Files changed (54) hide show
  1. package/dist/client-access.d.ts +9 -0
  2. package/dist/client-access.d.ts.map +1 -0
  3. package/dist/components/CallDialog.vue.d.ts.map +1 -1
  4. package/dist/components/CallOutgoing.vue.d.ts.map +1 -1
  5. package/dist/components/ChatPanel.vue.d.ts +38 -1
  6. package/dist/components/ChatPanel.vue.d.ts.map +1 -1
  7. package/dist/components/ImToast.vue.d.ts +11 -0
  8. package/dist/components/ImToast.vue.d.ts.map +1 -0
  9. package/dist/components/IncomingRing.vue.d.ts.map +1 -1
  10. package/dist/components/MeetWindow.vue.d.ts +111 -1
  11. package/dist/components/MeetWindow.vue.d.ts.map +1 -1
  12. package/dist/components/MeetingCreateDialog.vue.d.ts +43 -0
  13. package/dist/components/MeetingCreateDialog.vue.d.ts.map +1 -0
  14. package/dist/components/MeetingInvite.vue.d.ts.map +1 -1
  15. package/dist/components/UserPickerDialog.vue.d.ts +46 -0
  16. package/dist/components/UserPickerDialog.vue.d.ts.map +1 -0
  17. package/dist/components/UserPickerList.vue.d.ts +39 -0
  18. package/dist/components/UserPickerList.vue.d.ts.map +1 -0
  19. package/dist/components/meeting/MainVideoTile.vue.d.ts +2 -0
  20. package/dist/components/meeting/MainVideoTile.vue.d.ts.map +1 -1
  21. package/dist/components/meeting/MeetingControlBar.vue.d.ts +20 -0
  22. package/dist/components/meeting/MeetingControlBar.vue.d.ts.map +1 -0
  23. package/dist/components/meeting/MeetingHeader.vue.d.ts +19 -1
  24. package/dist/components/meeting/MeetingHeader.vue.d.ts.map +1 -1
  25. package/dist/components/meeting/MemberItem.vue.d.ts +3 -0
  26. package/dist/components/meeting/MemberItem.vue.d.ts.map +1 -1
  27. package/dist/components/meeting/MemberListPanel.vue.d.ts +3 -0
  28. package/dist/components/meeting/MemberListPanel.vue.d.ts.map +1 -1
  29. package/dist/components/meeting/SidebarTabs.vue.d.ts +1 -0
  30. package/dist/components/meeting/SidebarTabs.vue.d.ts.map +1 -1
  31. package/dist/components/meeting/SmallVideoTile.vue.d.ts +3 -0
  32. package/dist/components/meeting/SmallVideoTile.vue.d.ts.map +1 -1
  33. package/dist/components/meeting/VideoListPanel.vue.d.ts +2 -0
  34. package/dist/components/meeting/VideoListPanel.vue.d.ts.map +1 -1
  35. package/dist/components/meeting/icons.d.ts +4 -0
  36. package/dist/components/meeting/icons.d.ts.map +1 -1
  37. package/dist/error-text.d.ts +2 -0
  38. package/dist/error-text.d.ts.map +1 -0
  39. package/dist/global-methods.d.ts +12 -5
  40. package/dist/global-methods.d.ts.map +1 -1
  41. package/dist/im-ui.css +1 -1
  42. package/dist/im-ui.es.js +1617 -778
  43. package/dist/im-ui.es.js.map +1 -1
  44. package/dist/im-ui.umd.js +1 -1
  45. package/dist/im-ui.umd.js.map +1 -1
  46. package/dist/index.d.ts +20 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/mount.d.ts +9 -0
  49. package/dist/mount.d.ts.map +1 -0
  50. package/dist/toast.d.ts +10 -0
  51. package/dist/toast.d.ts.map +1 -0
  52. package/dist/types.d.ts +6 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/package.json +5 -7
package/dist/im-ui.es.js CHANGED
@@ -1,10 +1,104 @@
1
- import { Fragment as e, computed as t, createApp as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, h as u, nextTick as d, normalizeClass as f, normalizeStyle as p, onBeforeUnmount as m, onMounted as h, onUnmounted as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, unref as x, vModelText as S, vShow as C, watch as w, withDirectives as T, withKeys as E, withModifiers as D } from "vue";
1
+ import { Fragment as e, computed as t, createApp as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createSlots as s, createTextVNode as c, createVNode as l, defineComponent as u, getCurrentInstance as d, guardReactiveProps as f, h as p, nextTick as m, normalizeClass as h, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as v, onMounted as y, onUnmounted as b, openBlock as x, reactive as S, ref as C, renderList as w, renderSlot as T, toDisplayString as E, unref as D, useSlots as O, vModelText as k, vShow as A, watch as ee, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
2
+ import { ApiError as te, ApiErrorCode as P } from "@quitting/core";
3
+ //#region src/mount.ts
4
+ var F = null;
5
+ function I(e) {
6
+ F = e;
7
+ }
8
+ function L(e, t, r) {
9
+ let { onClose: i, ...a } = t, o = i, s = document.createElement("div");
10
+ s.classList.add("im-ui-root"), s.style.pointerEvents = "auto", (r || document.body).appendChild(s);
11
+ let c = n({ render: () => p(e, {
12
+ ...a,
13
+ onClose: () => {
14
+ o?.(), c.unmount(), s.remove();
15
+ }
16
+ }) });
17
+ return F && (c.config = F.config), c.mount(s), {
18
+ subApp: c,
19
+ div: s
20
+ };
21
+ }
22
+ function R(e) {
23
+ e && (e.subApp.unmount(), e.div.remove());
24
+ }
25
+ //#endregion
26
+ //#region src/client-access.ts
27
+ function z() {
28
+ return window.__imClient;
29
+ }
30
+ function ne(e) {
31
+ window.__imClient = e;
32
+ }
33
+ //#endregion
34
+ //#region src/components/ImToast.vue?vue&type=script&setup=true&lang.ts
35
+ var B = { class: "im-toast-host" }, V = /*@__PURE__*/ u({
36
+ __name: "ImToast",
37
+ props: { items: {} },
38
+ setup(t) {
39
+ return (n, r) => (x(), a("div", B, [(x(!0), a(e, null, w(t.items, (e) => (x(), a("div", {
40
+ key: e.id,
41
+ class: h(["im-toast", `im-toast-${e.type}`]),
42
+ role: "status"
43
+ }, E(e.message), 3))), 128))]));
44
+ }
45
+ }), H = (e, t) => {
46
+ let n = e.__vccOpts || e;
47
+ for (let [e, r] of t) n[e] = r;
48
+ return n;
49
+ }, U = /*#__PURE__*/ H(V, [["__scopeId", "data-v-20f73975"]]), W = S({ items: [] }), G = !1, re = 0;
50
+ function ie() {
51
+ if (G) return;
52
+ let e = document.createElement("div");
53
+ e.className = "im-toast-root", document.body.appendChild(e), n({ render: () => p(U, { items: W.items }) }).mount(e), G = !0;
54
+ }
55
+ function ae(e, t, n) {
56
+ ie();
57
+ let r = ++re;
58
+ W.items.push({
59
+ id: r,
60
+ message: e,
61
+ type: t
62
+ }), setTimeout(() => {
63
+ let e = W.items.findIndex((e) => e.id === r);
64
+ e >= 0 && W.items.splice(e, 1);
65
+ }, n);
66
+ }
67
+ function oe(e, t = 3e3) {
68
+ ae(e, "info", t);
69
+ }
70
+ function se(e, t = 3e3) {
71
+ ae(e, "success", t);
72
+ }
73
+ function ce(e, t = 4e3) {
74
+ ae(e, "error", t);
75
+ }
76
+ var K = {
77
+ info: oe,
78
+ success: se,
79
+ error: ce
80
+ };
81
+ //#endregion
82
+ //#region src/error-text.ts
83
+ function le(e, t = "请求失败") {
84
+ if (e instanceof te) switch (e.code) {
85
+ case P.Busy: return "对方正忙,请稍后再试";
86
+ case P.Conflict: return "操作冲突,请重试";
87
+ case P.NotFound: return "用户不存在";
88
+ case P.Unauth:
89
+ case P.SessionKicked: return "登录状态已失效,请重新登录";
90
+ case P.Forbidden: return "无权执行该操作";
91
+ default: return e.message || t;
92
+ }
93
+ return "网络异常,请稍后重试";
94
+ }
95
+ //#endregion
2
96
  //#region src/directives/draggable.ts
3
- function O(e, t) {
97
+ function ue(e, t) {
4
98
  let n = t.value;
5
99
  return n && e.querySelector(n) || e;
6
100
  }
7
- function k(e, t, n) {
101
+ function de(e, t, n) {
8
102
  let r = e.target.tagName;
9
103
  if (r === "INPUT" || r === "TEXTAREA" || r === "SELECT") return;
10
104
  let i = t.getBoundingClientRect();
@@ -17,30 +111,30 @@ function k(e, t, n) {
17
111
  };
18
112
  document.addEventListener("mousemove", a), document.addEventListener("mouseup", o);
19
113
  }
20
- var A = {
114
+ var fe = {
21
115
  mounted(e, t) {
22
- let n = O(e, t);
116
+ let n = ue(e, t);
23
117
  n.style.cursor = "move";
24
118
  let r = {
25
119
  startX: 0,
26
120
  startY: 0,
27
121
  origLeft: 0,
28
122
  origTop: 0
29
- }, i = (t) => k(t, e, r);
123
+ }, i = (t) => de(t, e, r);
30
124
  n.addEventListener("mousedown", i), e.__dragHandle__ = n, e.__dragHandler__ = i;
31
125
  },
32
126
  unmounted(e) {
33
127
  let t = e.__dragHandle__, n = e.__dragHandler__;
34
128
  t && n && t.removeEventListener("mousedown", n);
35
129
  }
36
- }, j = [
130
+ }, pe = [
37
131
  "width",
38
132
  "height",
39
133
  "fill",
40
134
  "aria-label",
41
135
  "aria-hidden",
42
136
  "innerHTML"
43
- ], M = /* @__PURE__ */ l({
137
+ ], q = /* @__PURE__ */ u({
44
138
  __name: "Icon",
45
139
  props: {
46
140
  name: {},
@@ -65,7 +159,7 @@ var A = {
65
159
  plus: "<path d=\"M480 224v256H224a32 32 0 1 0 0 64h256v256a32 32 0 1 0 64 0V544h256a32 32 0 1 0 0-64H544V224a32 32 0 1 0-64 0z\"/>",
66
160
  minus: "<path d=\"M192 480h640a32 32 0 1 1 0 64H192a32 32 0 1 1 0-64z\"/>"
67
161
  }, n = e;
68
- return (e, r) => (_(), a("svg", {
162
+ return (e, r) => (x(), a("svg", {
69
163
  width: n.size,
70
164
  height: n.size,
71
165
  viewBox: "0 0 1024 1024",
@@ -74,18 +168,18 @@ var A = {
74
168
  "aria-label": n.title,
75
169
  "aria-hidden": n.title ? void 0 : "true",
76
170
  innerHTML: t[n.name]
77
- }, null, 8, j));
171
+ }, null, 8, pe));
78
172
  }
79
- }), ee = { class: "call-window" }, N = { class: "video-area" }, P = ["title"], F = {
173
+ }), J = { class: "call-window" }, me = { class: "video-area" }, Y = ["title"], X = {
80
174
  key: 1,
81
175
  class: "connecting-overlay"
82
- }, I = {
176
+ }, Z = {
83
177
  key: 2,
84
178
  class: "ended-overlay"
85
- }, L = {
179
+ }, he = {
86
180
  key: 3,
87
181
  class: "device-warn"
88
- }, te = { class: "call-status-bar" }, R = { key: 0 }, ne = { key: 1 }, re = { key: 2 }, ie = { class: "controls-bar" }, ae = /*@__PURE__*/ l({
182
+ }, ge = { class: "call-status-bar" }, _e = { key: 0 }, ve = { key: 1 }, ye = { key: 2 }, be = { class: "controls-bar" }, xe = /*#__PURE__*/ H(/* @__PURE__ */ u({
89
183
  __name: "CallWindow",
90
184
  props: {
91
185
  mode: {},
@@ -95,182 +189,324 @@ var A = {
95
189
  },
96
190
  emits: ["close"],
97
191
  setup(e, { emit: t }) {
98
- let n = e, r = t, s = v("connecting"), l = v([]), u = v(""), d = v(!0), p = v(n.callType === "video"), m = v(!0), y = v(!0), S = v(null), C = v(null), E = v(!1), D = v(!1), O = v(0), k = null;
99
- function j() {
192
+ let n = e, r = t, s = C("connecting"), c = C([]), u = C(""), d = C(!0), f = C(n.callType === "video"), p = C(!0), m = C(!0), g = C(null), _ = C(null), v = C(!1), S = C(!1), w = C(0), T = null;
193
+ function O() {
100
194
  return window.__imClient;
101
195
  }
102
- async function ae() {
196
+ async function k() {
103
197
  try {
104
198
  let e = await navigator.mediaDevices.enumerateDevices();
105
- m.value = e.some((e) => e.kind === "videoinput"), y.value = e.some((e) => e.kind === "audioinput"), m.value || (p.value = !1), y.value || (d.value = !1);
199
+ p.value = e.some((e) => e.kind === "videoinput"), m.value = e.some((e) => e.kind === "audioinput"), p.value || (f.value = !1), m.value || (d.value = !1);
106
200
  } catch (e) {
107
201
  console.warn("[im] enumerateDevices 失败,按默认能力继续", e);
108
202
  }
109
203
  }
110
- function z() {
111
- let e = j()?.call?.currentSession;
112
- e && (S.value && e.detachAllVideoFromEl(S.value), C.value && e.detachAllVideoFromEl(C.value), E.value ? (S.value && m.value && n.callType === "video" && e.attachLocalVideo(S.value), C.value && e.attachRemoteVideo(C.value)) : (S.value && e.attachRemoteVideo(S.value), C.value && m.value && n.callType === "video" && e.attachLocalVideo(C.value)));
204
+ function A() {
205
+ let e = O()?.call?.currentSession;
206
+ e && (g.value && e.detachAllVideoFromEl(g.value), _.value && e.detachAllVideoFromEl(_.value), v.value ? (g.value && p.value && n.callType === "video" && e.attachLocalVideo(g.value), _.value && e.attachRemoteVideo(_.value)) : (g.value && e.attachRemoteVideo(g.value), _.value && p.value && n.callType === "video" && e.attachLocalVideo(_.value)));
113
207
  }
114
- function B() {
115
- E.value = !E.value, z();
208
+ function j() {
209
+ v.value = !v.value, A();
116
210
  }
117
- h(async () => {
118
- await ae();
119
- let e = j();
211
+ y(async () => {
212
+ await k();
213
+ let e = O();
120
214
  if (!e) {
121
215
  console.error("[im] client 未注入,无法发起通话");
122
216
  return;
123
217
  }
124
218
  let t = e.call.currentSession;
125
219
  if (t && (t.onSession("connected", () => {
126
- s.value = "connected", z(), k = setInterval(() => O.value++, 1e3);
220
+ s.value = "connected", A(), T = setInterval(() => w.value++, 1e3);
127
221
  }), t.onSession("remoteConnected", () => {
128
- D.value = !0, z();
222
+ S.value = !0, A();
129
223
  }), t.onSession("remoteTrackSubscribed", (e) => {
130
- e.kind === "video" && (D.value = !0, z());
224
+ e.kind === "video" && (S.value = !0, A());
131
225
  }), t.onSession("remoteDisconnected", () => {
132
- D.value = !1;
226
+ S.value = !1;
133
227
  }), t.onSession("devices", (e) => {
134
- e.errors && e.errors.length > 0 && (l.value = e.errors, setTimeout(() => l.value = [], 3e3)), e.camera && z();
228
+ e.errors && e.errors.length > 0 && (c.value = e.errors, setTimeout(() => c.value = [], 3e3)), e.camera && A();
135
229
  }), t.onSession("ended", () => {
136
- s.value = "ended", k && clearInterval(k), setTimeout(() => r("close"), 1500);
137
- }), t.isConnected && (s.value = "connected", z(), k = setInterval(() => O.value++, 1e3)), n.callType === "video")) {
230
+ s.value = "ended", T && clearInterval(T), setTimeout(() => r("close"), 1500);
231
+ }), t.isConnected && (s.value = "connected", A(), T = setInterval(() => w.value++, 1e3)), n.callType === "video")) {
138
232
  let e = 0, t = setInterval(() => {
139
- if (e++, e > 10 || D.value) {
233
+ if (e++, e > 10 || S.value) {
140
234
  clearInterval(t);
141
235
  return;
142
236
  }
143
- z();
237
+ A();
144
238
  }, 300);
145
239
  }
146
- }), g(() => {
147
- k && clearInterval(k);
148
- }), w(s, (e) => {
240
+ }), b(() => {
241
+ T && clearInterval(T);
242
+ }), ee(s, (e) => {
149
243
  e === "ended" && (u.value = "通话已结束");
150
244
  });
151
- async function V() {
152
- if (!y.value) return;
153
- let e = j()?.call?.currentSession;
245
+ async function N() {
246
+ if (!m.value) return;
247
+ let e = O()?.call?.currentSession;
154
248
  e && (d.value = !d.value, await e.setMicEnabled(d.value));
155
249
  }
156
- async function H() {
157
- if (!m.value) return;
158
- let e = j()?.call?.currentSession;
159
- e && (p.value = !p.value, await e.setCameraEnabled(p.value), z());
250
+ async function te() {
251
+ if (!p.value) return;
252
+ let e = O()?.call?.currentSession;
253
+ e && (f.value = !f.value, await e.setCameraEnabled(f.value), A());
160
254
  }
161
- async function U() {
162
- u.value = "已挂断", await j()?.call?.end("user_left"), r("close");
255
+ async function P() {
256
+ u.value = "已挂断", await O()?.call?.end("user_left"), r("close");
163
257
  }
164
- function oe(e) {
258
+ function F(e) {
165
259
  return `${Math.floor(e / 60).toString().padStart(2, "0")}:${(e % 60).toString().padStart(2, "0")}`;
166
260
  }
167
- return (t, n) => T((_(), a("div", ee, [o("div", N, [
261
+ return (t, n) => M((x(), a("div", J, [o("div", me, [
168
262
  o("video", {
169
263
  ref_key: "mainVideo",
170
- ref: S,
264
+ ref: g,
171
265
  autoplay: "",
172
266
  playsinline: "",
173
- class: f(["video-main", { "network-error": s.value === "connected" && !D.value && !E.value }])
267
+ class: h(["video-main", { "network-error": s.value === "connected" && !S.value && !v.value }])
174
268
  }, null, 2),
175
- e.callType === "video" ? (_(), a("video", {
269
+ e.callType === "video" ? (x(), a("video", {
176
270
  key: 0,
177
271
  ref_key: "pipVideo",
178
- ref: C,
272
+ ref: _,
179
273
  autoplay: "",
180
274
  muted: "",
181
275
  playsinline: "",
182
276
  class: "video-pip",
183
- title: E.value ? "点击切回对方主画面" : "点击切换自己为主画面",
184
- onClick: B
185
- }, null, 8, P)) : i("", !0),
186
- s.value === "connecting" ? (_(), a("div", F, "连接中...")) : s.value === "ended" ? (_(), a("div", I, b(u.value || "通话已结束"), 1)) : i("", !0),
187
- l.value.length ? (_(), a("div", L, b(l.value.join("; ")), 1)) : i("", !0),
188
- o("div", te, [s.value === "connecting" ? (_(), a("span", R, "连接中")) : s.value === "connected" ? (_(), a("span", ne, b(oe(O.value)), 1)) : (_(), a("span", re, b(u.value || "通话已结束"), 1))])
189
- ]), o("div", ie, [
190
- y.value ? (_(), a("button", {
277
+ title: v.value ? "点击切回对方主画面" : "点击切换自己为主画面",
278
+ onClick: j
279
+ }, null, 8, Y)) : i("", !0),
280
+ s.value === "connecting" ? (x(), a("div", X, "连接中...")) : s.value === "ended" ? (x(), a("div", Z, E(u.value || "通话已结束"), 1)) : i("", !0),
281
+ c.value.length ? (x(), a("div", he, E(c.value.join("; ")), 1)) : i("", !0),
282
+ o("div", ge, [s.value === "connecting" ? (x(), a("span", _e, "连接中")) : s.value === "connected" ? (x(), a("span", ve, E(F(w.value)), 1)) : (x(), a("span", ye, E(u.value || "通话已结束"), 1))])
283
+ ]), o("div", be, [
284
+ m.value ? (x(), a("button", {
191
285
  key: 0,
192
- class: f(["ctrl-btn", { off: !d.value }]),
193
- onClick: V
194
- }, [c(M, {
286
+ class: h(["ctrl-btn", { off: !d.value }]),
287
+ onClick: N
288
+ }, [l(q, {
195
289
  name: d.value ? "mic-on" : "mic-off",
196
290
  size: 22
197
291
  }, null, 8, ["name"])], 2)) : i("", !0),
198
- e.callType === "video" && m.value ? (_(), a("button", {
292
+ e.callType === "video" && p.value ? (x(), a("button", {
199
293
  key: 1,
200
- class: f(["ctrl-btn", { off: !p.value }]),
201
- onClick: H
202
- }, [c(M, {
203
- name: p.value ? "camera-on" : "camera-off",
294
+ class: h(["ctrl-btn", { off: !f.value }]),
295
+ onClick: te
296
+ }, [l(q, {
297
+ name: f.value ? "camera-on" : "camera-off",
204
298
  size: 22
205
299
  }, null, 8, ["name"])], 2)) : i("", !0),
206
300
  o("button", {
207
301
  class: "ctrl-btn hangup",
208
- onClick: U
209
- }, [c(M, {
302
+ onClick: P
303
+ }, [l(q, {
210
304
  name: "hangup",
211
305
  size: 22
212
306
  })])
213
- ])])), [[x(A), ".call-status-bar"]]);
307
+ ])])), [[D(fe), ".call-status-bar"]]);
214
308
  }
215
- }), z = (e, t) => {
216
- let n = e.__vccOpts || e;
217
- for (let [e, r] of t) n[e] = r;
218
- return n;
219
- }, B = /*#__PURE__*/ z(ae, [["__scopeId", "data-v-90512c2f"]]), V = "<span class=\"speaking-indicator\"><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span>正在发言</span></span>", H = "<span class=\"host-badge\">主持人</span>", U = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line></svg>", oe = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line></svg>", se = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line></svg>", W = { class: "meeting-header" }, G = { class: "title-area" }, K = { class: "title" }, q = {
309
+ }), [["__scopeId", "data-v-90512c2f"]]), Se = "data:audio/mpeg;base64,//uQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAB0AAC/BAAEBggLDQ8TFhgaHB4jJScpLC4yNDc5Oz1CREZIS01PU1ZYWlxeY2VnaWxucnR3eXt9goSGiIuNj5OWmJqcnqOlp6msrrK0t7m7vcLExsjLzc/T1tja3N7j5efp7O7y9Pf5+/0AAAA8TEFNRTMuMTAwAQAAAAAAAAAAABSAJAL0ZgAAgAAAvwRQljMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQBAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdLVEUVJMoAkQIREQYQgmAwGTJkyZMmEECBAgQIECBMmTsLTvwTTvxBAgQL/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARkyad//xnvf/ZAgQQ/e7IECCER3sgQIECEREE73+z0///+0ECZMmTJk073///+Lvf3u7IECBAgQIIQTTvWiIz97s8mTJkCAAAAAAAAIELsmTJk07//u7PJkyBAghGf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VVVVVVVVVVUD8aij///xVixUUFsWFWf+rrFRbFhcV4t//4szigH41FH///irFiooLYsKs/9XWKi2LC4rxb//xZnFFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEXo/w6QC4mAEQDB0gFxMAIgGAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEQQ/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kARBD/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", Ce = "data:audio/mpeg;base64,SUQzBAAAAAAiNlRDT04AAAAHAAADQmx1ZXMAUFJJVgAAIXQAAFhNUAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MyA3OS4xNjEyMTAsIDIwMTcvMDgvMTEtMTA6Mjg6MzYgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICB4bWxuczp4bXBETT0iaHR0cDovL25zLmFkb2JlLmNvbS94bXAvMS4wL0R5bmFtaWNNZWRpYS8iCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgeG1wOkNyZWF0b3JUb29sPSJGaWxlIGNyZWF0ZWQgYnkgR29sZFdhdmUuICBHb2xkV2F2ZSBjb3B5cmlnaHQgKEMpIENocmlzIENyYWlnIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTExLTAxVDE5OjI1OjUyKzA4OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0xMS0wMVQxOToyNTo1MiswODowMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZWVkZmVjZDItMTU2My1iZjQ1LTk0MWUtNzliYzM4Y2ZlNDhhIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICBkYzpmb3JtYXQ9ImF1ZGlvL21wZWciPgogICA8eG1wRE06VHJhY2tzPgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkN1ZVBvaW50IE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iQ3VlIgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkNEIFRyYWNrIE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iVHJhY2siCiAgICAgIHhtcERNOmZyYW1lUmF0ZT0iZjgwMDAiLz4KICAgICA8cmRmOmxpCiAgICAgIHhtcERNOnRyYWNrTmFtZT0iU3ViY2xpcCBNYXJrZXJzIgogICAgICB4bXBETTp0cmFja1R5cGU9IkluT3V0IgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICA8L3JkZjpCYWc+CiAgIDwveG1wRE06VHJhY2tzPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii9tZXRhZGF0YSIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8eG1wTU06RGVyaXZlZEZyb20KICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICAgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIi8+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4AVFNTRQAAABMAAANVUFlVTiBUcmFuc2NvZGluZwAAAAAAAAAAAAAA/+PIwAAAAAAAAAAAAEluZm8AAAAPAAAAKwAAZUAAEREWFhwcIiIiJyctLTMzMzg4Pj5ERERJSU9PVVVVW1tgYGZmZmxscXF3d3d9fYKCiIiIjo6T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AExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", Q = { class: "call-dialog" }, we = ["src"], Te = { class: "call-dialog-header" }, Ee = { class: "call-dialog-body" }, De = { class: "peer-name" }, Oe = { class: "status-text" }, ke = { class: "call-dialog-actions" }, Ae = /*#__PURE__*/ H(/* @__PURE__ */ u({
310
+ __name: "CallDialog",
311
+ props: {
312
+ mode: {},
313
+ peerUid: {},
314
+ peerName: {},
315
+ callType: {},
316
+ callId: {},
317
+ timeoutSec: {}
318
+ },
319
+ emits: [
320
+ "close",
321
+ "connected",
322
+ "accepted"
323
+ ],
324
+ setup(n, { emit: r }) {
325
+ let s = n, l = r, u = C("ringing"), d = C(""), f = C(null), p = [], m = null;
326
+ function g() {
327
+ return window.__imClient;
328
+ }
329
+ function _() {
330
+ f.value && (f.value.currentTime = 0, f.value.play().catch(() => {}));
331
+ }
332
+ function b() {
333
+ f.value && (f.value.pause(), f.value.currentTime = 0);
334
+ }
335
+ let S = C("");
336
+ ee(() => s.peerUid, async (e) => {
337
+ if (S.value = "", s.peerName || !e) return;
338
+ let t = g()?.users;
339
+ if (!t?.resolve) return;
340
+ let n = await t.resolve(e).catch(() => void 0);
341
+ n?.name && (S.value = n.name);
342
+ }, { immediate: !0 });
343
+ let w = t(() => s.peerName || S.value || s.peerUid), T = t(() => w.value[0].toUpperCase()), O = t(() => u.value === "ringing" ? s.mode === "outgoing" ? "呼叫中" : "邀请你通话" : d.value);
344
+ function k(e, t, n = 1500) {
345
+ u.value = e, d.value = t, setTimeout(() => l("close"), n);
346
+ }
347
+ async function A() {
348
+ b(), u.value = "cancelled", d.value = "已取消";
349
+ let e = g(), t = s.callId || e?.call?.currentSession?.callId;
350
+ await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => l("close"), 800);
351
+ }
352
+ async function j() {
353
+ b();
354
+ let e = g();
355
+ if (!(!e || !s.callId)) {
356
+ u.value = "connected", d.value = "已接听";
357
+ try {
358
+ let t = await e.call.accept(s.callId, s.callType);
359
+ l("accepted", t), setTimeout(() => l("close"), 200);
360
+ } catch (e) {
361
+ console.error("[im] 接听失败", e), u.value = "rejected", d.value = e?.message || "接听失败", setTimeout(() => l("close"), 1500);
362
+ }
363
+ }
364
+ }
365
+ async function N() {
366
+ b(), u.value = "rejected", d.value = "已拒接", await g()?.call?.end("rejected", s.callId).catch(() => {}), setTimeout(() => l("close"), 600);
367
+ }
368
+ return y(() => {
369
+ let e = g();
370
+ if (!e) {
371
+ l("close");
372
+ return;
373
+ }
374
+ if (_(), s.mode === "outgoing") {
375
+ p.push(e.on("call:accepted", () => {
376
+ b(), u.value = "connected", d.value = "对方已接听", setTimeout(() => l("connected"), 300);
377
+ })), p.push(e.on("call:rejected", () => k("rejected", "对方拒接"))), p.push(e.on("call:busy", () => k("busy", "对方繁忙"))), p.push(e.on("call:no_answer", () => k("no_answer", "无人接听")));
378
+ let t = s.timeoutSec ?? 30;
379
+ m = setTimeout(() => {
380
+ u.value === "ringing" && k("no_answer", "无人接听");
381
+ }, t * 1e3);
382
+ } else p.push(e.on("call:cancelled", () => {
383
+ b(), k("cancelled", "对方已取消", 600);
384
+ })), p.push(e.on("call:no_answer", () => {
385
+ b(), k("cancelled", "未接听,已超时", 600);
386
+ }));
387
+ }), v(() => {
388
+ b(), p.forEach((e) => e()), m && clearTimeout(m);
389
+ }), (t, r) => M((x(), a("div", Q, [
390
+ o("audio", {
391
+ ref_key: "ringAudio",
392
+ ref: f,
393
+ src: n.mode === "outgoing" ? D(Se) : D(Ce),
394
+ loop: "",
395
+ preload: "auto"
396
+ }, null, 8, we),
397
+ o("div", Te, [o("span", null, E(n.callType === "video" ? "视频通话" : "语音通话"), 1)]),
398
+ o("div", Ee, [
399
+ o("div", { class: h(["avatar", u.value === "ringing" ? "ringing" : u.value]) }, [o("span", null, E(T.value), 1)], 2),
400
+ o("div", De, E(w.value), 1),
401
+ o("div", Oe, [u.value === "ringing" ? (x(), a(e, { key: 0 }, [c(E(O.value), 1), r[0] ||= o("span", { class: "dots" }, [
402
+ o("i", null, "."),
403
+ o("i", null, "."),
404
+ o("i", null, ".")
405
+ ], -1)], 64)) : (x(), a("span", {
406
+ key: 1,
407
+ class: h(u.value)
408
+ }, E(d.value), 3))])
409
+ ]),
410
+ o("div", ke, [n.mode === "outgoing" ? (x(), a(e, { key: 0 }, [u.value === "ringing" ? (x(), a("button", {
411
+ key: 0,
412
+ class: "btn cancel",
413
+ onClick: A
414
+ }, "取消")) : i("", !0)], 64)) : (x(), a(e, { key: 1 }, [u.value === "ringing" ? (x(), a("button", {
415
+ key: 0,
416
+ class: "btn reject",
417
+ onClick: N
418
+ }, "拒接")) : i("", !0), u.value === "ringing" ? (x(), a("button", {
419
+ key: 1,
420
+ class: "btn accept",
421
+ onClick: j
422
+ }, "接听")) : i("", !0)], 64))])
423
+ ])), [[D(fe), ".call-dialog-status"]]);
424
+ }
425
+ }), [["__scopeId", "data-v-604b8a98"]]), je = "<span class=\"speaking-indicator\"><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span class=\"wave-bar\"></span><span>正在发言</span></span>", Me = "<span class=\"host-badge\">主持人</span>", Ne = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line></svg>", Pe = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line></svg>", Fe = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line></svg>", Ie = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"13.5\" y=\"3\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"3\" y=\"13.5\" width=\"7.5\" height=\"7.5\"></rect><rect x=\"13.5\" y=\"13.5\" width=\"7.5\" height=\"7.5\"></rect></svg>", Le = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"></rect><rect x=\"12.5\" y=\"12.5\" width=\"8\" height=\"8\" fill=\"currentColor\" stroke=\"none\"></rect></svg>", Re = { class: "meeting-header" }, ze = { class: "title-area" }, Be = { class: "title" }, Ve = {
220
426
  key: 0,
221
427
  class: "duration"
222
- }, J = { class: "window-controls" }, ce = ["innerHTML"], le = ["innerHTML"], ue = /*#__PURE__*/ z(/* @__PURE__ */ l({
428
+ }, He = { class: "header-center" }, Ue = { class: "window-controls" }, We = [
429
+ "aria-label",
430
+ "title",
431
+ "innerHTML"
432
+ ], Ge = ["innerHTML"], Ke = ["innerHTML"], qe = /*#__PURE__*/ H(/* @__PURE__ */ u({
223
433
  __name: "MeetingHeader",
224
434
  props: {
225
435
  title: {},
226
- duration: {}
436
+ duration: {},
437
+ gridMode: { type: Boolean }
227
438
  },
228
- emits: ["close", "minimize"],
439
+ emits: [
440
+ "close",
441
+ "minimize",
442
+ "toggleGrid"
443
+ ],
229
444
  setup(e, { emit: t }) {
230
445
  let n = t;
231
- return (t, r) => (_(), a("header", W, [o("div", G, [o("h1", K, b(e.title), 1), e.duration ? (_(), a("span", q, b(e.duration), 1)) : i("", !0)]), o("div", J, [o("button", {
232
- class: "win-btn minimize-btn",
233
- type: "button",
234
- "aria-label": "最小化",
235
- title: "最小化",
236
- onClick: r[0] ||= (e) => n("minimize"),
237
- innerHTML: x(U)
238
- }, null, 8, ce), o("button", {
239
- class: "win-btn close-btn",
240
- type: "button",
241
- "aria-label": "关闭会议",
242
- title: "关闭",
243
- onClick: r[1] ||= (e) => n("close"),
244
- innerHTML: x(se)
245
- }, null, 8, le)])]));
446
+ return (t, r) => (x(), a("header", Re, [
447
+ o("div", ze, [o("h1", Be, E(e.title), 1), e.duration ? (x(), a("span", Ve, E(e.duration), 1)) : i("", !0)]),
448
+ o("div", He, [T(t.$slots, "center", {}, void 0, !0)]),
449
+ o("div", Ue, [
450
+ o("button", {
451
+ class: "win-btn grid-btn",
452
+ type: "button",
453
+ "aria-label": e.gridMode ? "恢复默认布局" : "全屏宫格",
454
+ title: e.gridMode ? "恢复默认布局" : "全屏宫格",
455
+ onClick: r[0] ||= (e) => n("toggleGrid"),
456
+ innerHTML: e.gridMode ? D(Le) : D(Ie)
457
+ }, null, 8, We),
458
+ e.gridMode ? i("", !0) : (x(), a("button", {
459
+ key: 0,
460
+ class: "win-btn minimize-btn",
461
+ type: "button",
462
+ "aria-label": "最小化",
463
+ title: "最小化",
464
+ onClick: r[1] ||= (e) => n("minimize"),
465
+ innerHTML: D(Ne)
466
+ }, null, 8, Ge)),
467
+ o("button", {
468
+ class: "win-btn close-btn",
469
+ type: "button",
470
+ "aria-label": "关闭会议",
471
+ title: "关闭",
472
+ onClick: r[2] ||= (e) => n("close"),
473
+ innerHTML: D(Fe)
474
+ }, null, 8, Ke)
475
+ ])
476
+ ]));
246
477
  }
247
- }), [["__scopeId", "data-v-c78c5660"]]), de = {
478
+ }), [["__scopeId", "data-v-ebb18ffa"]]), Je = {
248
479
  class: "main-video",
249
480
  "aria-label": "主视频画面"
250
- }, fe = {
481
+ }, Ye = {
251
482
  key: 0,
483
+ class: "camera-off-mask"
484
+ }, Xe = {
485
+ key: 1,
252
486
  class: "video-placeholder"
253
- }, pe = { class: "video-overlay" }, me = { class: "video-meta-grid" }, Y = { class: "corner-tl" }, he = { class: "participant-name" }, ge = ["innerHTML"], _e = { class: "corner-br" }, ve = /*#__PURE__*/ z(/* @__PURE__ */ l({
487
+ }, Ze = { class: "video-overlay" }, Qe = { class: "video-meta-grid" }, $e = { class: "corner-tl" }, et = { class: "participant-name" }, tt = ["innerHTML"], nt = { class: "corner-br" }, rt = /*#__PURE__*/ H(/* @__PURE__ */ u({
254
488
  __name: "MainVideoTile",
255
489
  props: {
256
490
  identity: {},
257
491
  name: {},
258
492
  muted: { type: Boolean },
493
+ cameraOn: { type: Boolean },
259
494
  speaking: { type: Boolean },
260
495
  isHost: { type: Boolean },
261
496
  isSelf: { type: Boolean },
497
+ micUnavailable: { type: Boolean },
262
498
  onVideoElReady: { type: Function }
263
499
  },
264
500
  setup(e) {
265
- let t = e, n = v(null);
501
+ let t = e, n = C(null);
266
502
  function r() {
267
503
  t.onVideoElReady?.(t.identity, n.value);
268
504
  }
269
- return h(r), m(() => {
505
+ return y(r), v(() => {
270
506
  t.onVideoElReady?.(t.identity, null);
271
- }), w(() => t.identity, () => {
272
- d(r);
273
- }), (t, r) => (_(), a("section", de, [
507
+ }), ee(() => t.identity, () => {
508
+ m(r);
509
+ }), (t, r) => (x(), a("section", Je, [
274
510
  o("video", {
275
511
  ref_key: "videoEl",
276
512
  ref: n,
@@ -279,19 +515,24 @@ var A = {
279
515
  playsinline: "",
280
516
  class: "tile-video"
281
517
  }, null, 512),
282
- e.name ? i("", !0) : (_(), a("div", fe, "主视频画面")),
283
- o("div", pe, [o("div", me, [
284
- o("div", Y, [o("span", he, b(e.name || "等待主持人加入"), 1)]),
285
- e.speaking ? (_(), a("div", {
518
+ e.cameraOn === !1 ? (x(), a("div", Ye, [l(q, {
519
+ name: "camera-off",
520
+ size: 28,
521
+ color: "rgba(255, 255, 255, 0.45)"
522
+ }), r[0] ||= o("span", { class: "camera-off-text" }, "摄像头已关", -1)])) : i("", !0),
523
+ e.name ? i("", !0) : (x(), a("div", Xe, "主视频画面")),
524
+ o("div", Ze, [o("div", Qe, [
525
+ o("div", $e, [o("span", et, E(e.isSelf ? "我" : e.name || "等待主持人加入"), 1)]),
526
+ e.speaking ? (x(), a("div", {
286
527
  key: 0,
287
528
  class: "corner-tr",
288
- innerHTML: x(V)
289
- }, null, 8, ge)) : i("", !0),
290
- o("div", _e, [c(M, {
291
- name: e.muted ? "mic-off" : "mic-on",
529
+ innerHTML: D(je)
530
+ }, null, 8, tt)) : i("", !0),
531
+ o("div", nt, [l(q, {
532
+ name: e.muted || e.isSelf && e.micUnavailable ? "mic-off" : "mic-on",
292
533
  size: 18,
293
- color: e.muted ? "#ef4444" : "#fff",
294
- title: e.muted ? "麦克风已关" : "麦克风已开"
534
+ color: e.isSelf && e.micUnavailable ? "rgba(255, 255, 255, 0.45)" : e.muted ? "#ef4444" : "#fff",
535
+ title: e.isSelf && e.micUnavailable ? "麦克风不可用" : e.muted ? "麦克风已关" : "麦克风已开"
295
536
  }, null, 8, [
296
537
  "name",
297
538
  "color",
@@ -300,28 +541,37 @@ var A = {
300
541
  ])])
301
542
  ]));
302
543
  }
303
- }), [["__scopeId", "data-v-3cb70bef"]]), ye = ["aria-label"], X = { class: "video-overlay" }, be = { class: "video-meta-grid" }, xe = { class: "corner-tl" }, Se = { class: "participant-name" }, Z = ["innerHTML"], Ce = ["innerHTML"], we = { class: "corner-br" }, Te = /*#__PURE__*/ z(/* @__PURE__ */ l({
544
+ }), [["__scopeId", "data-v-772bc573"]]), it = ["aria-label"], at = {
545
+ key: 0,
546
+ class: "camera-off-mask"
547
+ }, ot = { class: "video-overlay" }, st = { class: "video-meta-grid" }, ct = {
548
+ key: 0,
549
+ class: "corner-host-top"
550
+ }, lt = ["innerHTML"], ut = { class: "corner-tl" }, dt = { class: "participant-name" }, ft = ["innerHTML"], pt = ["innerHTML"], mt = { class: "corner-br" }, ht = /*#__PURE__*/ H(/* @__PURE__ */ u({
304
551
  __name: "SmallVideoTile",
305
552
  props: {
306
553
  identity: {},
307
554
  name: {},
308
555
  muted: { type: Boolean },
556
+ cameraOn: { type: Boolean },
309
557
  speaking: { type: Boolean },
310
558
  isHost: { type: Boolean },
311
559
  isSelf: { type: Boolean },
560
+ hostBadgeTop: { type: Boolean },
561
+ micUnavailable: { type: Boolean },
312
562
  onVideoElReady: { type: Function }
313
563
  },
314
564
  emits: ["click"],
315
565
  setup(e, { emit: t }) {
316
- let n = e, r = t, s = v(null);
317
- return h(() => {
566
+ let n = e, r = t, s = C(null);
567
+ return y(() => {
318
568
  s.value && n.onVideoElReady?.(n.identity, s.value);
319
- }), m(() => {
569
+ }), v(() => {
320
570
  n.onVideoElReady?.(n.identity, null);
321
- }), (t, n) => (_(), a("div", {
571
+ }), (t, n) => (x(), a("div", {
322
572
  class: "small-video",
323
573
  role: "img",
324
- "aria-label": `${e.name} 的视频画面`,
574
+ "aria-label": `${e.isSelf ? "我" : e.name} 的视频画面`,
325
575
  onClick: n[0] ||= (t) => r("click", e.identity)
326
576
  }, [
327
577
  o("video", {
@@ -332,173 +582,203 @@ var A = {
332
582
  playsinline: "",
333
583
  class: "tile-video"
334
584
  }, null, 512),
335
- n[1] ||= o("div", { class: "video-placeholder" }, "视频画面", -1),
336
- o("div", X, [o("div", be, [
337
- o("div", xe, [o("span", Se, b(e.name), 1), e.isHost ? (_(), a("span", {
338
- key: 0,
585
+ e.cameraOn === !1 ? (x(), a("div", at, [l(q, {
586
+ name: "camera-off",
587
+ size: 22,
588
+ color: "rgba(255, 255, 255, 0.45)"
589
+ }), n[1] ||= o("span", { class: "camera-off-text" }, "摄像头已关", -1)])) : i("", !0),
590
+ o("div", ot, [o("div", st, [
591
+ e.isHost && e.hostBadgeTop ? (x(), a("div", ct, [o("span", {
339
592
  class: "host-badge-inline",
340
- innerHTML: x(H)
341
- }, null, 8, Z)) : i("", !0)]),
342
- e.speaking ? (_(), a("div", {
593
+ innerHTML: D(Me)
594
+ }, null, 8, lt)])) : i("", !0),
595
+ o("div", ut, [o("span", dt, E(e.isSelf ? "我" : e.name), 1), e.isHost && !e.hostBadgeTop ? (x(), a("span", {
343
596
  key: 0,
597
+ class: "host-badge-inline",
598
+ innerHTML: D(Me)
599
+ }, null, 8, ft)) : i("", !0)]),
600
+ e.speaking ? (x(), a("div", {
601
+ key: 1,
344
602
  class: "corner-tr",
345
- innerHTML: x(V)
346
- }, null, 8, Ce)) : i("", !0),
347
- o("div", we, [c(M, {
348
- name: e.muted ? "mic-off" : "mic-on",
603
+ innerHTML: D(je)
604
+ }, null, 8, pt)) : i("", !0),
605
+ o("div", mt, [l(q, {
606
+ name: e.muted || e.isSelf && e.micUnavailable ? "mic-off" : "mic-on",
349
607
  size: 18,
350
- color: e.muted ? "#ef4444" : "#fff",
351
- title: e.muted ? "麦克风已关" : "麦克风已开"
608
+ color: e.isSelf && e.micUnavailable ? "rgba(255, 255, 255, 0.45)" : e.muted ? "#ef4444" : "#fff",
609
+ title: e.isSelf && e.micUnavailable ? "麦克风不可用" : e.muted ? "麦克风已关" : "麦克风已开"
352
610
  }, null, 8, [
353
611
  "name",
354
612
  "color",
355
613
  "title"
356
614
  ])])
357
615
  ])])
358
- ], 8, ye));
616
+ ], 8, it));
359
617
  }
360
- }), [["__scopeId", "data-v-7791260c"]]), Ee = /*#__PURE__*/ z(/* @__PURE__ */ l({
618
+ }), [["__scopeId", "data-v-b30a66c2"]]), gt = /*#__PURE__*/ H(/* @__PURE__ */ u({
361
619
  __name: "VideoListPanel",
362
620
  props: {
363
621
  members: {},
622
+ selfIdentity: {},
623
+ selfMicUnavailable: { type: Boolean },
364
624
  onTileMount: { type: Function }
365
625
  },
366
626
  emits: ["tileClick"],
367
627
  setup(t, { expose: n, emit: i }) {
368
- let o = t, s = i, c = v(null);
628
+ let o = t, s = i, c = C(null);
369
629
  n({ listEl: c });
370
630
  function l(e, t) {
371
631
  o.onTileMount?.(e, t);
372
632
  }
373
- return (n, i) => (_(), a("div", {
633
+ return (n, i) => (x(), a("div", {
374
634
  ref_key: "listEl",
375
635
  ref: c,
376
636
  class: "sidebar-list"
377
- }, [(_(!0), a(e, null, y(t.members, (e) => (_(), r(Te, {
637
+ }, [(x(!0), a(e, null, w(t.members, (e) => (x(), r(ht, {
378
638
  key: e.identity,
379
639
  identity: e.identity,
380
640
  name: e.name,
381
641
  muted: e.muted,
642
+ "camera-on": e.joined && e.cameraOn,
382
643
  speaking: e.speaking,
383
644
  "is-host": e.isHost,
645
+ "is-self": e.identity === (t.selfIdentity || ""),
646
+ "mic-unavailable": e.identity === (t.selfIdentity || "") && !!t.selfMicUnavailable,
384
647
  "on-video-el-ready": l,
385
648
  onClick: i[0] ||= (e) => s("tileClick", e)
386
649
  }, null, 8, [
387
650
  "identity",
388
651
  "name",
389
652
  "muted",
653
+ "camera-on",
390
654
  "speaking",
391
- "is-host"
655
+ "is-host",
656
+ "is-self",
657
+ "mic-unavailable"
392
658
  ]))), 128))], 512));
393
659
  }
394
- }), [["__scopeId", "data-v-38d90030"]]), De = { class: "member-row" }, Oe = { class: "member-main" }, ke = { class: "member-name" }, Ae = {
660
+ }), [["__scopeId", "data-v-939f967f"]]), _t = { class: "member-row" }, vt = { class: "member-main" }, yt = { class: "member-name" }, bt = {
395
661
  key: 0,
396
662
  class: "host-tag"
397
- }, je = { class: "member-status" }, Me = {
663
+ }, xt = { class: "member-status" }, St = {
398
664
  key: 0,
399
665
  class: "status-badge"
400
- }, Ne = {
666
+ }, Ct = {
401
667
  key: 1,
402
668
  class: "status-badge"
403
- }, Pe = {
669
+ }, wt = {
404
670
  key: 2,
405
671
  class: "status-badge"
406
- }, Fe = {
672
+ }, Tt = {
407
673
  key: 3,
408
674
  class: "status-badge speaking"
409
- }, Ie = { class: "member-row member-item-row" }, Le = { class: "member-main" }, Re = { class: "member-dept" }, ze = { class: "member-status" }, Be = 500, Ve = /*#__PURE__*/ z(/* @__PURE__ */ l({
675
+ }, Et = { class: "member-row member-item-row" }, Dt = { class: "member-main" }, Ot = { class: "member-dept" }, kt = { class: "member-status" }, At = 500, jt = /*#__PURE__*/ H(/* @__PURE__ */ u({
410
676
  __name: "MemberItem",
411
677
  props: {
412
678
  member: {},
413
679
  canPromote: { type: Boolean },
414
680
  canKick: { type: Boolean },
415
- canReinvite: { type: Boolean }
681
+ canReinvite: { type: Boolean },
682
+ selfIdentity: {},
683
+ selfMicUnavailable: { type: Boolean },
684
+ selfCameraUnavailable: { type: Boolean }
416
685
  },
417
686
  emits: [
418
687
  "transferHost",
419
688
  "kick",
420
689
  "reinvite"
421
690
  ],
422
- setup(e, { emit: t }) {
423
- let n = e, l = t, u = v(!1), d = null, p = () => n.canPromote && n.member.online && n.member.joined && !n.member.isHost, g = () => n.canKick && !n.member.isHost && n.member.status !== "left", y = () => !!n.canReinvite && !n.member.isHost && (n.member.status === "invited" || n.member.status === "left");
424
- function x() {
425
- u.value ? S() : u.value = !0;
426
- }
427
- function S() {
428
- u.value = !1, d &&= (clearTimeout(d), null);
429
- }
430
- function C() {
431
- d &&= (clearTimeout(d), null);
432
- }
691
+ setup(e, { emit: n }) {
692
+ let s = e, u = t(() => s.member.identity === (s.selfIdentity || "")), d = t(() => u.value && !!s.selfMicUnavailable || !u.value && !!s.member.micUnavailable), f = t(() => u.value && !!s.selfCameraUnavailable || !u.value && !!s.member.cameraUnavailable), p = n, m = C(!1), g = null, _ = () => s.canPromote && s.member.online && s.member.joined && !s.member.isHost, b = () => s.canKick && !s.member.isHost && s.member.status !== "left", S = () => !!s.canReinvite && !s.member.isHost && (s.member.status === "invited" || s.member.status === "left");
433
693
  function w() {
434
- u.value && (d && clearTimeout(d), d = setTimeout(() => {
435
- u.value = !1, d = null;
436
- }, Be));
694
+ m.value ? T() : m.value = !0;
437
695
  }
438
696
  function T() {
439
- S(), l("transferHost", n.member.identity);
697
+ m.value = !1, g &&= (clearTimeout(g), null);
440
698
  }
441
- function E() {
442
- S(), l("kick", n.member.identity);
699
+ function D() {
700
+ g &&= (clearTimeout(g), null);
443
701
  }
444
702
  function O() {
445
- S(), l("reinvite", n.member.identity);
703
+ m.value && (g && clearTimeout(g), g = setTimeout(() => {
704
+ m.value = !1, g = null;
705
+ }, At));
706
+ }
707
+ function k() {
708
+ T(), p("transferHost", s.member.identity);
446
709
  }
447
- function k(e) {
448
- u.value && (e.target.closest(".member-item-row") || S());
710
+ function A() {
711
+ T(), p("kick", s.member.identity);
449
712
  }
450
- return h(() => {
451
- document.addEventListener("click", k);
452
- }), m(() => {
453
- document.removeEventListener("click", k), d && clearTimeout(d);
454
- }), (t, n) => (_(), a("div", { class: f(["member-item", {
713
+ function ee() {
714
+ T(), p("reinvite", s.member.identity);
715
+ }
716
+ function j(e) {
717
+ m.value && (e.target.closest(".member-item-row") || T());
718
+ }
719
+ return y(() => {
720
+ document.addEventListener("click", j);
721
+ }), v(() => {
722
+ document.removeEventListener("click", j), g && clearTimeout(g);
723
+ }), (t, n) => (x(), a("div", { class: h(["member-item", {
455
724
  offline: !e.member.online && e.member.status !== "left",
456
725
  waiting: e.member.online && !e.member.joined,
457
726
  left: e.member.status === "left"
458
- }]) }, [o("div", De, [o("div", Oe, [o("div", ke, [s(b(e.member.name) + " ", 1), e.member.isHost ? (_(), a("span", Ae, "主持人")) : i("", !0)])]), o("div", je, [e.member.status === "left" ? (_(), a("span", Me, "已离会")) : e.member.online ? e.member.joined ? e.member.speaking ? (_(), a("span", Fe, "正在发言")) : i("", !0) : (_(), a("span", Pe, "等待加入")) : (_(), a("span", Ne, "离线"))])]), o("div", Ie, [o("div", Le, [o("div", Re, b(e.member.dept || "—"), 1)]), o("div", ze, [
459
- p() || g() || y() ? (_(), a("button", {
727
+ }]) }, [o("div", _t, [o("div", vt, [o("div", yt, [c(E(u.value ? "我" : e.member.name) + " ", 1), e.member.isHost ? (x(), a("span", bt, "主持人")) : i("", !0)])]), o("div", xt, [e.member.status === "left" ? (x(), a("span", St, "已离会")) : e.member.online ? e.member.joined ? e.member.speaking ? (x(), a("span", Tt, "正在发言")) : i("", !0) : (x(), a("span", wt, "等待加入")) : (x(), a("span", Ct, "离线"))])]), o("div", Et, [o("div", Dt, [o("div", Ot, E(e.member.dept || "—"), 1)]), o("div", kt, [
728
+ _() || b() || S() ? (x(), a("button", {
460
729
  key: 0,
461
730
  class: "member-menu",
462
731
  type: "button",
463
732
  "aria-label": "更多操作",
464
- onClick: D(x, ["stop"]),
465
- onMouseenter: C,
466
- onMouseleave: w
467
- }, [c(M, {
733
+ onClick: N(w, ["stop"]),
734
+ onMouseenter: D,
735
+ onMouseleave: O
736
+ }, [l(q, {
468
737
  name: "more",
469
738
  size: 14
470
739
  })], 32)) : i("", !0),
471
- u.value ? (_(), a("div", {
740
+ m.value ? (x(), a("div", {
472
741
  key: 1,
473
742
  class: "member-menu-popover",
474
- onMouseenter: C,
475
- onMouseleave: w
743
+ onMouseenter: D,
744
+ onMouseleave: O
476
745
  }, [
477
- y() ? (_(), a("button", {
746
+ S() ? (x(), a("button", {
478
747
  key: 0,
479
748
  class: "menu-item",
480
749
  type: "button",
481
- onClick: D(O, ["stop"])
750
+ onClick: N(ee, ["stop"])
482
751
  }, " 再次邀请 ")) : i("", !0),
483
- p() ? (_(), a("button", {
752
+ _() ? (x(), a("button", {
484
753
  key: 1,
485
754
  class: "menu-item",
486
755
  type: "button",
487
- onClick: D(T, ["stop"])
756
+ onClick: N(k, ["stop"])
488
757
  }, " 设为主持人 ")) : i("", !0),
489
- g() ? (_(), a("button", {
758
+ b() ? (x(), a("button", {
490
759
  key: 2,
491
760
  class: "menu-item",
492
761
  type: "button",
493
- onClick: D(E, ["stop"])
762
+ onClick: N(A, ["stop"])
494
763
  }, " 离会 ")) : i("", !0)
495
764
  ], 32)) : i("", !0),
496
- e.member.joined ? (_(), r(M, {
765
+ e.member.joined ? (x(), r(q, {
497
766
  key: 2,
498
- name: e.member.muted ? "mic-off" : "mic-on",
767
+ name: f.value || !e.member.cameraOn ? "camera-off" : "camera-on",
768
+ size: 14,
769
+ color: f.value || !e.member.cameraOn ? "rgba(255, 255, 255, 0.45)" : "rgba(255, 255, 255, 0.85)",
770
+ title: f.value ? "摄像头不可用" : e.member.cameraOn ? "摄像头已开" : "摄像头已关"
771
+ }, null, 8, [
772
+ "name",
773
+ "color",
774
+ "title"
775
+ ])) : i("", !0),
776
+ e.member.joined ? (x(), r(q, {
777
+ key: 3,
778
+ name: d.value || e.member.muted ? "mic-off" : "mic-on",
499
779
  size: 14,
500
- color: e.member.muted ? "#ef4444" : "rgba(255, 255, 255, 0.85)",
501
- title: e.member.muted ? "麦克风已关" : "麦克风已开"
780
+ color: d.value ? "rgba(255, 255, 255, 0.45)" : e.member.muted ? "#ef4444" : "rgba(255, 255, 255, 0.85)",
781
+ title: d.value ? "麦克风不可用" : e.member.muted ? "麦克风已关" : "麦克风已开"
502
782
  }, null, 8, [
503
783
  "name",
504
784
  "color",
@@ -506,13 +786,16 @@ var A = {
506
786
  ])) : i("", !0)
507
787
  ])])], 2));
508
788
  }
509
- }), [["__scopeId", "data-v-bc970ff9"]]), He = { class: "member-list" }, Ue = /*#__PURE__*/ z(/* @__PURE__ */ l({
789
+ }), [["__scopeId", "data-v-af2e6857"]]), Mt = { class: "member-list" }, Nt = /*#__PURE__*/ H(/* @__PURE__ */ u({
510
790
  __name: "MemberListPanel",
511
791
  props: {
512
792
  members: {},
513
793
  canPromote: { type: Boolean },
514
794
  canKick: { type: Boolean },
515
- canReinvite: { type: Boolean }
795
+ canReinvite: { type: Boolean },
796
+ selfIdentity: {},
797
+ selfMicUnavailable: { type: Boolean },
798
+ selfCameraUnavailable: { type: Boolean }
516
799
  },
517
800
  emits: [
518
801
  "transferHost",
@@ -521,12 +804,15 @@ var A = {
521
804
  ],
522
805
  setup(t, { emit: n }) {
523
806
  let i = n;
524
- return (n, o) => (_(), a("div", He, [(_(!0), a(e, null, y(t.members, (e) => (_(), r(Ve, {
807
+ return (n, o) => (x(), a("div", Mt, [(x(!0), a(e, null, w(t.members, (e) => (x(), r(jt, {
525
808
  key: e.identity,
526
809
  member: e,
527
810
  "can-promote": t.canPromote,
528
811
  "can-kick": t.canKick,
529
812
  "can-reinvite": t.canReinvite,
813
+ "self-identity": t.selfIdentity,
814
+ "self-mic-unavailable": t.selfMicUnavailable,
815
+ "self-camera-unavailable": t.selfCameraUnavailable,
530
816
  onTransferHost: o[0] ||= (e) => i("transferHost", e),
531
817
  onKick: o[1] ||= (e) => i("kick", e),
532
818
  onReinvite: o[2] ||= (e) => i("reinvite", e)
@@ -534,48 +820,117 @@ var A = {
534
820
  "member",
535
821
  "can-promote",
536
822
  "can-kick",
537
- "can-reinvite"
823
+ "can-reinvite",
824
+ "self-identity",
825
+ "self-mic-unavailable",
826
+ "self-camera-unavailable"
538
827
  ]))), 128))]));
539
828
  }
540
- }), [["__scopeId", "data-v-ade13c42"]]), We = { class: "tab-bar" }, Ge = /*#__PURE__*/ z(/* @__PURE__ */ l({
829
+ }), [["__scopeId", "data-v-11e19641"]]), Pt = { class: "tab-bar" }, Ft = /*#__PURE__*/ H(/* @__PURE__ */ u({
541
830
  __name: "SidebarTabs",
542
- props: { activeTab: {} },
831
+ props: {
832
+ activeTab: {},
833
+ isHost: { type: Boolean }
834
+ },
543
835
  emits: ["update:activeTab", "addMember"],
544
- setup(e, { emit: t }) {
545
- let n = t;
546
- return (t, r) => (_(), a("div", We, [
836
+ setup(t, { emit: n }) {
837
+ let r = n;
838
+ return (n, s) => (x(), a("div", Pt, [
547
839
  o("button", {
548
- class: f(["tab-btn", { active: e.activeTab === "video" }]),
840
+ class: h(["tab-btn", { active: t.activeTab === "video" }]),
549
841
  type: "button",
550
- onClick: r[0] ||= (e) => n("update:activeTab", "video")
842
+ onClick: s[0] ||= (e) => r("update:activeTab", "video")
551
843
  }, " 视频列表 ", 2),
552
844
  o("button", {
553
- class: f(["tab-btn", {
554
- active: e.activeTab === "member",
845
+ class: h(["tab-btn", {
846
+ active: t.activeTab === "member",
555
847
  "before-add": !0
556
848
  }]),
557
849
  type: "button",
558
- onClick: r[1] ||= (e) => n("update:activeTab", "member")
850
+ onClick: s[1] ||= (e) => r("update:activeTab", "member")
559
851
  }, " 成员列表 ", 2),
560
- r[3] ||= o("span", {
852
+ t.isHost ? (x(), a(e, { key: 0 }, [s[3] ||= o("span", {
561
853
  class: "tab-divider",
562
854
  "aria-hidden": "true"
563
- }, null, -1),
564
- o("button", {
855
+ }, null, -1), o("button", {
565
856
  class: "add-member-btn",
566
857
  type: "button",
567
858
  title: "添加参会人员",
568
- onClick: r[2] ||= (e) => n("addMember")
569
- }, [c(M, {
859
+ onClick: s[2] ||= (e) => r("addMember")
860
+ }, [l(q, {
570
861
  name: "plus",
571
862
  size: 14
863
+ })])], 64)) : i("", !0)
864
+ ]));
865
+ }
866
+ }), [["__scopeId", "data-v-315ebd68"]]), It = { class: "meeting-controls" }, Lt = ["disabled", "title"], Rt = ["disabled", "title"], zt = ["title"], Bt = /*#__PURE__*/ H(/* @__PURE__ */ u({
867
+ __name: "MeetingControlBar",
868
+ props: {
869
+ micEnabled: { type: Boolean },
870
+ cameraEnabled: { type: Boolean },
871
+ speakerMuted: { type: Boolean },
872
+ micUnavailable: { type: Boolean },
873
+ cameraUnavailable: { type: Boolean }
874
+ },
875
+ emits: [
876
+ "toggleMic",
877
+ "toggleCamera",
878
+ "toggleSpeaker",
879
+ "hangup"
880
+ ],
881
+ setup(e, { emit: t }) {
882
+ let n = t;
883
+ return (t, r) => (x(), a("div", It, [
884
+ o("button", {
885
+ class: h(["ctrl-btn", {
886
+ off: !e.micEnabled && !e.micUnavailable,
887
+ unavailable: e.micUnavailable
888
+ }]),
889
+ type: "button",
890
+ disabled: e.micUnavailable,
891
+ title: e.micUnavailable ? "麦克风不可用" : e.micEnabled ? "麦克风已开" : "麦克风已关",
892
+ onClick: r[0] ||= (e) => n("toggleMic")
893
+ }, [l(q, {
894
+ name: e.micEnabled && !e.micUnavailable ? "mic-on" : "mic-off",
895
+ size: 22
896
+ }, null, 8, ["name"])], 10, Lt),
897
+ o("button", {
898
+ class: h(["ctrl-btn", {
899
+ off: !e.cameraEnabled && !e.cameraUnavailable,
900
+ unavailable: e.cameraUnavailable
901
+ }]),
902
+ type: "button",
903
+ disabled: e.cameraUnavailable,
904
+ title: e.cameraUnavailable ? "摄像头不可用" : e.cameraEnabled ? "摄像头已开" : "摄像头已关",
905
+ onClick: r[1] ||= (e) => n("toggleCamera")
906
+ }, [l(q, {
907
+ name: e.cameraEnabled && !e.cameraUnavailable ? "camera-on" : "camera-off",
908
+ size: 22
909
+ }, null, 8, ["name"])], 10, Rt),
910
+ o("button", {
911
+ class: h(["ctrl-btn", { off: e.speakerMuted }]),
912
+ type: "button",
913
+ title: e.speakerMuted ? "扬声器已关" : "扬声器已开",
914
+ onClick: r[2] ||= (e) => n("toggleSpeaker")
915
+ }, [l(q, {
916
+ name: e.speakerMuted ? "sound-off" : "sound-on",
917
+ size: 22
918
+ }, null, 8, ["name"])], 10, zt),
919
+ o("button", {
920
+ class: "ctrl-btn hangup",
921
+ type: "button",
922
+ title: "离开会议",
923
+ onClick: r[3] ||= (e) => n("hangup")
924
+ }, [l(q, {
925
+ name: "hangup",
926
+ size: 22
572
927
  })])
573
928
  ]));
574
929
  }
575
- }), [["__scopeId", "data-v-58a76683"]]), Ke = { class: "confirm-dialog" }, qe = {
930
+ }), [["__scopeId", "data-v-9ec1fbf6"]]), Vt = { class: "confirm-dialog" }, Ht = {
576
931
  key: 0,
577
932
  class: "confirm-title"
578
- }, Je = { class: "confirm-message" }, Ye = { class: "confirm-actions" }, Xe = /*#__PURE__*/ z(/* @__PURE__ */ l({
933
+ }, Ut = { class: "confirm-message" }, Wt = { class: "confirm-actions" }, Gt = /*#__PURE__*/ H(/* @__PURE__ */ u({
579
934
  __name: "ConfirmDialog",
580
935
  props: {
581
936
  title: {},
@@ -587,24 +942,24 @@ var A = {
587
942
  emits: ["confirm", "cancel"],
588
943
  setup(e, { emit: t }) {
589
944
  let n = t;
590
- return (t, r) => (_(), a("div", {
945
+ return (t, r) => (x(), a("div", {
591
946
  class: "confirm-mask",
592
- onClick: r[2] ||= D((e) => n("cancel"), ["self"])
593
- }, [o("div", Ke, [
594
- e.title ? (_(), a("div", qe, b(e.title), 1)) : i("", !0),
595
- o("div", Je, b(e.message), 1),
596
- o("div", Ye, [o("button", {
947
+ onClick: r[2] ||= N((e) => n("cancel"), ["self"])
948
+ }, [o("div", Vt, [
949
+ e.title ? (x(), a("div", Ht, E(e.title), 1)) : i("", !0),
950
+ o("div", Ut, E(e.message), 1),
951
+ o("div", Wt, [o("button", {
597
952
  class: "confirm-btn cancel",
598
953
  type: "button",
599
954
  onClick: r[0] ||= (e) => n("cancel")
600
- }, b(e.cancelText || "取消"), 1), o("button", {
601
- class: f(["confirm-btn ok", { danger: e.danger }]),
955
+ }, E(e.cancelText || "取消"), 1), o("button", {
956
+ class: h(["confirm-btn ok", { danger: e.danger }]),
602
957
  type: "button",
603
958
  onClick: r[1] ||= (e) => n("confirm")
604
- }, b(e.confirmText || "确认"), 3)])
959
+ }, E(e.confirmText || "确认"), 3)])
605
960
  ])]));
606
961
  }
607
- }), [["__scopeId", "data-v-39dcfdd0"]]), Ze = { class: "ended-toast" }, Qe = { class: "ended-toast-card" }, $e = { class: "ended-toast-text" }, et = { class: "ended-toast-progress" }, tt = /*#__PURE__*/ z(/* @__PURE__ */ l({
962
+ }), [["__scopeId", "data-v-39dcfdd0"]]), Kt = { class: "ended-toast" }, qt = { class: "ended-toast-card" }, Jt = { class: "ended-toast-text" }, Yt = { class: "ended-toast-progress" }, Xt = /*#__PURE__*/ H(/* @__PURE__ */ u({
608
963
  __name: "MeetingEndedToast",
609
964
  props: {
610
965
  reason: { default: "会议已结束" },
@@ -612,159 +967,321 @@ var A = {
612
967
  },
613
968
  emits: ["close"],
614
969
  setup(e, { emit: n }) {
615
- let r = e, i = n, s = v(r.duration), l = null, u = t(() => `${r.reason}(${s.value}s)`);
616
- return h(() => {
617
- l = setInterval(() => {
618
- s.value--, s.value <= 0 && (l && clearInterval(l), l = null, i("close"));
970
+ let r = e, i = n, s = C(r.duration), c = null, u = t(() => `${r.reason}(${s.value}s)`);
971
+ return y(() => {
972
+ c = setInterval(() => {
973
+ s.value--, s.value <= 0 && (c && clearInterval(c), c = null, i("close"));
619
974
  }, 1e3);
620
- }), m(() => {
621
- l && clearInterval(l);
622
- }), (e, t) => (_(), a("div", Ze, [o("div", Qe, [o("span", $e, b(u.value), 1), o("button", {
975
+ }), v(() => {
976
+ c && clearInterval(c);
977
+ }), (e, t) => (x(), a("div", Kt, [o("div", qt, [o("span", Jt, E(u.value), 1), o("button", {
623
978
  class: "ended-toast-close",
624
979
  type: "button",
625
980
  title: "立即关闭",
626
981
  onClick: t[0] ||= (e) => i("close")
627
- }, [c(M, {
982
+ }, [l(q, {
628
983
  name: "close",
629
984
  size: 14
630
- })])]), o("div", et, [o("div", {
985
+ })])]), o("div", Yt, [o("div", {
631
986
  class: "ended-toast-progress-bar",
632
- style: p({ animationDuration: `${r.duration}s` })
987
+ style: _({ animationDuration: `${r.duration}s` })
633
988
  }, null, 4)])]));
634
989
  }
635
- }), [["__scopeId", "data-v-044debab"]]), nt = {
990
+ }), [["__scopeId", "data-v-044debab"]]), Zt = { class: "im-picker-list" }, Qt = { class: "im-picker-toolbar" }, $t = { class: "im-picker-toolbar-right" }, en = { class: "im-picker-counter" }, tn = {
991
+ key: 0,
992
+ class: "im-picker-empty"
993
+ }, nn = {
994
+ key: 1,
995
+ class: "im-picker-empty"
996
+ }, rn = {
997
+ key: 2,
998
+ class: "im-picker-items"
999
+ }, an = ["onClick"], on = ["checked", "onClick"], sn = { class: "im-picker-avatar" }, cn = { class: "im-picker-info" }, ln = { class: "im-picker-name" }, un = {
1000
+ key: 0,
1001
+ class: "im-picker-dept"
1002
+ }, dn = /*#__PURE__*/ H(/* @__PURE__ */ u({
1003
+ __name: "UserPickerList",
1004
+ props: {
1005
+ users: {},
1006
+ loading: { type: Boolean },
1007
+ selected: {},
1008
+ emptyText: {}
1009
+ },
1010
+ emits: ["update:selected"],
1011
+ setup(n, { emit: r }) {
1012
+ let s = n, c = r;
1013
+ O();
1014
+ let l = t(() => new Set(s.selected || []));
1015
+ function u(e) {
1016
+ let t = new Set(l.value);
1017
+ t.has(e) ? t.delete(e) : t.add(e), c("update:selected", [...t]);
1018
+ }
1019
+ let d = t(() => s.users.length > 0 && l.value.size === s.users.length);
1020
+ function f() {
1021
+ c("update:selected", d.value ? [] : s.users.map((e) => e.uid));
1022
+ }
1023
+ return (t, r) => (x(), a("div", Zt, [o("div", Qt, [r[0] ||= o("span", { class: "im-picker-label" }, "选择人员", -1), o("div", $t, [o("span", en, "已选 " + E(l.value.size) + " / " + E(n.users.length) + " 人", 1), n.users.length > 0 ? (x(), a("button", {
1024
+ key: 0,
1025
+ class: "im-picker-select-all",
1026
+ type: "button",
1027
+ onClick: f
1028
+ }, E(d.value ? "取消全选" : "全选"), 1)) : i("", !0)])]), n.loading ? (x(), a("div", tn, "加载中...")) : n.users.length === 0 ? (x(), a("div", nn, E(n.emptyText || "暂无可选人员"), 1)) : (x(), a("ul", rn, [(x(!0), a(e, null, w(n.users, (e) => (x(), a("li", {
1029
+ key: e.uid,
1030
+ class: h(["im-picker-item", { active: l.value.has(e.uid) }])
1031
+ }, [T(t.$slots, "user-item", {
1032
+ user: e,
1033
+ selected: l.value.has(e.uid),
1034
+ toggle: () => u(e.uid)
1035
+ }, () => [o("button", {
1036
+ class: "im-picker-item-btn",
1037
+ type: "button",
1038
+ onClick: (t) => u(e.uid)
1039
+ }, [
1040
+ o("input", {
1041
+ type: "checkbox",
1042
+ checked: l.value.has(e.uid),
1043
+ tabindex: "-1",
1044
+ onClick: N((t) => u(e.uid), ["stop"])
1045
+ }, null, 8, on),
1046
+ o("div", sn, E(e.name[0]), 1),
1047
+ o("div", cn, [o("div", ln, E(e.name), 1), e.dept ? (x(), a("div", un, E(e.dept), 1)) : i("", !0)])
1048
+ ], 8, an)], !0)], 2))), 128))]))]));
1049
+ }
1050
+ }), [["__scopeId", "data-v-e42984c7"]]), fn = { class: "im-picker-dialog" }, pn = { class: "im-picker-header" }, mn = { class: "im-picker-title" }, hn = { class: "im-picker-body" }, gn = { class: "im-picker-footer" }, _n = ["disabled"], vn = /*#__PURE__*/ H(/* @__PURE__ */ u({
1051
+ __name: "UserPickerDialog",
1052
+ props: {
1053
+ title: {},
1054
+ myUid: {},
1055
+ excludeUids: {},
1056
+ loader: { type: Function },
1057
+ confirmText: {},
1058
+ emptyText: {},
1059
+ onClose: { type: Function }
1060
+ },
1061
+ emits: [
1062
+ "confirm",
1063
+ "cancel",
1064
+ "close"
1065
+ ],
1066
+ setup(e, { emit: t }) {
1067
+ let n = e, r = t, i = O(), c = C([]), u = C([]), d = C(!0);
1068
+ function p() {
1069
+ return z();
1070
+ }
1071
+ async function m() {
1072
+ let e = p();
1073
+ if (!e?.users) return [];
1074
+ let t = await e.users.list(), r = await e.users.resolve(e.uid).catch(() => void 0), i = new Set(n.excludeUids || []);
1075
+ return r && i.add(r.externalId), n.myUid && i.add(n.myUid), t.filter((e) => !i.has(e.externalId)).map((e) => ({
1076
+ uid: e.externalId,
1077
+ name: e.name,
1078
+ dept: e.deptName || void 0
1079
+ }));
1080
+ }
1081
+ y(async () => {
1082
+ try {
1083
+ c.value = n.loader ? await n.loader() : await m();
1084
+ } catch (e) {
1085
+ console.warn("[im] 选人列表加载失败", e), c.value = [];
1086
+ } finally {
1087
+ d.value = !1;
1088
+ }
1089
+ });
1090
+ function h() {
1091
+ u.value.length !== 0 && (r("confirm", [...u.value]), r("close"));
1092
+ }
1093
+ function _() {
1094
+ r("cancel"), r("close");
1095
+ }
1096
+ return (t, n) => (x(), a("div", {
1097
+ class: "im-picker-mask",
1098
+ onClick: N(_, ["self"])
1099
+ }, [o("div", fn, [
1100
+ o("div", pn, [o("h2", mn, E(e.title || "邀请参会"), 1), o("button", {
1101
+ class: "im-picker-close",
1102
+ type: "button",
1103
+ "aria-label": "关闭",
1104
+ onClick: _
1105
+ }, "✕")]),
1106
+ o("div", hn, [l(dn, {
1107
+ selected: u.value,
1108
+ "onUpdate:selected": n[0] ||= (e) => u.value = e,
1109
+ users: c.value,
1110
+ loading: d.value,
1111
+ "empty-text": e.emptyText || "所有成员都已在会议中"
1112
+ }, s({ _: 2 }, [i["user-item"] ? {
1113
+ name: "user-item",
1114
+ fn: j((e) => [T(t.$slots, "user-item", g(f(e)), void 0, !0)]),
1115
+ key: "0"
1116
+ } : void 0]), 1032, [
1117
+ "selected",
1118
+ "users",
1119
+ "loading",
1120
+ "empty-text"
1121
+ ])]),
1122
+ o("div", gn, [o("button", {
1123
+ class: "im-picker-btn cancel",
1124
+ type: "button",
1125
+ onClick: _
1126
+ }, "取消"), o("button", {
1127
+ class: "im-picker-btn confirm",
1128
+ type: "button",
1129
+ disabled: u.value.length === 0,
1130
+ onClick: h
1131
+ }, E(e.confirmText || "邀请"), 9, _n)])
1132
+ ])]));
1133
+ }
1134
+ }), [["__scopeId", "data-v-f68ef1d7"]]), yn = {
636
1135
  key: 0,
637
1136
  class: "device-warn"
638
- }, rt = {
1137
+ }, bn = {
639
1138
  key: 1,
640
1139
  class: "device-warn"
641
- }, it = { class: "bottom-controls" }, at = ["title"], ot = ["title"], st = ["title"], ct = {
642
- key: 2,
1140
+ }, xn = { class: "bottom-controls" }, Sn = {
1141
+ key: 0,
1142
+ class: "fs-grid-overlay"
1143
+ }, Cn = { class: "fs-grid-scroll" }, wn = { class: "fs-grid" }, Tn = {
1144
+ key: 4,
643
1145
  class: "mini-bar"
644
- }, lt = { class: "mini-bar-body" }, ut = {
1146
+ }, En = { class: "mini-bar-body" }, Dn = {
645
1147
  key: 0,
646
1148
  class: "speaking-indicator"
647
- }, dt = { class: "mini-duration" }, ft = { class: "mini-bar-actions" }, pt = ["innerHTML"], mt = ["innerHTML"], ht = /*#__PURE__*/ z(/* @__PURE__ */ l({
1149
+ }, On = { class: "mini-duration" }, kn = { class: "mini-bar-actions" }, An = ["innerHTML"], jn = ["innerHTML"], Mn = /*#__PURE__*/ H(/* @__PURE__ */ u({
648
1150
  __name: "MeetWindow",
649
1151
  props: {
650
1152
  mode: {},
651
1153
  title: {},
652
1154
  height: {},
653
1155
  onClose: { type: Function },
654
- resolveUser: { type: Function }
1156
+ resolveUser: { type: Function },
1157
+ disableDefaultInvite: { type: Boolean }
655
1158
  },
656
1159
  emits: ["close", "addMember"],
657
1160
  setup(n, { emit: s }) {
658
- let l = n, u = s, m = v(!0), y = v(!0), S = v(!1), E = v(!0), D = v(!0), O = v([]), k = v(""), j = null;
659
- function ee(e) {
660
- k.value = e, j && clearTimeout(j), j = setTimeout(() => k.value = "", 3e3);
1161
+ let c = n, u = s, f = O(), p = C(!1), g = t(() => U.value.map((e) => e.identity)), v = C(!0), S = C(!0), k = C(!1), N = C(!0), te = C(!0), P = C(!1), F = C(!1), I = C([]), R = C(""), z = null;
1162
+ function ne(e) {
1163
+ R.value = e, z && clearTimeout(z), z = setTimeout(() => R.value = "", 3e3);
661
1164
  }
662
- let N = v(0), P = v(""), F = v("video"), I = v([]), L = v(""), te = v(!1), R = v(null), ne = v(null), re = v(null), ie = v(null), ae = v(null), z = v(null), B = null, V = null, H = /* @__PURE__ */ new Map(), U = null, W = null;
663
- function G() {
1165
+ let B = C(0), V = C(""), H = C("video"), U = C([]), W = C(""), G = C(!1), re = C(!1), ie = C(null), ae = C(null), oe = C(null), se = C(null), ce = C(null), le = C(null), ue = null, de = null, pe = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), J = null, me = null;
1166
+ function Y() {
664
1167
  return window.__imClient;
665
1168
  }
666
- function K() {
667
- return G()?.meeting?.currentSession;
1169
+ function X() {
1170
+ return Y()?.meeting?.currentSession;
668
1171
  }
669
- let q = t(() => I.value.find((e) => e.identity === L.value) || null), J = t(() => {
670
- let e = K();
671
- return !!e && e.identity === L.value;
672
- }), ce = t(() => I.value.filter((e) => e.speaking && e.joined && e.online)), le = t(() => {
673
- let e = ce.value;
1172
+ let Z = t(() => U.value.find((e) => e.identity === W.value) || null), he = t(() => {
1173
+ let e = X();
1174
+ return !!e && e.identity === W.value;
1175
+ }), ge = t(() => U.value.filter((e) => e.speaking && e.joined && e.online)), _e = t(() => {
1176
+ let e = ge.value;
674
1177
  return e.length === 0 ? "" : e.length <= 3 ? e.map((e) => e.name).join("、") : `${e[0].name}...等${e.length}人`;
675
- }), de = t(() => I.value.filter((e) => e.identity !== L.value && (e.online || e.joined)));
676
- w(de, () => {
677
- d(X);
1178
+ }), ve = t(() => Se(U.value.filter((e) => e.identity !== W.value && (e.online || e.joined)))), ye = t(() => Se(U.value.filter((e) => e.online || e.joined)));
1179
+ function be(e, t) {
1180
+ let n = X();
1181
+ n && (t ? (q.set(e, t), e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : q.delete(e));
1182
+ }
1183
+ ee(ve, () => {
1184
+ m(Oe);
678
1185
  });
679
- function fe(e, t) {
680
- return e.identity === t ? 0 : e.status === "left" ? 5 : e.speaking && e.joined && e.online ? 1 : e.online ? e.joined ? 2 : 3 : 4;
1186
+ function xe(e, t) {
1187
+ return e.identity === t ? 0 : e.status === "left" ? 3 : e.joinedAt > 0 ? 1 : 2;
681
1188
  }
682
- function pe(e) {
683
- let t = K()?.identity || "";
1189
+ function Se(e) {
1190
+ let t = W.value;
684
1191
  return e.slice().sort((e, n) => {
685
- let r = fe(e, t), i = fe(n, t);
686
- return r === i ? (e.inviteOrder || 0) - (n.inviteOrder || 0) : r - i;
1192
+ let r = xe(e, t), i = xe(n, t);
1193
+ return r === i ? e.joinedAt === n.joinedAt ? (e.inviteOrder || 0) - (n.inviteOrder || 0) : e.joinedAt - n.joinedAt : r - i;
687
1194
  });
688
1195
  }
689
- let me = t(() => pe(I.value));
690
- async function Y(e = !1) {
691
- let t = G();
1196
+ let Ce = t(() => Se(U.value));
1197
+ async function Q(e = !1) {
1198
+ let t = Y();
692
1199
  if (t?.meeting) try {
693
1200
  let n = await t.meeting.getMembers(e);
694
- l.resolveUser ? I.value = n.map((e) => {
695
- let t = l.resolveUser?.(e.identity);
1201
+ c.resolveUser ? U.value = n.map((e) => {
1202
+ let t = c.resolveUser?.(e.identity);
696
1203
  return t ? {
697
1204
  ...e,
698
1205
  name: t.name,
699
1206
  dept: t.dept ?? e.dept
700
1207
  } : e;
701
- }) : I.value = n;
1208
+ }) : U.value = n;
702
1209
  } catch (e) {
703
1210
  console.warn("[im] refreshMembers 失败", e);
704
1211
  }
705
1212
  }
706
- async function he() {
707
- let e = K();
708
- e && B && V && (B === e.identity ? e.attachLocalVideo(V) : e.attachParticipantVideo(B, V));
1213
+ async function we() {
1214
+ let e = X();
1215
+ e && ue && de && (ue === e.identity ? e.attachLocalVideo(de) : e.attachParticipantVideo(ue, de));
709
1216
  }
710
- async function ge(e, t) {
711
- let n = K();
712
- n && (t ? (B = e, V = t, e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : (B = null, V = null));
1217
+ async function Te(e, t) {
1218
+ let n = X();
1219
+ n && (t ? (ue = e, de = t, e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : (ue = null, de = null));
713
1220
  }
714
- function _e(e, t) {
715
- let n = K();
716
- n && (t ? (H.set(e, t), e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : H.delete(e));
1221
+ function Ee(e, t) {
1222
+ let n = X();
1223
+ n && (t ? (pe.set(e, t), e === n.identity ? n.attachLocalVideo(t) : n.attachParticipantVideo(e, t)) : pe.delete(e));
717
1224
  }
718
- async function ye() {
1225
+ async function De() {
719
1226
  try {
720
1227
  let e = await navigator.mediaDevices.enumerateDevices();
721
- E.value = e.some((e) => e.kind === "videoinput"), D.value = e.some((e) => e.kind === "audioinput"), E.value || (y.value = !1), D.value || (m.value = !1);
1228
+ N.value = e.some((e) => e.kind === "videoinput"), te.value = e.some((e) => e.kind === "audioinput"), N.value || (S.value = !1), te.value || (v.value = !1), P.value = !te.value, F.value = !N.value;
1229
+ try {
1230
+ (await navigator.permissions.query({ name: "microphone" })).state === "denied" && (P.value = !0);
1231
+ } catch {}
1232
+ try {
1233
+ (await navigator.permissions.query({ name: "camera" })).state === "denied" && (F.value = !0);
1234
+ } catch {}
722
1235
  } catch (e) {
723
1236
  console.warn("[im] enumerateDevices 失败", e);
724
1237
  }
725
1238
  }
726
- function X() {
727
- let e = R.value, t = ne.value, n = re.value, r = ae.value?.listEl, i = r?.querySelectorAll(".small-video") ?? [];
1239
+ function Oe() {
1240
+ let e = ie.value, t = ae.value, n = oe.value, r = ce.value?.listEl, i = r?.querySelectorAll(".small-video") ?? [];
728
1241
  if (!e || !t || !n) return;
729
1242
  let a = e.clientHeight;
730
1243
  if (a <= 0) return;
731
- let o = a, s = o * 16 / 9, c = ie.value?.offsetHeight ?? 28, l = (o - c - 24) / 3, u = l * 16 / 9, d = u, f = 10 + s + 10 + d + 10, p = document.getElementById("meetingWindow");
1244
+ let o = a, s = o * 16 / 9, c = se.value?.offsetHeight ?? 28, l = (o - c - 24) / 3, u = l * 16 / 9, d = u, f = 10 + s + 10 + d + 10, p = document.getElementById("meetingWindow");
732
1245
  p && (p.style.width = f + "px"), t.style.width = s + "px", t.style.height = o + "px", n.style.width = d + "px", n.style.height = a + "px", r && (r.style.width = "100%", r.style.height = a - c - 8 + "px"), i.forEach((e) => {
733
1246
  e.style.width = u + "px", e.style.height = l + "px";
734
1247
  });
735
1248
  }
736
- async function be() {
737
- if (!D.value) return;
738
- let e = K();
1249
+ async function ke() {
1250
+ if (P.value) return;
1251
+ let e = X();
739
1252
  if (!e) return;
740
- let t = !m.value;
1253
+ let t = !v.value;
741
1254
  try {
742
- await e.setMicEnabled(t), m.value = t;
1255
+ await e.setMicEnabled(t), v.value = t;
1256
+ let n = U.value.find((t) => t.identity === e.identity);
1257
+ n && n.muted !== !t && (n.muted = !t, U.value = [...U.value]);
743
1258
  } catch (e) {
744
1259
  console.warn("[im] setMicEnabled 失败,UI 不切换", e);
745
1260
  }
746
1261
  }
747
- async function xe() {
748
- if (!E.value) return;
749
- let e = K();
1262
+ async function Ae() {
1263
+ if (F.value) return;
1264
+ let e = X();
750
1265
  if (!e) return;
751
- let t = !y.value;
1266
+ let t = !S.value;
752
1267
  try {
753
- await e.setCameraEnabled(t), y.value = t, d(he);
1268
+ await e.setCameraEnabled(t), S.value = t;
1269
+ let n = U.value.find((t) => t.identity === e.identity);
1270
+ n && n.cameraOn !== t && (n.cameraOn = t, U.value = [...U.value]), m(we);
754
1271
  } catch (e) {
755
1272
  console.warn("[im] setCameraEnabled 失败,UI 不切换", e);
756
1273
  }
757
1274
  }
758
- async function Se() {
759
- let e = K();
760
- e && (S.value = !S.value, await e.setSpeakerMuted(S.value));
1275
+ async function je() {
1276
+ let e = X();
1277
+ e && (k.value = !k.value, await e.setSpeakerMuted(k.value));
761
1278
  }
762
- let Z = v(!1), Ce = v(!1);
763
- async function we() {
764
- let e = G();
1279
+ let Me = C(!1), Ne = C(!1);
1280
+ async function Ie() {
1281
+ let e = Y();
765
1282
  if (!e) return;
766
- if (!J.value) {
767
- await e.meeting?.leave(), P.value = "已离开";
1283
+ if (!he.value) {
1284
+ await e.meeting?.leave(), V.value = "已离开";
768
1285
  return;
769
1286
  }
770
1287
  let t = 1;
@@ -774,332 +1291,379 @@ var A = {
774
1291
  console.warn("[im] 查参与者数量失败,按 1 处理(自动解散)", e);
775
1292
  }
776
1293
  if (t > 1) {
777
- Z.value = !0;
1294
+ Me.value = !0;
778
1295
  return;
779
1296
  }
780
- Ce.value = !0;
1297
+ Ne.value = !0;
781
1298
  try {
782
- await e.meeting.dissolve(), P.value = "会议已解散";
1299
+ await e.meeting.dissolve(), V.value = "会议已解散";
783
1300
  } catch (t) {
784
- console.error("[im] host 单独时解散失败,回退到 leave", t), P.value = "已离开", await e.meeting?.leave().catch(() => {});
1301
+ console.error("[im] host 单独时解散失败,回退到 leave", t), V.value = "已离开", await e.meeting?.leave().catch(() => {});
785
1302
  } finally {
786
- Ce.value = !1;
1303
+ Ne.value = !1;
787
1304
  }
788
1305
  }
789
- async function Te() {
790
- let e = G();
1306
+ async function Le() {
1307
+ let e = Y();
791
1308
  if (e) {
792
- Z.value = !1, Ce.value = !0;
1309
+ Me.value = !1, Ne.value = !0;
793
1310
  try {
794
- await e.meeting.dissolve(), P.value = "会议已解散";
1311
+ await e.meeting.dissolve(), V.value = "会议已解散";
795
1312
  } catch (e) {
796
- console.error("[im] 解散失败", e), P.value = "解散失败";
1313
+ console.error("[im] 解散失败", e), V.value = "解散失败";
797
1314
  } finally {
798
- Ce.value = !1;
1315
+ Ne.value = !1;
799
1316
  }
800
1317
  }
801
1318
  }
802
- function De() {
803
- Z.value = !1;
1319
+ function Re() {
1320
+ Me.value = !1;
804
1321
  }
805
- async function Oe(e) {
806
- let t = K();
1322
+ async function ze(e) {
1323
+ let t = X();
807
1324
  if (t) try {
808
- await t.kick(G().transport, e), await Y(!0);
1325
+ await t.kick(Y().transport, e), await Q(!0);
809
1326
  } catch (e) {
810
1327
  console.warn("[im] kickParticipant 失败", e);
811
1328
  }
812
1329
  }
813
- async function ke(e) {
814
- let t = K();
1330
+ async function Be(e) {
1331
+ let t = X();
815
1332
  if (t) try {
816
- await t.transferHost(G().transport, e), L.value = e, await Y(!0);
1333
+ await t.transferHost(Y().transport, e), W.value = e, await Q(!0);
817
1334
  } catch (e) {
818
1335
  console.warn("[im] transferHost 失败", e);
819
1336
  }
820
1337
  }
821
- async function Ae(e) {
822
- let t = K();
1338
+ async function Ve(e) {
1339
+ let t = X();
823
1340
  if (t) try {
824
- await G().meeting.reinvite(t.meetingId, e), await Y(!0);
1341
+ await Y().meeting.reinvite(t.meetingId, e), await Q(!0);
825
1342
  } catch (e) {
826
1343
  let t = e instanceof Error ? e.message : "";
827
- t.includes("target_was_kicked") ? ee("该成员已被踢出会议,无法再次邀请") : t.includes("meeting_ended") ? ee("会议已结束") : ee("再次邀请失败,请重试"), console.warn("[im] reinvite 失败", e);
1344
+ t.includes("对方正忙") || t.includes("target_busy") ? ne("对方正忙,稍后再试") : t.includes("无权") || t.includes("not_host") ? ne("仅主持人可邀请成员") : t.includes("meeting_ended") ? ne("会议已结束") : ne("再次邀请失败,请重试"), console.warn("[im] reinvite 失败", e);
1345
+ }
1346
+ }
1347
+ async function He(e) {
1348
+ let t = Y()?.users;
1349
+ if (t?.resolve) {
1350
+ let n = await t.resolve(e).catch(() => void 0);
1351
+ if (n?.name) return n.name;
1352
+ }
1353
+ return e;
1354
+ }
1355
+ async function Ue(e) {
1356
+ let t = Y(), n = X();
1357
+ if (!t || !n || e.length === 0) return;
1358
+ let r = [], i = [];
1359
+ if (await Promise.all(e.map((e) => t.meeting.reinvite(n.meetingId, e).catch((t) => {
1360
+ let n = t instanceof Error ? t.message : "";
1361
+ n.includes("对方正忙") || n.includes("target_busy") ? r.push(e) : i.push(e);
1362
+ }))), r.length > 0) {
1363
+ let e = (await Promise.all(r.map(He))).join("、");
1364
+ K.error(`${e} 正忙,未能邀请加入会议`);
1365
+ }
1366
+ if (i.length > 0) {
1367
+ let e = (await Promise.all(i.map(He))).join("、");
1368
+ K.error(`${e} 邀请失败,请重试`);
1369
+ }
1370
+ Q(!0);
1371
+ }
1372
+ async function We() {
1373
+ let e = Y(), t = X();
1374
+ if (!e || !t) return;
1375
+ let n = [];
1376
+ try {
1377
+ n = (await e.meeting.getMembers(!0)).map((e) => e.identity);
1378
+ } catch (e) {
1379
+ console.warn("[im] 拉取会议成员失败,邀请弹窗不排除已入会成员", e);
1380
+ }
1381
+ L(vn, {
1382
+ title: "邀请参会",
1383
+ excludeUids: n,
1384
+ emptyText: "所有成员都已在会议中",
1385
+ onConfirm: (e) => {
1386
+ Ue(e);
1387
+ }
1388
+ });
1389
+ }
1390
+ function Ge() {
1391
+ if (u("addMember"), f["invite-panel"]) {
1392
+ p.value = !p.value;
1393
+ return;
828
1394
  }
1395
+ d()?.vnode.props?.onAddMember || c.disableDefaultInvite || We();
829
1396
  }
830
- function je(e) {
831
- let t = K();
832
- !t || e.meetingId !== t.meetingId || (L.value = e.hostUid, d(() => {
833
- Y(!0);
1397
+ function Ke(e) {
1398
+ let t = X();
1399
+ !t || e.meetingId !== t.meetingId || (W.value = e.hostUid, m(() => {
1400
+ Q(!0);
834
1401
  }));
835
1402
  }
836
- function Me(e) {
837
- let t = K();
838
- !t || e.meetingId !== t.meetingId || (P.value ||= "会议已解散", U && clearInterval(U));
1403
+ function Je(e) {
1404
+ let t = X();
1405
+ !t || e.meetingId !== t.meetingId || (V.value ||= "会议已解散", J && clearInterval(J));
839
1406
  }
840
- function Ne(e) {
841
- let t = K();
842
- !t || e.meetingId !== t.meetingId || (P.value ||= "已被移出会议", U && clearInterval(U));
1407
+ function Ye(e) {
1408
+ let t = X();
1409
+ !t || e.meetingId !== t.meetingId || (V.value ||= "已被移出会议", J && clearInterval(J));
843
1410
  }
844
- function Pe(e) {
1411
+ function Xe(e) {
845
1412
  let t = Math.floor(e / 3600), n = Math.floor(e % 3600 / 60).toString().padStart(2, "0"), r = (e % 60).toString().padStart(2, "0");
846
1413
  return t > 0 ? `${t}:${n}:${r}` : `${n}:${r}`;
847
1414
  }
848
- return h(async () => {
849
- await ye();
850
- let e = G();
1415
+ return y(async () => {
1416
+ await De();
1417
+ let e = Y();
851
1418
  if (!e) return;
852
1419
  let t = e.meeting?.currentSession;
853
- t && (L.value = t.hostIdentity || t.identity, t.onSession("connected", () => {
854
- Y(), d(X), U = setInterval(() => {
855
- N.value++, N.value % 2 == 0 && Y();
1420
+ t && (W.value = t.hostIdentity || t.identity, t.onSession("connected", () => {
1421
+ Q(), m(Oe), J = setInterval(() => {
1422
+ B.value++, B.value % 10 == 0 && Q();
856
1423
  }, 1e3);
857
1424
  }), t.onSession("participantJoined", () => {
858
- Y(!0);
1425
+ Q(!0);
859
1426
  }), t.onSession("participantLeft", () => {
860
- Y(!0);
1427
+ Q(!0);
861
1428
  }), t.onSession("participantTrackSubscribed", (e) => {
862
1429
  if (e.kind !== "video") return;
863
- let n = H.get(e.identity);
864
- n && t.attachParticipantVideo(e.identity, n), B === e.identity && d(he);
1430
+ let n = pe.get(e.identity);
1431
+ n && t.attachParticipantVideo(e.identity, n);
1432
+ let r = q.get(e.identity);
1433
+ r && t.attachParticipantVideo(e.identity, r), ue === e.identity && m(we);
865
1434
  }), t.onSession("activeSpeakersChanged", (e) => {
866
1435
  let t = new Set(e.identities), n = !1;
867
- for (let e of I.value) {
1436
+ for (let e of U.value) {
868
1437
  let r = t.has(e.identity);
869
1438
  e.speaking !== r && (e.speaking = r, n = !0);
870
1439
  }
871
- n && (I.value = [...I.value]);
1440
+ n && (U.value = [...U.value]);
1441
+ }), t.onSession("participantMuteChanged", (e) => {
1442
+ let t = U.value.find((t) => t.identity === e.identity);
1443
+ if (!t) return;
1444
+ let n = !1;
1445
+ e.kind === "audio" ? t.muted !== e.muted && (t.muted = e.muted, n = !0) : t.cameraOn !== !e.muted && (t.cameraOn = !e.muted, n = !0), n && (U.value = [...U.value]);
872
1446
  }), t.onSession("devices", (e) => {
873
- e.errors && e.errors.length > 0 && (O.value = e.errors, setTimeout(() => O.value = [], 3e3)), e.mic || (m.value = !1), e.camera || (y.value = !1), e.camera && d(he);
1447
+ e.errors && e.errors.length > 0 && (I.value = e.errors, setTimeout(() => I.value = [], 3e3)), e.mic || (v.value = !1), e.camera || (S.value = !1), e.camera && m(we), e.errors.some((e) => e.startsWith("mic:")) ? P.value = !0 : e.mic && (P.value = !1), e.errors.some((e) => e.startsWith("camera:")) ? F.value = !0 : e.camera && (F.value = !1);
874
1448
  }), t.onSession("ended", () => {
875
- P.value ||= "会议已结束", U && clearInterval(U);
876
- }), t.isConnected && (Y(), d(X), U = setInterval(() => {
877
- N.value++, N.value % 2 == 0 && Y();
878
- }, 1e3)), e.on("meeting:hostChanged", je), e.on("meeting:dissolved", Me), e.on("meeting:kicked", Ne), R.value && (W = new ResizeObserver(() => X()), W.observe(R.value)), window.addEventListener("resize", X), d(X));
879
- }), g(() => {
880
- U && clearInterval(U), j && clearTimeout(j), W &&= (W.disconnect(), null), window.removeEventListener("resize", X);
881
- let e = G();
882
- e?.off?.("meeting:hostChanged", je), e?.off?.("meeting:dissolved", Me), e?.off?.("meeting:kicked", Ne);
883
- }), (t, s) => (_(), a(e, null, [
884
- T((_(), a("div", {
1449
+ V.value ||= "会议已结束", J && clearInterval(J);
1450
+ }), t.isConnected && (Q(), m(Oe), J = setInterval(() => {
1451
+ B.value++, B.value % 10 == 0 && Q();
1452
+ }, 1e3)), e.on("meeting:hostChanged", Ke), e.on("meeting:dissolved", Je), e.on("meeting:kicked", Ye), ie.value && (me = new ResizeObserver(() => Oe()), me.observe(ie.value)), window.addEventListener("resize", Oe), m(Oe));
1453
+ }), b(() => {
1454
+ J && clearInterval(J), z && clearTimeout(z), me &&= (me.disconnect(), null), window.removeEventListener("resize", Oe);
1455
+ let e = Y();
1456
+ e?.off?.("meeting:hostChanged", Ke), e?.off?.("meeting:dissolved", Je), e?.off?.("meeting:kicked", Ye);
1457
+ }), (t, s) => (x(), a(e, null, [
1458
+ M((x(), a("div", {
885
1459
  id: "meetingWindow",
886
1460
  class: "meeting-window",
887
- style: p({ height: n.height || "80vh" })
1461
+ style: _({ height: n.height || "80vh" })
888
1462
  }, [
889
- c(ue, {
1463
+ l(qe, {
890
1464
  title: n.title,
891
- duration: Pe(N.value),
892
- onClose: we,
893
- onMinimize: s[0] ||= (e) => te.value = !0
894
- }, null, 8, ["title", "duration"]),
895
- O.value.length ? (_(), a("div", nt, b(O.value.join("; ")), 1)) : i("", !0),
896
- k.value ? (_(), a("div", rt, b(k.value), 1)) : i("", !0),
1465
+ duration: Xe(B.value),
1466
+ "grid-mode": re.value,
1467
+ onToggleGrid: s[0] ||= (e) => re.value = !re.value,
1468
+ onClose: Ie,
1469
+ onMinimize: s[1] ||= (e) => G.value = !0
1470
+ }, null, 8, [
1471
+ "title",
1472
+ "duration",
1473
+ "grid-mode"
1474
+ ]),
1475
+ I.value.length ? (x(), a("div", yn, E(I.value.join("; ")), 1)) : i("", !0),
1476
+ R.value ? (x(), a("div", bn, E(R.value), 1)) : i("", !0),
897
1477
  o("div", {
898
1478
  ref_key: "contentEl",
899
- ref: R,
1479
+ ref: ie,
900
1480
  class: "content"
901
1481
  }, [o("div", {
902
1482
  ref_key: "mainVideoWrap",
903
- ref: ne
904
- }, [q.value ? (_(), r(ve, {
1483
+ ref: ae
1484
+ }, [Z.value ? (x(), r(rt, {
905
1485
  key: 0,
906
1486
  ref_key: "mainVideoRef",
907
- ref: z,
908
- identity: q.value.identity,
909
- name: q.value.name,
910
- muted: q.value.muted,
911
- speaking: q.value.speaking,
912
- "is-host": q.value.isHost,
913
- "is-self": q.value.identity === (K()?.identity || ""),
914
- "on-video-el-ready": ge
1487
+ ref: le,
1488
+ identity: Z.value.identity,
1489
+ name: Z.value.name,
1490
+ muted: Z.value.muted,
1491
+ "camera-on": Z.value.cameraOn,
1492
+ speaking: Z.value.speaking,
1493
+ "is-host": Z.value.isHost,
1494
+ "is-self": Z.value.identity === (X()?.identity || ""),
1495
+ "mic-unavailable": P.value,
1496
+ "on-video-el-ready": Te
915
1497
  }, null, 8, [
916
1498
  "identity",
917
1499
  "name",
918
1500
  "muted",
1501
+ "camera-on",
919
1502
  "speaking",
920
1503
  "is-host",
921
- "is-self"
1504
+ "is-self",
1505
+ "mic-unavailable"
922
1506
  ])) : i("", !0)], 512), o("aside", {
923
1507
  ref_key: "sidebarEl",
924
- ref: re,
1508
+ ref: oe,
925
1509
  class: "sidebar"
926
1510
  }, [
927
1511
  o("div", {
928
1512
  ref_key: "tabBarWrap",
929
- ref: ie
930
- }, [c(Ge, {
931
- "active-tab": F.value,
932
- "onUpdate:activeTab": s[1] ||= (e) => F.value = e,
933
- onAddMember: s[2] ||= (e) => u("addMember")
934
- }, null, 8, ["active-tab"])], 512),
935
- T(c(Ee, {
1513
+ ref: se
1514
+ }, [l(Ft, {
1515
+ "active-tab": H.value,
1516
+ "onUpdate:activeTab": s[2] ||= (e) => H.value = e,
1517
+ "is-host": he.value,
1518
+ onAddMember: Ge
1519
+ }, null, 8, ["active-tab", "is-host"])], 512),
1520
+ M(l(gt, {
936
1521
  ref_key: "videoListPanelRef",
937
- ref: ae,
938
- members: de.value,
939
- "on-tile-mount": _e
940
- }, null, 8, ["members"]), [[C, F.value === "video"]]),
941
- T(c(Ue, {
942
- members: me.value,
943
- "can-promote": J.value,
944
- "can-kick": J.value,
945
- "can-reinvite": J.value,
946
- onTransferHost: s[3] ||= (e) => ke(e),
947
- onKick: s[4] ||= (e) => Oe(e),
948
- onReinvite: s[5] ||= (e) => Ae(e)
1522
+ ref: ce,
1523
+ members: ve.value,
1524
+ "self-identity": X()?.identity || "",
1525
+ "self-mic-unavailable": P.value,
1526
+ "on-tile-mount": Ee
1527
+ }, null, 8, [
1528
+ "members",
1529
+ "self-identity",
1530
+ "self-mic-unavailable"
1531
+ ]), [[A, H.value === "video"]]),
1532
+ M(l(Nt, {
1533
+ members: Ce.value,
1534
+ "can-promote": he.value,
1535
+ "can-kick": he.value,
1536
+ "can-reinvite": he.value,
1537
+ "self-identity": X()?.identity || "",
1538
+ "self-mic-unavailable": P.value,
1539
+ "self-camera-unavailable": F.value,
1540
+ onTransferHost: s[3] ||= (e) => Be(e),
1541
+ onKick: s[4] ||= (e) => ze(e),
1542
+ onReinvite: s[5] ||= (e) => Ve(e)
949
1543
  }, null, 8, [
950
1544
  "members",
951
1545
  "can-promote",
952
1546
  "can-kick",
953
- "can-reinvite"
954
- ]), [[C, F.value === "member"]])
1547
+ "can-reinvite",
1548
+ "self-identity",
1549
+ "self-mic-unavailable",
1550
+ "self-camera-unavailable"
1551
+ ]), [[A, H.value === "member"]])
955
1552
  ], 512)], 512),
956
- o("div", it, [
957
- D.value ? (_(), a("button", {
958
- key: 0,
959
- class: f(["ctrl-btn", { off: !m.value }]),
960
- type: "button",
961
- title: m.value ? "麦克风已开" : "麦克风已关",
962
- onClick: be
963
- }, [c(M, {
964
- name: m.value ? "mic-on" : "mic-off",
965
- size: 22
966
- }, null, 8, ["name"])], 10, at)) : i("", !0),
967
- E.value ? (_(), a("button", {
968
- key: 1,
969
- class: f(["ctrl-btn", { off: !y.value }]),
970
- type: "button",
971
- title: y.value ? "摄像头已开" : "摄像头已关",
972
- onClick: xe
973
- }, [c(M, {
974
- name: y.value ? "camera-on" : "camera-off",
975
- size: 22
976
- }, null, 8, ["name"])], 10, ot)) : i("", !0),
977
- o("button", {
978
- class: f(["ctrl-btn", { off: S.value }]),
979
- type: "button",
980
- title: S.value ? "扬声器已关" : "扬声器已开",
981
- onClick: Se
982
- }, [c(M, {
983
- name: S.value ? "sound-off" : "sound-on",
984
- size: 22
985
- }, null, 8, ["name"])], 10, st),
986
- o("button", {
987
- class: "ctrl-btn hangup",
988
- type: "button",
989
- title: "离开会议",
990
- onClick: we
991
- }, [c(M, {
992
- name: "hangup",
993
- size: 22
994
- })])
995
- ])
996
- ], 4)), [[C, !te.value && !P.value], [x(A), ".meeting-header"]]),
997
- Z.value ? (_(), r(Xe, {
998
- key: 0,
1553
+ o("div", xn, [l(Bt, {
1554
+ "mic-enabled": v.value,
1555
+ "camera-enabled": S.value,
1556
+ "speaker-muted": k.value,
1557
+ "mic-unavailable": P.value,
1558
+ "camera-unavailable": F.value,
1559
+ onToggleMic: ke,
1560
+ onToggleCamera: Ae,
1561
+ onToggleSpeaker: je,
1562
+ onHangup: Ie
1563
+ }, null, 8, [
1564
+ "mic-enabled",
1565
+ "camera-enabled",
1566
+ "speaker-muted",
1567
+ "mic-unavailable",
1568
+ "camera-unavailable"
1569
+ ])])
1570
+ ], 4)), [[A, !G.value && !V.value], [D(fe), ".meeting-header"]]),
1571
+ re.value && !V.value ? (x(), a("div", Sn, [l(qe, {
1572
+ title: n.title,
1573
+ duration: Xe(B.value),
1574
+ "grid-mode": !0,
1575
+ onToggleGrid: s[6] ||= (e) => re.value = !1,
1576
+ onClose: Ie
1577
+ }, {
1578
+ center: j(() => [l(Bt, {
1579
+ "mic-enabled": v.value,
1580
+ "camera-enabled": S.value,
1581
+ "speaker-muted": k.value,
1582
+ "mic-unavailable": P.value,
1583
+ "camera-unavailable": F.value,
1584
+ onToggleMic: ke,
1585
+ onToggleCamera: Ae,
1586
+ onToggleSpeaker: je,
1587
+ onHangup: Ie
1588
+ }, null, 8, [
1589
+ "mic-enabled",
1590
+ "camera-enabled",
1591
+ "speaker-muted",
1592
+ "mic-unavailable",
1593
+ "camera-unavailable"
1594
+ ])]),
1595
+ _: 1
1596
+ }, 8, ["title", "duration"]), o("div", Cn, [o("div", wn, [(x(!0), a(e, null, w(ye.value, (e) => (x(), r(ht, {
1597
+ key: e.identity,
1598
+ identity: e.identity,
1599
+ name: e.name,
1600
+ muted: e.muted,
1601
+ "camera-on": e.joined && e.cameraOn,
1602
+ speaking: e.speaking,
1603
+ "is-host": e.isHost,
1604
+ "is-self": e.identity === (X()?.identity || ""),
1605
+ "host-badge-top": !0,
1606
+ "mic-unavailable": P.value,
1607
+ "on-video-el-ready": be
1608
+ }, null, 8, [
1609
+ "identity",
1610
+ "name",
1611
+ "muted",
1612
+ "camera-on",
1613
+ "speaking",
1614
+ "is-host",
1615
+ "is-self",
1616
+ "mic-unavailable"
1617
+ ]))), 128))])])])) : i("", !0),
1618
+ Me.value ? (x(), r(Gt, {
1619
+ key: 1,
999
1620
  title: "解散会议",
1000
1621
  message: "会议中还有其他成员,确认要解散会议吗?所有成员将被强制离会。",
1001
1622
  "confirm-text": "解散会议",
1002
1623
  "cancel-text": "取消",
1003
1624
  danger: !0,
1004
- onConfirm: Te,
1005
- onCancel: De
1625
+ onConfirm: Le,
1626
+ onCancel: Re
1006
1627
  })) : i("", !0),
1007
- P.value ? (_(), r(tt, {
1008
- key: 1,
1009
- reason: P.value,
1628
+ p.value ? T(t.$slots, "invite-panel", {
1629
+ key: 2,
1630
+ members: U.value,
1631
+ excludeUids: g.value,
1632
+ invite: Ue,
1633
+ close: () => p.value = !1
1634
+ }, void 0, !0) : i("", !0),
1635
+ V.value ? (x(), r(Xt, {
1636
+ key: 3,
1637
+ reason: V.value,
1010
1638
  duration: 5,
1011
- onClose: s[6] ||= (e) => u("close")
1639
+ onClose: s[7] ||= (e) => u("close")
1012
1640
  }, null, 8, ["reason"])) : i("", !0),
1013
- te.value && !P.value ? T((_(), a("div", ct, [o("div", lt, [
1014
- le.value ? (_(), a("span", ut, [...s[8] ||= [
1641
+ G.value && !V.value ? M((x(), a("div", Tn, [o("div", En, [
1642
+ _e.value ? (x(), a("span", Dn, [...s[9] ||= [
1015
1643
  o("span", { class: "wave-bar" }, null, -1),
1016
1644
  o("span", { class: "wave-bar" }, null, -1),
1017
1645
  o("span", { class: "wave-bar" }, null, -1)
1018
1646
  ]])) : i("", !0),
1019
- o("span", { class: f(["mini-main-text", { speaking: !!le.value }]) }, b(le.value || n.title), 3),
1020
- o("span", dt, b(Pe(N.value)), 1)
1021
- ]), o("div", ft, [o("button", {
1647
+ o("span", { class: h(["mini-main-text", { speaking: !!_e.value }]) }, E(_e.value || n.title), 3),
1648
+ o("span", On, E(Xe(B.value)), 1)
1649
+ ]), o("div", kn, [o("button", {
1022
1650
  class: "mini-btn",
1023
1651
  type: "button",
1024
1652
  "aria-label": "还原窗口",
1025
1653
  title: "还原窗口",
1026
- innerHTML: x(oe),
1027
- onClick: s[7] ||= (e) => te.value = !1
1028
- }, null, 8, pt), o("button", {
1654
+ innerHTML: D(Pe),
1655
+ onClick: s[8] ||= (e) => G.value = !1
1656
+ }, null, 8, An), o("button", {
1029
1657
  class: "mini-btn mini-close",
1030
1658
  type: "button",
1031
1659
  "aria-label": "离开会议",
1032
1660
  title: "离开会议",
1033
- innerHTML: x(se),
1034
- onClick: we
1035
- }, null, 8, mt)])])), [[x(A), ".mini-bar-body"]]) : i("", !0)
1661
+ innerHTML: D(Fe),
1662
+ onClick: Ie
1663
+ }, null, 8, jn)])])), [[D(fe), ".mini-bar-body"]]) : i("", !0)
1036
1664
  ], 64));
1037
1665
  }
1038
- }), [["__scopeId", "data-v-6c7c916e"]]), gt = "data:audio/mpeg;base64,SUQzBAAAAAAiNlRDT04AAAAHAAADQmx1ZXMAUFJJVgAAIXQAAFhNUAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0MyA3OS4xNjEyMTAsIDIwMTcvMDgvMTEtMTA6Mjg6MzYgICAgICAgICI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICB4bWxuczp4bXBETT0iaHR0cDovL25zLmFkb2JlLmNvbS94bXAvMS4wL0R5bmFtaWNNZWRpYS8iCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgeG1wOkNyZWF0b3JUb29sPSJGaWxlIGNyZWF0ZWQgYnkgR29sZFdhdmUuICBHb2xkV2F2ZSBjb3B5cmlnaHQgKEMpIENocmlzIENyYWlnIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTExLTAxVDE5OjI1OjUyKzA4OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0xMS0wMVQxOToyNTo1MiswODowMCIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZWVkZmVjZDItMTU2My1iZjQ1LTk0MWUtNzliYzM4Y2ZlNDhhIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICBkYzpmb3JtYXQ9ImF1ZGlvL21wZWciPgogICA8eG1wRE06VHJhY2tzPgogICAgPHJkZjpCYWc+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkN1ZVBvaW50IE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iQ3VlIgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICAgPHJkZjpsaQogICAgICB4bXBETTp0cmFja05hbWU9IkNEIFRyYWNrIE1hcmtlcnMiCiAgICAgIHhtcERNOnRyYWNrVHlwZT0iVHJhY2siCiAgICAgIHhtcERNOmZyYW1lUmF0ZT0iZjgwMDAiLz4KICAgICA8cmRmOmxpCiAgICAgIHhtcERNOnRyYWNrTmFtZT0iU3ViY2xpcCBNYXJrZXJzIgogICAgICB4bXBETTp0cmFja1R5cGU9IkluT3V0IgogICAgICB4bXBETTpmcmFtZVJhdGU9ImY4MDAwIi8+CiAgICA8L3JkZjpCYWc+CiAgIDwveG1wRE06VHJhY2tzPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii9tZXRhZGF0YSIvPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplZWRmZWNkMi0xNTYzLWJmNDUtOTQxZS03OWJjMzhjZmU0OGEiCiAgICAgIHN0RXZ0OndoZW49IjIwMTctMTEtMDFUMTk6MjU6NTIrMDg6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIEF1ZGl0aW9uIENDIDIwMTguMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8eG1wTU06RGVyaXZlZEZyb20KICAgIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIgogICAgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2YjYyYjlkYS05OGY0LTc2NGQtYTYwYi0yZmU4YWRhNmQyNjEiCiAgICBzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NmI2MmI5ZGEtOThmNC03NjRkLWE2MGItMmZlOGFkYTZkMjYxIi8+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4AVFNTRQAAABMAAANVUFlVTiBUcmFuc2NvZGluZwAAAAAAAAAAAAAA/+PIwAAAAAAAAAAAAEluZm8AAAAPAAAAKwAAZUAAEREWFhwcIiIiJyctLTMzMzg4Pj5ERERJSU9PVVVVW1tgYGZmZmxscXF3d3d9fYKCiIiIjo6T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AExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+OIxAAAAANIAAAAAExBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuMTAwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq", _t = { class: "im-incoming-ring" }, vt = ["src"], yt = { class: "im-ring-content" }, bt = { class: "im-ring-avatar" }, xt = { class: "im-ring-info" }, St = { class: "im-ring-name" }, Ct = { class: "im-ring-type" }, wt = /*#__PURE__*/ z(/* @__PURE__ */ l({
1039
- __name: "IncomingRing",
1040
- props: {
1041
- invite: {},
1042
- onClose: { type: Function }
1043
- },
1044
- emits: ["close", "accepted"],
1045
- setup(e, { emit: t }) {
1046
- let n = e, r = t, i = v(null);
1047
- function s() {
1048
- return window.__imClient;
1049
- }
1050
- function l() {
1051
- i.value && (i.value.currentTime = 0, i.value.play().catch(() => {}));
1052
- }
1053
- function u() {
1054
- i.value && (i.value.pause(), i.value.currentTime = 0);
1055
- }
1056
- let d = null;
1057
- h(() => {
1058
- l();
1059
- let e = s();
1060
- e && (d = e.on("call:cancelled", () => {
1061
- u(), r("close");
1062
- }));
1063
- }), m(() => {
1064
- u(), d && d();
1065
- });
1066
- async function f() {
1067
- u();
1068
- let e = s();
1069
- try {
1070
- let t = await e?.call?.accept(n.invite.callId, n.invite.callType);
1071
- r("accepted", t), r("close");
1072
- } catch (e) {
1073
- let t = String(e?.message || e || "");
1074
- t.includes("conflict") || t.includes("entered elsewhere") ? alert("已在其他设备接听,本端通话已关闭") : alert("网络异常,请稍后重试"), r("close");
1075
- }
1076
- }
1077
- async function p() {
1078
- u(), await s()?.call?.end("rejected", n.invite.callId), r("close");
1079
- }
1080
- return (t, n) => (_(), a("div", _t, [o("audio", {
1081
- ref_key: "ringAudio",
1082
- ref: i,
1083
- src: x(gt),
1084
- loop: "",
1085
- preload: "auto"
1086
- }, null, 8, vt), o("div", yt, [
1087
- o("div", bt, [c(M, {
1088
- name: "answer",
1089
- size: 24,
1090
- color: "#fff"
1091
- })]),
1092
- o("div", xt, [o("div", St, b(e.invite.from), 1), o("div", Ct, b(e.invite.callType === "video" ? "视频通话" : "语音通话"), 1)]),
1093
- o("div", { class: "im-ring-actions" }, [o("button", {
1094
- class: "im-reject",
1095
- onClick: p
1096
- }, "拒接"), o("button", {
1097
- class: "im-accept",
1098
- onClick: f
1099
- }, "接听")])
1100
- ])]));
1101
- }
1102
- }), [["__scopeId", "data-v-01eb49f1"]]), Tt = { class: "invite-dialog" }, Et = { class: "dialog-title" }, Dt = { class: "meeting-info" }, Ot = { class: "info-value" }, kt = { class: "dialog-actions" }, At = /*#__PURE__*/ z(/* @__PURE__ */ l({
1666
+ }), [["__scopeId", "data-v-84cb476e"]]), Nn = { class: "invite-dialog" }, Pn = { class: "dialog-title" }, Fn = { class: "meeting-info" }, In = { class: "info-value" }, Ln = { class: "dialog-actions" }, Rn = /*#__PURE__*/ H(/* @__PURE__ */ u({
1103
1667
  __name: "MeetingInvite",
1104
1668
  props: {
1105
1669
  invite: {},
@@ -1109,39 +1673,47 @@ var A = {
1109
1673
  },
1110
1674
  emits: ["close", "accepted"],
1111
1675
  setup(e, { emit: n }) {
1112
- let r = e, i = n, s = v(!1), c = null, l = t(() => {
1113
- let e = r.fromName || r.invite.from, t = r.invite.variant;
1676
+ let r = e, i = n, s = C(!1), c = null, l = C("");
1677
+ ee(() => r.invite.from, async (e) => {
1678
+ if (l.value = "", r.fromName || !e) return;
1679
+ let t = m()?.users;
1680
+ if (!t?.resolve) return;
1681
+ let n = await t.resolve(e).catch(() => void 0);
1682
+ n?.name && (l.value = n.name);
1683
+ }, { immediate: !0 });
1684
+ let u = t(() => r.fromName || l.value || r.invite.from), d = t(() => {
1685
+ let e = u.value, t = r.invite.variant;
1114
1686
  return t === "rejoin" ? "重新加入会议" : t === "reinvite" ? `${e} 再次邀请您入会` : `${e}邀请您入会`;
1115
1687
  });
1116
- function u() {
1688
+ function f() {
1117
1689
  c && (c.muted = s.value, c.currentTime = 0, c.play().catch((e) => {
1118
1690
  console.warn("[im] 邀请响铃播放失败(可能是 autoplay 策略)", e);
1119
1691
  }));
1120
1692
  }
1121
- function d() {
1693
+ function p() {
1122
1694
  s.value = !s.value, c && (c.muted = s.value, s.value || c.play().catch(() => {}));
1123
1695
  }
1124
- function f() {
1696
+ function m() {
1125
1697
  return window.__imClient;
1126
1698
  }
1127
- function p(e) {
1699
+ function h(e) {
1128
1700
  let t = String(e?.message || e || "");
1129
1701
  return t.includes("meeting_ended") || t.includes("meeting_not_found") ? "会议已结束" : t.includes("invite_status_invalid") ? "邀请已失效" : t.includes("not_invited") ? "您未被邀请到该会议" : t.includes("kicked") ? "您已被移出该会议" : t.includes("conflict") || t.includes("entered elsewhere") ? "已在其他设备进入,本端邀请已失效" : t.includes("busy") || t.includes("pending") ? "对方正忙,请稍后再试" : "网络异常,请稍后重试";
1130
1702
  }
1131
1703
  async function g() {
1132
- let e = f();
1704
+ let e = m();
1133
1705
  if (e) {
1134
1706
  r.conflict && (e.call?.currentSession ? await e.call.end("user_left").catch(() => {}) : e.meeting?.currentSession && await e.meeting.leave().catch(() => {}));
1135
1707
  try {
1136
1708
  let t = await e.meeting.respond(r.invite.meetingId, "accept", r.invite.title);
1137
1709
  t && i("accepted", t), i("close");
1138
1710
  } catch (e) {
1139
- console.error("[im] 会议接听失败", e), alert(p(e)), i("close");
1711
+ console.error("[im] 会议接听失败", e), alert(h(e)), i("close");
1140
1712
  }
1141
1713
  }
1142
1714
  }
1143
- async function y() {
1144
- let e = f();
1715
+ async function _() {
1716
+ let e = m();
1145
1717
  try {
1146
1718
  await e?.meeting?.respond(r.invite.meetingId, "reject");
1147
1719
  } catch (e) {
@@ -1149,289 +1721,484 @@ var A = {
1149
1721
  }
1150
1722
  i("close");
1151
1723
  }
1152
- return h(() => {
1153
- c = new Audio(gt), c.loop = !0, c.preload = "auto", u();
1154
- }), m(() => {
1724
+ return y(() => {
1725
+ c = new Audio(Ce), c.loop = !0, c.preload = "auto", f();
1726
+ }), v(() => {
1155
1727
  c &&= (c.pause(), null);
1156
- }), (t, n) => (_(), a("div", Tt, [
1157
- o("div", Et, b(l.value), 1),
1158
- o("div", Dt, [n[0] ||= o("span", { class: "info-label" }, "会议名:", -1), o("span", Ot, b(e.invite.title), 1)]),
1159
- o("div", kt, [
1728
+ }), (t, n) => (x(), a("div", Nn, [
1729
+ o("div", Pn, E(d.value), 1),
1730
+ o("div", Fn, [n[0] ||= o("span", { class: "info-label" }, "会议名:", -1), o("span", In, E(e.invite.title), 1)]),
1731
+ o("div", Ln, [
1160
1732
  o("button", {
1161
1733
  class: "btn btn-ghost",
1162
1734
  type: "button",
1163
- onClick: d
1164
- }, b(s.value ? "恢复响铃" : "关闭响铃"), 1),
1735
+ onClick: p
1736
+ }, E(s.value ? "恢复响铃" : "关闭响铃"), 1),
1165
1737
  o("button", {
1166
1738
  class: "btn btn-secondary",
1167
1739
  type: "button",
1168
- onClick: y
1740
+ onClick: _
1169
1741
  }, "拒绝"),
1170
1742
  o("button", {
1171
1743
  class: "btn btn-primary",
1172
1744
  type: "button",
1173
1745
  onClick: g
1174
- }, b(e.conflict ? "切换" : "加入"), 1)
1746
+ }, E(e.conflict ? "切换" : "加入"), 1)
1175
1747
  ])
1176
1748
  ]));
1177
1749
  }
1178
- }), [["__scopeId", "data-v-83a5ab73"]]), jt = { class: "im-chat-panel" }, Mt = { class: "im-chat-header" }, Nt = {
1750
+ }), [["__scopeId", "data-v-2c31113b"]]), zn = { class: "im-create-dialog" }, Bn = { class: "im-create-row" }, Vn = { class: "im-create-row im-create-row-list" }, Hn = { class: "im-create-footer" }, Un = ["disabled"], Wn = /*#__PURE__*/ H(/* @__PURE__ */ u({
1751
+ __name: "MeetingCreateDialog",
1752
+ props: {
1753
+ myUid: {},
1754
+ loader: { type: Function },
1755
+ defaultTitle: {},
1756
+ onClose: { type: Function }
1757
+ },
1758
+ emits: [
1759
+ "confirm",
1760
+ "cancel",
1761
+ "close"
1762
+ ],
1763
+ setup(e, { emit: n }) {
1764
+ let r = e, i = n, c = O(), u = C(r.defaultTitle || ""), d = C([]), p = C([]), m = C(!0), h = t(() => u.value.trim()), _ = t(() => h.value.length > 0 && p.value.length > 0);
1765
+ function v() {
1766
+ return z();
1767
+ }
1768
+ async function b() {
1769
+ let e = v();
1770
+ if (!e?.users) return [];
1771
+ let t = await e.users.list(), n = await e.users.resolve(e.uid).catch(() => void 0), i = /* @__PURE__ */ new Set();
1772
+ return n && i.add(n.externalId), r.myUid && i.add(r.myUid), t.filter((e) => !i.has(e.externalId)).map((e) => ({
1773
+ uid: e.externalId,
1774
+ name: e.name,
1775
+ dept: e.deptName || void 0
1776
+ }));
1777
+ }
1778
+ y(async () => {
1779
+ try {
1780
+ d.value = r.loader ? await r.loader() : await b();
1781
+ } catch (e) {
1782
+ console.warn("[im] 选人列表加载失败", e), d.value = [];
1783
+ } finally {
1784
+ m.value = !1;
1785
+ }
1786
+ });
1787
+ function S() {
1788
+ if (!_.value) return;
1789
+ let e = h.value;
1790
+ i("confirm", [...p.value], e.endsWith("会议") ? e : `${e}会议`), i("close");
1791
+ }
1792
+ function w() {
1793
+ i("cancel"), i("close");
1794
+ }
1795
+ return (e, t) => (x(), a("div", {
1796
+ class: "im-create-mask",
1797
+ onClick: N(w, ["self"])
1798
+ }, [o("div", zn, [
1799
+ o("div", { class: "im-create-header" }, [t[2] ||= o("h2", { class: "im-create-title" }, "发起会议", -1), o("button", {
1800
+ class: "im-create-close",
1801
+ type: "button",
1802
+ "aria-label": "关闭",
1803
+ onClick: w
1804
+ }, "✕")]),
1805
+ o("div", Bn, [t[3] ||= o("label", { class: "im-create-label" }, "会议名称", -1), M(o("input", {
1806
+ "onUpdate:modelValue": t[0] ||= (e) => u.value = e,
1807
+ class: "im-create-input",
1808
+ type: "text",
1809
+ placeholder: "请输入会议名称",
1810
+ maxlength: "40"
1811
+ }, null, 512), [[k, u.value]])]),
1812
+ o("div", Vn, [l(dn, {
1813
+ selected: p.value,
1814
+ "onUpdate:selected": t[1] ||= (e) => p.value = e,
1815
+ users: d.value,
1816
+ loading: m.value,
1817
+ "empty-text": "暂无其他用户"
1818
+ }, s({ _: 2 }, [c["user-item"] ? {
1819
+ name: "user-item",
1820
+ fn: j((t) => [T(e.$slots, "user-item", g(f(t)), void 0, !0)]),
1821
+ key: "0"
1822
+ } : void 0]), 1032, [
1823
+ "selected",
1824
+ "users",
1825
+ "loading"
1826
+ ])]),
1827
+ o("div", Hn, [o("button", {
1828
+ class: "im-create-btn cancel",
1829
+ type: "button",
1830
+ onClick: w
1831
+ }, "取消"), o("button", {
1832
+ class: "im-create-btn confirm",
1833
+ type: "button",
1834
+ disabled: !_.value,
1835
+ onClick: S
1836
+ }, " 发起会议 ", 8, Un)])
1837
+ ])]));
1838
+ }
1839
+ }), [["__scopeId", "data-v-21541f0e"]]), Gn = { class: "im-chat-header" }, Kn = { class: "im-chat-name" }, qn = {
1840
+ key: 0,
1841
+ class: "im-chat-empty"
1842
+ }, Jn = {
1843
+ key: 0,
1844
+ class: "im-chat-time-sep"
1845
+ }, Yn = { class: "im-chat-bubble" }, Xn = {
1179
1846
  key: 0,
1180
1847
  class: "im-chat-revoked"
1181
- }, Pt = { key: 1 }, Ft = { class: "im-chat-input" }, It = /*#__PURE__*/ z(/* @__PURE__ */ l({
1848
+ }, Zn = { key: 1 }, Qn = {
1849
+ key: 2,
1850
+ class: "im-chat-fail"
1851
+ }, $n = { class: "im-chat-meta" }, er = { class: "im-chat-input" }, tr = ["disabled"], nr = {
1852
+ key: 0,
1853
+ class: "im-chat-emoji-picker"
1854
+ }, rr = ["onClick"], ir = /*#__PURE__*/ H(/* @__PURE__ */ u({
1182
1855
  __name: "ChatPanel",
1183
1856
  props: {
1184
1857
  to: {},
1858
+ peerName: {},
1859
+ myUid: {},
1860
+ embedded: { type: Boolean },
1185
1861
  onClose: { type: Function }
1186
1862
  },
1187
1863
  emits: ["close"],
1188
- setup(t, { emit: n }) {
1189
- let r = t, i = n, s = v([]), c = v(""), l = v(""), u = v(0), p = v(null);
1190
- function m() {
1191
- return window.__imClient;
1864
+ setup(n, { emit: r }) {
1865
+ let s = n, c = r, l = C([]), u = C(""), d = C(""), f = C(0), p = C(null), g = C(null), _ = [], b = C(!1), S = /* @__PURE__ */ "😀.😁.😂.🤣.😊.😍.🥰.😘.😎.🤔.😴.😭.😱.🤯.🤗.👍.👎.👏.🙏.💪.🤝.✌️.🤞.❤️.💔.💕.💯.🔥.⭐.🎉.🎁.🚀".split(".");
1866
+ function D() {
1867
+ return z();
1868
+ }
1869
+ let O = C("");
1870
+ ee(() => s.to, async (e) => {
1871
+ if (O.value = "", s.peerName || !e) return;
1872
+ let t = D()?.users;
1873
+ if (!t?.resolve) return;
1874
+ let n = await t.resolve(e).catch(() => void 0);
1875
+ n?.name && (O.value = n.name);
1876
+ }, { immediate: !0 });
1877
+ let A = t(() => s.peerName || O.value || s.to);
1878
+ async function j(e) {
1879
+ try {
1880
+ let t = (await e.transport.usersByExternal([s.to])).users[s.to]?.uid;
1881
+ if (!t) return "";
1882
+ let n = await e.message.listConversations() || [], r = e.uid;
1883
+ return n.find((e) => e.dialogUserA === r && e.dialogUserB === t || e.dialogUserA === t && e.dialogUserB === r)?.id || "";
1884
+ } catch (e) {
1885
+ return console.warn("[im] 解析会话 ID 失败", e), "";
1886
+ }
1192
1887
  }
1193
- h(async () => {
1194
- let e = m();
1195
- e && (e.on("message", (t) => {
1196
- t.conversationId && t.conversationId === l.value && (s.value.push(t), x(), e.message.ack(t.id).catch(() => {}));
1197
- }), e.on("message:revoked", (e) => {
1198
- let t = s.value.find((t) => t.id === e.messageId);
1199
- t && (t.status = "revoked");
1200
- }));
1888
+ let N = C(s.myUid || "");
1889
+ y(async () => {
1890
+ let e = D();
1891
+ if (e) {
1892
+ if (!s.myUid) {
1893
+ let t = await e.users?.resolve(e.uid).catch(() => void 0);
1894
+ t?.externalId && (N.value = t.externalId);
1895
+ }
1896
+ e.message.openDialog(s.to).catch((e) => console.warn("[im] openDialog 失败", e)), d.value = await j(e), d.value && await F(), _.push(e.on("message", (t) => {
1897
+ let n = t;
1898
+ (d.value ? n.conversationId === d.value : n.from === s.to) && (!n.msgId || l.value.some((e) => e.id === n.msgId) || (l.value.push({
1899
+ id: n.msgId,
1900
+ appId: "",
1901
+ conversationId: n.conversationId || d.value,
1902
+ seq: Number(n.seq) || 0,
1903
+ senderId: n.from || "",
1904
+ clientMid: n.msgId,
1905
+ type: n.msgType || "text",
1906
+ body: n.body,
1907
+ status: "sent",
1908
+ createdAt: n.ts || Date.now()
1909
+ }), I(), e.message.ack(n.msgId).catch(() => {})));
1910
+ })), _.push(e.on("message:revoked", (e) => {
1911
+ let t = l.value.find((t) => t.id === e.messageId);
1912
+ t && (t.status = "revoked");
1913
+ }));
1914
+ }
1915
+ }), v(() => {
1916
+ _.forEach((e) => e()), D()?.message?.closeDialog?.(s.to);
1201
1917
  });
1202
- async function g() {
1203
- if (!c.value.trim()) return;
1204
- let e = m(), t = c.value;
1205
- c.value = "";
1918
+ async function te() {
1919
+ let e = u.value.trim();
1920
+ e && (u.value = "", R(), b.value = !1, await P(e));
1921
+ }
1922
+ async function P(e) {
1923
+ let t = D();
1924
+ if (!t || !e) return;
1206
1925
  let n = "temp-" + Date.now();
1207
- s.value.push({
1926
+ l.value.push({
1208
1927
  id: n,
1209
1928
  appId: "",
1210
- conversationId: l.value,
1929
+ conversationId: d.value,
1211
1930
  seq: 0,
1212
- senderId: e.uid,
1931
+ senderId: N.value || t.uid,
1213
1932
  clientMid: n,
1214
1933
  type: "text",
1215
- body: t,
1934
+ body: e,
1216
1935
  status: "sending",
1217
1936
  createdAt: Date.now()
1218
- }), x();
1937
+ }), I();
1219
1938
  try {
1220
- let i = await e.message.send({
1221
- to: r.to,
1939
+ let r = await t.message.send({
1940
+ to: s.to,
1222
1941
  type: "text",
1223
- body: t
1224
- }), a = s.value.find((e) => e.id === n);
1225
- a && (a.id = i.msgId, a.seq = i.seq, a.status = "sent", l.value = l.value || a.conversationId || ""), u.value = i.seq;
1942
+ body: e
1943
+ }), i = l.value.find((e) => e.id === n);
1944
+ i && (i.id = r.msgId, i.seq = r.seq, i.status = "sent"), f.value = r.seq, d.value || (d.value = await j(t), i && (i.conversationId = d.value));
1226
1945
  } catch {
1227
- let e = s.value.find((e) => e.id === n);
1946
+ let e = l.value.find((e) => e.id === n);
1228
1947
  e && (e.status = "failed");
1229
1948
  }
1230
1949
  }
1231
- function x() {
1232
- d(() => {
1950
+ async function F() {
1951
+ let e = D();
1952
+ if (!e || !d.value) return;
1953
+ let t = await e.message.history(d.value, 0, 50);
1954
+ l.value = [...t].sort((e, t) => e.seq - t.seq), t.length > 0 && (f.value = t[t.length - 1].seq, await e.message.markRead(d.value, f.value)), I();
1955
+ }
1956
+ function I() {
1957
+ m(() => {
1233
1958
  p.value && (p.value.scrollTop = p.value.scrollHeight);
1234
1959
  });
1235
1960
  }
1236
- return (n, r) => (_(), a("div", jt, [
1237
- o("div", Mt, [o("span", null, b(t.to), 1), o("button", {
1961
+ function L() {
1962
+ let e = g.value;
1963
+ e && (e.style.height = "auto", e.style.height = Math.min(e.scrollHeight, 96) + "px");
1964
+ }
1965
+ function R() {
1966
+ g.value && (g.value.style.height = "auto");
1967
+ }
1968
+ function ne(e) {
1969
+ e.key === "Enter" && !e.shiftKey && !e.isComposing && (e.preventDefault(), te());
1970
+ }
1971
+ function B(e) {
1972
+ let t = g.value;
1973
+ if (!t) {
1974
+ u.value += e;
1975
+ return;
1976
+ }
1977
+ let n = t.selectionStart ?? u.value.length, r = t.selectionEnd ?? u.value.length;
1978
+ u.value = u.value.slice(0, n) + e + u.value.slice(r), m(() => {
1979
+ t.focus();
1980
+ let r = n + e.length;
1981
+ t.setSelectionRange(r, r), L();
1982
+ });
1983
+ }
1984
+ let V = t(() => [...l.value].sort((e, t) => e.seq - t.seq)), H = t(() => {
1985
+ let e = [], t = V.value, n = 0;
1986
+ for (let r of t) (r.createdAt - n > 3e5 || n === 0) && e.push({
1987
+ type: "time",
1988
+ ts: r.createdAt,
1989
+ key: `t-${r.id}`
1990
+ }), e.push({
1991
+ type: "msg",
1992
+ msg: r,
1993
+ key: r.id
1994
+ }), n = r.createdAt;
1995
+ return e;
1996
+ });
1997
+ function U(e) {
1998
+ let t = new Date(e);
1999
+ return `${t.getHours().toString().padStart(2, "0")}:${t.getMinutes().toString().padStart(2, "0")}`;
2000
+ }
2001
+ function W(e) {
2002
+ let t = new Date(e), n = /* @__PURE__ */ new Date(), r = U(e);
2003
+ if (t.toDateString() === n.toDateString()) return r;
2004
+ let i = new Date(n);
2005
+ return i.setDate(n.getDate() - 1), t.toDateString() === i.toDateString() ? `昨天 ${r}` : `${t.getMonth() + 1}月${t.getDate()}日 ${r}`;
2006
+ }
2007
+ function G(e) {
2008
+ let t = N.value;
2009
+ return !!t && e.senderId === t;
2010
+ }
2011
+ return (t, r) => (x(), a("div", { class: h(["im-chat-panel", { "im-chat-panel--embedded": n.embedded }]) }, [
2012
+ o("div", Gn, [o("span", Kn, E(A.value), 1), n.embedded ? i("", !0) : (x(), a("button", {
2013
+ key: 0,
1238
2014
  class: "im-chat-close",
1239
- onClick: r[0] ||= (e) => i("close")
1240
- }, "×")]),
2015
+ onClick: r[0] ||= (e) => c("close")
2016
+ }, "×"))]),
1241
2017
  o("div", {
1242
2018
  ref_key: "listEl",
1243
2019
  ref: p,
1244
2020
  class: "im-chat-messages"
1245
- }, [(_(!0), a(e, null, y(s.value, (e) => (_(), a("div", {
1246
- key: e.id,
1247
- class: f(["im-chat-msg", e.senderId === m()?.uid ? "mine" : "theirs"])
1248
- }, [e.status === "revoked" ? (_(), a("span", Nt, "[已撤回]")) : (_(), a("span", Pt, b(e.body), 1))], 2))), 128))], 512),
1249
- o("div", Ft, [T(o("input", {
1250
- "onUpdate:modelValue": r[1] ||= (e) => c.value = e,
1251
- onKeyup: E(g, ["enter"]),
1252
- placeholder: "输入消息..."
1253
- }, null, 544), [[S, c.value]]), o("button", { onClick: g }, "发送")])
1254
- ]));
2021
+ }, [V.value.length === 0 ? (x(), a("div", qn, "还没有消息,发个招呼吧 👋")) : i("", !0), (x(!0), a(e, null, w(H.value, (n) => (x(), a(e, { key: n.key }, [n.type === "time" ? (x(), a("div", Jn, E(W(n.ts)), 1)) : (x(), a("div", {
2022
+ key: 1,
2023
+ class: h(["im-chat-msg", G(n.msg) ? "mine" : "theirs"])
2024
+ }, [T(t.$slots, "message", {
2025
+ message: n.msg,
2026
+ mine: G(n.msg)
2027
+ }, () => [o("div", Yn, [n.msg.status === "revoked" ? (x(), a("span", Xn, "[已撤回]")) : (x(), a("span", Zn, E(n.msg.body), 1)), n.msg.status === "failed" ? (x(), a("span", Qn, "!发送失败")) : i("", !0)])], !0), o("div", $n, E(U(n.msg.createdAt)), 1)], 2))], 64))), 128))], 512),
2028
+ T(t.$slots, "input", { send: P }, () => [o("div", er, [
2029
+ o("button", {
2030
+ class: "im-chat-emoji-btn",
2031
+ title: "表情",
2032
+ onClick: r[1] ||= (e) => b.value = !b.value
2033
+ }, " 😊 "),
2034
+ M(o("textarea", {
2035
+ ref_key: "textareaEl",
2036
+ ref: g,
2037
+ "onUpdate:modelValue": r[2] ||= (e) => u.value = e,
2038
+ rows: "1",
2039
+ placeholder: "输入消息,Enter 发送,Shift+Enter 换行",
2040
+ onKeydown: ne,
2041
+ onInput: L
2042
+ }, null, 544), [[k, u.value]]),
2043
+ o("button", {
2044
+ disabled: !u.value.trim(),
2045
+ onClick: te
2046
+ }, "发送", 8, tr),
2047
+ b.value ? (x(), a("div", nr, [(x(), a(e, null, w(S, (e) => o("button", {
2048
+ key: e,
2049
+ class: "im-chat-emoji-item",
2050
+ onClick: (t) => B(e)
2051
+ }, E(e), 9, rr)), 64))])) : i("", !0)
2052
+ ])], !0)
2053
+ ], 2));
1255
2054
  }
1256
- }), [["__scopeId", "data-v-63375049"]]), Q, Lt, $ = /* @__PURE__ */ new Map();
1257
- function Rt(e, t, r) {
1258
- let i = document.createElement("div");
1259
- (r || document.body).appendChild(i);
1260
- let a = n({ render: () => u(e, {
1261
- ...t,
1262
- onClose: () => {
1263
- e === At && t.invite?.meetingId && $.delete(t.invite.meetingId), a.unmount(), i.remove();
1264
- }
1265
- }) });
1266
- return a.config = Lt.config, a.mount(i), {
1267
- subApp: a,
1268
- div: i
1269
- };
2055
+ }), [["__scopeId", "data-v-91f8ce15"]]), $, ar, or = /* @__PURE__ */ new Map(), sr = !1;
2056
+ function cr() {
2057
+ return sr || !!$.call?.currentSession || !!$.meeting?.currentSession;
2058
+ }
2059
+ function lr() {
2060
+ let e = document.querySelector("div.im-invite-stack");
2061
+ return e || (e = document.createElement("div"), e.className = "im-invite-stack", e.style.position = "fixed", e.style.top = "24px", e.style.right = "24px", e.style.zIndex = "10000", e.style.display = "flex", e.style.flexDirection = "column", e.style.gap = "12px", e.style.pointerEvents = "none", document.body.appendChild(e), e);
2062
+ }
2063
+ async function ur(e) {
2064
+ let t = $.users;
2065
+ if (t?.resolve) {
2066
+ let n = await t.resolve(e).catch(() => void 0);
2067
+ if (n?.name) return n.name;
2068
+ }
2069
+ return e;
1270
2070
  }
1271
- function zt(e, t) {
1272
- Q = e, Lt = t, globalThis.__imClient = e, Q.on("call:invite", (e) => {
1273
- if (Q.sessionState !== "idle") {
1274
- Q.call.end("busy").catch(() => {});
2071
+ function dr(e, t, n) {
2072
+ $ = e, ar = n, I(t), ne(e), n?.autoPopups !== !1 && ($.on("call:invite", (e) => {
2073
+ if (cr()) {
2074
+ $.transport.callEnd(e.callId, "busy").catch(() => {});
1275
2075
  return;
1276
2076
  }
1277
- Rt(wt, { invite: e });
1278
- }), Q.on("meeting:invite", async (e) => {
2077
+ sr = !0, L(Ae, {
2078
+ mode: "incoming",
2079
+ peerUid: e.from,
2080
+ callType: e.callType,
2081
+ callId: e.callId,
2082
+ onAccepted: (e) => {
2083
+ L(xe, {
2084
+ mode: "callee",
2085
+ callType: e.callType
2086
+ });
2087
+ },
2088
+ onClose: () => {
2089
+ sr = !1;
2090
+ }
2091
+ });
2092
+ }), $.on("meeting:invite", async (e) => {
2093
+ if ($.meeting?.currentSession) return;
1279
2094
  try {
1280
- if (!((await Q.transport.meetingPendingInvites()).invites || []).some((t) => t.meetingId === e.meetingId)) {
2095
+ if (!((await $.transport.meetingPendingInvites()).invites || []).some((t) => t.meetingId === e.meetingId)) {
1281
2096
  console.warn("[im-ui] stale meeting_invite 丢弃(会议已结束)", e.meetingId);
1282
2097
  return;
1283
2098
  }
1284
2099
  } catch (e) {
1285
2100
  console.warn("[im-ui] invite 校验失败,默认透传", e);
1286
2101
  }
1287
- let t = $.get(e.meetingId);
1288
- t && (t.subApp.unmount(), t.div.remove(), $.delete(e.meetingId));
1289
- let { subApp: n, div: r } = Rt(At, {
2102
+ R(or.get(e.meetingId) || null), or.delete(e.meetingId);
2103
+ let t = L(Rn, {
1290
2104
  invite: e,
1291
- conflict: Q.sessionState !== "idle"
1292
- });
1293
- $.set(e.meetingId, {
1294
- subApp: n,
1295
- div: r
1296
- });
1297
- }), Q.on("meeting:dissolved", (e) => {
1298
- let t = $.get(e.meetingId);
1299
- t && (t.subApp.unmount(), t.div.remove(), $.delete(e.meetingId));
1300
- }), Q.on("call:busy", () => {}), Q.on("call:no_answer", () => {}), Q.on("session:kicked", (e) => {
2105
+ conflict: cr(),
2106
+ onAccepted: () => {
2107
+ let e = $.meeting?.currentSession;
2108
+ L(Mn, {
2109
+ mode: "participant",
2110
+ title: e?.title || "会议",
2111
+ resolveUser: n?.resolveUser
2112
+ });
2113
+ },
2114
+ onClose: () => {
2115
+ or.delete(e.meetingId);
2116
+ }
2117
+ }, lr());
2118
+ or.set(e.meetingId, t);
2119
+ }), $.on("meeting:dissolved", (e) => {
2120
+ R(or.get(e.meetingId) || null), or.delete(e.meetingId);
2121
+ }), $.on("meeting:kicked", (e) => {
2122
+ R(or.get(e.meetingId) || null), or.delete(e.meetingId);
2123
+ })), $.on("session:kicked", (e) => {
1301
2124
  alert(`您的账号在其他 ${e.clientType === 4 ? "Web" : e.clientType === 1 ? "PC" : "移动端"} 登录,已强制下线`), window.location.reload();
2125
+ }), window.addEventListener("beforeunload", () => {
2126
+ let e = $?.call?.currentSession;
2127
+ e && $.transport.sendBeacon("/call/end", {
2128
+ callId: e.callId,
2129
+ reason: "user_left"
2130
+ });
2131
+ let t = $?.meeting?.currentSession;
2132
+ t && $.transport.sendBeacon(`/meeting/${t.meetingId}/leave`, {});
1302
2133
  });
1303
2134
  }
1304
- var Bt = {
2135
+ var fr = {
1305
2136
  chat(e) {
1306
- Rt(It, { to: e });
2137
+ L(ir, { to: e });
1307
2138
  },
1308
- call(e, t = "video") {
1309
- Rt(B, {
1310
- mode: "caller",
1311
- calleeUid: e,
1312
- callType: t
1313
- }), Q.call.init(e, t).then(() => {}).catch((e) => {
1314
- console.error("[im] call init 失败", e);
1315
- });
1316
- },
1317
- meeting(e) {
1318
- Rt(ht, {
1319
- mode: "host",
1320
- title: e.title || "即时会议"
1321
- }), Q.meeting.create(e.invitees, e.title || "即时会议").catch((e) => {
1322
- console.error("[im] meeting create 失败", e);
2139
+ async call(e, t = "video") {
2140
+ let n = null;
2141
+ try {
2142
+ n = await $.call.init(e, t);
2143
+ } catch (e) {
2144
+ K.error(le(e, "发起通话失败"));
2145
+ return;
2146
+ }
2147
+ sr = !0;
2148
+ let r = null;
2149
+ r = L(Ae, {
2150
+ mode: "outgoing",
2151
+ peerUid: e,
2152
+ callType: t,
2153
+ onConnected: () => {
2154
+ R(r), r = null, sr = !1, n.connect().then(() => {
2155
+ n.enableDevices().catch((e) => console.warn("[im] 主叫 enableDevices 异常", e)), L(xe, {
2156
+ mode: "caller",
2157
+ callType: t
2158
+ });
2159
+ }).catch((e) => {
2160
+ console.error("[im] 主叫 connect 失败", e), K.error("连接建立失败,通话已取消"), $.call.end("user_left").catch(() => {});
2161
+ });
2162
+ }
1323
2163
  });
1324
- }
1325
- }, Vt = "data:audio/mpeg;base64,//uQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAB0AAC/BAAEBggLDQ8TFhgaHB4jJScpLC4yNDc5Oz1CREZIS01PU1ZYWlxeY2VnaWxucnR3eXt9goSGiIuNj5OWmJqcnqOlp6msrrK0t7m7vcLExsjLzc/T1tja3N7j5efp7O7y9Pf5+/0AAAA8TEFNRTMuMTAwAQAAAAAAAAAAABSAJAL0ZgAAgAAAvwRQljMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQBAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAETEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVdLVEUVJMoAkQIREQYQgmAwGTJkyZMmEECBAgQIECBMmTsLTvwTTvxBAgQL/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARkyad//xnvf/ZAgQQ/e7IECCER3sgQIECEREE73+z0///+0ECZMmTJk073///+Lvf3u7IECBAgQIIQTTvWiIz97s8mTJkCAAAAAAAAIELsmTJk07//u7PJkyBAghGf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VVVVVVVVVVUD8aij///xVixUUFsWFWf+rrFRbFhcV4t//4szigH41FH///irFiooLYsKs/9XWKi2LC4rxb//xZnFFUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEXo/w6QC4mAEQDB0gFxMAIgGAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5AEQQ/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kARBD/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSBECP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAAAAEVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7kgRAj/AAAGkAAAAIAAANIAAAAQAAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+5IEQI/wAABpAAAACAAADSAAAAEAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", Ht = { class: "call-dialog" }, Ut = ["src"], Wt = { class: "call-dialog-header" }, Gt = { class: "call-dialog-body" }, Kt = { class: "peer-name" }, qt = { class: "status-text" }, Jt = { class: "call-dialog-actions" }, Yt = /*#__PURE__*/ z(/* @__PURE__ */ l({
1326
- __name: "CallDialog",
1327
- props: {
1328
- mode: {},
1329
- peerUid: {},
1330
- peerName: {},
1331
- callType: {},
1332
- callId: {},
1333
- timeoutSec: {}
1334
2164
  },
1335
- emits: [
1336
- "close",
1337
- "connected",
1338
- "accepted"
1339
- ],
1340
- setup(n, { emit: r }) {
1341
- let c = n, l = r, u = v("ringing"), d = v(""), p = v(null), g = [], y = null;
1342
- function S() {
1343
- return window.__imClient;
1344
- }
1345
- function C() {
1346
- p.value && (p.value.currentTime = 0, p.value.play().catch(() => {}));
1347
- }
1348
- function w() {
1349
- p.value && (p.value.pause(), p.value.currentTime = 0);
1350
- }
1351
- let E = t(() => (c.peerName || c.peerUid)[0].toUpperCase()), D = t(() => u.value === "ringing" ? c.mode === "outgoing" ? "呼叫中" : "邀请你通话" : d.value);
1352
- function O(e, t, n = 1500) {
1353
- u.value = e, d.value = t, setTimeout(() => l("close"), n);
2165
+ async meeting(e) {
2166
+ if (!e?.invitees) {
2167
+ L(Wn, { onConfirm: (e, t) => {
2168
+ fr.meeting({
2169
+ invitees: e,
2170
+ title: t
2171
+ });
2172
+ } });
2173
+ return;
1354
2174
  }
1355
- async function k() {
1356
- w(), u.value = "cancelled", d.value = "已取消";
1357
- let e = S(), t = c.callId || e?.call?.currentSession?.callId;
1358
- await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => l("close"), 800);
2175
+ let t = e.invitees, n = e.title || "即时会议", r;
2176
+ try {
2177
+ r = await $.meeting.create(t, n);
2178
+ } catch (e) {
2179
+ K.error(le(e, "创建会议失败"));
2180
+ return;
1359
2181
  }
1360
- async function j() {
1361
- w();
1362
- let e = S();
1363
- if (!(!e || !c.callId)) {
1364
- u.value = "connected", d.value = "已接听";
1365
- try {
1366
- let t = await e.call.accept(c.callId, c.callType);
1367
- l("accepted", t), setTimeout(() => l("close"), 200);
1368
- } catch (e) {
1369
- console.error("[im] 接听失败", e), u.value = "rejected", d.value = e?.message || "接听失败", setTimeout(() => l("close"), 1500);
1370
- }
1371
- }
2182
+ let i = r.busyInvitees || [];
2183
+ if (t.length > 0 && i.length >= t.length) {
2184
+ $.meeting.currentSession?.leave($.transport).catch(() => {});
2185
+ let e = (await Promise.all(i.map(ur))).join("、");
2186
+ K.error(`${e} 均正忙,会议未能创建`);
2187
+ return;
1372
2188
  }
1373
- async function M() {
1374
- w(), u.value = "rejected", d.value = "已拒接", await S()?.call?.end("rejected", c.callId).catch(() => {}), setTimeout(() => l("close"), 600);
2189
+ if (L(Mn, {
2190
+ mode: "host",
2191
+ title: n,
2192
+ resolveUser: ar?.resolveUser
2193
+ }), i.length > 0) {
2194
+ let e = (await Promise.all(i.map(ur))).join("、");
2195
+ K.info(`${e} 正忙,未能邀请加入会议`);
1375
2196
  }
1376
- return h(() => {
1377
- let e = S();
1378
- if (!e) {
1379
- l("close");
1380
- return;
1381
- }
1382
- if (C(), c.mode === "outgoing") {
1383
- g.push(e.on("call:accepted", () => {
1384
- w(), u.value = "connected", d.value = "对方已接听", setTimeout(() => l("connected"), 300);
1385
- })), g.push(e.on("call:rejected", () => O("rejected", "对方拒接"))), g.push(e.on("call:busy", () => O("busy", "对方繁忙"))), g.push(e.on("call:no_answer", () => O("no_answer", "无人接听")));
1386
- let t = c.timeoutSec ?? 30;
1387
- y = setTimeout(() => {
1388
- u.value === "ringing" && O("no_answer", "无人接听");
1389
- }, t * 1e3);
1390
- } else g.push(e.on("call:cancelled", () => {
1391
- w(), O("cancelled", "对方已取消", 600);
1392
- }));
1393
- }), m(() => {
1394
- w(), g.forEach((e) => e()), y && clearTimeout(y);
1395
- }), (t, r) => T((_(), a("div", Ht, [
1396
- o("audio", {
1397
- ref_key: "ringAudio",
1398
- ref: p,
1399
- src: n.mode === "outgoing" ? x(Vt) : x(gt),
1400
- loop: "",
1401
- preload: "auto"
1402
- }, null, 8, Ut),
1403
- o("div", Wt, [o("span", null, b(n.callType === "video" ? "视频通话" : "语音通话"), 1)]),
1404
- o("div", Gt, [
1405
- o("div", { class: f(["avatar", u.value === "ringing" ? "ringing" : u.value]) }, [o("span", null, b(E.value), 1)], 2),
1406
- o("div", Kt, b(n.peerName || n.peerUid), 1),
1407
- o("div", qt, [u.value === "ringing" ? (_(), a(e, { key: 0 }, [s(b(D.value), 1), r[0] ||= o("span", { class: "dots" }, [
1408
- o("i", null, "."),
1409
- o("i", null, "."),
1410
- o("i", null, ".")
1411
- ], -1)], 64)) : (_(), a("span", {
1412
- key: 1,
1413
- class: f(u.value)
1414
- }, b(d.value), 3))])
1415
- ]),
1416
- o("div", Jt, [n.mode === "outgoing" ? (_(), a(e, { key: 0 }, [u.value === "ringing" ? (_(), a("button", {
1417
- key: 0,
1418
- class: "btn cancel",
1419
- onClick: k
1420
- }, "取消")) : i("", !0)], 64)) : (_(), a(e, { key: 1 }, [u.value === "ringing" ? (_(), a("button", {
1421
- key: 0,
1422
- class: "btn reject",
1423
- onClick: M
1424
- }, "拒接")) : i("", !0), u.value === "ringing" ? (_(), a("button", {
1425
- key: 1,
1426
- class: "btn accept",
1427
- onClick: j
1428
- }, "接听")) : i("", !0)], 64))])
1429
- ])), [[x(A), ".call-dialog-status"]]);
1430
2197
  }
1431
- }), [["__scopeId", "data-v-c2cbb424"]]), Xt = { class: "call-out-window" }, Zt = { class: "call-out-header" }, Qt = { class: "call-out-body" }, $t = { class: "call-out-name" }, en = { class: "call-out-status" }, tn = {
2198
+ }, pr = { class: "call-out-window" }, mr = { class: "call-out-header" }, hr = { class: "call-out-body" }, gr = { class: "call-out-name" }, _r = { class: "call-out-status" }, vr = {
1432
2199
  key: 0,
1433
2200
  class: "ringing-dots"
1434
- }, nn = { class: "call-out-actions" }, rn = /*#__PURE__*/ z(/* @__PURE__ */ l({
2201
+ }, yr = { class: "call-out-actions" }, br = /*#__PURE__*/ H(/* @__PURE__ */ u({
1435
2202
  __name: "CallOutgoing",
1436
2203
  props: {
1437
2204
  calleeUid: {},
@@ -1441,68 +2208,140 @@ var Bt = {
1441
2208
  },
1442
2209
  emits: ["close", "connected"],
1443
2210
  setup(e, { emit: t }) {
1444
- let n = e, r = t, c = v("ringing"), l = v(""), u = null, d = null;
1445
- function p() {
2211
+ let n = e, r = t, s = C("ringing"), l = C(""), u = [], d = null;
2212
+ function f() {
1446
2213
  return window.__imClient;
1447
2214
  }
1448
- function g(e, t, n = 1500) {
1449
- c.value = e, l.value = t, setTimeout(() => r("close"), n);
2215
+ function p(e, t, n = 1500) {
2216
+ s.value = e, l.value = t, setTimeout(() => r("close"), n);
1450
2217
  }
1451
- async function y() {
1452
- c.value = "cancelled", l.value = "已取消";
1453
- let e = p(), t = e?.call?.currentSession?.callId;
2218
+ async function m() {
2219
+ s.value = "cancelled", l.value = "已取消";
2220
+ let e = f(), t = e?.call?.currentSession?.callId;
1454
2221
  await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => r("close"), 800);
1455
2222
  }
1456
- return h(() => {
1457
- let e = p();
2223
+ return y(() => {
2224
+ let e = f();
1458
2225
  if (!e) {
1459
2226
  r("close");
1460
2227
  return;
1461
2228
  }
1462
- u = e.on("call:accepted", () => {
2229
+ u.push(e.on("call:accepted", () => {
1463
2230
  l.value = "对方已接听", setTimeout(() => r("connected"), 300);
1464
- }), e.on("call:rejected", () => {
1465
- g("rejected", "对方拒接");
1466
- }), e.on("call:busy", () => {
1467
- g("busy", "对方繁忙");
1468
- }), e.on("call:no_answer", () => {
1469
- g("no_answer", "无人接听");
1470
- }), e.on("call:cancelled", () => {
1471
- g("cancelled", "已取消", 500);
1472
- });
2231
+ })), u.push(e.on("call:rejected", () => {
2232
+ p("rejected", "对方拒接");
2233
+ })), u.push(e.on("call:busy", () => {
2234
+ p("busy", "对方繁忙");
2235
+ })), u.push(e.on("call:no_answer", () => {
2236
+ p("no_answer", "无人接听");
2237
+ })), u.push(e.on("call:cancelled", () => {
2238
+ p("cancelled", "已取消", 500);
2239
+ }));
1473
2240
  let t = n.timeoutSec ?? 30;
1474
2241
  d = setTimeout(() => {
1475
- c.value === "ringing" && g("no_answer", "无人接听");
2242
+ s.value === "ringing" && p("no_answer", "无人接听");
1476
2243
  }, t * 1e3);
1477
- }), m(() => {
1478
- u && u(), d && clearTimeout(d);
1479
- }), (t, n) => T((_(), a("div", Xt, [
1480
- o("div", Zt, [o("span", null, b(e.callType === "video" ? "视频通话" : "语音通话"), 1)]),
1481
- o("div", Qt, [
1482
- o("div", { class: f(["call-out-avatar", c.value === "ringing" ? "ringing" : c.value]) }, b((e.calleeName || e.calleeUid)[0].toUpperCase()), 3),
1483
- o("div", $t, b(e.calleeName || e.calleeUid), 1),
1484
- o("div", en, [c.value === "ringing" ? (_(), a("span", tn, [...n[0] ||= [
1485
- s(" 呼叫中", -1),
2244
+ }), v(() => {
2245
+ u.forEach((e) => e()), d && clearTimeout(d);
2246
+ }), (t, n) => M((x(), a("div", pr, [
2247
+ o("div", mr, [o("span", null, E(e.callType === "video" ? "视频通话" : "语音通话"), 1)]),
2248
+ o("div", hr, [
2249
+ o("div", { class: h(["call-out-avatar", s.value === "ringing" ? "ringing" : s.value]) }, E((e.calleeName || e.calleeUid)[0].toUpperCase()), 3),
2250
+ o("div", gr, E(e.calleeName || e.calleeUid), 1),
2251
+ o("div", _r, [s.value === "ringing" ? (x(), a("span", vr, [...n[0] ||= [
2252
+ c(" 呼叫中", -1),
1486
2253
  o("span", { class: "dot" }, "·", -1),
1487
2254
  o("span", { class: "dot" }, "·", -1),
1488
2255
  o("span", { class: "dot" }, "·", -1)
1489
- ]])) : (_(), a("span", {
2256
+ ]])) : (x(), a("span", {
1490
2257
  key: 1,
1491
- class: f(c.value)
1492
- }, b(l.value), 3))])
2258
+ class: h(s.value)
2259
+ }, E(l.value), 3))])
1493
2260
  ]),
1494
- o("div", nn, [c.value === "ringing" ? (_(), a("button", {
2261
+ o("div", yr, [s.value === "ringing" ? (x(), a("button", {
1495
2262
  key: 0,
1496
2263
  class: "cancel-btn",
1497
- onClick: y
2264
+ onClick: m
1498
2265
  }, "取消")) : i("", !0)])
1499
- ])), [[x(A), ".call-out-header"]]);
2266
+ ])), [[D(fe), ".call-out-header"]]);
2267
+ }
2268
+ }), [["__scopeId", "data-v-625d9e2f"]]), xr = { class: "im-incoming-ring" }, Sr = ["src"], Cr = { class: "im-ring-content" }, wr = { class: "im-ring-avatar" }, Tr = { class: "im-ring-info" }, Er = { class: "im-ring-name" }, Dr = { class: "im-ring-type" }, Or = /*#__PURE__*/ H(/* @__PURE__ */ u({
2269
+ __name: "IncomingRing",
2270
+ props: {
2271
+ invite: {},
2272
+ onClose: { type: Function }
2273
+ },
2274
+ emits: ["close", "accepted"],
2275
+ setup(e, { emit: t }) {
2276
+ let n = e, r = t, i = C(null);
2277
+ function s() {
2278
+ return window.__imClient;
2279
+ }
2280
+ function c() {
2281
+ i.value && (i.value.currentTime = 0, i.value.play().catch(() => {}));
2282
+ }
2283
+ function u() {
2284
+ i.value && (i.value.pause(), i.value.currentTime = 0);
2285
+ }
2286
+ let d = [];
2287
+ y(() => {
2288
+ c();
2289
+ let e = s();
2290
+ e && (d.push(e.on("call:cancelled", () => {
2291
+ u(), r("close");
2292
+ })), d.push(e.on("call:no_answer", () => {
2293
+ u(), r("close");
2294
+ })));
2295
+ }), v(() => {
2296
+ u(), d.forEach((e) => e());
2297
+ });
2298
+ async function f() {
2299
+ u();
2300
+ let e = s();
2301
+ try {
2302
+ let t = await e?.call?.accept(n.invite.callId, n.invite.callType);
2303
+ r("accepted", t), r("close");
2304
+ } catch (e) {
2305
+ let t = String(e?.message || e || "");
2306
+ t.includes("conflict") || t.includes("entered elsewhere") ? alert("已在其他设备接听,本端通话已关闭") : alert("网络异常,请稍后重试"), r("close");
2307
+ }
2308
+ }
2309
+ async function p() {
2310
+ u(), await s()?.call?.end("rejected", n.invite.callId), r("close");
2311
+ }
2312
+ return (t, n) => (x(), a("div", xr, [o("audio", {
2313
+ ref_key: "ringAudio",
2314
+ ref: i,
2315
+ src: D(Ce),
2316
+ loop: "",
2317
+ preload: "auto"
2318
+ }, null, 8, Sr), o("div", Cr, [
2319
+ o("div", wr, [l(q, {
2320
+ name: "answer",
2321
+ size: 24,
2322
+ color: "#fff"
2323
+ })]),
2324
+ o("div", Tr, [o("div", Er, E(e.invite.from), 1), o("div", Dr, E(e.invite.callType === "video" ? "视频通话" : "语音通话"), 1)]),
2325
+ o("div", { class: "im-ring-actions" }, [o("button", {
2326
+ class: "im-reject",
2327
+ onClick: p
2328
+ }, "拒接"), o("button", {
2329
+ class: "im-accept",
2330
+ onClick: f
2331
+ }, "接听")])
2332
+ ])]));
1500
2333
  }
1501
- }), [["__scopeId", "data-v-c6b08d40"]]), an = { install(e, t) {
2334
+ }), [["__scopeId", "data-v-18096666"]]), kr = { install(e, t) {
1502
2335
  if (!t?.client) throw Error("ImUI 安装时必须传入 client(已初始化的 ImClient)");
1503
- e.component("ImIcon", M), e.component("ImCallWindow", B), e.component("ImCallDialog", Yt), e.component("ImCallOutgoing", rn), e.component("ImMeetWindow", ht), e.component("ImIncomingRing", wt), e.component("ImMeetingInvite", At), e.component("ImChatPanel", It), zt(t.client, e);
2336
+ e.component("ImIcon", q), e.component("ImCallWindow", xe), e.component("ImCallDialog", Ae), e.component("ImCallOutgoing", br), e.component("ImMeetWindow", Mn), e.component("ImIncomingRing", Or), e.component("ImMeetingInvite", Rn), e.component("ImChatPanel", ir), e.component("ImUserPickerList", dn), e.component("ImUserPickerDialog", vn), e.component("ImMeetingCreateDialog", Wn), dr(t.client, e, {
2337
+ autoPopups: t.autoPopups,
2338
+ resolveUser: t.resolveUser
2339
+ });
1504
2340
  } };
2341
+ function Ar(e, t, n) {
2342
+ dr(e, t, n);
2343
+ }
1505
2344
  //#endregion
1506
- export { Yt as CallDialog, rn as CallOutgoing, B as CallWindow, It as ChatPanel, M as Icon, Bt as ImUI, an as ImUIPlugin, an as default, wt as IncomingRing, ht as MeetWindow, At as MeetingInvite };
2345
+ export { Ae as CallDialog, br as CallOutgoing, xe as CallWindow, ir as ChatPanel, q as Icon, K as ImToast, fr as ImUI, kr as ImUIPlugin, kr as default, Or as IncomingRing, Mn as MeetWindow, Wn as MeetingCreateDialog, Rn as MeetingInvite, vn as UserPickerDialog, dn as UserPickerList, le as friendlyApiError, Ar as setupImUI };
1507
2346
 
1508
2347
  //# sourceMappingURL=im-ui.es.js.map