@yuneta/gobj-js 7.26.2 → 7.26.4

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.
@@ -664,7 +664,7 @@ var gobjJs = function(e) {
664
664
  t.parent && hn(`_add_child() ALREADY HAS PARENT: ${t.gobj_name}`), e.dl_children.push(t), t.parent = e;
665
665
  }
666
666
  function $e(e, t) {
667
- let n = Hr(e.dl_children, t);
667
+ let n = tl(e.dl_children, t);
668
668
  n >= 0 && (Hn(e.dl_children, n), t.parent = null);
669
669
  }
670
670
  function De(e, t) {
@@ -1096,7 +1096,7 @@ var gobjJs = function(e) {
1096
1096
  if (1 === C) L(n("🔄 %s %s%s %s from %s%s", t || "", e.running ? "" : "!!", et(e), o.state_name, l && !l.running ? "!!" : "", et(l)));
1097
1097
  else {
1098
1098
  let r = "";
1099
- i.action && (r = Qr(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1099
+ i.action && (r = rl(i.action)), L(n("🔄 mach(%s%s^%s), st: %s, ev: %s%s%s, ac: %s, from(%s%s^%s)", e.running ? "" : "!!", Ze(e), Xe(e), o.state_name, "", t || "", "", r, l && !l.running ? "!!" : "", Ze(l), Xe(l)));
1100
1100
  }
1101
1101
  r && q(e) && zn(r) && Un(r);
1102
1102
  }
@@ -1159,21 +1159,21 @@ var gobjJs = function(e) {
1159
1159
  };
1160
1160
  }
1161
1161
  function Kt(e, t, n, r, l, o) {
1162
- let s = vr(t, l, "__config__", null), i = vr(t, l, "__global__", null), _ = vr(t, l, "__local__", null), a = jr(t, l, "__filter__", null), u = !0;
1163
- if (t && t !== Tr(null, e, "publisher", null) && (u = !1), o && o !== Tr(null, e, "subscriber", null) && (u = !1), n && n !== Er(null, e, "event", "") && (u = !1), r && r !== Er(null, e, "renamed_event", "") && (u = !1), Xn(s) > 0) {
1164
- let t = vr(null, e, "__config__", null);
1162
+ let s = jr(t, l, "__config__", null), i = jr(t, l, "__global__", null), _ = jr(t, l, "__local__", null), a = Or(t, l, "__filter__", null), u = !0;
1163
+ if (t && t !== vr(null, e, "publisher", null) && (u = !1), o && o !== vr(null, e, "subscriber", null) && (u = !1), n && n !== Tr(null, e, "event", "") && (u = !1), r && r !== Tr(null, e, "renamed_event", "") && (u = !1), Xn(s) > 0) {
1164
+ let t = jr(null, e, "__config__", null);
1165
1165
  Xn(t) > 0 && Vn(t, s) || (u = !1);
1166
1166
  }
1167
1167
  if (Xn(i) > 0) {
1168
- let t = vr(null, e, "__global__", null);
1168
+ let t = jr(null, e, "__global__", null);
1169
1169
  Xn(t) > 0 && Vn(t, i) || (u = !1);
1170
1170
  }
1171
1171
  if (Xn(_) > 0) {
1172
- let t = vr(null, e, "__local__", null);
1172
+ let t = jr(null, e, "__local__", null);
1173
1173
  Xn(t) > 0 && Vn(t, _) || (u = !1);
1174
1174
  }
1175
1175
  if (Xn(a) > 0) {
1176
- let t = jr(null, e, "__filter__", null);
1176
+ let t = Or(null, e, "__filter__", null);
1177
1177
  Xn(t) > 0 && Vn(t, a) || (u = !1);
1178
1178
  }
1179
1179
  return u;
@@ -1190,8 +1190,8 @@ var gobjJs = function(e) {
1190
1190
  return e.indexOf(t);
1191
1191
  }
1192
1192
  function Jt(e, t, r, l) {
1193
- let o = Tr(e, t, "publisher", null, Zt.KW_REQUIRED), s = Tr(e, t, "subscriber", null, Zt.KW_REQUIRED), i = Er(e, t, "event", "", Zt.KW_REQUIRED);
1194
- if (!!(yr(e, t, "subs_flag", null, Zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1193
+ let o = vr(e, t, "publisher", null, Zt.KW_REQUIRED), s = vr(e, t, "subscriber", null, Zt.KW_REQUIRED), i = Tr(e, t, "event", "", Zt.KW_REQUIRED);
1194
+ if (!!(Er(e, t, "subs_flag", null, Zt.KW_REQUIRED) & Gt.__hard_subscription__) && !r) return -1;
1195
1195
  let _ = B(s) || B(o);
1196
1196
  if (Bt(o.dl_subscriptions, t) < 0) return _ && L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", et(o), et(s))), 1;
1197
1197
  _ && (L(n("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", et(o), et(s))), vn(t)), o.obflag & R.obflag_destroyed || l || o.gclass.gmt.mt_subscription_deleted && o.gclass.gmt.mt_subscription_deleted(o, t);
@@ -1213,7 +1213,7 @@ var gobjJs = function(e) {
1213
1213
  }), ir(t)) t = "";
1214
1214
  else if (!(Ct(e, t, $.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & w.gcflag_no_check_output_events)) return hn(`event NOT in output event list: ${et(e)}, ${t}`), 0;
1215
1215
  let s = xt(r, t), i = Yt(e.dl_subscriptions, e, t, s.renamed_event, s.kw, l), _ = null;
1216
- for (let t = 0; t < i.length; t++) if (yr(e, i[t], "subs_flag", 0, Zt.KW_REQUIRED) & Gt.__hard_subscription__) {
1216
+ for (let t = 0; t < i.length; t++) if (Er(e, i[t], "subs_flag", 0, Zt.KW_REQUIRED) & Gt.__hard_subscription__) {
1217
1217
  _ = i[t];
1218
1218
  break;
1219
1219
  }
@@ -1224,25 +1224,25 @@ var gobjJs = function(e) {
1224
1224
  Bn(l, "event", t), Bn(l, "subscriber", r), Bn(l, "publisher", e);
1225
1225
  let o = 0;
1226
1226
  if (n) {
1227
- let r = vr(e, n, "__config__", null), s = vr(e, n, "__global__", null), i = vr(e, n, "__local__", null), _ = jr(e, n, "__filter__", null), a = Er(e, n, "__service__", "");
1227
+ let r = jr(e, n, "__config__", null), s = jr(e, n, "__global__", null), i = jr(e, n, "__local__", null), _ = Or(e, n, "__filter__", null), a = Tr(e, n, "__service__", "");
1228
1228
  if (Xn(s) > 0 && Bn(l, "__global__", Fn(s)), Xn(r) > 0) {
1229
1229
  let n = Fn(r);
1230
1230
  Bn(l, "__config__", n);
1231
- let s = Er(e, n, "__rename_event_name__", "");
1231
+ let s = Tr(e, n, "__rename_event_name__", "");
1232
1232
  if (!ir(s)) {
1233
1233
  let r = Mt(s);
1234
1234
  if (r) {
1235
1235
  Bn(l, "renamed_event", r.event_name), delete n.__rename_event_name__, o |= Gt.__rename_event_name__;
1236
- let s = vr(e, l, "__global__", null);
1236
+ let s = jr(e, l, "__global__", null);
1237
1237
  Zn(s) || (s = {}, Bn(l, "__global__", s)), s.__original_event_name__ = t;
1238
1238
  } else hn(`${et(e)}: EVENT NOT FOUND (__rename_event_name__: ${s})`);
1239
1239
  }
1240
1240
  if (gr(n, "__hard_subscription__")) {
1241
- let t = hr(e, n, "__hard_subscription__", !1);
1241
+ let t = yr(e, n, "__hard_subscription__", !1);
1242
1242
  Kn(n, "__hard_subscription__"), t && (o |= Gt.__hard_subscription__);
1243
1243
  }
1244
1244
  if (gr(n, "__own_event__")) {
1245
- let t = hr(e, n, "__own_event__", !1);
1245
+ let t = yr(e, n, "__own_event__", !1);
1246
1246
  Kn(n, "__own_event__"), t && (o |= Gt.__own_event__);
1247
1247
  }
1248
1248
  }
@@ -1286,15 +1286,15 @@ var gobjJs = function(e) {
1286
1286
  if (n < 0) break;
1287
1287
  if (!n) continue;
1288
1288
  }
1289
- let u = Tr(e, a, "subscriber", null, Zt.KW_REQUIRED);
1289
+ let u = vr(e, a, "subscriber", null, Zt.KW_REQUIRED);
1290
1290
  if (!u || ot(u)) continue;
1291
- let c = yr(e, a, "subs_flag", 0, Zt.KW_REQUIRED), f = Er(e, a, "event", "", Zt.KW_REQUIRED);
1291
+ let c = Er(e, a, "subs_flag", 0, Zt.KW_REQUIRED), f = Tr(e, a, "event", "", Zt.KW_REQUIRED);
1292
1292
  if (ir(f) || 0 === ur(f, t)) {
1293
- vr(e, a, "__config__", null, 0);
1294
- let l = vr(e, a, "__global__", null, 0), s = vr(e, a, "__local__", null, 0), f = jr(e, a, "__filter__", null, 0), g = a.renamed_event;
1293
+ jr(e, a, "__config__", null, 0);
1294
+ let l = jr(e, a, "__global__", null, 0), s = jr(e, a, "__local__", null, 0), f = Or(e, a, "__filter__", null, 0), g = a.renamed_event;
1295
1295
  ir(g) && (g = t);
1296
1296
  let d = 1;
1297
- if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d = Nr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), vn(f))), d < 0) break;
1297
+ if (e.gclass.gmt.mt_publication_filter ? d = e.gclass.gmt.mt_publication_filter(e, t, r, u) : Xn(f) > 0 && (d = Rr(r, f) ? 1 : 0, o && (L(n("💜💜🔄%s publishing with filter, event '%s', subscriber'%s', publisher %s", d ? "👍" : "👎", t || "", et(u), et(e))), vn(f))), d < 0) break;
1298
1298
  if (!d) continue;
1299
1299
  let b = At(u, t, !0);
1300
1300
  if (b && b.event_flag & $.EVF_SYSTEM_EVENT && !It(u, b.event_name, 0)) continue;
@@ -1402,23 +1402,23 @@ var gobjJs = function(e) {
1402
1402
  return n;
1403
1403
  }
1404
1404
  function hn(e, ...t) {
1405
- let n = mn(e, ...t), r = qr();
1405
+ let n = mn(e, ...t), r = el();
1406
1406
  tn && (tn === en.error ? cn("error", n) && tn("%c" + r + " ERROR: " + String(n), "color:red") : (cn("error", n) && en.error("%c" + r + " ERROR: " + String(n), "color:red"), tn(`${r} ERROR: ${String(n)}`))), gn("error", n, r);
1407
1407
  }
1408
1408
  function yn(e, ...t) {
1409
- let n = mn(e, ...t), r = qr();
1409
+ let n = mn(e, ...t), r = el();
1410
1410
  nn && (nn === en.warn ? cn("warning", n) && nn("%c" + r + " WARNING: " + String(n), "color:yellow") : (cn("warning", n) && en.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), nn(`${r} WARNING: ${String(n)}`))), gn("warning", n, r);
1411
1411
  }
1412
1412
  function En(e, ...t) {
1413
- let n = mn(e, ...t), r = qr();
1413
+ let n = mn(e, ...t), r = el();
1414
1414
  ln && cn("debug", n) && ln("%c" + r + " DEBUG: " + String(n), "color:silver"), gn("debug", n, r);
1415
1415
  }
1416
1416
  function Tn(e, ...t) {
1417
- let n = mn(e, ...t), r = qr();
1417
+ let n = mn(e, ...t), r = el();
1418
1418
  ln && cn("msg", n) && ln("%c" + r + " MSG: " + String(n), "color:cyan"), gn("msg", n, r);
1419
1419
  }
1420
1420
  function vn(e, t) {
1421
- cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, qr());
1421
+ cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, el());
1422
1422
  }
1423
1423
  var jn = [
1424
1424
  "passw",
@@ -1727,7 +1727,12 @@ var gobjJs = function(e) {
1727
1727
  configurable: !0
1728
1728
  }) : e[t] = n;
1729
1729
  }
1730
- function pr(e, t, n, r) {
1730
+ function pr(e, t) {
1731
+ if (!/^[0-9]+$/.test(t)) return -1;
1732
+ const n = Number(t);
1733
+ return n >= e.length ? -1 : n;
1734
+ }
1735
+ function mr(e, t, n, r) {
1731
1736
  e && !sr(e) && hn("GObj bad instanceof");
1732
1737
  const l = e ? `${et(e)}: ` : "";
1733
1738
  if (!Zn(t) && !er(t)) return void hn(`${l}kw must be list or dict: '${String(n)}'`);
@@ -1735,8 +1740,9 @@ var gobjJs = function(e) {
1735
1740
  let o = n.split("`"), s = o.length;
1736
1741
  for (let e = 0; e < s; e++) {
1737
1742
  if (er(t)) {
1738
- if (!/^[0-9]+$/.test(o[e])) return void (r && hn(`${l}path not found: '${n}'`));
1739
- o[e] = String(Number(o[e]));
1743
+ const s = pr(t, o[e]);
1744
+ if (s < 0) return void (r && hn(`${l}path not found: '${n}'`));
1745
+ o[e] = String(s);
1740
1746
  }
1741
1747
  if (dr(t, o[e])) return void (r && hn(`${l}path not found: '${n}'`));
1742
1748
  if (e === s - 1) break;
@@ -1746,22 +1752,28 @@ var gobjJs = function(e) {
1746
1752
  let i = t[o[s - 1]];
1747
1753
  return void 0 === i && r && hn(`${l}path not found: '${n}'`), i;
1748
1754
  }
1749
- function mr(e, t, n) {
1755
+ function hr(e, t, n) {
1750
1756
  e && !sr(e) && hn("GObj bad instanceof");
1751
1757
  let [r, l] = function(e, t) {
1752
1758
  let n = e.lastIndexOf(t);
1753
1759
  return -1 === n ? [e, ""] : [e.substring(0, n), e.substring(n + 1)];
1754
1760
  }(n, "`");
1755
- return ir(l) ? Kn(t, n) : Kn(pr(e, t, r, !0), l), 0;
1761
+ if (ir(l)) Kn(t, n);
1762
+ else {
1763
+ let o = mr(e, t, r, !0);
1764
+ if (er(o)) return hn(`${e ? et(e) + ": " : ""}kw_delete(): cannot delete an item of a list: '${n}'`), -1;
1765
+ Kn(o, l);
1766
+ }
1767
+ return 0;
1756
1768
  }
1757
- function hr(e, t, n, r, l) {
1769
+ function yr(e, t, n, r, l) {
1758
1770
  e && !sr(e) && hn("GObj bad instanceof");
1759
- let o = pr(e, t, n, !1);
1771
+ let o = mr(e, t, n, !1);
1760
1772
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
1761
1773
  if (void 0 === o) {
1762
1774
  if (i && t) {
1763
1775
  let l = Boolean(r);
1764
- return Or(e, t, n, l), l;
1776
+ return Sr(e, t, n, l), l;
1765
1777
  }
1766
1778
  return s && (hn(`path not found: '${n}'`), Un(t)), Boolean(r);
1767
1779
  }
@@ -1773,16 +1785,16 @@ var gobjJs = function(e) {
1773
1785
  if (!a || null !== o) return a ? (hn(`${e ? et(e) + ": " : ""}path MUST BE a simple json element: '${n}'`), Un(t), !1) : (hn(`${e ? et(e) + ": " : ""}path MUST BE a json boolean: '${n}'`), Un(t), Boolean(r));
1774
1786
  u = !1;
1775
1787
  }
1776
- return _ && mr(e, t, n), u;
1788
+ return _ && hr(e, t, n), u;
1777
1789
  }
1778
- function yr(e, t, n, r, l) {
1790
+ function Er(e, t, n, r, l) {
1779
1791
  e && !sr(e) && hn("GObj bad instanceof");
1780
- let o = pr(e, t, n, !1);
1792
+ let o = mr(e, t, n, !1);
1781
1793
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
1782
1794
  if (void 0 === o) {
1783
1795
  if (i && t) {
1784
1796
  let l = parseInt(r);
1785
- return Or(e, t, n, l), l;
1797
+ return Sr(e, t, n, l), l;
1786
1798
  }
1787
1799
  return s && (hn(`path not found: '${n}'`), Un(t)), parseInt(r);
1788
1800
  }
@@ -1802,58 +1814,63 @@ var gobjJs = function(e) {
1802
1814
  u = 0;
1803
1815
  }
1804
1816
  }
1805
- return _ && mr(e, t, n), u;
1817
+ return _ && hr(e, t, n), u;
1806
1818
  }
1807
- function Er(e, t, n, r, l) {
1819
+ function Tr(e, t, n, r, l) {
1808
1820
  e && !sr(e) && hn("GObj bad instanceof");
1809
- let o = pr(e, t, n, !1);
1821
+ let o = mr(e, t, n, !1);
1810
1822
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1811
- return void 0 === o ? i && t ? (Or(e, t, n, tr(r) ? r : null), r) : (s && !function(e, t) {
1823
+ return void 0 === o ? i && t ? (Sr(e, t, n, tr(r) ? r : null), r) : (s && !function(e, t) {
1812
1824
  let n = tr(t) ? t.split("`") : [], r = e;
1813
1825
  for (let e = 0; e < n.length - 1; e++) {
1814
1826
  if (!Zn(r) && !er(r)) return !1;
1815
1827
  r = r[n[e]];
1816
1828
  }
1817
1829
  return !(!Zn(r) && !er(r) || 0 === n.length) && Object.prototype.hasOwnProperty.call(r, n[n.length - 1]);
1818
- }(t, n) && (hn(`path not found: '${n}'`), Un(t)), r) : tr(o) ? (_ && mr(e, t, n), o) : (null !== o && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), Un(t)), r);
1830
+ }(t, n) && (hn(`path not found: '${n}'`), Un(t)), r) : tr(o) ? (_ && hr(e, t, n), o) : (null !== o && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json str: '${n}'`), Un(t)), r);
1819
1831
  }
1820
- function Tr(e, t, n, r, l) {
1832
+ function vr(e, t, n, r, l) {
1821
1833
  e && !sr(e) && hn("GObj bad instanceof");
1822
- let o = pr(e, t, n, !1);
1834
+ let o = mr(e, t, n, !1);
1823
1835
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1824
1836
  if (void 0 === o) {
1825
1837
  if (i) {
1826
1838
  let l = r;
1827
- return Or(e, t, n, l), l;
1839
+ return Sr(e, t, n, l), l;
1828
1840
  }
1829
1841
  return s && (hn(`path not found: '${n}'`), Un(t)), r;
1830
1842
  }
1831
- return _ && mr(e, t, n), o;
1843
+ return _ && hr(e, t, n), o;
1832
1844
  }
1833
- function vr(e, t, n, r, l) {
1845
+ function jr(e, t, n, r, l) {
1834
1846
  e && !sr(e) && hn("GObj bad instanceof");
1835
- let o = pr(e, t, n, !1);
1847
+ let o = mr(e, t, n, !1);
1836
1848
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1837
- return void 0 === o ? i && Zn(r) && t ? (Or(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && mr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Un(t)), r);
1849
+ return void 0 === o ? i && Zn(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : Zn(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json dict: '${n}'`), Un(t)), r);
1838
1850
  }
1839
- function jr(e, t, n, r, l) {
1851
+ function Or(e, t, n, r, l) {
1840
1852
  e && !sr(e) && hn("GObj bad instanceof");
1841
- let o = pr(e, t, n, !1);
1853
+ let o = mr(e, t, n, !1);
1842
1854
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
1843
1855
  if (void 0 === o) {
1844
1856
  if (i) {
1845
1857
  let l = r;
1846
- return Or(e, t, n, l), l;
1858
+ return Sr(e, t, n, l), l;
1847
1859
  }
1848
1860
  return s && (hn(`path not found: '${n}'`), Un(t)), r;
1849
1861
  }
1850
- return _ && mr(e, t, n), o;
1862
+ return _ && hr(e, t, n), o;
1851
1863
  }
1852
- function Or(e, t, n, r) {
1864
+ function Sr(e, t, n, r) {
1853
1865
  if (e && !sr(e) && hn("GObj bad instanceof"), !Zn(t)) return hn("kw is not an object"), -1;
1854
1866
  let l = n.split("`"), o = l.length;
1855
1867
  for (let s = 0; s < o; s++) {
1856
1868
  let i = l[s];
1869
+ if (er(t)) {
1870
+ const r = pr(t, i);
1871
+ if (r < 0) return hn(`${e ? et(e) + ": " : ""}kw_set_dict_value(): segment '${i}' is not an index of its list: '${n}'`), -1;
1872
+ i = String(r);
1873
+ }
1857
1874
  if (s === o - 1) br(t, i, r);
1858
1875
  else {
1859
1876
  let r = dr(t, i) ? void 0 : t[i];
@@ -1864,18 +1881,18 @@ var gobjJs = function(e) {
1864
1881
  }
1865
1882
  return 0;
1866
1883
  }
1867
- function Sr(e, t, n, r, l) {
1884
+ function wr(e, t, n, r, l) {
1868
1885
  if (e && !sr(e) && hn("GObj bad instanceof"), !Zn(t)) return hn("kw is not an object"), -1;
1869
- let o = vr(e, t, n, {}, Zt.KW_CREATE);
1886
+ let o = jr(e, t, n, {}, Zt.KW_CREATE);
1870
1887
  return Zn(o) ? (br(o, r, l), 0) : (hn("subdict is not an object"), -1);
1871
1888
  }
1872
- function wr(e, t, r) {
1889
+ function Nr(e, t, r) {
1873
1890
  let l = "", o = !1;
1874
1891
  if (er(t)) {
1875
1892
  o = !1;
1876
1893
  for (let s = 0; s < t.length; s++) {
1877
1894
  let i = t[s];
1878
- if (l = ir(r) ? n("%s", r) : n("%s`%d", r, s), o = wr(e, i, l), o) break;
1895
+ if (l = ir(r) ? n("%s", r) : n("%s`%d", r, s), o = Nr(e, i, l), o) break;
1879
1896
  }
1880
1897
  } else if (Zn(t)) {
1881
1898
  o = !0;
@@ -1883,10 +1900,10 @@ var gobjJs = function(e) {
1883
1900
  for (let i = 0; i < s.length; i++) {
1884
1901
  let _ = s[i], a = t[_];
1885
1902
  if (l = ir(r) ? n("%s", _) : n("%s`%s", r, _), er(a) || Zn(a)) {
1886
- if (o = wr(e, a, l), !o) break;
1903
+ if (o = Nr(e, a, l), !o) break;
1887
1904
  continue;
1888
1905
  }
1889
- let u = jr(0, e, l, void 0, 0);
1906
+ let u = Or(0, e, l, void 0, 0);
1890
1907
  if (void 0 === u && (u = xn(e, l)), void 0 === u) {
1891
1908
  o = !1;
1892
1909
  break;
@@ -1899,10 +1916,10 @@ var gobjJs = function(e) {
1899
1916
  }
1900
1917
  return o;
1901
1918
  }
1902
- function Nr(e, t) {
1903
- return 0 === Xn(t) || wr(e, t, "");
1919
+ function Rr(e, t) {
1920
+ return 0 === Xn(t) || Nr(e, t, "");
1904
1921
  }
1905
- function Rr(e, t, n, r) {
1922
+ function $r(e, t, n, r) {
1906
1923
  e && !sr(e) && hn("GObj bad instanceof");
1907
1924
  let l = {};
1908
1925
  if (tr(n) && !ir(n)) {
@@ -1918,7 +1935,7 @@ var gobjJs = function(e) {
1918
1935
  }
1919
1936
  return l;
1920
1937
  }
1921
- function $r(e, t, n, r) {
1938
+ function Dr(e, t, n, r) {
1922
1939
  let l = {};
1923
1940
  if (!Zn(t)) return l;
1924
1941
  if (Gn(l, t), tr(n) && !ir(n)) {
@@ -1934,15 +1951,15 @@ var gobjJs = function(e) {
1934
1951
  }
1935
1952
  return l;
1936
1953
  }
1937
- function Dr(e, t, n = !1) {
1954
+ function kr(e, t, n = !1) {
1938
1955
  if ("undefined" != typeof window && window.localStorage) try {
1939
1956
  let r = window.localStorage.getItem(e);
1940
- return null === r ? (n && kr(e, t), t) : JSON.parse(r);
1957
+ return null === r ? (n && Ar(e, t), t) : JSON.parse(r);
1941
1958
  } catch (n) {
1942
1959
  return window.console.warn(`Error reading localStorage key "${e}":`, n), t;
1943
1960
  }
1944
1961
  }
1945
- function kr(e, t) {
1962
+ function Ar(e, t) {
1946
1963
  if ("undefined" == typeof window || !window.localStorage) return 0;
1947
1964
  if (!e || void 0 === t) return hn(`kw_set_local_storage_value(): invalid key or value: key=${e}`), -1;
1948
1965
  try {
@@ -1951,7 +1968,7 @@ var gobjJs = function(e) {
1951
1968
  return hn(`kw_set_local_storage_value(): cannot save "${e}" (storage full or blocked?): ${t && t.message ? t.message : t}`), -1;
1952
1969
  }
1953
1970
  }
1954
- function Ar(e) {
1971
+ function Ir(e) {
1955
1972
  if ("undefined" != typeof window && window.localStorage) if (e) try {
1956
1973
  window.localStorage.removeItem(e);
1957
1974
  } catch (t) {
@@ -1959,7 +1976,7 @@ var gobjJs = function(e) {
1959
1976
  }
1960
1977
  else window.console.warn(`Invalid key for localStorage removal: ${e}`);
1961
1978
  }
1962
- function Ir(e, t) {
1979
+ function Cr(e, t) {
1963
1980
  if (lr(e) || lr(t)) return !0;
1964
1981
  if (er(e)) {
1965
1982
  if (0 === e.length) return !0;
@@ -1970,34 +1987,34 @@ var gobjJs = function(e) {
1970
1987
  } else if (tr(e) && e === t) return !0;
1971
1988
  return !1;
1972
1989
  }
1973
- function Cr(e, t, n, r, l) {
1990
+ function Lr(e, t, n, r, l) {
1974
1991
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
1975
- l || (l = Nr);
1992
+ l || (l = Rr);
1976
1993
  let o = [];
1977
1994
  if (er(t)) for (let s = 0; s < t.length; s++) {
1978
1995
  let i, _ = t[s];
1979
- if (Zn(_)) i = Er(e, _, "id", "", 0);
1996
+ if (Zn(_)) i = Tr(e, _, "id", "", 0);
1980
1997
  else {
1981
1998
  if (!tr(_)) continue;
1982
1999
  i = _;
1983
2000
  }
1984
- Ir(n, i) && l(_, r) && o.push(_);
2001
+ Cr(n, i) && l(_, r) && o.push(_);
1985
2002
  }
1986
2003
  else {
1987
2004
  if (!Zn(t)) return hn("kw_collect() BAD kw parameter"), null;
1988
2005
  for (let e of Object.keys(t)) {
1989
2006
  let s = t[e];
1990
- Ir(n, e) && l(s, r) && o.push(s);
2007
+ Cr(n, e) && l(s, r) && o.push(s);
1991
2008
  }
1992
2009
  }
1993
2010
  return o;
1994
2011
  }
1995
- function Lr(e, t) {
2012
+ function Pr(e, t) {
1996
2013
  if (!e) return -1;
1997
2014
  for (let n = 0; n < e.length; n++) if (e[n] && e[n].id === t) return n;
1998
2015
  return -1;
1999
2016
  }
2000
- function Pr(e, t, n) {
2017
+ function Ur(e, t, n) {
2001
2018
  if (!e || !t) return hn("ERROR: str_in_list() list or str empty"), !1;
2002
2019
  let r = e.length;
2003
2020
  if (n) {
@@ -2009,7 +2026,7 @@ var gobjJs = function(e) {
2009
2026
  } else for (let n = 0; n < r; n++) if (e[n] === t) return !0;
2010
2027
  return !1;
2011
2028
  }
2012
- function Ur(e, t) {
2029
+ function Fr(e, t) {
2013
2030
  try {
2014
2031
  let n = e.__md_iev__;
2015
2032
  if (n) return n[t];
@@ -2017,34 +2034,34 @@ var gobjJs = function(e) {
2017
2034
  return;
2018
2035
  }
2019
2036
  }
2020
- function Fr(e, t, n) {
2037
+ function Vr(e, t, n) {
2021
2038
  let r = e.__md_iev__;
2022
2039
  r || (r = {}, e.__md_iev__ = r), r[t] = n;
2023
2040
  }
2024
- function Vr(e, t, n, r) {
2041
+ function Gr(e, t, n, r) {
2025
2042
  if (!sr(e)) return hn("gobj is not a GObj"), null;
2026
2043
  if (!t) return;
2027
- let l = Ur(t, n);
2028
- l || (l = [], Fr(t, n, l));
2044
+ let l = Fr(t, n);
2045
+ l || (l = [], Vr(t, n, l));
2029
2046
  try {
2030
2047
  er(l) && l.unshift(r);
2031
2048
  } catch (e) {
2032
2049
  hn(e);
2033
2050
  }
2034
2051
  }
2035
- function Gr(e, t, n, r) {
2052
+ function Mr(e, t, n, r) {
2036
2053
  if (!sr(e)) return hn("gobj is not a GObj"), null;
2037
2054
  if (!Zn(t)) return hn("kw is not a dict"), null;
2038
- let l = Ur(t, n);
2055
+ let l = Fr(t, n);
2039
2056
  return l ? 0 === l.length ? (r && hn(`stack empty: ${n}`), null) : l[0] : (r && hn(`stack NOT FOUND: ${n}`), null);
2040
2057
  }
2041
- function Mr(e, t, n) {
2042
- return ir(n) ? mr(e, t, "__md_iev__`__msg_type__") : Sr(e, t, "__md_iev__", "__msg_type__", n), 0;
2058
+ function Wr(e, t, n) {
2059
+ return ir(n) ? hr(e, t, "__md_iev__`__msg_type__") : wr(e, t, "__md_iev__", "__msg_type__", n), 0;
2043
2060
  }
2044
- function Wr(e, t) {
2045
- return Er(e, t, "__md_iev__`__msg_type__", "", 0);
2061
+ function xr(e, t) {
2062
+ return Tr(e, t, "__md_iev__`__msg_type__", "", 0);
2046
2063
  }
2047
- function xr(e, t, n) {
2064
+ function Kr(e, t, n) {
2048
2065
  void 0 !== n && tr(n) || (n = "");
2049
2066
  for (let r of Object.keys(e)) {
2050
2067
  if (!Object.prototype.hasOwnProperty.call(e, r)) continue;
@@ -2054,10 +2071,10 @@ var gobjJs = function(e) {
2054
2071
  r,
2055
2072
  e[r],
2056
2073
  n
2057
- ]), Zn(e[r]) && xr(e[r], t, n), n = n.slice(0, -l.length);
2074
+ ]), Zn(e[r]) && Kr(e[r], t, n), n = n.slice(0, -l.length);
2058
2075
  }
2059
2076
  }
2060
- function Kr(e, t, n, r) {
2077
+ function Yr(e, t, n, r) {
2061
2078
  if (!e) return null;
2062
2079
  let l, o = e.length;
2063
2080
  for (l = 0; l < o; l++) {
@@ -2066,14 +2083,14 @@ var gobjJs = function(e) {
2066
2083
  let e = o.id;
2067
2084
  if (e && e === n) return o;
2068
2085
  if (r && gr(o, t)) {
2069
- let e = Kr(o[t], t, n, r);
2086
+ let e = Yr(o[t], t, n, r);
2070
2087
  if (e) return e;
2071
2088
  }
2072
2089
  }
2073
2090
  }
2074
2091
  return null;
2075
2092
  }
2076
- function Yr(e) {
2093
+ function Br(e) {
2077
2094
  function t(e) {
2078
2095
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2079
2096
  switch (t.length % 4) {
@@ -2104,36 +2121,52 @@ var gobjJs = function(e) {
2104
2121
  signature: t(n[2])
2105
2122
  };
2106
2123
  }
2107
- function Br(e) {
2124
+ function Jr(e) {
2108
2125
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2109
2126
  }
2110
- function Jr(e) {
2127
+ var qr = class {
2128
+ constructor(e) {
2129
+ this.html = e, Object.freeze(this);
2130
+ }
2131
+ toString() {
2132
+ return this.html;
2133
+ }
2134
+ };
2135
+ function Hr(e) {
2136
+ return e instanceof qr;
2137
+ }
2138
+ function zr(e) {
2139
+ const t = document.createElement("template");
2140
+ return t.innerHTML = e.html.trim(), t.content;
2141
+ }
2142
+ var Qr = !1, Xr = /* @__PURE__ */ new Set();
2143
+ function Zr(e) {
2111
2144
  const t = document.createElement("template");
2112
2145
  return t.innerHTML = e.trim(), t.content.firstChild;
2113
2146
  }
2114
- function qr(e) {
2147
+ function el(e) {
2115
2148
  const t = (e, t) => String(e).padStart(t, "0"), n = `${(e = e || /* @__PURE__ */ new Date()).getFullYear()}-${t(e.getMonth() + 1, 2)}-${t(e.getDate(), 2)}T${t(e.getHours(), 2)}:${t(e.getMinutes(), 2)}:${t(e.getSeconds(), 2)}`, r = t(e.getMilliseconds(), 3), l = e.getTimezoneOffset();
2116
2149
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2117
2150
  }
2118
- function Hr(e, t) {
2151
+ function tl(e, t) {
2119
2152
  if (!e) throw "ERROR: index_in_list() list empty";
2120
2153
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2121
2154
  return -1;
2122
2155
  }
2123
- function zr() {
2156
+ function nl() {
2124
2157
  let e = "";
2125
2158
  return "undefined" != typeof window && window.localStorage ? (e = window.localStorage.getItem("host_uuid"), !e && window.crypto?.randomUUID && (e = window.crypto.randomUUID(), window.localStorage.setItem("host_uuid", e))) : e = "undefined" != typeof globalThis && globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : "00000000-0000-0000-0000-000000000000", e;
2126
2159
  }
2127
- function Qr(e) {
2160
+ function rl(e) {
2128
2161
  let t = null;
2129
2162
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2130
2163
  }
2131
- var Xr = 256, Zr = 1e5;
2132
- function el(e) {
2164
+ var ll = 256, ol = 1e5;
2165
+ function sl(e) {
2133
2166
  const t = String(e).replace(/`/g, "``");
2134
2167
  return "[" === t[0] ? "[" + t : t;
2135
2168
  }
2136
- function tl(e) {
2169
+ function il(e) {
2137
2170
  if ("string" != typeof e) return null;
2138
2171
  let t = [], n = "";
2139
2172
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2154,13 +2187,13 @@ var gobjJs = function(e) {
2154
2187
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2155
2188
  });
2156
2189
  }
2157
- function nl(e, t) {
2190
+ function _l(e, t) {
2158
2191
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2159
2192
  }
2160
- function rl(e) {
2193
+ function al(e) {
2161
2194
  return "persistent-attrs-" + et(e);
2162
2195
  }
2163
- function ll(e, t) {
2196
+ function ul(e, t) {
2164
2197
  if (tr(t)) {
2165
2198
  if (-1 === t.indexOf("^")) {
2166
2199
  let n, r, l = e.fkey;
@@ -2190,7 +2223,7 @@ var gobjJs = function(e) {
2190
2223
  hook_name: t.hook_name
2191
2224
  } : (hn("bad fkey 3"), hn(e), hn(t), null);
2192
2225
  }
2193
- var ol = [
2226
+ var cl = [
2194
2227
  "string",
2195
2228
  "integer",
2196
2229
  "object",
@@ -2200,7 +2233,7 @@ var gobjJs = function(e) {
2200
2233
  "real",
2201
2234
  "boolean",
2202
2235
  "blob"
2203
- ], sl = [
2236
+ ], fl = [
2204
2237
  "persistent",
2205
2238
  "required",
2206
2239
  "notnull",
@@ -2212,7 +2245,7 @@ var gobjJs = function(e) {
2212
2245
  "stats",
2213
2246
  "rstats",
2214
2247
  "pstats"
2215
- ], il = [
2248
+ ], gl = [
2216
2249
  "hook",
2217
2250
  "fkey",
2218
2251
  "enum",
@@ -2241,7 +2274,7 @@ var gobjJs = function(e) {
2241
2274
  "coordinates",
2242
2275
  "gbuffer"
2243
2276
  ];
2244
- function _l(e) {
2277
+ function dl(e) {
2245
2278
  let t = {
2246
2279
  name: e.id,
2247
2280
  header: e.header,
@@ -2260,7 +2293,7 @@ var gobjJs = function(e) {
2260
2293
  if (!e.flag) return t;
2261
2294
  for (let n = 0; n < e.flag.length; n++) {
2262
2295
  let r = e.flag[n];
2263
- if (Pr(il, r)) {
2296
+ if (Ur(gl, r)) {
2264
2297
  switch (r) {
2265
2298
  case "enum":
2266
2299
  t.enum_list = e.enum;
@@ -2274,7 +2307,7 @@ var gobjJs = function(e) {
2274
2307
  case "file": t.is_file = !0;
2275
2308
  }
2276
2309
  t.type = r;
2277
- } else if (Pr(sl, r)) switch (r) {
2310
+ } else if (Ur(fl, r)) switch (r) {
2278
2311
  case "writable":
2279
2312
  t.is_writable = !0;
2280
2313
  break;
@@ -2287,23 +2320,23 @@ var gobjJs = function(e) {
2287
2320
  }
2288
2321
  return t.is_file && (t.type = "file"), t;
2289
2322
  }
2290
- var al = [
2323
+ var bl = [
2291
2324
  j(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2292
2325
  j(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2293
2326
  j(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2294
2327
  v()
2295
- ], ul = {
2328
+ ], pl = {
2296
2329
  periodic: !1,
2297
2330
  msec: 0,
2298
2331
  timer_id: -1
2299
- }, cl = null;
2300
- function fl(e, t, n, r) {
2332
+ }, ml = null;
2333
+ function hl(e, t, n, r) {
2301
2334
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2302
2335
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2303
2336
  Vt(e, "EV_TIMEOUT", {}, e);
2304
2337
  }, l.msec) : l.timer_id = -1, lt(e) ? Vt(nt(e), o, {}, e) : Xt(e, o, {}), l.periodic || -1 !== l.timer_id || Ke(e) && Ve(e), 0;
2305
2338
  }
2306
- var gl = {
2339
+ var yl = {
2307
2340
  mt_create: function(e) {
2308
2341
  let t = e.priv;
2309
2342
  const n = Ot(e, "subscriber");
@@ -2328,16 +2361,16 @@ var gobjJs = function(e) {
2328
2361
  },
2329
2362
  mt_destroy: function(e) {}
2330
2363
  };
2331
- function dl(e, t) {
2364
+ function El(e, t) {
2332
2365
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void Rt(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2333
2366
  }
2334
- function bl(e, t) {
2367
+ function Tl(e, t) {
2335
2368
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void Rt(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2336
2369
  }
2337
- function pl(e) {
2370
+ function vl(e) {
2338
2371
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void Rt(e, "msec", -1) : (hn("not GObj TYPE"), -1);
2339
2372
  }
2340
- var ml = [
2373
+ var jl = [
2341
2374
  j(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2342
2375
  j(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2343
2376
  j(y.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2357,26 +2390,26 @@ var gobjJs = function(e) {
2357
2390
  j(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2358
2391
  j(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2359
2392
  v()
2360
- ], hl = { gobj_timer: null }, yl = null;
2361
- function El(e, t, n, r) {
2393
+ ], Ol = { gobj_timer: null }, Sl = null;
2394
+ function wl(e, t, n, r) {
2362
2395
  let l = yt(e, t);
2363
2396
  return Zn(l) || (l = {}), l[n] = r, St(e, t, l), De(e, t);
2364
2397
  }
2365
- function Tl(e) {
2398
+ function Nl(e) {
2366
2399
  if (!0 === e || !1 === e) return e;
2367
2400
  let t = String(null == e ? "" : e).toLowerCase();
2368
2401
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2369
2402
  }
2370
- function vl() {
2403
+ function Rl() {
2371
2404
  return `${ze()}^${He()}`;
2372
2405
  }
2373
- function jl(e, t, n, r) {
2406
+ function $l(e, t, n, r) {
2374
2407
  return Xt(e, t, n), 0;
2375
2408
  }
2376
- var Ol = {
2409
+ var Dl = {
2377
2410
  mt_create: function(e) {
2378
2411
  let t = e.priv;
2379
- $t(e, "start_date", qr()), $t(e, "node_uuid", zr()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2412
+ $t(e, "start_date", el()), $t(e, "node_uuid", nl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2380
2413
  let t = yt(e, "trace_levels");
2381
2414
  if (!Zn(t)) return 0;
2382
2415
  let n = t.__global_trace__;
@@ -2410,10 +2443,10 @@ var gobjJs = function(e) {
2410
2443
  },
2411
2444
  mt_writing: function(e, t) {},
2412
2445
  mt_start: function(e) {
2413
- return bl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2446
+ return Tl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2414
2447
  },
2415
2448
  mt_stop: function(e) {
2416
- return pl(e.priv.gobj_timer), Me(e), 0;
2449
+ return vl(e.priv.gobj_timer), Me(e), 0;
2417
2450
  },
2418
2451
  mt_destroy: function(e) {},
2419
2452
  mt_play: function(e) {
@@ -2430,24 +2463,24 @@ var gobjJs = function(e) {
2430
2463
  case "get-global-no-trace": return l(0, 0, null, null, ne());
2431
2464
  case "set-global-trace":
2432
2465
  case "set-global-no-trace": {
2433
- let r = "set-global-no-trace" === t, o = n.level, s = Tl(n.set);
2434
- return o ? null === s ? l(0, -1, `${vl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${vl()}: global trace level not found: ${o}`, null, null) : r ? (El(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (El(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${vl()}: what level?`, null, null);
2466
+ let r = "set-global-no-trace" === t, o = n.level, s = Nl(n.set);
2467
+ return o ? null === s ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${Rl()}: global trace level not found: ${o}`, null, null) : r ? (wl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (wl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Rl()}: what level?`, null, null);
2435
2468
  }
2436
2469
  case "get-gclass-trace":
2437
2470
  case "get-gclass-no-trace":
2438
2471
  case "set-gclass-trace":
2439
2472
  case "set-gclass-no-trace": {
2440
2473
  let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
2441
- if (!s) return l(0, -1, `${vl()}: what gclass is '${o}'?`, null, null);
2474
+ if (!s) return l(0, -1, `${Rl()}: what gclass is '${o}'?`, null, null);
2442
2475
  if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
2443
- let i = n.level, _ = Tl(n.set);
2444
- return i ? null === _ ? l(0, -1, `${vl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${vl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (El(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (El(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${vl()}: what level?`, null, null);
2476
+ let i = n.level, _ = Nl(n.set);
2477
+ return i ? null === _ ? l(0, -1, `${Rl()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${Rl()}: trace level of ${o} not found: ${i}`, null, null) : r ? (wl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (wl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Rl()}: what level?`, null, null);
2445
2478
  }
2446
- default: return l(0, -1, `${vl()}: command not available: ${t}`, null, null);
2479
+ default: return l(0, -1, `${Rl()}: command not available: ${t}`, null, null);
2447
2480
  }
2448
2481
  }
2449
2482
  };
2450
- var Sl = "ievent_gate_stack", wl = [
2483
+ var kl = "ievent_gate_stack", Al = [
2451
2484
  j(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2452
2485
  j(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2453
2486
  j(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
@@ -2464,15 +2497,15 @@ var gobjJs = function(e) {
2464
2497
  j(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2465
2498
  j(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2466
2499
  v()
2467
- ], Nl = [
2500
+ ], Il = [
2468
2501
  ["ievents", "Trace inter-events with metadata of kw"],
2469
2502
  ["ievents2", "Trace inter-events with full kw"],
2470
2503
  ["identity-card", "Trace identity_card messages"]
2471
2504
  ];
2472
- function Rl(e) {
2505
+ function Cl(e) {
2473
2506
  return !!(3 & x(e));
2474
2507
  }
2475
- var $l = {
2508
+ var Ll = {
2476
2509
  url: null,
2477
2510
  remote_yuno_name: null,
2478
2511
  remote_yuno_role: null,
@@ -2482,8 +2515,8 @@ var gobjJs = function(e) {
2482
2515
  websocket: null,
2483
2516
  inside_on_open: !1,
2484
2517
  retry_ms: 0
2485
- }, Dl = null;
2486
- function kl(e) {
2518
+ }, Pl = null;
2519
+ function Ul(e) {
2487
2520
  e.priv.websocket && hn("Websocket ALREADY setup");
2488
2521
  const t = jt(e, "url");
2489
2522
  En(`====> Starting WebSocket to '${t}' (${et(e)})`);
@@ -2498,7 +2531,7 @@ var gobjJs = function(e) {
2498
2531
  code: 1006,
2499
2532
  reason: r.message,
2500
2533
  was_clean: !1
2501
- }, e), null;
2534
+ }, e) < 0 && El(e.priv.gobj_timer, ql(e)), null;
2502
2535
  }
2503
2536
  return r ? (r.onopen = () => {
2504
2537
  n !== e.priv.ws_seq || ot(e) || Vt(e, "EV_ON_OPEN", {
@@ -2520,7 +2553,7 @@ var gobjJs = function(e) {
2520
2553
  }, e));
2521
2554
  }, r) : (hn(`${et(e)}: Failed to initialize WebSocket.`), null);
2522
2555
  }
2523
- function Al(e, t = 1e3, n = "") {
2556
+ function Fl(e, t = 1e3, n = "") {
2524
2557
  let r = e.priv, l = r.websocket;
2525
2558
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
2526
2559
  En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2531,25 +2564,25 @@ var gobjJs = function(e) {
2531
2564
  }
2532
2565
  } else yn("WebSocket is already closed or in the process of closing.");
2533
2566
  }
2534
- function Il(e, t, n) {
2535
- let r = qr();
2567
+ function Vl(e, t, n) {
2568
+ let r = el();
2536
2569
  try {
2537
2570
  En("\n" + r + " " + t + "\n"), Un(n);
2538
2571
  } catch (e) {
2539
2572
  En("ERROR in trace_inter_event: " + e);
2540
2573
  }
2541
2574
  }
2542
- var Cl = class {
2575
+ var Gl = class {
2543
2576
  constructor(e, t) {
2544
2577
  this.event = e, this.kw = t || {};
2545
2578
  }
2546
2579
  };
2547
- function Ll(e, t, n, r) {
2580
+ function Ml(e, t, n, r) {
2548
2581
  return function(e, t) {
2549
2582
  let n = e.priv, r = JSON.stringify(t);
2550
- if (Rl(e)) {
2583
+ if (Cl(e)) {
2551
2584
  let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = yt(qe(), "trace_ievent_callback");
2552
- o ? o(l, t, 1, r.length) : Il(0, l, t);
2585
+ o ? o(l, t, 1, r.length) : Vl(0, l, t);
2553
2586
  }
2554
2587
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return yn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2555
2588
  try {
@@ -2559,10 +2592,10 @@ var gobjJs = function(e) {
2559
2592
  }
2560
2593
  return 0;
2561
2594
  }(e, function(e, t) {
2562
- return ir(e) ? (hn("iev_create() event NULL"), null) : new Cl(e, t);
2595
+ return ir(e) ? (hn("iev_create() event NULL"), null) : new Gl(e, t);
2563
2596
  }(t, n));
2564
2597
  }
2565
- function Pl(e, t, n) {
2598
+ function Wl(e, t, n) {
2566
2599
  return ir(n) && (n = jt(e, "wanted_yuno_service")), {
2567
2600
  dst_yuno: jt(e, "wanted_yuno_name"),
2568
2601
  dst_role: jt(e, "wanted_yuno_role"),
@@ -2570,10 +2603,10 @@ var gobjJs = function(e) {
2570
2603
  src_yuno: He(),
2571
2604
  src_role: ze(),
2572
2605
  src_service: t,
2573
- host: zr()
2606
+ host: nl()
2574
2607
  };
2575
2608
  }
2576
- function Ul(e) {
2609
+ function xl(e) {
2577
2610
  let t = e.priv, n = Je(qe()), r = jt(qe(), "yuno_version"), l = jt(qe(), "yuno_release"), o = jt(qe(), "yuno_tag"), i = yt(e, "required_services");
2578
2611
  i && i.length || (i = yt(qe(), "required_services"));
2579
2612
  let _ = {
@@ -2591,27 +2624,27 @@ var gobjJs = function(e) {
2591
2624
  username: jt(qe(), "__username__"),
2592
2625
  launch_id: 0,
2593
2626
  yuno_startdate: jt(qe(), "start_date"),
2594
- id: zr(),
2627
+ id: nl(),
2595
2628
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2596
2629
  language: "undefined" != typeof window ? window.navigator.language : "",
2597
2630
  required_services: i
2598
2631
  };
2599
- return Vr(e, _, Sl, Pl(e, Xe(nt(e)), null)), Mr(e, _, "__identity__"), dl(t.gobj_timer, vt(e, "timeout_idack")), Ll(e, "EV_IDENTITY_CARD", _);
2632
+ return Gr(e, _, kl, Wl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), El(t.gobj_timer, vt(e, "timeout_idack")), Ml(e, "EV_IDENTITY_CARD", _);
2600
2633
  }
2601
- function Fl(e, t) {
2634
+ function Kl(e, t) {
2602
2635
  if (ir(t.event)) return -1;
2603
2636
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, i = t.subscriber;
2604
2637
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
2605
- return Vr(e, n, Sl, Pl(e, Xe(i), s)), Mr(e, n, "__subscribing__"), Ll(e, t.event, n);
2638
+ return Gr(e, n, kl, Wl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Ml(e, t.event, n);
2606
2639
  }
2607
- function Vl(e, t, n, r) {
2640
+ function Yl(e, t, n, r) {
2608
2641
  let l = e.priv;
2609
- return Ke(e) && (l.websocket = kl(e)), 0;
2642
+ return Ke(e) && (l.websocket = Ul(e)), 0;
2610
2643
  }
2611
- function Gl(e, t, n, r) {
2612
- return En("Websocket opened: " + e.priv.url), Ul(e), 0;
2644
+ function Bl(e, t, n, r) {
2645
+ return En("Websocket opened: " + e.priv.url), xl(e), 0;
2613
2646
  }
2614
- function Ml(e, t, n, r) {
2647
+ function Jl(e, t, n, r) {
2615
2648
  let l = e.priv, o = n.url;
2616
2649
  return void 0 !== n.ws_seq && n.ws_seq !== l.ws_seq || (bn(), yn(`${et(e)}: WebSocket closed ${o} (Code: ${n.code}, Reason: "${n.reason}", Clean: ${n.was_clean})`), l.websocket && (l.websocket.onopen = null, l.websocket.onmessage = null, l.websocket.onerror = null, l.websocket.onclose = null, l.websocket = null), l.inform_on_close ? (l.inform_on_close = !1, Xt(e, "EV_ON_CLOSE", {
2617
2650
  url: o,
@@ -2626,25 +2659,25 @@ var gobjJs = function(e) {
2626
2659
  code: n.code,
2627
2660
  reason: n.reason,
2628
2661
  was_clean: n.was_clean
2629
- })), Ke(e) && dl(l.gobj_timer, function(e) {
2630
- let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2631
- r < n && (r = n);
2632
- t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2633
- let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2634
- return Math.max(1, Math.round(o));
2635
- }(e))), 0;
2636
- }
2637
- function Wl(e, t, n, r) {
2638
- return Ul(e), 0;
2639
- }
2640
- function xl(e, t, n, r) {
2662
+ })), Ke(e) && El(l.gobj_timer, ql(e))), 0;
2663
+ }
2664
+ function ql(e) {
2665
+ let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2666
+ r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2667
+ let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2668
+ return Math.max(1, Math.round(o));
2669
+ }
2670
+ function Hl(e, t, n, r) {
2671
+ return xl(e), 0;
2672
+ }
2673
+ function zl(e, t, n, r) {
2641
2674
  let l = e.priv;
2642
- pl(l.gobj_timer);
2643
- let o = Gr(e, n, Sl, !0), s = Er(e, o, "src_yuno", ""), i = Er(e, o, "src_role", ""), _ = Er(e, o, "src_service", "");
2675
+ vl(l.gobj_timer);
2676
+ let o = Mr(e, n, kl, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2644
2677
  $t(e, "remote_yuno_name", s), $t(e, "remote_yuno_role", i), $t(e, "remote_yuno_service", _);
2645
- let a = yr(e, n, "result", -1, 0), u = Er(e, n, "comment", "", 0), c = Er(e, n, "username", "", 0), f = jr(e, n, "services_roles", {});
2678
+ let a = Er(e, n, "result", -1, 0), u = Tr(e, n, "comment", "", 0), c = Tr(e, n, "username", "", 0), f = Or(e, n, "services_roles", {});
2646
2679
  if (a < 0) {
2647
- Al(e);
2680
+ Fl(e);
2648
2681
  let t = {
2649
2682
  url: jt(e, "url"),
2650
2683
  result: a,
@@ -2669,12 +2702,12 @@ var gobjJs = function(e) {
2669
2702
  }
2670
2703
  l.inside_on_open = !1, function(e) {
2671
2704
  let t = zt(e, null, null, null);
2672
- for (let n = 0; n < t.length; n++) Fl(e, t[n]);
2705
+ for (let n = 0; n < t.length; n++) Kl(e, t[n]);
2673
2706
  }(e);
2674
2707
  }
2675
2708
  return 0;
2676
2709
  }
2677
- function Kl(e, t, n, r) {
2710
+ function Ql(e, t, n, r) {
2678
2711
  let l = e.priv.url, o = function(e, t) {
2679
2712
  let n;
2680
2713
  try {
@@ -2693,21 +2726,21 @@ var gobjJs = function(e) {
2693
2726
  } : (yn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (yn(`${et(e)}: parsing inter_kw: no kw`), null);
2694
2727
  }(e, n.data);
2695
2728
  if (!o) return yn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
2696
- if (Rl(e)) {
2729
+ if (Cl(e)) {
2697
2730
  let e = Xe(qe()) + " <== " + l, t = n.data.length, r = yt(qe(), "trace_ievent_callback");
2698
- r ? r(e, o, 2, t) : Il(0, e, o);
2731
+ r ? r(e, o, 2, t) : Vl(0, e, o);
2699
2732
  }
2700
2733
  let s = o.event, i = o.kw;
2701
2734
  if ("ST_SESSION" !== kt(e)) {
2702
2735
  if (It(e, s, $.EVF_PUBLIC_EVENT)) {
2703
2736
  if (!(Vt(e, s, i, e) < 0)) return 0;
2704
2737
  } else hn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2705
- return Al(e), -1;
2738
+ return Fl(e), -1;
2706
2739
  }
2707
2740
  o = null;
2708
- let _ = Wr(e, i), a = Gr(e, i, Sl), u = Er(e, a, "dst_role", "");
2741
+ let _ = xr(e, i), a = Mr(e, i, kl), u = Tr(e, a, "dst_role", "");
2709
2742
  if (u.toLowerCase() !== ze().toLowerCase()) return hn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2710
- let c = Er(e, a, "dst_service", "");
2743
+ let c = Tr(e, a, "dst_service", "");
2711
2744
  if ("__subscribing__" === _) return yn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2712
2745
  if ("__unsubscribing__" === _) return yn(`${et(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
2713
2746
  if (It(e, s, $.EVF_PUBLIC_EVENT)) return Vt(e, s, i, e), 0;
@@ -2717,13 +2750,13 @@ var gobjJs = function(e) {
2717
2750
  }
2718
2751
  return lt(e) ? Vt(nt(e), s, i, e) : Xt(e, s, i), 0;
2719
2752
  }
2720
- function Yl(e, t, n, r) {
2753
+ function Xl(e, t, n, r) {
2721
2754
  return 0;
2722
2755
  }
2723
- function Bl(e, t, n, r) {
2756
+ function Zl(e, t, n, r) {
2724
2757
  return 0;
2725
2758
  }
2726
- var Jl = {
2759
+ var eo = {
2727
2760
  mt_create: function(e) {
2728
2761
  let t = e.priv;
2729
2762
  t.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.ws_seq = 0, t.url = jt(e, "url"), t.remote_yuno_name = jt(e, "remote_yuno_name"), t.remote_yuno_role = jt(e, "remote_yuno_role"), t.remote_yuno_service = jt(e, "remote_yuno_service"), $t(e, "wanted_yuno_name", t.remote_yuno_name), $t(e, "wanted_yuno_role", t.remote_yuno_role), $t(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2753,43 +2786,43 @@ var gobjJs = function(e) {
2753
2786
  code: 1e3,
2754
2787
  reason: "restarted",
2755
2788
  was_clean: !0
2756
- }, e), pl(t.gobj_timer)), t.websocket = kl(e), 0;
2789
+ }, e), vl(t.gobj_timer)), t.websocket = Ul(e), 0;
2757
2790
  },
2758
2791
  mt_stop: function(e) {
2759
2792
  let t = e.priv;
2760
- return pl(t.gobj_timer), t.websocket && Al(e), 0;
2793
+ return vl(t.gobj_timer), t.websocket && Fl(e), 0;
2761
2794
  },
2762
2795
  mt_destroy: function(e) {},
2763
2796
  mt_stats: function(e, t, n, r) {
2764
2797
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2765
2798
  n || (n = {});
2766
- let l = Pl(e, Xe(r), Er(e, n, "service", null, 0)), o = jr(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2767
- return o || (o = {}), Vr(e, n, "stats_stack", {
2799
+ let l = Wl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2800
+ return o || (o = {}), Gr(e, n, "stats_stack", {
2768
2801
  stats: t,
2769
2802
  kw: o
2770
- }), Vr(e, n, Sl, l), n.__stats__ = t, Mr(e, n, "__stats__"), Ll(e, "EV_MT_STATS", n, r), null;
2803
+ }), Gr(e, n, kl, l), n.__stats__ = t, Wr(e, n, "__stats__"), Ml(e, "EV_MT_STATS", n, r), null;
2771
2804
  },
2772
2805
  mt_command_parser: function(e, t, n, r) {
2773
2806
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2774
2807
  n || (n = {});
2775
- let l = Pl(e, Xe(r), Er(e, n, "service", "", 0)), o = jr(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2776
- return o || (o = {}), Vr(e, n, "command_stack", {
2808
+ let l = Wl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2809
+ return o || (o = {}), Gr(e, n, "command_stack", {
2777
2810
  command: t,
2778
2811
  kw: o
2779
- }), Vr(e, n, Sl, l), n.__command__ = t, Mr(e, n, "__command__"), Ll(e, "EV_MT_COMMAND", n, r), null;
2812
+ }), Gr(e, n, kl, l), n.__command__ = t, Wr(e, n, "__command__"), Ml(e, "EV_MT_COMMAND", n, r), null;
2780
2813
  },
2781
2814
  mt_inject_event: function(e, t, n, r) {
2782
2815
  if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2783
- if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Gr(e, n, Sl));
2816
+ if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, kl));
2784
2817
  else {
2785
- let l = Pl(e, Xe(r), Er(e, n, "__service__", 0, 0));
2786
- Kn(n, "__service__"), Vr(e, n, "__message__", t), Vr(e, n, Sl, l);
2818
+ let l = Wl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2819
+ Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, kl, l);
2787
2820
  }
2788
- return Mr(e, n, "__message__"), Ll(e, t, n, r);
2821
+ return Wr(e, n, "__message__"), Ml(e, t, n, r);
2789
2822
  },
2790
2823
  mt_subscription_added: function(e, t) {
2791
2824
  let n = e.priv;
2792
- return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Fl(e, t) : 0;
2825
+ return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Kl(e, t) : 0;
2793
2826
  },
2794
2827
  mt_subscription_deleted: function(e, t) {
2795
2828
  let n = e.priv;
@@ -2798,7 +2831,7 @@ var gobjJs = function(e) {
2798
2831
  if (ir(t.event)) return 0;
2799
2832
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
2800
2833
  o && (r.__config__ = o), l && (r.__global__ = l), s && (r.__filter__ = s);
2801
- return Vr(e, r, Sl, Pl(e, Xe(_), i)), Mr(e, r, "__unsubscribing__"), Ll(e, t.event, r, e);
2834
+ return Gr(e, r, kl, Wl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Ml(e, t.event, r, e);
2802
2835
  }
2803
2836
  };
2804
2837
  return e.GObj = S, e.SDATA = j, e.SDATAAUTHZ = (e, t, n, r, l, o) => new T(e, t, n, null, o, r, null, 0, null, l, null), e.SDATACM = (e, t, n, r, l, o) => new T(e, t, 0, null, o, n, null, 0, l, r, null), e.SDATACM2 = (e, t, n, r, l, o, s) => new T(e, t, n, null, s, r, null, 0, o, l, null), e.SDATADF = (e, t, n, r, l, o) => new T(e, t, n, null, o, null, r, l), e.SDATAPM = (e, t, n, r, l) => new T(e, t, n, r, l), e.SDATAPM0 = (e, t, n, r, l) => new T(e, t, n, null, l, null, null, 0, null, null, r), e.SDATA_END = v, e.SDataDesc = T, e.YUNETA_VERSION = s, Object.defineProperty(e, "__yuno__", {
@@ -2812,7 +2845,7 @@ var gobjJs = function(e) {
2812
2845
  return t;
2813
2846
  }, e.build_stats_response = o, e.clean_name = function(e) {
2814
2847
  return e.replace(/[?# ^:]/g, "_");
2815
- }, e.clear_timeout = pl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2848
+ }, e.clear_timeout = vl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2816
2849
  let [r, l, o, s] = t;
2817
2850
  if (!r) return void hn("Tag must be a valid HTML element.");
2818
2851
  let i = document.createElement(r), _ = "";
@@ -2821,16 +2854,21 @@ var gobjJs = function(e) {
2821
2854
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2822
2855
  i.style.cssText = t;
2823
2856
  } else "style" === e ? i.style.cssText = l[e] : "i18n" === e || "data-i18n" === e || "data_i18next" === e || "data-i18next" === e ? null !== l[e] && void 0 !== l[e] && (_ = l[e], i.setAttribute("data-i18n", _)) : i.setAttribute(e, l[e]);
2824
- if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0]) i.appendChild(Jr(o));
2825
- else if (n && _) i.textContent = n(_) || o;
2857
+ if (Hr(o)) i.appendChild(zr(o));
2858
+ else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Qr) i.appendChild(Zr(o));
2859
+ else if (o.length > 0 && "<" === o[0] && function(e) {
2860
+ if (Xr.size >= 100) return;
2861
+ const t = e.slice(0, 80);
2862
+ Xr.has(t) || (Xr.add(t), yn(`createElement2: a string that starts with '<' is TEXT (set_strings_are_text): use html_markup() if it is markup: ${JSON.stringify(t)}`));
2863
+ }(o), n && _) i.textContent = n(_) || o;
2826
2864
  else i.textContent = o;
2827
2865
  else if (er(o)) {
2828
2866
  if (o.length > 0) if (tr(o[0])) i.appendChild(e(o, n));
2829
- else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2867
+ else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : Hr(t) ? i.appendChild(zr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2830
2868
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (hn("content ignored"), vn(o));
2831
2869
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
2832
2870
  return i;
2833
- }, e.createOneHtml = Jr, e.create_json_record = function(e, t) {
2871
+ }, e.createOneHtml = Zr, e.create_json_record = function(e, t) {
2834
2872
  let n = Fn(e);
2835
2873
  return Mn(n, t), n;
2836
2874
  }, e.create_template_record = function(e, t) {
@@ -2838,24 +2876,24 @@ var gobjJs = function(e) {
2838
2876
  return t || (t = {}), Object.entries(e).forEach(([e, r]) => {
2839
2877
  let l;
2840
2878
  Zn(r) && (l = r.default);
2841
- let o = jr(null, t, e, l);
2879
+ let o = Or(null, t, e, l);
2842
2880
  n[e] = o;
2843
2881
  }), n;
2844
- }, e.current_timestamp = qr, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2845
- let n = Dr(rl(e), null, !1), r = {};
2846
- return n && Zn(n) && (r = Rr(e, n, t, !1)), r;
2882
+ }, e.current_timestamp = el, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2883
+ let n = kr(al(e), null, !1), r = {};
2884
+ return n && Zn(n) && (r = $r(e, n, t, !1)), r;
2847
2885
  }, e.db_load_persistent_attrs = function(e, t) {
2848
- let n = Et(e, E.SDF_PERSIST), r = Dr(rl(e), null, !1);
2886
+ let n = Et(e, E.SDF_PERSIST), r = kr(al(e), null, !1);
2849
2887
  if (r && Zn(r)) {
2850
- let l = Rr(e, r, t, !1);
2851
- l = Rr(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2888
+ let l = $r(e, r, t, !1);
2889
+ l = $r(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2852
2890
  }
2853
2891
  }, e.db_remove_persistent_attrs = function(e, t) {
2854
- let n = $r(e, Dr(rl(e), null, !1), t, !1);
2855
- 0 === zn(n) ? Ar(rl(e)) : kr(rl(e), n);
2892
+ let n = Dr(e, kr(al(e), null, !1), t, !1);
2893
+ 0 === zn(n) ? Ir(al(e)) : Ar(al(e), n);
2856
2894
  }, e.db_save_persistent_attrs = function(e, t) {
2857
- let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = Dr(rl(e), null, !1);
2858
- return r && Zn(r) && Wn(n, r), kr(rl(e), n);
2895
+ let n = $r(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(al(e), null, !1);
2896
+ return r && Zn(r) && Wn(n, r), Ar(al(e), n);
2859
2897
  }, e.debounce = function(e, t = 0, n = !1) {
2860
2898
  let r = null, l = null, o = null;
2861
2899
  const s = (...s) => {
@@ -2879,20 +2917,20 @@ var gobjJs = function(e) {
2879
2917
  return t;
2880
2918
  }, e.empty_json = function(e) {
2881
2919
  return 0 === Xn(e);
2882
- }, e.empty_string = ir, e.escapeHtml = Br, e.event_flag_t = $, e.flat2json = function(e) {
2920
+ }, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t = $, e.flat2json = function(e) {
2883
2921
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2884
2922
  let t = null;
2885
2923
  for (const n of Object.keys(e)) {
2886
- const r = tl(n);
2924
+ const r = il(n);
2887
2925
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2888
- if (r.length > Xr) throw new Error(`flat2json: '${n}' deeper than 256`);
2926
+ if (r.length > ll) throw new Error(`flat2json: '${n}' deeper than 256`);
2889
2927
  const l = "number" == typeof r[0];
2890
2928
  if (null === t) t = l ? [] : {};
2891
2929
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2892
2930
  let o = t;
2893
2931
  for (let t = 0; t < r.length; t++) {
2894
2932
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2895
- if (s && l > Zr) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2933
+ if (s && l > ol) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2896
2934
  if (s !== Array.isArray(o)) throw new Error(`flat2json: '${n}' uses a ${s ? "array index" : "key"} where the tree already has a ${Array.isArray(o) ? "array" : "object"}`);
2897
2935
  if (i) {
2898
2936
  if (Array.isArray(o)) {
@@ -2932,15 +2970,15 @@ var gobjJs = function(e) {
2932
2970
  removed: {},
2933
2971
  changed: {}
2934
2972
  };
2935
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? nl(n[e], r[e]) || br(l.changed, e, {
2973
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? _l(n[e], r[e]) || br(l.changed, e, {
2936
2974
  from: n[e],
2937
2975
  to: r[e]
2938
2976
  }) : br(l.removed, e, n[e]);
2939
2977
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || br(l.added, e, r[e]);
2940
2978
  return l;
2941
2979
  }, e.flat_key_join = function(e) {
2942
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : el(e)).join("`") : "";
2943
- }, e.flat_key_split = tl, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2980
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : sl(e)).join("`") : "";
2981
+ }, e.flat_key_split = il, e.gclass_add_ev_action = ye, e.gclass_add_event_type = Te, e.gclass_add_state = he, e.gclass_check_fsm = je, e.gclass_create = de, e.gclass_event_type = ve, e.gclass_find_by_name = Oe, e.gclass_flag_t = w, e.gclass_unregister = be, e.getPositionRelativeToBody = function(e) {
2944
2982
  if (!e) return {
2945
2983
  top: 0,
2946
2984
  left: 0,
@@ -2959,7 +2997,7 @@ var gobjJs = function(e) {
2959
2997
  right: n + i + r,
2960
2998
  bottom: t + s + l
2961
2999
  };
2962
- }, e.get_function_name = Qr, e.get_now = function() {
3000
+ }, e.get_function_name = rl, e.get_now = function() {
2963
3001
  return Math.floor(Date.now() / 1e3);
2964
3002
  }, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
2965
3003
  return ot(e) ? (hn("gobj NULL or DESTROYED"), null) : t instanceof S ? (e.parent && e.parent.gclass.gmt.mt_child_removed && e.parent.gclass.gmt.mt_child_removed(e.parent, e), e.parent && ($e(e.parent, e), e.parent = null), Re(t, e), t.gclass.gmt.mt_child_added && (Y(e) && En(n("👦👦🔵 child_added(%s): %s", tt(t), et(e))), t.gclass.gmt.mt_child_added(t, e)), 0) : (hn(`${et(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
@@ -2995,13 +3033,13 @@ var gobjJs = function(e) {
2995
3033
  }, e.gobj_list_subscriptions = function(e) {
2996
3034
  let t = zt(e, null, null, null);
2997
3035
  for (let n = 0; n < t.length; n++) {
2998
- let r = t[n], l = Tr(e, r, "publisher", null, Zt.KW_REQUIRED), o = Tr(e, r, "subscriber", null, Zt.KW_REQUIRED);
2999
- Bn(r, "s_event", Er(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3036
+ let r = t[n], l = vr(e, r, "publisher", null, Zt.KW_REQUIRED), o = vr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3037
+ Bn(r, "s_event", Tr(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3000
3038
  }
3001
3039
  let n = Qt(e, 0, null, 0);
3002
3040
  for (let t = 0; t < n.length; t++) {
3003
- let r = n[t], l = Tr(e, r, "publisher", null, Zt.KW_REQUIRED), o = Tr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3004
- Bn(r, "s_event", Er(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3041
+ let r = n[t], l = vr(e, r, "publisher", null, Zt.KW_REQUIRED), o = vr(e, r, "subscriber", null, Zt.KW_REQUIRED);
3042
+ Bn(r, "s_event", Tr(e, r, "event", "", Zt.KW_REQUIRED)), Bn(r, "s_publisher", et(l)), Bn(r, "s_subscriber", et(o));
3005
3043
  }
3006
3044
  return {
3007
3045
  subscriptions: t,
@@ -3106,9 +3144,11 @@ var gobjJs = function(e) {
3106
3144
  0 === r ? i++ : r < 0 ? _++ : a++;
3107
3145
  }
3108
3146
  return _ ? yn(`${et(e)}: Hard subscription not removed, only gobj_unsubscribe_list() with force removes it (event: ${t}, hard: ${_})`) : i || a || (yn(`${et(e)}: No subscription found`), Un(n, "No subscription found")), 0;
3109
- }, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = $t, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.id_index_in_obj_list = Lr, e.index_in_list = Hr, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3147
+ }, e.gobj_unsubscribe_list = Ht, e.gobj_walk_gobj_children = at, e.gobj_walk_gobj_children_tree = ut, e.gobj_write_attr = St, e.gobj_write_attrs = wt, e.gobj_write_bool_attr = Nt, e.gobj_write_integer_attr = Rt, e.gobj_write_str_attr = $t, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.html_markup = function(e) {
3148
+ return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
3149
+ }, e.id_index_in_obj_list = Pr, e.index_in_list = tl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3110
3150
  return e instanceof Date && !isNaN(e);
3111
- }, e.is_function = or, e.is_gobj = sr, e.is_metadata_key = function(e) {
3151
+ }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = Hr, e.is_metadata_key = function(e) {
3112
3152
  if (!tr(e)) return !1;
3113
3153
  let t = 0;
3114
3154
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -3124,53 +3164,53 @@ var gobjJs = function(e) {
3124
3164
  const t = Number(e);
3125
3165
  return !isNaN(t) && "" !== e.trim() && !isNaN(t);
3126
3166
  }, e.is_secret_name = wn, e.is_string = tr, e.jdb_delete = function(e, t, n, r) {
3127
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3167
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3128
3168
  if (!l) return hn("jdb_delete: topic not found: " + t), null;
3129
3169
  if (ir(r.id)) return hn("jdb_delete: record without id: " + r), Tn(r), null;
3130
3170
  let o, s = n.split("`"), i = l;
3131
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, o, !1);
3171
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Yr(i, null, o, !1);
3132
3172
  if (0 === s.length && i) if (er(i)) {
3133
- let e = Lr(i, r.id);
3173
+ let e = Pr(i, r.id);
3134
3174
  e >= 0 && i.splice(e, 1);
3135
3175
  } else {
3136
- let t = jr(null, i, e.hook, null, 0), n = Lr(t, r.id);
3176
+ let t = Or(null, i, e.hook, null, 0), n = Pr(t, r.id);
3137
3177
  n >= 0 && t.splice(n, 1);
3138
3178
  }
3139
3179
  return l;
3140
3180
  }, e.jdb_get = function(e, t, n, r) {
3141
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3142
- return l ? (void 0 === r && (r = !0), Kr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3181
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3182
+ return l ? (void 0 === r && (r = !0), Yr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3143
3183
  }, e.jdb_get_by_idx = function(e, t, n) {
3144
- let r = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3184
+ let r = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3145
3185
  return r ? n < r.length ? r[n] : {} : (hn("jdb_get_by_idx: topic not found: " + t), null);
3146
3186
  }, e.jdb_get_topic = function(e, t) {
3147
- let n = jr(null, e, "topics", null, 0);
3187
+ let n = Or(null, e, "topics", null, 0);
3148
3188
  if (!n) return hn("jdb topics section not found"), Tn(e), null;
3149
- return jr(null, n, t, null, 0) || (hn("jdb topic not found: " + t), Tn(n), null);
3189
+ return Or(null, n, t, null, 0) || (hn("jdb topic not found: " + t), Tn(n), null);
3150
3190
  }, e.jdb_init = function(e, t, n) {
3151
3191
  n && (e = Fn(e));
3152
- let r = jr(null, e, "type", [], 1);
3153
- Er(null, e, "hook", "data", 1);
3154
- let l = jr(null, e, "schema", {}, 1), o = jr(null, e, "topics", {}, 1);
3155
- return xr(l, function(e, t, n, l) {
3156
- "__" !== t.substring(0, 2) && jr(null, o, l, Fn(r), 1);
3192
+ let r = Or(null, e, "type", [], 1);
3193
+ Tr(null, e, "hook", "data", 1);
3194
+ let l = Or(null, e, "schema", {}, 1), o = Or(null, e, "topics", {}, 1);
3195
+ return Kr(l, function(e, t, n, l) {
3196
+ "__" !== t.substring(0, 2) && Or(null, o, l, Fn(r), 1);
3157
3197
  }, t), e;
3158
3198
  }, e.jdb_update = function(e, t, n, r) {
3159
- let l = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3199
+ let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3160
3200
  if (!l) return hn("jdb_update: topic not found: " + t), null;
3161
3201
  if (ir(r.id)) return hn("jdb_update: record without id: " + r), Tn(r), null;
3162
3202
  let o, s = n.split("`"), i = l;
3163
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = jr(null, i, e.hook, [], 1)), i = Kr(i, null, o, !1);
3203
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, [], 1)), i = Yr(i, null, o, !1);
3164
3204
  if (0 === s.length && i) if (er(i)) i.push(r);
3165
3205
  else if (i.id === r.id) Gn(i, r);
3166
3206
  else {
3167
- let t = jr(null, i, e.hook, [], 1), n = Kr(t, e.hook, r.id, !1);
3207
+ let t = Or(null, i, e.hook, [], 1), n = Yr(t, e.hook, r.id, !1);
3168
3208
  n ? Gn(n, r) : t.push(r);
3169
3209
  }
3170
3210
  return l;
3171
3211
  }, e.json2flat = function(e) {
3172
3212
  const t = {}, n = (e, r, l) => {
3173
- if (l > Xr) throw new Error("json2flat: deeper than 256");
3213
+ if (l > ll) throw new Error("json2flat: deeper than 256");
3174
3214
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3175
3215
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3176
3216
  const o = `[${t}]`;
@@ -3180,7 +3220,7 @@ var gobjJs = function(e) {
3180
3220
  const t = Object.keys(e);
3181
3221
  if (t.length > 0) {
3182
3222
  for (const o of t) {
3183
- const t = el(o);
3223
+ const t = sl(o);
3184
3224
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
3185
3225
  }
3186
3226
  return;
@@ -3193,7 +3233,7 @@ var gobjJs = function(e) {
3193
3233
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3194
3234
  }, e.json_array_remove = Hn, e.json_array_size = Qn, e.json_deep_copy = Fn, e.json_is_identical = Vn, e.json_mask_secrets = Pn, e.json_object_del = Kn, e.json_object_get = xn, e.json_object_set = Yn, e.json_object_set_new = Bn, e.json_object_size = zn, e.json_object_update = Gn, e.json_object_update_existing = Mn, e.json_object_update_missing = Wn, e.json_size = Xn, e.jwt2json = function(e, t) {
3195
3235
  try {
3196
- let n = Yr(e);
3236
+ let n = Br(e);
3197
3237
  switch (t) {
3198
3238
  case "header": return JSON.parse(n.header);
3199
3239
  case "signature": return JSON.parse(n.signature);
@@ -3202,9 +3242,9 @@ var gobjJs = function(e) {
3202
3242
  } catch (e) {
3203
3243
  return null;
3204
3244
  }
3205
- }, e.jwtDecode = Yr, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = $r, e.kw_collect = function(e, t, n, r) {
3245
+ }, e.jwtDecode = Br, e.kw_clone_by_keys = $r, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3206
3246
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3207
- r || (r = Nr);
3247
+ r || (r = Rr);
3208
3248
  let l = [];
3209
3249
  if (er(t)) for (let e = 0; e < t.length; e++) {
3210
3250
  let o = t[e];
@@ -3215,23 +3255,23 @@ var gobjJs = function(e) {
3215
3255
  r(t, n) && l.push(t);
3216
3256
  }
3217
3257
  return l;
3218
- }, e.kw_delete = mr, e.kw_find_json_in_list = function(e, t, n, r) {
3258
+ }, e.kw_delete = hr, e.kw_find_json_in_list = function(e, t, n, r) {
3219
3259
  if (!n || !er(t)) return r && hn("item NULL or kw_list is not a list"), -1;
3220
3260
  for (let e = 0; e < t.length; e++) if (Vn(n, t[e])) return e;
3221
3261
  return r && hn("item not found in this list"), -1;
3222
- }, e.kw_find_path = pr, e.kw_flag_t = Zt, e.kw_get_bool = hr, e.kw_get_dict = vr, e.kw_get_dict_value = jr, e.kw_get_int = yr, e.kw_get_list = function(e, t, n, r, l) {
3262
+ }, e.kw_find_path = mr, e.kw_flag_t = Zt, e.kw_get_bool = yr, e.kw_get_dict = jr, e.kw_get_dict_value = Or, e.kw_get_int = Er, e.kw_get_list = function(e, t, n, r, l) {
3223
3263
  e && !sr(e) && hn("GObj bad instanceof");
3224
- let o = pr(e, t, n, !1);
3264
+ let o = mr(e, t, n, !1);
3225
3265
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT;
3226
- return void 0 === o ? i && er(r) && t ? (Or(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && mr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Un(t)), r);
3227
- }, e.kw_get_local_storage_value = Dr, e.kw_get_pointer = Tr, e.kw_get_real = function(e, t, n, r, l) {
3266
+ return void 0 === o ? i && er(r) && t ? (Sr(e, t, n, r), r) : (s && (hn(`path not found: '${n}'`), Un(t)), r) : er(o) ? (_ && hr(e, t, n), o) : (s && (hn(`${e ? et(e) + ": " : ""}path MUST BE a json list: '${n}'`), Un(t)), r);
3267
+ }, e.kw_get_local_storage_value = kr, e.kw_get_pointer = vr, e.kw_get_real = function(e, t, n, r, l) {
3228
3268
  e && !sr(e) && hn("GObj bad instanceof");
3229
- let o = pr(e, t, n, !1);
3269
+ let o = mr(e, t, n, !1);
3230
3270
  const s = l && l & Zt.KW_REQUIRED, i = l && l & Zt.KW_CREATE, _ = l && l & Zt.KW_EXTRACT, a = l && l & Zt.KW_WILD_NUMBER;
3231
3271
  if (void 0 === o) {
3232
3272
  if (i && t) {
3233
3273
  let l = Number(r);
3234
- return Or(e, t, n, l), l;
3274
+ return Sr(e, t, n, l), l;
3235
3275
  }
3236
3276
  return s && (hn(`path not found: '${n}'`), Un(t)), Number(r);
3237
3277
  }
@@ -3246,10 +3286,10 @@ var gobjJs = function(e) {
3246
3286
  u = 0;
3247
3287
  }
3248
3288
  }
3249
- return _ && mr(e, t, n), u;
3250
- }, e.kw_get_str = Er, e.kw_has_key = gr, e.kw_match_simple = Nr, e.kw_pop = fr, e.kw_remove_local_storage_value = Ar, e.kw_select = function(e, t, n, r) {
3289
+ return _ && hr(e, t, n), u;
3290
+ }, e.kw_get_str = Tr, e.kw_has_key = gr, e.kw_match_simple = Rr, e.kw_pop = fr, e.kw_remove_local_storage_value = Ir, e.kw_select = function(e, t, n, r) {
3251
3291
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3252
- r || (r = Nr);
3292
+ r || (r = Rr);
3253
3293
  let l = [];
3254
3294
  if (er(t)) for (let e = 0; e < t.length; e++) {
3255
3295
  let o = t[e];
@@ -3260,9 +3300,9 @@ var gobjJs = function(e) {
3260
3300
  r(t, n) && l.push(Fn(t));
3261
3301
  }
3262
3302
  return l;
3263
- }, e.kw_set_dict_value = Or, e.kw_set_local_storage_value = kr, e.kw_set_subdict_value = Sr, e.kwid_collect = Cr, e.kwid_find_one_record = function(e, t, n, r, l) {
3303
+ }, e.kw_set_dict_value = Sr, e.kw_set_local_storage_value = Ar, e.kw_set_subdict_value = wr, e.kwid_collect = Lr, e.kwid_find_one_record = function(e, t, n, r, l) {
3264
3304
  e && !sr(e) && hn("GObj bad instanceof");
3265
- let o = Cr(e, t, n, r, l);
3305
+ let o = Lr(e, t, n, r, l);
3266
3306
  return o && 0 !== o.length ? o[0] : null;
3267
3307
  }, e.kwid_get_ids = function(e, t) {
3268
3308
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return [];
@@ -3272,23 +3312,23 @@ var gobjJs = function(e) {
3272
3312
  else er(t) && t.forEach(function(t) {
3273
3313
  if (tr(t)) ir(t) || n.push(t);
3274
3314
  else if (Zn(t)) {
3275
- let r = Er(e, t, "id", 0, 0);
3315
+ let r = Tr(e, t, "id", 0, 0);
3276
3316
  r && n.push(r);
3277
3317
  }
3278
3318
  });
3279
3319
  return n;
3280
- }, e.kwid_match_id = Ir, e.kwid_new_dict = function(e, t, n) {
3320
+ }, e.kwid_match_id = Cr, e.kwid_new_dict = function(e, t, n) {
3281
3321
  e && !sr(e) && hn("GObj bad instanceof");
3282
3322
  let r = {};
3283
- if (ir(n) || (t = pr(e, t, n)), Zn(t)) r = t;
3323
+ if (ir(n) || (t = mr(e, t, n)), Zn(t)) r = t;
3284
3324
  else if (er(t)) for (let n = 0; n < t.length; n++) {
3285
- let l = t[n], o = Er(e, l, "id", "", Zt.KW_REQUIRED);
3325
+ let l = t[n], o = Tr(e, l, "id", "", Zt.KW_REQUIRED);
3286
3326
  ir(o) || br(r, o, l);
3287
3327
  }
3288
3328
  else hn(`${et(e)} kwid_new_dict: data type unknown`);
3289
3329
  return r;
3290
3330
  }, e.kwid_new_list = function(e, t, n) {
3291
- if (e && !sr(e) && hn("GObj bad instanceof"), ir(n) || (t = pr(e, t, n)), er(t)) return t;
3331
+ if (e && !sr(e) && hn("GObj bad instanceof"), ir(n) || (t = mr(e, t, n)), er(t)) return t;
3292
3332
  if (Zn(t)) {
3293
3333
  let n = [];
3294
3334
  for (let r of Object.keys(t)) {
@@ -3346,9 +3386,9 @@ var gobjJs = function(e) {
3346
3386
  var e;
3347
3387
  }, r.send();
3348
3388
  }, e.log_debug = En, e.log_error = hn, e.log_info = function(e, ...t) {
3349
- let n = mn(e, ...t), r = qr();
3389
+ let n = mn(e, ...t), r = el();
3350
3390
  rn && cn("info", n) && rn("%c" + r + " INFO: " + String(n), "color:cyan"), gn("info", n, r);
3351
- }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = Wr, e.msg_iev_get_stack = Gr, e.msg_iev_push_stack = Vr, e.msg_iev_read_key = Ur, e.msg_iev_set_msg_type = Mr, e.msg_iev_write_key = Fr, e.node_uuid = zr, e.parseBoolean = _r, e.parseSVG = function(e) {
3391
+ }, e.log_warning = yn, e.mask_secrets_inline = kn, e.msg_iev_get_msg_type = xr, e.msg_iev_get_stack = Mr, e.msg_iev_push_stack = Gr, e.msg_iev_read_key = Fr, e.msg_iev_set_msg_type = Wr, e.msg_iev_write_key = Vr, e.node_uuid = nl, e.parseBoolean = _r, e.parseSVG = function(e) {
3352
3392
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3353
3393
  }, e.refresh_language = function(e, t) {
3354
3394
  if (!or(t)) return void hn("You must supply a translation function");
@@ -3375,22 +3415,22 @@ var gobjJs = function(e) {
3375
3415
  });
3376
3416
  }, e.register_c_ievent_cli = function() {
3377
3417
  return function(e) {
3378
- if (Dl) return hn(`GClass ALREADY created: ${e}`), -1;
3418
+ if (Pl) return hn(`GClass ALREADY created: ${e}`), -1;
3379
3419
  const t = [
3380
3420
  ["ST_DISCONNECTED", [
3381
3421
  [
3382
3422
  "EV_ON_OPEN",
3383
- Gl,
3423
+ Bl,
3384
3424
  "ST_WAIT_IDENTITY_CARD_ACK"
3385
3425
  ],
3386
3426
  [
3387
3427
  "EV_ON_CLOSE",
3388
- Ml,
3428
+ Jl,
3389
3429
  null
3390
3430
  ],
3391
3431
  [
3392
3432
  "EV_TIMEOUT",
3393
- Vl,
3433
+ Yl,
3394
3434
  null
3395
3435
  ],
3396
3436
  [
@@ -3402,22 +3442,22 @@ var gobjJs = function(e) {
3402
3442
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3403
3443
  [
3404
3444
  "EV_ON_MESSAGE",
3405
- Kl,
3445
+ Ql,
3406
3446
  null
3407
3447
  ],
3408
3448
  [
3409
3449
  "EV_IDENTITY_CARD_ACK",
3410
- xl,
3450
+ zl,
3411
3451
  null
3412
3452
  ],
3413
3453
  [
3414
3454
  "EV_ON_CLOSE",
3415
- Ml,
3455
+ Jl,
3416
3456
  "ST_DISCONNECTED"
3417
3457
  ],
3418
3458
  [
3419
3459
  "EV_TIMEOUT",
3420
- Wl,
3460
+ Hl,
3421
3461
  null
3422
3462
  ],
3423
3463
  [
@@ -3429,22 +3469,22 @@ var gobjJs = function(e) {
3429
3469
  ["ST_SESSION", [
3430
3470
  [
3431
3471
  "EV_ON_MESSAGE",
3432
- Kl,
3472
+ Ql,
3433
3473
  null
3434
3474
  ],
3435
3475
  [
3436
3476
  "EV_MT_STATS",
3437
- Yl,
3477
+ Xl,
3438
3478
  null
3439
3479
  ],
3440
3480
  [
3441
3481
  "EV_MT_COMMAND",
3442
- Bl,
3482
+ Zl,
3443
3483
  null
3444
3484
  ],
3445
3485
  [
3446
3486
  "EV_ON_CLOSE",
3447
- Ml,
3487
+ Jl,
3448
3488
  "ST_DISCONNECTED"
3449
3489
  ],
3450
3490
  [
@@ -3455,7 +3495,7 @@ var gobjJs = function(e) {
3455
3495
  ]],
3456
3496
  [null, null]
3457
3497
  ];
3458
- return (Dl = de(e, [
3498
+ return (Pl = de(e, [
3459
3499
  ["EV_ON_MESSAGE", $.EVF_OUTPUT_EVENT],
3460
3500
  ["EV_IDENTITY_CARD_ACK", $.EVF_PUBLIC_EVENT],
3461
3501
  ["EV_ON_ID_NAK", $.EVF_PUBLIC_EVENT | $.EVF_OUTPUT_EVENT],
@@ -3466,36 +3506,36 @@ var gobjJs = function(e) {
3466
3506
  ["EV_ON_OPEN_ERROR", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS],
3467
3507
  ["EV_TIMEOUT", 0],
3468
3508
  [null, 0]
3469
- ], t, Jl, 0, wl, $l, 0, 0, Nl, w.gcflag_no_check_output_events)) ? 0 : -1;
3509
+ ], t, eo, 0, Al, Ll, 0, 0, Il, w.gcflag_no_check_output_events)) ? 0 : -1;
3470
3510
  }("C_IEVENT_CLI");
3471
3511
  }, e.register_c_timer = function() {
3472
3512
  return function(e) {
3473
- if (cl) return hn(`GClass ALREADY created: ${e}`), -1;
3513
+ if (ml) return hn(`GClass ALREADY created: ${e}`), -1;
3474
3514
  const t = [["ST_IDLE", [[
3475
3515
  "EV_TIMEOUT",
3476
- fl,
3516
+ hl,
3477
3517
  null
3478
3518
  ]]]];
3479
- return (cl = de(e, [
3519
+ return (ml = de(e, [
3480
3520
  ["EV_TIMEOUT", $.EVF_OUTPUT_EVENT],
3481
3521
  ["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT],
3482
3522
  [0, 0]
3483
- ], t, gl, 0, al, ul, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3523
+ ], t, yl, 0, bl, pl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3484
3524
  }("C_TIMER");
3485
3525
  }, e.register_c_yuno = function() {
3486
3526
  return function(e) {
3487
- if (yl) return hn(`GClass ALREADY created: ${e}`), -1;
3527
+ if (Sl) return hn(`GClass ALREADY created: ${e}`), -1;
3488
3528
  const t = [["ST_IDLE", [[
3489
3529
  "EV_TIMEOUT_PERIODIC",
3490
- jl,
3530
+ $l,
3491
3531
  null
3492
3532
  ]]]];
3493
- return (yl = de(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, Ol, 0, ml, hl, 0, 0, 0, 0)) ? 0 : -1;
3533
+ return (Sl = de(e, [["EV_TIMEOUT_PERIODIC", $.EVF_OUTPUT_EVENT | $.EVF_NO_WARN_SUBS], [0, 0]], t, Dl, 0, jl, Ol, 0, 0, 0, 0)) ? 0 : -1;
3494
3534
  }("C_YUNO");
3495
3535
  }, e.safeSrc = function(e) {
3496
3536
  if (!e) return "";
3497
3537
  const t = String(e).trim();
3498
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3538
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
3499
3539
  }, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
3500
3540
  let r = new XMLHttpRequest();
3501
3541
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3518,13 +3558,17 @@ var gobjJs = function(e) {
3518
3558
  dn(e, r, n);
3519
3559
  }
3520
3560
  } else on = e;
3521
- }, e.set_remote_log_functions = bn, e.set_timeout = dl, e.set_timeout_periodic = bl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Pr, e.strcasecmp = ur, e.strcmp = ar, e.strncmp = function(e, t, n) {
3561
+ }, e.set_remote_log_functions = bn, e.set_strings_are_text = function(e) {
3562
+ Qr = !!e;
3563
+ }, e.set_timeout = El, e.set_timeout_periodic = Tl, e.sprintf = n, e.stats_parser = function(e, t, n, r) {}, e.str_in_list = Ur, e.strcasecmp = ur, e.strcmp = ar, e.strings_are_text = function() {
3564
+ return Qr;
3565
+ }, e.strncmp = function(e, t, n) {
3522
3566
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3523
3567
  return r === l ? 0 : r > l ? 1 : -1;
3524
3568
  }, e.strs_in_list = function(e, t, n) {
3525
3569
  if (!e) return hn("ERROR: strs_in_list() list empty"), !1;
3526
3570
  if (!t) return hn("ERROR: strs_in_list() str empty"), !1;
3527
- for (let r = 0; r < t.length; r++) if (Pr(e, t[r], n)) return !0;
3571
+ for (let r = 0; r < t.length; r++) if (Ur(e, t[r], n)) return !0;
3528
3572
  return !1;
3529
3573
  }, e.strstr = function(e, t, n) {
3530
3574
  var r;
@@ -3547,9 +3591,9 @@ var gobjJs = function(e) {
3547
3591
  let e = t.split(".");
3548
3592
  for (let t = 0; t < e.length; t++) {
3549
3593
  let r = e[t];
3550
- if (Pr(ol, r)) n.real_type || (n.real_type = r);
3551
- else if (Pr(il, r)) n.type || (n.type = r);
3552
- else if (Pr(sl, r)) switch (r) {
3594
+ if (Ur(cl, r)) n.real_type || (n.real_type = r);
3595
+ else if (Ur(gl, r)) n.type || (n.type = r);
3596
+ else if (Ur(fl, r)) switch (r) {
3553
3597
  case "writable":
3554
3598
  n.is_writable = !0;
3555
3599
  break;
@@ -3561,7 +3605,7 @@ var gobjJs = function(e) {
3561
3605
  }
3562
3606
  }
3563
3607
  n.real_type || (n.real_type = "string");
3564
- } else Zn(t) ? (n = _l(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3608
+ } else Zn(t) ? (n = dl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3565
3609
  return n.type || (n.type = n.real_type), n;
3566
3610
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
3567
3611
  const n = e, r = performance.now();
@@ -3573,7 +3617,7 @@ var gobjJs = function(e) {
3573
3617
  total: _
3574
3618
  };
3575
3619
  } };
3576
- }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = ll, e.treedb_decoder_hook = function(e, t) {
3620
+ }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = ul, e.treedb_decoder_hook = function(e, t) {
3577
3621
  if (tr(t)) {
3578
3622
  if (-1 === t.indexOf("^")) {
3579
3623
  let n, r = e.hook;
@@ -3600,9 +3644,9 @@ var gobjJs = function(e) {
3600
3644
  id: t.id
3601
3645
  } : (hn("bad hook 3"), hn(e), hn(t), null);
3602
3646
  }, e.treedb_encoder_fkey = function(e, t) {
3603
- let n = ll(e, t);
3647
+ let n = ul(e, t);
3604
3648
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3605
- }, e.treedb_get_field_desc = _l, e.treedb_hook_data_size = function(e) {
3649
+ }, e.treedb_get_field_desc = dl, e.treedb_hook_data_size = function(e) {
3606
3650
  if (er(e) && 1 === Xn(e)) {
3607
3651
  let t = e[0];
3608
3652
  return gr(t, "size") ? t.size : 1;