@quitting/ui 1.0.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 (48) hide show
  1. package/dist/atim-ui.css +2 -0
  2. package/dist/atim-ui.es.js +1508 -0
  3. package/dist/atim-ui.es.js.map +1 -0
  4. package/dist/atim-ui.umd.js +2 -0
  5. package/dist/atim-ui.umd.js.map +1 -0
  6. package/dist/components/CallDialog.vue.d.ts +22 -0
  7. package/dist/components/CallDialog.vue.d.ts.map +1 -0
  8. package/dist/components/CallOutgoing.vue.d.ts +16 -0
  9. package/dist/components/CallOutgoing.vue.d.ts.map +1 -0
  10. package/dist/components/CallWindow.vue.d.ts +17 -0
  11. package/dist/components/CallWindow.vue.d.ts.map +1 -0
  12. package/dist/components/ChatPanel.vue.d.ts +13 -0
  13. package/dist/components/ChatPanel.vue.d.ts.map +1 -0
  14. package/dist/components/ConfirmDialog.vue.d.ts +16 -0
  15. package/dist/components/ConfirmDialog.vue.d.ts.map +1 -0
  16. package/dist/components/Icon.vue.d.ts +29 -0
  17. package/dist/components/Icon.vue.d.ts.map +1 -0
  18. package/dist/components/IncomingRing.vue.d.ts +16 -0
  19. package/dist/components/IncomingRing.vue.d.ts.map +1 -0
  20. package/dist/components/MeetWindow.vue.d.ts +77 -0
  21. package/dist/components/MeetWindow.vue.d.ts.map +1 -0
  22. package/dist/components/MeetingEndedToast.vue.d.ts +14 -0
  23. package/dist/components/MeetingEndedToast.vue.d.ts.map +1 -0
  24. package/dist/components/MeetingInvite.vue.d.ts +16 -0
  25. package/dist/components/MeetingInvite.vue.d.ts.map +1 -0
  26. package/dist/components/meeting/MainVideoTile.vue.d.ts +14 -0
  27. package/dist/components/meeting/MainVideoTile.vue.d.ts.map +1 -0
  28. package/dist/components/meeting/MeetingHeader.vue.d.ts +13 -0
  29. package/dist/components/meeting/MeetingHeader.vue.d.ts.map +1 -0
  30. package/dist/components/meeting/MemberItem.vue.d.ts +18 -0
  31. package/dist/components/meeting/MemberItem.vue.d.ts.map +1 -0
  32. package/dist/components/meeting/MemberListPanel.vue.d.ts +18 -0
  33. package/dist/components/meeting/MemberListPanel.vue.d.ts.map +1 -0
  34. package/dist/components/meeting/SidebarTabs.vue.d.ts +12 -0
  35. package/dist/components/meeting/SidebarTabs.vue.d.ts.map +1 -0
  36. package/dist/components/meeting/SmallVideoTile.vue.d.ts +18 -0
  37. package/dist/components/meeting/SmallVideoTile.vue.d.ts.map +1 -0
  38. package/dist/components/meeting/VideoListPanel.vue.d.ts +16 -0
  39. package/dist/components/meeting/VideoListPanel.vue.d.ts.map +1 -0
  40. package/dist/components/meeting/icons.d.ts +19 -0
  41. package/dist/components/meeting/icons.d.ts.map +1 -0
  42. package/dist/directives/draggable.d.ts +4 -0
  43. package/dist/directives/draggable.d.ts.map +1 -0
  44. package/dist/global-methods.d.ts +13 -0
  45. package/dist/global-methods.d.ts.map +1 -0
  46. package/dist/index.d.ts +18 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/package.json +54 -0
@@ -0,0 +1,1508 @@
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";
2
+ //#region src/directives/draggable.ts
3
+ function O(e, t) {
4
+ let n = t.value;
5
+ return n && e.querySelector(n) || e;
6
+ }
7
+ function k(e, t, n) {
8
+ let r = e.target.tagName;
9
+ if (r === "INPUT" || r === "TEXTAREA" || r === "SELECT") return;
10
+ let i = t.getBoundingClientRect();
11
+ n.startX = e.clientX, n.startY = e.clientY, n.origLeft = i.left, n.origTop = i.top, t.style.position = "fixed", t.style.transform = "none", t.style.left = `${i.left}px`, t.style.top = `${i.top}px`, t.style.right = "auto", t.style.bottom = "auto", t.style.margin = "0", t.classList.add("v-dragging");
12
+ let a = (e) => {
13
+ let r = e.clientX - n.startX, i = e.clientY - n.startY, a = n.origLeft + r, o = n.origTop + i, s = window.innerWidth - 50, c = window.innerHeight - 50, l = 50 - t.offsetWidth;
14
+ t.style.left = `${Math.min(Math.max(a, l), s)}px`, t.style.top = `${Math.min(Math.max(o, 0), c)}px`;
15
+ }, o = () => {
16
+ document.removeEventListener("mousemove", a), document.removeEventListener("mouseup", o), t.classList.remove("v-dragging");
17
+ };
18
+ document.addEventListener("mousemove", a), document.addEventListener("mouseup", o);
19
+ }
20
+ var A = {
21
+ mounted(e, t) {
22
+ let n = O(e, t);
23
+ n.style.cursor = "move";
24
+ let r = {
25
+ startX: 0,
26
+ startY: 0,
27
+ origLeft: 0,
28
+ origTop: 0
29
+ }, i = (t) => k(t, e, r);
30
+ n.addEventListener("mousedown", i), e.__dragHandle__ = n, e.__dragHandler__ = i;
31
+ },
32
+ unmounted(e) {
33
+ let t = e.__dragHandle__, n = e.__dragHandler__;
34
+ t && n && t.removeEventListener("mousedown", n);
35
+ }
36
+ }, j = [
37
+ "width",
38
+ "height",
39
+ "fill",
40
+ "aria-label",
41
+ "aria-hidden",
42
+ "innerHTML"
43
+ ], M = /* @__PURE__ */ l({
44
+ __name: "Icon",
45
+ props: {
46
+ name: {},
47
+ size: { default: 16 },
48
+ color: { default: "currentColor" },
49
+ title: {}
50
+ },
51
+ setup(e) {
52
+ let t = {
53
+ "mic-on": "<path d=\"M514.986667 112c80.170667 0 145.109333 62.08 145.109333 138.666667v277.248c0 76.586667-64.938667 138.624-145.066667 138.624-80.213333 0-145.152-62.08-145.152-138.624V250.666667c0-76.586667 64.981333-138.666667 145.109334-138.666667z m236.970666 411.221333c0 118.485333-93.013333 215.893333-212.608 228.992v135.637334a24.149333 24.149333 0 0 1-48.341333 0v-135.04c-122.709333-10.24-219.008-109.013333-219.008-229.546667v-96.426667a24.704 24.704 0 0 1 49.408 0v109.184c0 98.56 83.712 169.088 190.592 169.088 106.837333 0 196.309333-92.8 196.309333-169.088V423.936a21.845333 21.845333 0 0 1 43.690667 0v99.285333z\"/>",
54
+ "mic-off": "<path d=\"M656.384 559.232L369.877333 272.725333v-22.058666c0-76.586667 64.981333-138.666667 145.109334-138.666667 80.170667 0 145.109333 62.08 145.109333 138.666667v277.248c0 10.794667-1.28 21.248-3.712 31.317333z m-84.693333 96.341333a150.528 150.528 0 0 1-56.704 10.965334c-80.128 0-145.066667-62.08-145.066667-138.624v-74.154667l201.770667 201.813333z m153.898666-27.136l-29.610666-29.568a165.973333 165.973333 0 0 0 12.373333-62.848V423.936a21.845333 21.845333 0 0 1 43.648 0v99.285333c0 37.930667-9.557333 73.685333-26.453333 105.216z m-89.173333 91.904a245.290667 245.290667 0 0 1-97.066667 31.872v135.637334a24.149333 24.149333 0 0 1-48.341333 0v-135.04c-122.709333-10.24-219.008-109.013333-219.008-229.546667v-96.426667a24.704 24.704 0 0 1 49.408 0v109.184c0 98.56 86.613333 178.474667 193.450667 178.474667 33.92 0 65.834667-8.064 93.568-22.186667l28.032 28.032zM145.28 183.893333l45.226667-45.226666 678.826666 678.826666-45.226666 45.226667z\"/>",
55
+ "camera-on": "<path d=\"M873.770667 314.922667c19.797333-12.202667 37.632-2.048 37.632 18.304v335.232c0 24.362667-15.872 32.512-37.632 18.261333l-112.938667-67.029333c-19.797333-12.202667-37.632-26.453333-37.632-46.72V424.618667c0-18.261333 17.834667-30.464 37.632-42.666667l112.938667-67.029333zM207.232 288h391.936c43.562667 0 79.232 32 79.232 71.125333v305.749334c0 39.125333-35.669333 71.125333-79.232 71.125333H207.232C163.669333 736 128 704 128 664.874667V359.125333C128 320 163.669333 288 207.232 288z\"/>",
56
+ "camera-off": "<path d=\"M873.770667 314.922667c19.797333-12.202667 37.632-2.048 37.632 18.304v335.232c0 24.362667-15.872 32.512-37.632 18.261333l-112.938667-67.029333c-19.797333-12.202667-37.632-26.453333-37.632-46.72V424.618667c0-18.261333 17.834667-30.464 37.632-42.666667l112.938667-67.029333zM385.152 288h214.016c43.562667 0 79.232 32 79.232 71.125333v222.122667L385.152 288z m256.042667 437.077333a85.333333 85.333333 0 0 1-42.026667 10.922667H207.232C163.669333 736 128 704 128 664.874667V359.125333c0-38.186667 34.005333-69.632 76.16-71.082666l437.034667 437.034666zM145.28 183.893333l45.226667-45.226666 678.826666 678.826666-45.226666 45.226667z\"/>",
57
+ "sound-on": "<path d=\"M767.317333 767.018667a33.237333 33.237333 0 0 1-20.565333 6.656 34.56 34.56 0 0 1-25.386667-10.709334 34.986667 34.986667 0 0 1-10.666666-25.557333 35.2 35.2 0 0 1 13.994666-28.501333 5.76 5.76 0 0 0 1.450667-1.109334l0.725333-0.725333c13.738667-9.386667 26.453333-20.48 38.272-33.28 11.733333-12.842667 22.058667-26.794667 30.848-41.813333 8.832-15.061333 15.701333-31.146667 20.608-48.128a190.293333 190.293333 0 0 0 7.338667-52.906667c0-37.034667-9.301333-70.826667-27.946667-101.418667a250.794667 250.794667 0 0 0-69.845333-75.52 34.730667 34.730667 0 0 1-15.445333-29.568 34.986667 34.986667 0 0 1 10.666666-25.557333 34.56 34.56 0 0 1 25.386667-10.709333c8.32 0 15.658667 2.688 22.058667 8.106666 18.133333 12.842667 35.029333 27.776 50.730666 44.8 15.658667 17.066667 29.141333 35.541333 40.448 55.509334 11.264 19.968 20.053333 41.344 26.453334 64 6.4 22.698667 9.557333 46.165333 9.557333 70.314666 0 24.704-3.2 48.384-9.557333 71.082667a285.653333 285.653333 0 0 1-26.837334 64.384 305.450667 305.450667 0 0 1-92.288 100.693333v-0.042666z m-41.173333-332.330667c10.282667 14.336 18.517333 28.757333 24.661333 43.306667 6.101333 14.549333 9.173333 32.213333 9.173334 52.906666 0 19.754667-3.2 37.546667-9.557334 53.333334-6.4 15.786667-14.464 30.08-24.277333 42.88-3.925333 5.461333-8.106667 10.24-12.501333 14.464a23.552 23.552 0 0 1-16.896 6.272 29.866667 29.866667 0 0 1-22.442667-9.6 32.085333 32.085333 0 0 1-9.173333-22.954667 33.706667 33.706667 0 0 1 2.218666-11.861333h-0.768c2.474667-5.418667 5.418667-10.581333 8.832-15.530667 3.413333-4.949333 6.741333-9.984 9.941334-15.146667a84.48 84.48 0 0 0 8.106666-17.792c2.176-6.656 3.285333-14.677333 3.285334-24.064 0-8.874667-1.109333-16.64-3.328-23.296a94.208 94.208 0 0 0-8.106667-18.133333 240.170667 240.170667 0 0 0-9.898667-15.530667 67.072 67.072 0 0 1-8.106666-15.573333 29.994667 29.994667 0 0 1-2.176-11.818667c0-8.874667 3.072-16.512 9.173333-22.954666a29.866667 29.866667 0 0 1 22.442667-9.6c6.826667 0 12.501333 2.090667 16.896 6.272 4.437333 4.181333 8.576 9.002667 12.501333 14.421333z m-237.482667 439.637333a9078.869333 9078.869333 0 0 0-157.354666-139.136 10554.453333 10554.453333 0 0 0-83.797334-70.314666 177.408 177.408 0 0 1-16.213333 0.725333 125.781333 125.781333 0 0 1-13.952 0.768h-12.501333c-13.226667 0-24.021333-4.096-32.341334-12.202667a39.424 39.424 0 0 1-12.501333-29.269333v-186.453333h0.725333l-0.725333-0.768c0-13.824 4.266667-25.173333 12.885333-34.048a42.666667 42.666667 0 0 1 32-13.312h41.856a13012.906667 13012.906667 0 0 1 122.794667-103.637334c15.701333-13.312 31.146667-26.282667 46.336-38.826666 15.189333-12.586667 28.928-24.064 41.173333-34.432 12.245333-10.368 22.570667-18.986667 30.890667-25.898667 8.32-6.912 13.482667-11.093333 15.445333-12.586667 14.677333-10.88 26.581333-15.786667 35.626667-14.805333 9.088 0.981333 16.213333 5.418667 21.333333 13.312s8.704 17.493333 10.666667 28.885333c1.962667 11.349333 2.944 21.674667 2.944 31.061334v599.466666c0 9.386667-1.706667 19.413333-5.12 29.994667-3.456 10.624-8.746667 19.029333-15.829333 25.173333-7.125333 6.186667-16.042667 8.746667-26.88 7.765334-10.752-0.981333-23.253333-8.106667-37.461334-21.461334z\"/>",
58
+ "sound-off": "<path d=\"M767.872 670.72c10.624-11.946667 20.010667-24.917333 28.16-38.784 8.789333-15.018667 15.658667-31.061333 20.565333-48.085333a190.293333 190.293333 0 0 0 7.338667-52.906667c0-37.034667-9.301333-70.826667-27.946667-101.418667a250.794667 250.794667 0 0 0-69.845333-75.52 34.730667 34.730667 0 0 1-15.445333-29.568 34.986667 34.986667 0 0 1 10.666666-25.557333 34.56 34.56 0 0 1 25.386667-10.709333c8.32 0 15.658667 2.688 22.058667 8.106666 18.133333 12.842667 35.029333 27.776 50.730666 44.8 15.658667 17.066667 29.141333 35.541333 40.448 55.509334 11.264 19.968 20.053333 41.344 26.453334 64 6.4 22.698667 9.557333 46.165333 9.557333 70.314666 0 24.704-3.2 48.384-9.557333 71.082667a285.653333 285.653333 0 0 1-26.837334 64.384 304.64 304.64 0 0 1-40.533333 55.552l-51.2-51.2zM725.333333 628.224l-46.08-46.08c2.090667-3.072 4.096-6.229333 6.058667-9.386667a84.48 84.48 0 0 0 8.106667-17.792c2.176-6.656 3.285333-14.677333 3.285333-24.064 0-8.874667-1.109333-16.64-3.328-23.296a94.208 94.208 0 0 0-8.106667-18.133333 240.170667 240.170667 0 0 0-9.898666-15.530667 67.072 67.072 0 0 1-8.106667-15.573333 29.994667 29.994667 0 0 1-2.176-11.818667c0-8.874667 3.072-16.512 9.173333-22.954666a29.866667 29.866667 0 0 1 22.442667-9.6c6.826667 0 12.501333 2.090667 16.896 6.272 4.437333 4.181333 8.576 9.002667 12.501333 14.421333 10.282667 14.336 18.517333 28.757333 24.661334 43.306667 6.101333 14.549333 9.173333 32.213333 9.173333 52.906666 0 19.754667-3.2 37.546667-9.557333 53.333334A183.168 183.168 0 0 1 725.333333 628.181333zM278.997333 362.837333l294.954667 294.997334v175.061333c0 9.386667-1.706667 19.370667-5.12 29.952-3.456 10.624-8.746667 19.029333-15.829333 25.173333-7.125333 6.186667-16.042667 8.746667-26.88 7.765334-10.752-0.981333-23.253333-8.106667-37.461334-21.461334a9078.869333 9078.869333 0 0 0-157.354666-139.136 10554.453333 10554.453333 0 0 0-83.797334-70.314666 177.408 177.408 0 0 1-16.213333 0.725333 125.781333 125.781333 0 0 1-13.952 0.768h-12.501333c-13.226667 0-24.021333-4.096-32.341334-12.202667a39.424 39.424 0 0 1-12.501333-29.269333v-186.453333h0.725333l-0.725333-0.768c0-13.824 4.266667-25.173333 12.885333-34.048a42.666667 42.666667 0 0 1 32-13.312h41.856l32.256-27.434667z m98.261334-82.688c13.056-11.050667 25.898667-21.802667 38.613333-32.341333 15.189333-12.544 28.928-24.021333 41.173333-34.389333 12.245333-10.368 22.570667-18.986667 30.890667-25.898667 8.32-6.912 13.482667-11.093333 15.445333-12.586667 14.677333-10.88 26.581333-15.786667 35.626667-14.805333 9.088 0.981333 16.213333 5.418667 21.333333 13.312s8.704 17.493333 10.666667 28.885333c1.962667 11.349333 2.944 21.674667 2.944 31.061334v243.413333l-196.693333-196.693333zM145.28 183.893333l45.226667-45.226666 678.826666 678.826666-45.226666 45.226667z\"/>",
59
+ answer: "<path d=\"M864.597333 647.338667l11.52 11.562666c0.341333 0.682667 0.597333 1.408 1.066667 2.005334 11.52 14.762667 14.848 32.213333 10.325333 52.266666-3.285333 14.421333-9.216 28.16-16.597333 41.386667-6.613333 11.861333-13.994667 23.381333-21.034667 34.986667l-9.045333 9.088c-5.845333 3.541333-11.477333 7.594667-17.493333 10.453333-15.018667 7.04-30.421333 8.533333-45.781334 8.490667-20.906667-0.042667-40.96-3.498667-60.970666-7.210667-32.810667-6.101333-64.896-13.952-94.933334-26.88-42.154667-18.133333-79.658667-42.922667-115.2-70.528a987.818667 987.818667 0 0 1-78.08-68.010667c-0.682667-0.682667-1.536-1.152-2.346666-1.706666l-44.373334-44.373334c-0.682667-0.938667-1.322667-1.962667-2.133333-2.816-19.072-22.058667-38.656-43.690667-57.216-66.218666a620.117333 620.117333 0 0 1-60.928-88.746667C236.245333 396.928 216.32 350.421333 212.608 296.362667c-1.450667-20.693333-4.224-41.088-2.389333-62.336 1.237333-14.677333 4.053333-29.184 11.52-43.008 2.048-3.797333 4.522667-7.381333 6.826666-11.050667l9.045334-9.045333c8.32-5.248 16.554667-10.538667 24.917333-15.616 13.909333-8.490667 27.733333-17.109333 42.965333-22.442667 15.957333-5.632 30.634667-4.778667 43.605334 3.2 4.906667 3.029333 9.429333 6.613333 14.122666 9.941333l8.789334 8.789334c0.768 1.066667 1.493333 2.133333 2.304 3.157333 4.266667 5.12 8.746667 10.026667 12.714666 15.36 23.637333 31.616 42.325333 66.56 58.581334 103.082667 8.448 19.029333 6.186667 38.741333-6.826667 58.154666-6.101333 9.045333-13.226667 17.621333-20.736 25.642667-14.506667 15.488-19.84 32.213333-15.616 50.56 1.536 6.570667 3.754667 12.928 6.570667 18.901333 9.258667 19.754667 22.826667 36.266667 37.76 51.626667 27.178667 27.861333 54.869333 55.338667 82.389333 82.901333 15.488 15.488 31.530667 30.378667 50.133333 42.24 11.52 7.381333 23.68 13.525333 37.973334 15.445334 14.08 1.962667 27.562667-1.365333 39.808-11.264 6.442667-5.205333 12.330667-11.136 18.645333-16.512 22.784-19.285333 46.506667-25.642667 71.850667-15.914667 37.546667 14.506667 71.253333 34.645333 102.826666 58.197333 4.778667 3.584 9.472 7.338667 14.208 10.965334z\"/>",
60
+ hangup: "<path d=\"M68.820008 642.540165a22.883151 22.883151 0 0 0 13.903686 21.04864c2.800052 1.158641 5.793203 1.737961 8.689804 1.737961l216.37612-0.38621a22.786601 22.786601 0 0 0 22.786601-22.786601l0-87.670471c11.682955-13.807125 25.779752-25.296981 41.517949-33.986785a274.115036 274.115036 0 0 1 140.002394-34.276445l0.482771 0a270.832225 270.832225 0 0 1 139.616184 34.083335c15.641647 8.786365 29.641883 20.276209 41.228289 34.083346l0 87.1877a22.69004 22.69004 0 0 0 22.59349 22.786601l194.072289-0.28966 22.30383 0a22.59349 22.59349 0 0 0 22.690051-22.786601l0.09655-49.531883a22.207281 22.207281 0 0 0-0.67587-5.310432l-0.965541-3.958692a150.140499 150.140499 0 0 0-11.586405-46.828392c-43.352459-100.898276-222.748643-176.982342-417.303691-176.982342l-0.965541 0a868.01487 868.01487 0 0 0-229.024605 32.152275c-76.566836 21.72451-137.105804 52.138824-170.609819 85.64285-17.765829 17.283058-32.152275 37.752367-42.290379 60.442418-8.207045 18.441688-12.551947 38.428237-12.841607 58.607897l-0.09655 47.021491z\"/>",
61
+ handup: "<path d=\"M166.997333 665.6H150.613333c-0.725333-0.213333-1.450667-0.597333-2.133333-0.682667-18.602667-2.261333-33.28-12.245333-44.288-29.653333a155.818667 155.818667 0 0 1-17.536-41.002667c-3.712-13.056-6.613333-26.410667-9.898667-39.594666v-12.842667c1.621333-6.613333 2.730667-13.482667 4.992-19.754667 5.632-15.573333 15.488-27.52 26.368-38.4 14.805333-14.72 31.402667-26.453333 48.213334-37.973333 27.477333-18.901333 55.765333-36.010667 86.144-48.128 42.624-16.981333 86.613333-25.941333 131.285333-31.573333 34.346667-4.266667 68.778667-6.4 103.296-7.125334 0.981333 0 1.92-0.298667 2.901333-0.469333h62.72c1.152 0.170667 2.346667 0.426667 3.498667 0.512 29.098667 2.090667 58.24 3.541333 87.296 6.314667 35.712 3.413333 70.997333 10.112 105.856 19.712 48.981333 13.44 95.957333 32.256 136.832 67.84 15.616 13.653333 32 26.069333 45.781333 42.368 9.472 11.264 17.749333 23.466667 22.229334 38.570666 1.28 4.138667 2.005333 8.405333 2.986666 12.629334v12.8c-2.176 9.6-4.266667 19.2-6.570666 28.714666-3.84 15.786667-7.552 31.701333-14.506667 46.208-7.338667 15.274667-18.304 25.002667-33.109333 28.586667-5.632 1.28-11.349333 1.962667-17.066667 2.944h-12.373333c-1.28-0.213333-2.56-0.469333-3.84-0.597333-6.656-0.64-13.269333-0.938667-19.882667-1.877334-39.082667-5.632-77.013333-17.152-114.346667-31.488-19.413333-7.466667-31.701333-22.997333-36.266666-45.952a205.098667 205.098667 0 0 1-3.456-32.810666c-0.682667-21.162667-8.746667-36.778667-24.746667-46.762667a94.72 94.72 0 0 0-17.92-8.704c-20.565333-7.424-41.856-9.514667-63.232-9.813333-38.954667-0.469333-77.952-0.341333-116.906667-0.341334-21.888 0-43.776 0.810667-65.365333 5.546667-13.312 2.944-26.24 7.210667-37.717333 15.914667-11.349333 8.618667-18.517333 20.48-20.181334 36.181333-0.853333 8.192-0.853333 16.554667-1.493333 24.789333-2.474667 29.781333-14.805333 51.072-39.594667 62.08-36.736 16.298667-74.88 25.898667-113.834666 31.573334-5.973333 0.853333-11.861333 1.493333-17.792 2.261333z\"/>",
62
+ close: "<path d=\"M649.179 512l212.839-212.84c37.881-37.881 37.881-99.298 0-137.179s-99.298-37.881-137.179 0L512 374.821l-212.839-212.84c-37.881-37.881-99.298-37.881-137.179 0s-37.881 99.298 0 137.179L374.821 512 161.982 724.84c-37.881 37.881-37.881 99.297 0 137.179 18.94 18.94 43.765 28.41 68.589 28.41 24.825 0 49.649-9.47 68.589-28.41L512 649.179l212.839 212.84c18.94 18.94 43.765 28.41 68.589 28.41s49.649-9.47 68.59-28.41c37.881-37.882 37.881-99.298 0-137.179L649.179 512z\"/>",
63
+ user: "<path d=\"M0 0h1024v1024H0V0z m614.8608 664.439467c-2.973013-30.685867-1.983147-53.4528-1.983147-82.158934 13.88544-7.918933 63.488-55.432533 67.437227-95.0272 10.922667-0.989867 28.757333-11.8784 33.716907-55.432533 2.976427-22.766933-7.932587-36.625067-14.875307-40.584533 17.851733-54.442667 25.78432-224.703147-99.170987-241.53088C587.093333 127.92832 554.366293 116.053333 511.72352 116.053333c-170.571093 2.9696-221.149867 130.6624-183.463253 276.176214-6.94272 3.959467-17.851733 16.827733-14.875307 40.584533 4.959573 43.554133 22.807893 54.442667 33.716907 55.432533 3.966293 40.584533 53.551787 88.098133 67.437226 95.0272 0 28.706133 0.989867 50.4832-1.98656 82.158934C378.835627 756.497067 157.696 708.983467 146.773333 907.946667h733.866667c-5.94944-201.936213-232.05888-151.453013-265.775787-243.510614z\"/>",
64
+ more: "<circle cx=\"180\" cy=\"512\" r=\"90\"/><circle cx=\"512\" cy=\"512\" r=\"90\"/><circle cx=\"844\" cy=\"512\" r=\"90\"/>",
65
+ 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
+ minus: "<path d=\"M192 480h640a32 32 0 1 1 0 64H192a32 32 0 1 1 0-64z\"/>"
67
+ }, n = e;
68
+ return (e, r) => (_(), a("svg", {
69
+ width: n.size,
70
+ height: n.size,
71
+ viewBox: "0 0 1024 1024",
72
+ xmlns: "http://www.w3.org/2000/svg",
73
+ fill: n.color,
74
+ "aria-label": n.title,
75
+ "aria-hidden": n.title ? void 0 : "true",
76
+ innerHTML: t[n.name]
77
+ }, null, 8, j));
78
+ }
79
+ }), ee = { class: "call-window" }, N = { class: "video-area" }, P = ["title"], F = {
80
+ key: 1,
81
+ class: "connecting-overlay"
82
+ }, I = {
83
+ key: 2,
84
+ class: "ended-overlay"
85
+ }, L = {
86
+ key: 3,
87
+ 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({
89
+ __name: "CallWindow",
90
+ props: {
91
+ mode: {},
92
+ calleeUid: {},
93
+ callType: {},
94
+ onClose: { type: Function }
95
+ },
96
+ emits: ["close"],
97
+ 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() {
100
+ return window.__atimClient;
101
+ }
102
+ async function ae() {
103
+ try {
104
+ 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);
106
+ } catch (e) {
107
+ console.warn("[atim] enumerateDevices 失败,按默认能力继续", e);
108
+ }
109
+ }
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)));
113
+ }
114
+ function B() {
115
+ E.value = !E.value, z();
116
+ }
117
+ h(async () => {
118
+ await ae();
119
+ let e = j();
120
+ if (!e) {
121
+ console.error("[atim] client 未注入,无法发起通话");
122
+ return;
123
+ }
124
+ let t = e.call.currentSession;
125
+ if (t && (t.onSession("connected", () => {
126
+ s.value = "connected", z(), k = setInterval(() => O.value++, 1e3);
127
+ }), t.onSession("remoteConnected", () => {
128
+ D.value = !0, z();
129
+ }), t.onSession("remoteTrackSubscribed", (e) => {
130
+ e.kind === "video" && (D.value = !0, z());
131
+ }), t.onSession("remoteDisconnected", () => {
132
+ D.value = !1;
133
+ }), t.onSession("devices", (e) => {
134
+ e.errors && e.errors.length > 0 && (l.value = e.errors, setTimeout(() => l.value = [], 3e3)), e.camera && z();
135
+ }), 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")) {
138
+ let e = 0, t = setInterval(() => {
139
+ if (e++, e > 10 || D.value) {
140
+ clearInterval(t);
141
+ return;
142
+ }
143
+ z();
144
+ }, 300);
145
+ }
146
+ }), g(() => {
147
+ k && clearInterval(k);
148
+ }), w(s, (e) => {
149
+ e === "ended" && (u.value = "通话已结束");
150
+ });
151
+ async function V() {
152
+ if (!y.value) return;
153
+ let e = j()?.call?.currentSession;
154
+ e && (d.value = !d.value, await e.setMicEnabled(d.value));
155
+ }
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());
160
+ }
161
+ async function U() {
162
+ u.value = "已挂断", await j()?.call?.end("user_left"), r("close");
163
+ }
164
+ function oe(e) {
165
+ return `${Math.floor(e / 60).toString().padStart(2, "0")}:${(e % 60).toString().padStart(2, "0")}`;
166
+ }
167
+ return (t, n) => T((_(), a("div", ee, [o("div", N, [
168
+ o("video", {
169
+ ref_key: "mainVideo",
170
+ ref: S,
171
+ autoplay: "",
172
+ playsinline: "",
173
+ class: f(["video-main", { "network-error": s.value === "connected" && !D.value && !E.value }])
174
+ }, null, 2),
175
+ e.callType === "video" ? (_(), a("video", {
176
+ key: 0,
177
+ ref_key: "pipVideo",
178
+ ref: C,
179
+ autoplay: "",
180
+ muted: "",
181
+ playsinline: "",
182
+ 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", {
191
+ key: 0,
192
+ class: f(["ctrl-btn", { off: !d.value }]),
193
+ onClick: V
194
+ }, [c(M, {
195
+ name: d.value ? "mic-on" : "mic-off",
196
+ size: 22
197
+ }, null, 8, ["name"])], 2)) : i("", !0),
198
+ e.callType === "video" && m.value ? (_(), a("button", {
199
+ key: 1,
200
+ class: f(["ctrl-btn", { off: !p.value }]),
201
+ onClick: H
202
+ }, [c(M, {
203
+ name: p.value ? "camera-on" : "camera-off",
204
+ size: 22
205
+ }, null, 8, ["name"])], 2)) : i("", !0),
206
+ o("button", {
207
+ class: "ctrl-btn hangup",
208
+ onClick: U
209
+ }, [c(M, {
210
+ name: "hangup",
211
+ size: 22
212
+ })])
213
+ ])])), [[x(A), ".call-status-bar"]]);
214
+ }
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-7902fe6a"]]), 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 = {
220
+ key: 0,
221
+ class: "duration"
222
+ }, J = { class: "window-controls" }, ce = ["innerHTML"], le = ["innerHTML"], ue = /*#__PURE__*/ z(/* @__PURE__ */ l({
223
+ __name: "MeetingHeader",
224
+ props: {
225
+ title: {},
226
+ duration: {}
227
+ },
228
+ emits: ["close", "minimize"],
229
+ setup(e, { emit: t }) {
230
+ 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)])]));
246
+ }
247
+ }), [["__scopeId", "data-v-27a21e03"]]), de = {
248
+ class: "main-video",
249
+ "aria-label": "主视频画面"
250
+ }, fe = {
251
+ key: 0,
252
+ 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({
254
+ __name: "MainVideoTile",
255
+ props: {
256
+ identity: {},
257
+ name: {},
258
+ muted: { type: Boolean },
259
+ speaking: { type: Boolean },
260
+ isHost: { type: Boolean },
261
+ isSelf: { type: Boolean },
262
+ onVideoElReady: { type: Function }
263
+ },
264
+ setup(e) {
265
+ let t = e, n = v(null);
266
+ function r() {
267
+ t.onVideoElReady?.(t.identity, n.value);
268
+ }
269
+ return h(r), m(() => {
270
+ t.onVideoElReady?.(t.identity, null);
271
+ }), w(() => t.identity, () => {
272
+ d(r);
273
+ }), (t, r) => (_(), a("section", de, [
274
+ o("video", {
275
+ ref_key: "videoEl",
276
+ ref: n,
277
+ autoplay: "",
278
+ muted: "",
279
+ playsinline: "",
280
+ class: "tile-video"
281
+ }, 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", {
286
+ key: 0,
287
+ 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",
292
+ size: 18,
293
+ color: e.muted ? "#ef4444" : "#fff",
294
+ title: e.muted ? "麦克风已关" : "麦克风已开"
295
+ }, null, 8, [
296
+ "name",
297
+ "color",
298
+ "title"
299
+ ])])
300
+ ])])
301
+ ]));
302
+ }
303
+ }), [["__scopeId", "data-v-d9b92940"]]), 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({
304
+ __name: "SmallVideoTile",
305
+ props: {
306
+ identity: {},
307
+ name: {},
308
+ muted: { type: Boolean },
309
+ speaking: { type: Boolean },
310
+ isHost: { type: Boolean },
311
+ isSelf: { type: Boolean },
312
+ onVideoElReady: { type: Function }
313
+ },
314
+ emits: ["click"],
315
+ setup(e, { emit: t }) {
316
+ let n = e, r = t, s = v(null);
317
+ return h(() => {
318
+ s.value && n.onVideoElReady?.(n.identity, s.value);
319
+ }), m(() => {
320
+ n.onVideoElReady?.(n.identity, null);
321
+ }), (t, n) => (_(), a("div", {
322
+ class: "small-video",
323
+ role: "img",
324
+ "aria-label": `${e.name} 的视频画面`,
325
+ onClick: n[0] ||= (t) => r("click", e.identity)
326
+ }, [
327
+ o("video", {
328
+ ref_key: "videoEl",
329
+ ref: s,
330
+ autoplay: "",
331
+ muted: "",
332
+ playsinline: "",
333
+ class: "tile-video"
334
+ }, 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,
339
+ class: "host-badge-inline",
340
+ innerHTML: x(H)
341
+ }, null, 8, Z)) : i("", !0)]),
342
+ e.speaking ? (_(), a("div", {
343
+ key: 0,
344
+ 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",
349
+ size: 18,
350
+ color: e.muted ? "#ef4444" : "#fff",
351
+ title: e.muted ? "麦克风已关" : "麦克风已开"
352
+ }, null, 8, [
353
+ "name",
354
+ "color",
355
+ "title"
356
+ ])])
357
+ ])])
358
+ ], 8, ye));
359
+ }
360
+ }), [["__scopeId", "data-v-1634cbc0"]]), Ee = /*#__PURE__*/ z(/* @__PURE__ */ l({
361
+ __name: "VideoListPanel",
362
+ props: {
363
+ members: {},
364
+ onTileMount: { type: Function }
365
+ },
366
+ emits: ["tileClick"],
367
+ setup(t, { expose: n, emit: i }) {
368
+ let o = t, s = i, c = v(null);
369
+ n({ listEl: c });
370
+ function l(e, t) {
371
+ o.onTileMount?.(e, t);
372
+ }
373
+ return (n, i) => (_(), a("div", {
374
+ ref_key: "listEl",
375
+ ref: c,
376
+ class: "sidebar-list"
377
+ }, [(_(!0), a(e, null, y(t.members, (e) => (_(), r(Te, {
378
+ key: e.identity,
379
+ identity: e.identity,
380
+ name: e.name,
381
+ muted: e.muted,
382
+ speaking: e.speaking,
383
+ "is-host": e.isHost,
384
+ "on-video-el-ready": l,
385
+ onClick: i[0] ||= (e) => s("tileClick", e)
386
+ }, null, 8, [
387
+ "identity",
388
+ "name",
389
+ "muted",
390
+ "speaking",
391
+ "is-host"
392
+ ]))), 128))], 512));
393
+ }
394
+ }), [["__scopeId", "data-v-38d90030"]]), De = { class: "member-row" }, Oe = { class: "member-main" }, ke = { class: "member-name" }, Ae = {
395
+ key: 0,
396
+ class: "host-tag"
397
+ }, je = { class: "member-status" }, Me = {
398
+ key: 0,
399
+ class: "status-badge"
400
+ }, Ne = {
401
+ key: 1,
402
+ class: "status-badge"
403
+ }, Pe = {
404
+ key: 2,
405
+ class: "status-badge"
406
+ }, Fe = {
407
+ key: 3,
408
+ 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({
410
+ __name: "MemberItem",
411
+ props: {
412
+ member: {},
413
+ canPromote: { type: Boolean },
414
+ canKick: { type: Boolean },
415
+ canReinvite: { type: Boolean }
416
+ },
417
+ emits: [
418
+ "transferHost",
419
+ "kick",
420
+ "reinvite"
421
+ ],
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
+ }
433
+ function w() {
434
+ u.value && (d && clearTimeout(d), d = setTimeout(() => {
435
+ u.value = !1, d = null;
436
+ }, Be));
437
+ }
438
+ function T() {
439
+ S(), l("transferHost", n.member.identity);
440
+ }
441
+ function E() {
442
+ S(), l("kick", n.member.identity);
443
+ }
444
+ function O() {
445
+ S(), l("reinvite", n.member.identity);
446
+ }
447
+ function k(e) {
448
+ u.value && (e.target.closest(".member-item-row") || S());
449
+ }
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", {
455
+ offline: !e.member.online && e.member.status !== "left",
456
+ waiting: e.member.online && !e.member.joined,
457
+ 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", {
460
+ key: 0,
461
+ class: "member-menu",
462
+ type: "button",
463
+ "aria-label": "更多操作",
464
+ onClick: D(x, ["stop"]),
465
+ onMouseenter: C,
466
+ onMouseleave: w
467
+ }, [c(M, {
468
+ name: "more",
469
+ size: 14
470
+ })], 32)) : i("", !0),
471
+ u.value ? (_(), a("div", {
472
+ key: 1,
473
+ class: "member-menu-popover",
474
+ onMouseenter: C,
475
+ onMouseleave: w
476
+ }, [
477
+ y() ? (_(), a("button", {
478
+ key: 0,
479
+ class: "menu-item",
480
+ type: "button",
481
+ onClick: D(O, ["stop"])
482
+ }, " 再次邀请 ")) : i("", !0),
483
+ p() ? (_(), a("button", {
484
+ key: 1,
485
+ class: "menu-item",
486
+ type: "button",
487
+ onClick: D(T, ["stop"])
488
+ }, " 设为主持人 ")) : i("", !0),
489
+ g() ? (_(), a("button", {
490
+ key: 2,
491
+ class: "menu-item",
492
+ type: "button",
493
+ onClick: D(E, ["stop"])
494
+ }, " 离会 ")) : i("", !0)
495
+ ], 32)) : i("", !0),
496
+ e.member.joined ? (_(), r(M, {
497
+ key: 2,
498
+ name: e.member.muted ? "mic-off" : "mic-on",
499
+ size: 14,
500
+ color: e.member.muted ? "#ef4444" : "rgba(255, 255, 255, 0.85)",
501
+ title: e.member.muted ? "麦克风已关" : "麦克风已开"
502
+ }, null, 8, [
503
+ "name",
504
+ "color",
505
+ "title"
506
+ ])) : i("", !0)
507
+ ])])], 2));
508
+ }
509
+ }), [["__scopeId", "data-v-567785f9"]]), He = { class: "member-list" }, Ue = /*#__PURE__*/ z(/* @__PURE__ */ l({
510
+ __name: "MemberListPanel",
511
+ props: {
512
+ members: {},
513
+ canPromote: { type: Boolean },
514
+ canKick: { type: Boolean },
515
+ canReinvite: { type: Boolean }
516
+ },
517
+ emits: [
518
+ "transferHost",
519
+ "kick",
520
+ "reinvite"
521
+ ],
522
+ setup(t, { emit: n }) {
523
+ let i = n;
524
+ return (n, o) => (_(), a("div", He, [(_(!0), a(e, null, y(t.members, (e) => (_(), r(Ve, {
525
+ key: e.identity,
526
+ member: e,
527
+ "can-promote": t.canPromote,
528
+ "can-kick": t.canKick,
529
+ "can-reinvite": t.canReinvite,
530
+ onTransferHost: o[0] ||= (e) => i("transferHost", e),
531
+ onKick: o[1] ||= (e) => i("kick", e),
532
+ onReinvite: o[2] ||= (e) => i("reinvite", e)
533
+ }, null, 8, [
534
+ "member",
535
+ "can-promote",
536
+ "can-kick",
537
+ "can-reinvite"
538
+ ]))), 128))]));
539
+ }
540
+ }), [["__scopeId", "data-v-ade13c42"]]), We = { class: "tab-bar" }, Ge = /*#__PURE__*/ z(/* @__PURE__ */ l({
541
+ __name: "SidebarTabs",
542
+ props: { activeTab: {} },
543
+ emits: ["update:activeTab", "addMember"],
544
+ setup(e, { emit: t }) {
545
+ let n = t;
546
+ return (t, r) => (_(), a("div", We, [
547
+ o("button", {
548
+ class: f(["tab-btn", { active: e.activeTab === "video" }]),
549
+ type: "button",
550
+ onClick: r[0] ||= (e) => n("update:activeTab", "video")
551
+ }, " 视频列表 ", 2),
552
+ o("button", {
553
+ class: f(["tab-btn", {
554
+ active: e.activeTab === "member",
555
+ "before-add": !0
556
+ }]),
557
+ type: "button",
558
+ onClick: r[1] ||= (e) => n("update:activeTab", "member")
559
+ }, " 成员列表 ", 2),
560
+ r[3] ||= o("span", {
561
+ class: "tab-divider",
562
+ "aria-hidden": "true"
563
+ }, null, -1),
564
+ o("button", {
565
+ class: "add-member-btn",
566
+ type: "button",
567
+ title: "添加参会人员",
568
+ onClick: r[2] ||= (e) => n("addMember")
569
+ }, [c(M, {
570
+ name: "plus",
571
+ size: 14
572
+ })])
573
+ ]));
574
+ }
575
+ }), [["__scopeId", "data-v-a6e6dde1"]]), Ke = { class: "confirm-dialog" }, qe = {
576
+ key: 0,
577
+ class: "confirm-title"
578
+ }, Je = { class: "confirm-message" }, Ye = { class: "confirm-actions" }, Xe = /*#__PURE__*/ z(/* @__PURE__ */ l({
579
+ __name: "ConfirmDialog",
580
+ props: {
581
+ title: {},
582
+ message: {},
583
+ confirmText: {},
584
+ cancelText: {},
585
+ danger: { type: Boolean }
586
+ },
587
+ emits: ["confirm", "cancel"],
588
+ setup(e, { emit: t }) {
589
+ let n = t;
590
+ return (t, r) => (_(), a("div", {
591
+ 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", {
597
+ class: "confirm-btn cancel",
598
+ type: "button",
599
+ onClick: r[0] ||= (e) => n("cancel")
600
+ }, b(e.cancelText || "取消"), 1), o("button", {
601
+ class: f(["confirm-btn ok", { danger: e.danger }]),
602
+ type: "button",
603
+ onClick: r[1] ||= (e) => n("confirm")
604
+ }, b(e.confirmText || "确认"), 3)])
605
+ ])]));
606
+ }
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({
608
+ __name: "MeetingEndedToast",
609
+ props: {
610
+ reason: { default: "会议已结束" },
611
+ duration: { default: 5 }
612
+ },
613
+ emits: ["close"],
614
+ 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"));
619
+ }, 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", {
623
+ class: "ended-toast-close",
624
+ type: "button",
625
+ title: "立即关闭",
626
+ onClick: t[0] ||= (e) => i("close")
627
+ }, [c(M, {
628
+ name: "close",
629
+ size: 14
630
+ })])]), o("div", et, [o("div", {
631
+ class: "ended-toast-progress-bar",
632
+ style: p({ animationDuration: `${r.duration}s` })
633
+ }, null, 4)])]));
634
+ }
635
+ }), [["__scopeId", "data-v-21b2a29a"]]), nt = {
636
+ key: 0,
637
+ class: "device-warn"
638
+ }, rt = {
639
+ key: 1,
640
+ class: "device-warn"
641
+ }, it = { class: "bottom-controls" }, at = ["title"], ot = ["title"], st = ["title"], ct = {
642
+ key: 2,
643
+ class: "mini-bar"
644
+ }, lt = { class: "mini-bar-body" }, ut = {
645
+ key: 0,
646
+ class: "speaking-indicator"
647
+ }, dt = { class: "mini-duration" }, ft = { class: "mini-bar-actions" }, pt = ["innerHTML"], mt = ["innerHTML"], ht = /*#__PURE__*/ z(/* @__PURE__ */ l({
648
+ __name: "MeetWindow",
649
+ props: {
650
+ mode: {},
651
+ title: {},
652
+ height: {},
653
+ onClose: { type: Function },
654
+ resolveUser: { type: Function }
655
+ },
656
+ emits: ["close", "addMember"],
657
+ 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);
661
+ }
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() {
664
+ return window.__atimClient;
665
+ }
666
+ function K() {
667
+ return G()?.meeting?.currentSession;
668
+ }
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;
674
+ 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);
678
+ });
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;
681
+ }
682
+ function pe(e) {
683
+ let t = K()?.identity || "";
684
+ 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;
687
+ });
688
+ }
689
+ let me = t(() => pe(I.value));
690
+ async function Y(e = !1) {
691
+ let t = G();
692
+ if (t?.meeting) try {
693
+ let n = await t.meeting.getMembers(e);
694
+ l.resolveUser ? I.value = n.map((e) => {
695
+ let t = l.resolveUser?.(e.identity);
696
+ return t ? {
697
+ ...e,
698
+ name: t.name,
699
+ dept: t.dept ?? e.dept
700
+ } : e;
701
+ }) : I.value = n;
702
+ } catch (e) {
703
+ console.warn("[atim] refreshMembers 失败", e);
704
+ }
705
+ }
706
+ async function he() {
707
+ let e = K();
708
+ e && B && V && (B === e.identity ? e.attachLocalVideo(V) : e.attachParticipantVideo(B, V));
709
+ }
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));
713
+ }
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));
717
+ }
718
+ async function ye() {
719
+ try {
720
+ 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);
722
+ } catch (e) {
723
+ console.warn("[atim] enumerateDevices 失败", e);
724
+ }
725
+ }
726
+ function X() {
727
+ let e = R.value, t = ne.value, n = re.value, r = ae.value?.listEl, i = r?.querySelectorAll(".small-video") ?? [];
728
+ if (!e || !t || !n) return;
729
+ let a = e.clientHeight;
730
+ 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");
732
+ 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
+ e.style.width = u + "px", e.style.height = l + "px";
734
+ });
735
+ }
736
+ async function be() {
737
+ if (!D.value) return;
738
+ let e = K();
739
+ if (!e) return;
740
+ let t = !m.value;
741
+ try {
742
+ await e.setMicEnabled(t), m.value = t;
743
+ } catch (e) {
744
+ console.warn("[atim] setMicEnabled 失败,UI 不切换", e);
745
+ }
746
+ }
747
+ async function xe() {
748
+ if (!E.value) return;
749
+ let e = K();
750
+ if (!e) return;
751
+ let t = !y.value;
752
+ try {
753
+ await e.setCameraEnabled(t), y.value = t, d(he);
754
+ } catch (e) {
755
+ console.warn("[atim] setCameraEnabled 失败,UI 不切换", e);
756
+ }
757
+ }
758
+ async function Se() {
759
+ let e = K();
760
+ e && (S.value = !S.value, await e.setSpeakerMuted(S.value));
761
+ }
762
+ let Z = v(!1), Ce = v(!1);
763
+ async function we() {
764
+ let e = G();
765
+ if (!e) return;
766
+ if (!J.value) {
767
+ await e.meeting?.leave(), P.value = "已离开";
768
+ return;
769
+ }
770
+ let t = 1;
771
+ try {
772
+ t = await e.meeting.getParticipantCount();
773
+ } catch (e) {
774
+ console.warn("[atim] 查参与者数量失败,按 1 处理(自动解散)", e);
775
+ }
776
+ if (t > 1) {
777
+ Z.value = !0;
778
+ return;
779
+ }
780
+ Ce.value = !0;
781
+ try {
782
+ await e.meeting.dissolve(), P.value = "会议已解散";
783
+ } catch (t) {
784
+ console.error("[atim] host 单独时解散失败,回退到 leave", t), P.value = "已离开", await e.meeting?.leave().catch(() => {});
785
+ } finally {
786
+ Ce.value = !1;
787
+ }
788
+ }
789
+ async function Te() {
790
+ let e = G();
791
+ if (e) {
792
+ Z.value = !1, Ce.value = !0;
793
+ try {
794
+ await e.meeting.dissolve(), P.value = "会议已解散";
795
+ } catch (e) {
796
+ console.error("[atim] 解散失败", e), P.value = "解散失败";
797
+ } finally {
798
+ Ce.value = !1;
799
+ }
800
+ }
801
+ }
802
+ function De() {
803
+ Z.value = !1;
804
+ }
805
+ async function Oe(e) {
806
+ let t = K();
807
+ if (t) try {
808
+ await t.kick(G().transport, e), await Y(!0);
809
+ } catch (e) {
810
+ console.warn("[atim] kickParticipant 失败", e);
811
+ }
812
+ }
813
+ async function ke(e) {
814
+ let t = K();
815
+ if (t) try {
816
+ await t.transferHost(G().transport, e), L.value = e, await Y(!0);
817
+ } catch (e) {
818
+ console.warn("[atim] transferHost 失败", e);
819
+ }
820
+ }
821
+ async function Ae(e) {
822
+ let t = K();
823
+ if (t) try {
824
+ await G().meeting.reinvite(t.meetingId, e), await Y(!0);
825
+ } catch (e) {
826
+ let t = e instanceof Error ? e.message : "";
827
+ t.includes("target_was_kicked") ? ee("该成员已被踢出会议,无法再次邀请") : t.includes("meeting_ended") ? ee("会议已结束") : ee("再次邀请失败,请重试"), console.warn("[atim] reinvite 失败", e);
828
+ }
829
+ }
830
+ function je(e) {
831
+ let t = K();
832
+ !t || e.meetingId !== t.meetingId || (L.value = e.hostUid, d(() => {
833
+ Y(!0);
834
+ }));
835
+ }
836
+ function Me(e) {
837
+ let t = K();
838
+ !t || e.meetingId !== t.meetingId || (P.value ||= "会议已解散", U && clearInterval(U));
839
+ }
840
+ function Ne(e) {
841
+ let t = K();
842
+ !t || e.meetingId !== t.meetingId || (P.value ||= "已被移出会议", U && clearInterval(U));
843
+ }
844
+ function Pe(e) {
845
+ let t = Math.floor(e / 3600), n = Math.floor(e % 3600 / 60).toString().padStart(2, "0"), r = (e % 60).toString().padStart(2, "0");
846
+ return t > 0 ? `${t}:${n}:${r}` : `${n}:${r}`;
847
+ }
848
+ return h(async () => {
849
+ await ye();
850
+ let e = G();
851
+ if (!e) return;
852
+ 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();
856
+ }, 1e3);
857
+ }), t.onSession("participantJoined", () => {
858
+ Y(!0);
859
+ }), t.onSession("participantLeft", () => {
860
+ Y(!0);
861
+ }), t.onSession("participantTrackSubscribed", (e) => {
862
+ if (e.kind !== "video") return;
863
+ let n = H.get(e.identity);
864
+ n && t.attachParticipantVideo(e.identity, n), B === e.identity && d(he);
865
+ }), t.onSession("activeSpeakersChanged", (e) => {
866
+ let t = new Set(e.identities), n = !1;
867
+ for (let e of I.value) {
868
+ let r = t.has(e.identity);
869
+ e.speaking !== r && (e.speaking = r, n = !0);
870
+ }
871
+ n && (I.value = [...I.value]);
872
+ }), 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);
874
+ }), 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", {
885
+ id: "meetingWindow",
886
+ class: "meeting-window",
887
+ style: p({ height: n.height || "80vh" })
888
+ }, [
889
+ c(ue, {
890
+ 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),
897
+ o("div", {
898
+ ref_key: "contentEl",
899
+ ref: R,
900
+ class: "content"
901
+ }, [o("div", {
902
+ ref_key: "mainVideoWrap",
903
+ ref: ne
904
+ }, [q.value ? (_(), r(ve, {
905
+ key: 0,
906
+ 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
915
+ }, null, 8, [
916
+ "identity",
917
+ "name",
918
+ "muted",
919
+ "speaking",
920
+ "is-host",
921
+ "is-self"
922
+ ])) : i("", !0)], 512), o("aside", {
923
+ ref_key: "sidebarEl",
924
+ ref: re,
925
+ class: "sidebar"
926
+ }, [
927
+ o("div", {
928
+ 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, {
936
+ 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)
949
+ }, null, 8, [
950
+ "members",
951
+ "can-promote",
952
+ "can-kick",
953
+ "can-reinvite"
954
+ ]), [[C, F.value === "member"]])
955
+ ], 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,
999
+ title: "解散会议",
1000
+ message: "会议中还有其他成员,确认要解散会议吗?所有成员将被强制离会。",
1001
+ "confirm-text": "解散会议",
1002
+ "cancel-text": "取消",
1003
+ danger: !0,
1004
+ onConfirm: Te,
1005
+ onCancel: De
1006
+ })) : i("", !0),
1007
+ P.value ? (_(), r(tt, {
1008
+ key: 1,
1009
+ reason: P.value,
1010
+ duration: 5,
1011
+ onClose: s[6] ||= (e) => u("close")
1012
+ }, 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] ||= [
1015
+ o("span", { class: "wave-bar" }, null, -1),
1016
+ o("span", { class: "wave-bar" }, null, -1),
1017
+ o("span", { class: "wave-bar" }, null, -1)
1018
+ ]])) : 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", {
1022
+ class: "mini-btn",
1023
+ type: "button",
1024
+ "aria-label": "还原窗口",
1025
+ title: "还原窗口",
1026
+ innerHTML: x(oe),
1027
+ onClick: s[7] ||= (e) => te.value = !1
1028
+ }, null, 8, pt), o("button", {
1029
+ class: "mini-btn mini-close",
1030
+ type: "button",
1031
+ "aria-label": "离开会议",
1032
+ title: "离开会议",
1033
+ innerHTML: x(se),
1034
+ onClick: we
1035
+ }, null, 8, mt)])])), [[x(A), ".mini-bar-body"]]) : i("", !0)
1036
+ ], 64));
1037
+ }
1038
+ }), [["__scopeId", "data-v-224b649f"]]), 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: "atim-incoming-ring" }, vt = ["src"], yt = { class: "atim-ring-content" }, bt = { class: "atim-ring-avatar" }, xt = { class: "atim-ring-info" }, St = { class: "atim-ring-name" }, Ct = { class: "atim-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.__atimClient;
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: "atim-ring-actions" }, [o("button", {
1094
+ class: "atim-reject",
1095
+ onClick: p
1096
+ }, "拒接"), o("button", {
1097
+ class: "atim-accept",
1098
+ onClick: f
1099
+ }, "接听")])
1100
+ ])]));
1101
+ }
1102
+ }), [["__scopeId", "data-v-22573c12"]]), 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({
1103
+ __name: "MeetingInvite",
1104
+ props: {
1105
+ invite: {},
1106
+ conflict: { type: Boolean },
1107
+ fromName: {},
1108
+ onClose: { type: Function }
1109
+ },
1110
+ emits: ["close", "accepted"],
1111
+ 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;
1114
+ return t === "rejoin" ? "重新加入会议" : t === "reinvite" ? `${e} 再次邀请您入会` : `${e}邀请您入会`;
1115
+ });
1116
+ function u() {
1117
+ c && (c.muted = s.value, c.currentTime = 0, c.play().catch((e) => {
1118
+ console.warn("[atim] 邀请响铃播放失败(可能是 autoplay 策略)", e);
1119
+ }));
1120
+ }
1121
+ function d() {
1122
+ s.value = !s.value, c && (c.muted = s.value, s.value || c.play().catch(() => {}));
1123
+ }
1124
+ function f() {
1125
+ return window.__atimClient;
1126
+ }
1127
+ function p(e) {
1128
+ let t = String(e?.message || e || "");
1129
+ 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
+ }
1131
+ async function g() {
1132
+ let e = f();
1133
+ if (e) {
1134
+ r.conflict && (e.call?.currentSession ? await e.call.end("user_left").catch(() => {}) : e.meeting?.currentSession && await e.meeting.leave().catch(() => {}));
1135
+ try {
1136
+ let t = await e.meeting.respond(r.invite.meetingId, "accept", r.invite.title);
1137
+ t && i("accepted", t), i("close");
1138
+ } catch (e) {
1139
+ console.error("[atim] 会议接听失败", e), alert(p(e)), i("close");
1140
+ }
1141
+ }
1142
+ }
1143
+ async function y() {
1144
+ let e = f();
1145
+ try {
1146
+ await e?.meeting?.respond(r.invite.meetingId, "reject");
1147
+ } catch (e) {
1148
+ console.warn("[atim] 会议拒绝失败", e);
1149
+ }
1150
+ i("close");
1151
+ }
1152
+ return h(() => {
1153
+ c = new Audio(gt), c.loop = !0, c.preload = "auto", u();
1154
+ }), m(() => {
1155
+ 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, [
1160
+ o("button", {
1161
+ class: "btn btn-ghost",
1162
+ type: "button",
1163
+ onClick: d
1164
+ }, b(s.value ? "恢复响铃" : "关闭响铃"), 1),
1165
+ o("button", {
1166
+ class: "btn btn-secondary",
1167
+ type: "button",
1168
+ onClick: y
1169
+ }, "拒绝"),
1170
+ o("button", {
1171
+ class: "btn btn-primary",
1172
+ type: "button",
1173
+ onClick: g
1174
+ }, b(e.conflict ? "切换" : "加入"), 1)
1175
+ ])
1176
+ ]));
1177
+ }
1178
+ }), [["__scopeId", "data-v-b544fe2c"]]), jt = { class: "atim-chat-panel" }, Mt = { class: "atim-chat-header" }, Nt = {
1179
+ key: 0,
1180
+ class: "atim-chat-revoked"
1181
+ }, Pt = { key: 1 }, Ft = { class: "atim-chat-input" }, It = /*#__PURE__*/ z(/* @__PURE__ */ l({
1182
+ __name: "ChatPanel",
1183
+ props: {
1184
+ to: {},
1185
+ onClose: { type: Function }
1186
+ },
1187
+ 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.__atimClient;
1192
+ }
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
+ }));
1201
+ });
1202
+ async function g() {
1203
+ if (!c.value.trim()) return;
1204
+ let e = m(), t = c.value;
1205
+ c.value = "";
1206
+ let n = "temp-" + Date.now();
1207
+ s.value.push({
1208
+ id: n,
1209
+ appId: "",
1210
+ conversationId: l.value,
1211
+ seq: 0,
1212
+ senderId: e.uid,
1213
+ clientMid: n,
1214
+ type: "text",
1215
+ body: t,
1216
+ status: "sending",
1217
+ createdAt: Date.now()
1218
+ }), x();
1219
+ try {
1220
+ let i = await e.message.send({
1221
+ to: r.to,
1222
+ 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;
1226
+ } catch {
1227
+ let e = s.value.find((e) => e.id === n);
1228
+ e && (e.status = "failed");
1229
+ }
1230
+ }
1231
+ function x() {
1232
+ d(() => {
1233
+ p.value && (p.value.scrollTop = p.value.scrollHeight);
1234
+ });
1235
+ }
1236
+ return (n, r) => (_(), a("div", jt, [
1237
+ o("div", Mt, [o("span", null, b(t.to), 1), o("button", {
1238
+ class: "atim-chat-close",
1239
+ onClick: r[0] ||= (e) => i("close")
1240
+ }, "×")]),
1241
+ o("div", {
1242
+ ref_key: "listEl",
1243
+ ref: p,
1244
+ class: "atim-chat-messages"
1245
+ }, [(_(!0), a(e, null, y(s.value, (e) => (_(), a("div", {
1246
+ key: e.id,
1247
+ class: f(["atim-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
+ ]));
1255
+ }
1256
+ }), [["__scopeId", "data-v-9a0ce055"]]), 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
+ };
1270
+ }
1271
+ function zt(e, t) {
1272
+ Q = e, Lt = t, globalThis.__atimClient = e, Q.on("call:invite", (e) => {
1273
+ if (Q.sessionState !== "idle") {
1274
+ Q.call.end("busy").catch(() => {});
1275
+ return;
1276
+ }
1277
+ Rt(wt, { invite: e });
1278
+ }), Q.on("meeting:invite", async (e) => {
1279
+ try {
1280
+ if (!((await Q.transport.meetingPendingInvites()).invites || []).some((t) => t.meetingId === e.meetingId)) {
1281
+ console.warn("[atim-ui] stale meeting_invite 丢弃(会议已结束)", e.meetingId);
1282
+ return;
1283
+ }
1284
+ } catch (e) {
1285
+ console.warn("[atim-ui] invite 校验失败,默认透传", e);
1286
+ }
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, {
1290
+ 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) => {
1301
+ alert(`您的账号在其他 ${e.clientType === 4 ? "Web" : e.clientType === 1 ? "PC" : "移动端"} 登录,已强制下线`), window.location.reload();
1302
+ });
1303
+ }
1304
+ var Bt = {
1305
+ chat(e) {
1306
+ Rt(It, { to: e });
1307
+ },
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("[atim] 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("[atim] meeting create 失败", e);
1323
+ });
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
+ },
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.__atimClient;
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);
1354
+ }
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);
1359
+ }
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("[atim] 接听失败", e), u.value = "rejected", d.value = e?.message || "接听失败", setTimeout(() => l("close"), 1500);
1370
+ }
1371
+ }
1372
+ }
1373
+ async function M() {
1374
+ w(), u.value = "rejected", d.value = "已拒接", await S()?.call?.end("rejected", c.callId).catch(() => {}), setTimeout(() => l("close"), 600);
1375
+ }
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
+ }
1431
+ }), [["__scopeId", "data-v-f8ce6bf2"]]), 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 = {
1432
+ key: 0,
1433
+ class: "ringing-dots"
1434
+ }, nn = { class: "call-out-actions" }, rn = /*#__PURE__*/ z(/* @__PURE__ */ l({
1435
+ __name: "CallOutgoing",
1436
+ props: {
1437
+ calleeUid: {},
1438
+ calleeName: {},
1439
+ callType: {},
1440
+ timeoutSec: {}
1441
+ },
1442
+ emits: ["close", "connected"],
1443
+ setup(e, { emit: t }) {
1444
+ let n = e, r = t, c = v("ringing"), l = v(""), u = null, d = null;
1445
+ function p() {
1446
+ return window.__atimClient;
1447
+ }
1448
+ function g(e, t, n = 1500) {
1449
+ c.value = e, l.value = t, setTimeout(() => r("close"), n);
1450
+ }
1451
+ async function y() {
1452
+ c.value = "cancelled", l.value = "已取消";
1453
+ let e = p(), t = e?.call?.currentSession?.callId;
1454
+ await e?.call?.end("cancelled", t).catch(() => {}), setTimeout(() => r("close"), 800);
1455
+ }
1456
+ return h(() => {
1457
+ let e = p();
1458
+ if (!e) {
1459
+ r("close");
1460
+ return;
1461
+ }
1462
+ u = e.on("call:accepted", () => {
1463
+ 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
+ });
1473
+ let t = n.timeoutSec ?? 30;
1474
+ d = setTimeout(() => {
1475
+ c.value === "ringing" && g("no_answer", "无人接听");
1476
+ }, 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),
1486
+ o("span", { class: "dot" }, "·", -1),
1487
+ o("span", { class: "dot" }, "·", -1),
1488
+ o("span", { class: "dot" }, "·", -1)
1489
+ ]])) : (_(), a("span", {
1490
+ key: 1,
1491
+ class: f(c.value)
1492
+ }, b(l.value), 3))])
1493
+ ]),
1494
+ o("div", nn, [c.value === "ringing" ? (_(), a("button", {
1495
+ key: 0,
1496
+ class: "cancel-btn",
1497
+ onClick: y
1498
+ }, "取消")) : i("", !0)])
1499
+ ])), [[x(A), ".call-out-header"]]);
1500
+ }
1501
+ }), [["__scopeId", "data-v-ab8e2274"]]), an = { install(e, t) {
1502
+ if (!t?.client) throw Error("AtimUI 安装时必须传入 client(已初始化的 AtimClient)");
1503
+ e.component("AtimIcon", M), e.component("AtimCallWindow", B), e.component("AtimCallDialog", Yt), e.component("AtimCallOutgoing", rn), e.component("AtimMeetWindow", ht), e.component("AtimIncomingRing", wt), e.component("AtimMeetingInvite", At), e.component("AtimChatPanel", It), zt(t.client, e);
1504
+ } };
1505
+ //#endregion
1506
+ export { Bt as AtimUI, an as AtimUIPlugin, an as default, Yt as CallDialog, rn as CallOutgoing, B as CallWindow, It as ChatPanel, M as Icon, wt as IncomingRing, ht as MeetWindow, At as MeetingInvite };
1507
+
1508
+ //# sourceMappingURL=atim-ui.es.js.map