@yuneta/gobj-js 7.26.14 → 7.26.15

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 Re(e, t) {
667
- let n = nl(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 = ll(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
  }
@@ -1375,7 +1375,11 @@ var gobjJs = function(e) {
1375
1375
  try {
1376
1376
  return JSON.stringify(e);
1377
1377
  } catch (t) {
1378
- return String(e);
1378
+ try {
1379
+ return String(e);
1380
+ } catch (t) {
1381
+ return `<${typeof e}: not printable>`;
1382
+ }
1379
1383
  }
1380
1384
  }
1381
1385
  function mn(e) {
@@ -1402,23 +1406,23 @@ var gobjJs = function(e) {
1402
1406
  return n;
1403
1407
  }
1404
1408
  function hn(e, ...t) {
1405
- let n = mn(e, ...t), r = tl();
1409
+ let n = mn(e, ...t), r = el();
1406
1410
  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
1411
  }
1408
1412
  function yn(e, ...t) {
1409
- let n = mn(e, ...t), r = tl();
1413
+ let n = mn(e, ...t), r = el();
1410
1414
  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
1415
  }
1412
1416
  function En(e, ...t) {
1413
- let n = mn(e, ...t), r = tl();
1417
+ let n = mn(e, ...t), r = el();
1414
1418
  ln && cn("debug", n) && ln("%c" + r + " DEBUG: " + String(n), "color:silver"), gn("debug", n, r);
1415
1419
  }
1416
1420
  function Tn(e, ...t) {
1417
- let n = mn(e, ...t), r = tl();
1421
+ let n = mn(e, ...t), r = el();
1418
1422
  ln && cn("msg", n) && ln("%c" + r + " MSG: " + String(n), "color:cyan"), gn("msg", n, r);
1419
1423
  }
1420
1424
  function vn(e, t) {
1421
- cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, tl());
1425
+ cn("json", t) && (t && en.warn("=====> " + t), en.dir(e)), gn("json", e, el());
1422
1426
  }
1423
1427
  var jn = [
1424
1428
  "passw",
@@ -2091,14 +2095,7 @@ var gobjJs = function(e) {
2091
2095
  ]), Zn(e[r]) && Kr(e[r], t, n), n = n.slice(0, -l.length);
2092
2096
  }
2093
2097
  }
2094
- function Yr(e) {
2095
- try {
2096
- return JSON.stringify(e);
2097
- } catch (t) {
2098
- return `<${typeof e}: not json (${t.message})>`;
2099
- }
2100
- }
2101
- function Br(e, t, n, r) {
2098
+ function Yr(e, t, n, r) {
2102
2099
  if (!e) return null;
2103
2100
  let l, o = e.length;
2104
2101
  for (l = 0; l < o; l++) {
@@ -2107,14 +2104,14 @@ var gobjJs = function(e) {
2107
2104
  let e = o.id;
2108
2105
  if (e && e === n) return o;
2109
2106
  if (r && gr(o, t)) {
2110
- let e = Br(o[t], t, n, r);
2107
+ let e = Yr(o[t], t, n, r);
2111
2108
  if (e) return e;
2112
2109
  }
2113
2110
  }
2114
2111
  }
2115
2112
  return null;
2116
2113
  }
2117
- function Jr(e) {
2114
+ function Br(e) {
2118
2115
  function t(e) {
2119
2116
  let t = e.replace(/-/g, "+").replace(/_/g, "/");
2120
2117
  switch (t.length % 4) {
@@ -2145,10 +2142,10 @@ var gobjJs = function(e) {
2145
2142
  signature: t(n[2])
2146
2143
  };
2147
2144
  }
2148
- function qr(e) {
2145
+ function Jr(e) {
2149
2146
  return null == e ? "" : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
2150
2147
  }
2151
- var Hr = class {
2148
+ var qr = class {
2152
2149
  constructor(e) {
2153
2150
  this.html = e, Object.freeze(this);
2154
2151
  }
@@ -2156,41 +2153,41 @@ var gobjJs = function(e) {
2156
2153
  return this.html;
2157
2154
  }
2158
2155
  };
2159
- function zr(e) {
2160
- return e instanceof Hr;
2156
+ function Hr(e) {
2157
+ return e instanceof qr;
2161
2158
  }
2162
- function Qr(e) {
2159
+ function zr(e) {
2163
2160
  const t = document.createElement("template");
2164
2161
  return t.innerHTML = e.html.trim(), t.content;
2165
2162
  }
2166
- var Xr = !1, Zr = /* @__PURE__ */ new Set();
2167
- function el(e) {
2163
+ var Qr = !1, Xr = /* @__PURE__ */ new Set();
2164
+ function Zr(e) {
2168
2165
  const t = document.createElement("template");
2169
2166
  return t.innerHTML = e.trim(), t.content.firstChild;
2170
2167
  }
2171
- function tl(e) {
2168
+ function el(e) {
2172
2169
  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();
2173
2170
  return `${n}.${r}${l > 0 ? "-" : "+"}${t(Math.floor(Math.abs(l) / 60), 2)}${t(Math.abs(l) % 60, 2)}`;
2174
2171
  }
2175
- function nl(e, t) {
2172
+ function tl(e, t) {
2176
2173
  if (!e) throw "ERROR: index_in_list() list empty";
2177
2174
  for (let n = 0; n < e.length; n++) if (t === e[n]) return n;
2178
2175
  return -1;
2179
2176
  }
2180
- function rl() {
2177
+ function nl() {
2181
2178
  let e = "";
2182
2179
  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;
2183
2180
  }
2184
- function ll(e) {
2181
+ function rl(e) {
2185
2182
  let t = null;
2186
2183
  return "function" != typeof e && "object" != typeof e || (t = ("" + e).match(/function\s*([\w\$]*)\s*\(/)), null !== t ? t[1] + "()" : "";
2187
2184
  }
2188
- var ol = 256, sl = 1e5;
2189
- function il(e) {
2185
+ var ll = 256, ol = 1e5;
2186
+ function sl(e) {
2190
2187
  const t = String(e).replace(/`/g, "``");
2191
2188
  return "[" === t[0] ? "[" + t : t;
2192
2189
  }
2193
- function _l(e) {
2190
+ function il(e) {
2194
2191
  if ("string" != typeof e) return null;
2195
2192
  let t = [], n = "";
2196
2193
  for (let r = 0; r < e.length; r++) if ("`" !== e[r]) n += e[r];
@@ -2211,13 +2208,13 @@ var gobjJs = function(e) {
2211
2208
  return null !== t ? t : "[" === e[0] && "[" === e[1] ? e.slice(1) : e;
2212
2209
  });
2213
2210
  }
2214
- function al(e, t) {
2211
+ function _l(e, t) {
2215
2212
  return e === t || null !== e && null !== t && "object" == typeof e && "object" == typeof t && JSON.stringify(e) === JSON.stringify(t);
2216
2213
  }
2217
- function ul(e) {
2214
+ function al(e) {
2218
2215
  return "persistent-attrs-" + et(e);
2219
2216
  }
2220
- function cl(e, t) {
2217
+ function ul(e, t) {
2221
2218
  if (tr(t)) {
2222
2219
  if (-1 === t.indexOf("^")) {
2223
2220
  let n, r, l = e.fkey;
@@ -2247,7 +2244,7 @@ var gobjJs = function(e) {
2247
2244
  hook_name: t.hook_name
2248
2245
  } : (hn("bad fkey 3"), hn(e), hn(t), null);
2249
2246
  }
2250
- var fl = [
2247
+ var cl = [
2251
2248
  "string",
2252
2249
  "integer",
2253
2250
  "object",
@@ -2257,7 +2254,7 @@ var gobjJs = function(e) {
2257
2254
  "real",
2258
2255
  "boolean",
2259
2256
  "blob"
2260
- ], gl = [
2257
+ ], fl = [
2261
2258
  "persistent",
2262
2259
  "required",
2263
2260
  "notnull",
@@ -2269,7 +2266,7 @@ var gobjJs = function(e) {
2269
2266
  "stats",
2270
2267
  "rstats",
2271
2268
  "pstats"
2272
- ], dl = [
2269
+ ], gl = [
2273
2270
  "hook",
2274
2271
  "fkey",
2275
2272
  "enum",
@@ -2298,7 +2295,7 @@ var gobjJs = function(e) {
2298
2295
  "coordinates",
2299
2296
  "gbuffer"
2300
2297
  ];
2301
- function bl(e) {
2298
+ function dl(e) {
2302
2299
  let t = {
2303
2300
  name: e.id,
2304
2301
  header: e.header,
@@ -2317,7 +2314,7 @@ var gobjJs = function(e) {
2317
2314
  if (!e.flag) return t;
2318
2315
  for (let n = 0; n < e.flag.length; n++) {
2319
2316
  let r = e.flag[n];
2320
- if (Ur(dl, r)) {
2317
+ if (Ur(gl, r)) {
2321
2318
  switch (r) {
2322
2319
  case "enum":
2323
2320
  t.enum_list = e.enum;
@@ -2331,7 +2328,7 @@ var gobjJs = function(e) {
2331
2328
  case "file": t.is_file = !0;
2332
2329
  }
2333
2330
  t.type = r;
2334
- } else if (Ur(gl, r)) switch (r) {
2331
+ } else if (Ur(fl, r)) switch (r) {
2335
2332
  case "writable":
2336
2333
  t.is_writable = !0;
2337
2334
  break;
@@ -2344,23 +2341,23 @@ var gobjJs = function(e) {
2344
2341
  }
2345
2342
  return t.is_file && (t.type = "file"), t;
2346
2343
  }
2347
- var pl = [
2344
+ var bl = [
2348
2345
  j(y.DTP_POINTER, "subscriber", 0, null, "Subscriber of output events"),
2349
2346
  j(y.DTP_BOOLEAN, "periodic", 0, 0, "True for periodic timeouts"),
2350
2347
  j(y.DTP_INTEGER, "msec", 0, 0, "Timeout in milliseconds"),
2351
2348
  v()
2352
- ], ml = {
2349
+ ], pl = {
2353
2350
  periodic: !1,
2354
2351
  msec: 0,
2355
2352
  timer_id: -1
2356
- }, hl = null;
2357
- function yl(e, t, n, r) {
2353
+ }, ml = null;
2354
+ function hl(e, t, n, r) {
2358
2355
  let l = e.priv, o = l.periodic ? "EV_TIMEOUT_PERIODIC" : "EV_TIMEOUT";
2359
2356
  return l.periodic && l.msec > 0 ? l.timer_id = setTimeout(function() {
2360
2357
  Vt(e, "EV_TIMEOUT", {}, e);
2361
2358
  }, 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;
2362
2359
  }
2363
- var El = {
2360
+ var yl = {
2364
2361
  mt_create: function(e) {
2365
2362
  let t = e.priv;
2366
2363
  const n = Ot(e, "subscriber");
@@ -2385,16 +2382,16 @@ var gobjJs = function(e) {
2385
2382
  },
2386
2383
  mt_destroy: function(e) {}
2387
2384
  };
2388
- function Tl(e, t) {
2385
+ function El(e, t) {
2389
2386
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !1), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2390
2387
  }
2391
- function vl(e, t) {
2388
+ function Tl(e, t) {
2392
2389
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : (Nt(e, "periodic", !0), void $t(e, "msec", t)) : (hn("not GObj TYPE"), -1);
2393
2390
  }
2394
- function jl(e) {
2391
+ function vl(e) {
2395
2392
  return e instanceof S ? "C_TIMER" !== Ze(e) ? (hn("not C_TIMER GObj"), -1) : void $t(e, "msec", -1) : (hn("not GObj TYPE"), -1);
2396
2393
  }
2397
- var Ol = [
2394
+ var jl = [
2398
2395
  j(y.DTP_BOOLEAN, "changesLost", 0, !1, "Set true to warn about leaving page"),
2399
2396
  j(y.DTP_BOOLEAN, "browser_beforeunload", 0, !1, "Set true to refreshing browser"),
2400
2397
  j(y.DTP_STRING, "__username__", 0, "", "Username"),
@@ -2414,26 +2411,26 @@ var gobjJs = function(e) {
2414
2411
  j(y.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2415
2412
  j(y.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
2416
2413
  v()
2417
- ], Sl = { gobj_timer: null }, wl = null;
2418
- function Nl(e, t, n, r) {
2414
+ ], Ol = { gobj_timer: null }, Sl = null;
2415
+ function wl(e, t, n, r) {
2419
2416
  let l = yt(e, t);
2420
2417
  return Zn(l) || (l = {}), l[n] = r, St(e, t, l), De(e, t);
2421
2418
  }
2422
- function $l(e) {
2419
+ function Nl(e) {
2423
2420
  if (!0 === e || !1 === e) return e;
2424
2421
  let t = String(null == e ? "" : e).toLowerCase();
2425
2422
  return "true" === t || "set" === t || "false" !== t && "reset" !== t && ("" === t || isNaN(Number(t)) ? null : !!Number(t));
2426
2423
  }
2427
- function Rl() {
2424
+ function $l() {
2428
2425
  return `${ze()}^${He()}`;
2429
2426
  }
2430
- function Dl(e, t, n, r) {
2427
+ function Rl(e, t, n, r) {
2431
2428
  return Xt(e, t, n), 0;
2432
2429
  }
2433
- var kl = {
2430
+ var Dl = {
2434
2431
  mt_create: function(e) {
2435
2432
  let t = e.priv;
2436
- Rt(e, "start_date", tl()), Rt(e, "node_uuid", rl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2433
+ Rt(e, "start_date", el()), Rt(e, "node_uuid", nl()), e.priv.gobj_timer = Ce(Xe(e), "C_TIMER", {}, e), t.periodic_timeout = yt(e, "periodic_timeout"), function(e) {
2437
2434
  let t = yt(e, "trace_levels");
2438
2435
  if (!Zn(t)) return 0;
2439
2436
  let n = t.__global_trace__;
@@ -2467,10 +2464,10 @@ var gobjJs = function(e) {
2467
2464
  },
2468
2465
  mt_writing: function(e, t) {},
2469
2466
  mt_start: function(e) {
2470
- return vl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2467
+ return Tl(e.priv.gobj_timer, e.priv.periodic_timeout), 0;
2471
2468
  },
2472
2469
  mt_stop: function(e) {
2473
- return jl(e.priv.gobj_timer), Me(e), 0;
2470
+ return vl(e.priv.gobj_timer), Me(e), 0;
2474
2471
  },
2475
2472
  mt_destroy: function(e) {},
2476
2473
  mt_play: function(e) {
@@ -2487,24 +2484,24 @@ var gobjJs = function(e) {
2487
2484
  case "get-global-no-trace": return l(0, 0, null, null, ne());
2488
2485
  case "set-global-trace":
2489
2486
  case "set-global-no-trace": {
2490
- let r = "set-global-no-trace" === t, o = n.level, s = $l(n.set);
2491
- 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 ? (Nl(e, "no_trace_levels", "__global_no_trace__", ne()), l(0, 0, null, null, ne())) : (Nl(e, "trace_levels", "__global_trace__", te()), l(0, 0, null, null, te())) : l(0, -1, `${Rl()}: what level?`, null, null);
2487
+ let r = "set-global-no-trace" === t, o = n.level, s = Nl(n.set);
2488
+ return o ? null === s ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? X(o, s) : Q(o, s)) < 0 ? l(0, -1, `${$l()}: 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, `${$l()}: what level?`, null, null);
2492
2489
  }
2493
2490
  case "get-gclass-trace":
2494
2491
  case "get-gclass-no-trace":
2495
2492
  case "set-gclass-trace":
2496
2493
  case "set-gclass-no-trace": {
2497
2494
  let r = t.indexOf("no-trace") >= 0, o = n.gclass_name || n.gclass || "", s = Oe(o);
2498
- if (!s) return l(0, -1, `${Rl()}: what gclass is '${o}'?`, null, null);
2495
+ if (!s) return l(0, -1, `${$l()}: what gclass is '${o}'?`, null, null);
2499
2496
  if (0 === t.indexOf("get-")) return l(0, 0, null, null, r ? oe(s) : re(s));
2500
- let i = n.level, _ = $l(n.set);
2501
- 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 ? (Nl(e, "no_trace_levels", o, oe(s)), l(0, 0, null, null, oe(s))) : (Nl(e, "trace_levels", o, le(s)), l(0, 0, null, null, re(s))) : l(0, -1, `${Rl()}: what level?`, null, null);
2497
+ let i = n.level, _ = Nl(n.set);
2498
+ return i ? null === _ ? l(0, -1, `${$l()}: bitmask set or re-set?`, null, null) : (r ? ie(s, i, _) : se(s, i, _)) < 0 ? l(0, -1, `${$l()}: 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, `${$l()}: what level?`, null, null);
2502
2499
  }
2503
- default: return l(0, -1, `${Rl()}: command not available: ${t}`, null, null);
2500
+ default: return l(0, -1, `${$l()}: command not available: ${t}`, null, null);
2504
2501
  }
2505
2502
  }
2506
2503
  };
2507
- var Al = "ievent_gate_stack", Il = [
2504
+ var kl = "ievent_gate_stack", Al = [
2508
2505
  j(y.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2509
2506
  j(y.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2510
2507
  j(y.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
@@ -2521,15 +2518,15 @@ var gobjJs = function(e) {
2521
2518
  j(y.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2522
2519
  j(y.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2523
2520
  v()
2524
- ], Cl = [
2521
+ ], Il = [
2525
2522
  ["ievents", "Trace inter-events with metadata of kw"],
2526
2523
  ["ievents2", "Trace inter-events with full kw"],
2527
2524
  ["identity-card", "Trace identity_card messages"]
2528
2525
  ];
2529
- function Ll(e) {
2526
+ function Cl(e) {
2530
2527
  return !!(3 & x(e));
2531
2528
  }
2532
- var Pl = {
2529
+ var Ll = {
2533
2530
  url: null,
2534
2531
  remote_yuno_name: null,
2535
2532
  remote_yuno_role: null,
@@ -2539,8 +2536,8 @@ var gobjJs = function(e) {
2539
2536
  websocket: null,
2540
2537
  inside_on_open: !1,
2541
2538
  retry_ms: 0
2542
- }, Ul = null;
2543
- function Fl(e) {
2539
+ }, Pl = null;
2540
+ function Ul(e) {
2544
2541
  e.priv.websocket && hn("Websocket ALREADY setup");
2545
2542
  const t = jt(e, "url");
2546
2543
  En(`====> Starting WebSocket to '${t}' (${et(e)})`);
@@ -2555,7 +2552,7 @@ var gobjJs = function(e) {
2555
2552
  code: 1006,
2556
2553
  reason: r.message,
2557
2554
  was_clean: !1
2558
- }, e) < 0 && Tl(e.priv.gobj_timer, Hl(e)), null;
2555
+ }, e) < 0 && El(e.priv.gobj_timer, ql(e)), null;
2559
2556
  }
2560
2557
  return r ? (r.onopen = () => {
2561
2558
  n !== e.priv.ws_seq || ot(e) || Vt(e, "EV_ON_OPEN", {
@@ -2577,7 +2574,7 @@ var gobjJs = function(e) {
2577
2574
  }, e));
2578
2575
  }, r) : (hn(`${et(e)}: Failed to initialize WebSocket.`), null);
2579
2576
  }
2580
- function Vl(e, t = 1e3, n = "") {
2577
+ function Fl(e, t = 1e3, n = "") {
2581
2578
  let r = e.priv, l = r.websocket;
2582
2579
  if (r.websocket = null, l && l.readyState !== WebSocket.CLOSED && l.readyState !== WebSocket.CLOSING) {
2583
2580
  En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
@@ -2588,25 +2585,25 @@ var gobjJs = function(e) {
2588
2585
  }
2589
2586
  } else yn("WebSocket is already closed or in the process of closing.");
2590
2587
  }
2591
- function Gl(e, t, n) {
2592
- let r = tl();
2588
+ function Vl(e, t, n) {
2589
+ let r = el();
2593
2590
  try {
2594
2591
  En("\n" + r + " " + t + "\n"), Un(n);
2595
2592
  } catch (e) {
2596
2593
  En("ERROR in trace_inter_event: " + e);
2597
2594
  }
2598
2595
  }
2599
- var Ml = class {
2596
+ var Gl = class {
2600
2597
  constructor(e, t) {
2601
2598
  this.event = e, this.kw = t || {};
2602
2599
  }
2603
2600
  };
2604
- function Wl(e, t, n, r) {
2601
+ function Ml(e, t, n, r) {
2605
2602
  return function(e, t) {
2606
2603
  let n = e.priv, r = JSON.stringify(t);
2607
- if (Ll(e)) {
2604
+ if (Cl(e)) {
2608
2605
  let n = jt(e, "url"), l = Xe(qe()) + " ==> " + n, o = yt(qe(), "trace_ievent_callback");
2609
- o ? o(l, t, 1, r.length) : Gl(0, l, t);
2606
+ o ? o(l, t, 1, r.length) : Vl(0, l, t);
2610
2607
  }
2611
2608
  if (!n.websocket || n.websocket.readyState !== WebSocket.OPEN) return yn(`${et(e)}: send_iev(): websocket not open, message lost`), -1;
2612
2609
  try {
@@ -2616,10 +2613,10 @@ var gobjJs = function(e) {
2616
2613
  }
2617
2614
  return 0;
2618
2615
  }(e, function(e, t) {
2619
- return ir(e) ? (hn("iev_create() event NULL"), null) : new Ml(e, t);
2616
+ return ir(e) ? (hn("iev_create() event NULL"), null) : new Gl(e, t);
2620
2617
  }(t, n));
2621
2618
  }
2622
- function xl(e, t, n) {
2619
+ function Wl(e, t, n) {
2623
2620
  return ir(n) && (n = jt(e, "wanted_yuno_service")), {
2624
2621
  dst_yuno: jt(e, "wanted_yuno_name"),
2625
2622
  dst_role: jt(e, "wanted_yuno_role"),
@@ -2627,10 +2624,10 @@ var gobjJs = function(e) {
2627
2624
  src_yuno: He(),
2628
2625
  src_role: ze(),
2629
2626
  src_service: t,
2630
- host: rl()
2627
+ host: nl()
2631
2628
  };
2632
2629
  }
2633
- function Kl(e) {
2630
+ function xl(e) {
2634
2631
  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");
2635
2632
  i && i.length || (i = yt(qe(), "required_services"));
2636
2633
  let _ = {
@@ -2648,27 +2645,27 @@ var gobjJs = function(e) {
2648
2645
  username: jt(qe(), "__username__"),
2649
2646
  launch_id: 0,
2650
2647
  yuno_startdate: jt(qe(), "start_date"),
2651
- id: rl(),
2648
+ id: nl(),
2652
2649
  user_agent: "undefined" != typeof window ? window.navigator.userAgent : "",
2653
2650
  language: "undefined" != typeof window ? window.navigator.language : "",
2654
2651
  required_services: i
2655
2652
  };
2656
- return Gr(e, _, Al, xl(e, Xe(nt(e)), null)), Wr(e, _, "__identity__"), Tl(t.gobj_timer, vt(e, "timeout_idack")), Wl(e, "EV_IDENTITY_CARD", _);
2653
+ 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", _);
2657
2654
  }
2658
- function Yl(e, t) {
2655
+ function Kl(e, t) {
2659
2656
  if (ir(t.event)) return -1;
2660
2657
  let n = {}, r = t.__global__, l = t.__config__, o = t.__filter__, s = t.__service__, i = t.subscriber;
2661
2658
  l && (n.__config__ = l), r && (n.__global__ = r), o && (n.__filter__ = o);
2662
- return Gr(e, n, Al, xl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Wl(e, t.event, n);
2659
+ return Gr(e, n, kl, Wl(e, Xe(i), s)), Wr(e, n, "__subscribing__"), Ml(e, t.event, n);
2663
2660
  }
2664
- function Bl(e, t, n, r) {
2661
+ function Yl(e, t, n, r) {
2665
2662
  let l = e.priv;
2666
- return Ke(e) && (l.websocket = Fl(e)), 0;
2663
+ return Ke(e) && (l.websocket = Ul(e)), 0;
2667
2664
  }
2668
- function Jl(e, t, n, r) {
2669
- return En("Websocket opened: " + e.priv.url), Kl(e), 0;
2665
+ function Bl(e, t, n, r) {
2666
+ return En("Websocket opened: " + e.priv.url), xl(e), 0;
2670
2667
  }
2671
- function ql(e, t, n, r) {
2668
+ function Jl(e, t, n, r) {
2672
2669
  let l = e.priv, o = n.url;
2673
2670
  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", {
2674
2671
  url: o,
@@ -2683,25 +2680,25 @@ var gobjJs = function(e) {
2683
2680
  code: n.code,
2684
2681
  reason: n.reason,
2685
2682
  was_clean: n.was_clean
2686
- })), Ke(e) && Tl(l.gobj_timer, Hl(e))), 0;
2683
+ })), Ke(e) && El(l.gobj_timer, ql(e))), 0;
2687
2684
  }
2688
- function Hl(e) {
2685
+ function ql(e) {
2689
2686
  let t = e.priv, n = vt(e, "timeout_retry"), r = vt(e, "timeout_retry_max");
2690
2687
  r < n && (r = n), t.retry_ms = t.retry_ms ? Math.min(2 * t.retry_ms, r) : n;
2691
2688
  let l = .2 * t.retry_ms, o = t.retry_ms - l + 2 * Math.random() * l;
2692
2689
  return Math.max(1, Math.round(o));
2693
2690
  }
2694
- function zl(e, t, n, r) {
2695
- return Kl(e), 0;
2691
+ function Hl(e, t, n, r) {
2692
+ return xl(e), 0;
2696
2693
  }
2697
- function Ql(e, t, n, r) {
2694
+ function zl(e, t, n, r) {
2698
2695
  let l = e.priv;
2699
- jl(l.gobj_timer);
2700
- let o = Mr(e, n, Al, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2696
+ vl(l.gobj_timer);
2697
+ let o = Mr(e, n, kl, !0), s = Tr(e, o, "src_yuno", ""), i = Tr(e, o, "src_role", ""), _ = Tr(e, o, "src_service", "");
2701
2698
  Rt(e, "remote_yuno_name", s), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2702
2699
  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", {});
2703
2700
  if (a < 0) {
2704
- Vl(e);
2701
+ Fl(e);
2705
2702
  let t = {
2706
2703
  url: jt(e, "url"),
2707
2704
  result: a,
@@ -2726,12 +2723,12 @@ var gobjJs = function(e) {
2726
2723
  }
2727
2724
  l.inside_on_open = !1, function(e) {
2728
2725
  let t = zt(e, null, null, null);
2729
- for (let n = 0; n < t.length; n++) Yl(e, t[n]);
2726
+ for (let n = 0; n < t.length; n++) Kl(e, t[n]);
2730
2727
  }(e);
2731
2728
  }
2732
2729
  return 0;
2733
2730
  }
2734
- function Xl(e, t, n, r) {
2731
+ function Ql(e, t, n, r) {
2735
2732
  let l = e.priv.url, o = function(e, t) {
2736
2733
  let n;
2737
2734
  try {
@@ -2750,19 +2747,19 @@ var gobjJs = function(e) {
2750
2747
  } : (yn(`${et(e)}: parsing inter_event: kw not a json object`), null) : (yn(`${et(e)}: parsing inter_kw: no kw`), null);
2751
2748
  }(e, n.data);
2752
2749
  if (!o) return yn(`${et(e)}: frame dropped from ${l}: ${String(n.data).substring(0, 256)}`), -1;
2753
- if (Ll(e)) {
2750
+ if (Cl(e)) {
2754
2751
  let e = Xe(qe()) + " <== " + l, t = n.data.length, r = yt(qe(), "trace_ievent_callback");
2755
- r ? r(e, o, 2, t) : Gl(0, e, o);
2752
+ r ? r(e, o, 2, t) : Vl(0, e, o);
2756
2753
  }
2757
2754
  let s = o.event, i = o.kw;
2758
2755
  if ("ST_SESSION" !== kt(e)) {
2759
2756
  if (It(e, s, R.EVF_PUBLIC_EVENT)) {
2760
2757
  if (!(Vt(e, s, i, e) < 0)) return 0;
2761
2758
  } else hn(`${et(e)}: event UNKNOWN in not-session state ${s}`);
2762
- return Vl(e), -1;
2759
+ return Fl(e), -1;
2763
2760
  }
2764
2761
  o = null;
2765
- let _ = xr(e, i), a = Mr(e, i, Al), u = Tr(e, a, "dst_role", "");
2762
+ let _ = xr(e, i), a = Mr(e, i, kl), u = Tr(e, a, "dst_role", "");
2766
2763
  if (u.toLowerCase() !== ze().toLowerCase()) return hn(`"It's not my role, dst_role: ${u}, my_role: ${ze()}`), 0;
2767
2764
  let c = Tr(e, a, "dst_service", "");
2768
2765
  if ("__subscribing__" === _) return yn(`${et(e)}: subscription event ignored, I'm client (service: ${c}, event: ${s})`), -1;
@@ -2774,13 +2771,13 @@ var gobjJs = function(e) {
2774
2771
  }
2775
2772
  return lt(e) ? Vt(nt(e), s, i, e) : Xt(e, s, i), 0;
2776
2773
  }
2777
- function Zl(e, t, n, r) {
2774
+ function Xl(e, t, n, r) {
2778
2775
  return 0;
2779
2776
  }
2780
- function eo(e, t, n, r) {
2777
+ function Zl(e, t, n, r) {
2781
2778
  return 0;
2782
2779
  }
2783
- var to = {
2780
+ var eo = {
2784
2781
  mt_create: function(e) {
2785
2782
  let t = e.priv;
2786
2783
  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"), Rt(e, "wanted_yuno_name", t.remote_yuno_name), Rt(e, "wanted_yuno_role", t.remote_yuno_role), Rt(e, "wanted_yuno_service", t.remote_yuno_service);
@@ -2810,43 +2807,43 @@ var gobjJs = function(e) {
2810
2807
  code: 1e3,
2811
2808
  reason: "restarted",
2812
2809
  was_clean: !0
2813
- }, e), jl(t.gobj_timer)), t.websocket = Fl(e), 0;
2810
+ }, e), vl(t.gobj_timer)), t.websocket = Ul(e), 0;
2814
2811
  },
2815
2812
  mt_stop: function(e) {
2816
2813
  let t = e.priv;
2817
- return jl(t.gobj_timer), t.websocket && Vl(e), 0;
2814
+ return vl(t.gobj_timer), t.websocket && Fl(e), 0;
2818
2815
  },
2819
2816
  mt_destroy: function(e) {},
2820
2817
  mt_stats: function(e, t, n, r) {
2821
2818
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2822
2819
  n || (n = {});
2823
- let l = xl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2820
+ let l = Wl(e, Xe(r), Tr(e, n, "service", null, 0)), o = Or(e, n, "__md_stats__", null, Zt.KW_EXTRACT);
2824
2821
  return o || (o = {}), Gr(e, n, "stats_stack", {
2825
2822
  stats: t,
2826
2823
  kw: o
2827
- }), Gr(e, n, Al, l), n.__stats__ = t, Wr(e, n, "__stats__"), Wl(e, "EV_MT_STATS", n, r), null;
2824
+ }), Gr(e, n, kl, l), n.__stats__ = t, Wr(e, n, "__stats__"), Ml(e, "EV_MT_STATS", n, r), null;
2828
2825
  },
2829
2826
  mt_command_parser: function(e, t, n, r) {
2830
2827
  if ("ST_SESSION" !== kt(e)) return hn("Not in session"), null;
2831
2828
  n || (n = {});
2832
- let l = xl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2829
+ let l = Wl(e, Xe(r), Tr(e, n, "service", "", 0)), o = Or(e, n, "__md_command__", null, Zt.KW_EXTRACT);
2833
2830
  return o || (o = {}), Gr(e, n, "command_stack", {
2834
2831
  command: t,
2835
2832
  kw: o
2836
- }), Gr(e, n, Al, l), n.__command__ = t, Wr(e, n, "__command__"), Wl(e, "EV_MT_COMMAND", n, r), null;
2833
+ }), Gr(e, n, kl, l), n.__command__ = t, Wr(e, n, "__command__"), Ml(e, "EV_MT_COMMAND", n, r), null;
2837
2834
  },
2838
2835
  mt_inject_event: function(e, t, n, r) {
2839
2836
  if ("ST_SESSION" !== kt(e)) return window.console.error("Not in session"), -1;
2840
- if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, Al));
2837
+ if (n = Gn({}, Zn(n) ? n : {}), Zn(n.__md_iev__) && (n.__md_iev__ = Fn(n.__md_iev__)), Mr(e, n, kl));
2841
2838
  else {
2842
- let l = xl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2843
- Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, Al, l);
2839
+ let l = Wl(e, Xe(r), Tr(e, n, "__service__", 0, 0));
2840
+ Kn(n, "__service__"), Gr(e, n, "__message__", t), Gr(e, n, kl, l);
2844
2841
  }
2845
- return Wr(e, n, "__message__"), Wl(e, t, n, r);
2842
+ return Wr(e, n, "__message__"), Ml(e, t, n, r);
2846
2843
  },
2847
2844
  mt_subscription_added: function(e, t) {
2848
2845
  let n = e.priv;
2849
- return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Yl(e, t) : 0;
2846
+ return "ST_SESSION" === kt(e) && n.websocket ? n.inside_on_open ? 0 : Kl(e, t) : 0;
2850
2847
  },
2851
2848
  mt_subscription_deleted: function(e, t) {
2852
2849
  let n = e.priv;
@@ -2855,7 +2852,7 @@ var gobjJs = function(e) {
2855
2852
  if (ir(t.event)) return 0;
2856
2853
  let r = {}, l = t.__global__, o = t.__config__, s = t.__filter__, i = t.__service__, _ = t.subscriber;
2857
2854
  o && (r.__config__ = o), l && (r.__global__ = l), s && (r.__filter__ = s);
2858
- return Gr(e, r, Al, xl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Wl(e, t.event, r, e);
2855
+ return Gr(e, r, kl, Wl(e, Xe(_), i)), Wr(e, r, "__unsubscribing__"), Ml(e, t.event, r, e);
2859
2856
  }
2860
2857
  };
2861
2858
  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__", {
@@ -2869,7 +2866,7 @@ var gobjJs = function(e) {
2869
2866
  return t;
2870
2867
  }, e.build_stats_response = o, e.clean_name = function(e) {
2871
2868
  return e.replace(/[?# ^:]/g, "_");
2872
- }, e.clear_timeout = jl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2869
+ }, e.clear_timeout = vl, e.cmp_two_simple_json = cr, e.command_parser = function(e, t, n, r) {}, e.createElement2 = function e(t, n) {
2873
2870
  let [r, l, o, s] = t;
2874
2871
  if (!r) return void hn("Tag must be a valid HTML element.");
2875
2872
  let i = document.createElement(r), _ = "";
@@ -2878,21 +2875,21 @@ var gobjJs = function(e) {
2878
2875
  for (const n of Object.keys(l[e])) t += `${n}: ${l[e][n]};`;
2879
2876
  i.style.cssText = t;
2880
2877
  } 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]);
2881
- if (zr(o)) i.appendChild(Qr(o));
2882
- else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Xr) i.appendChild(el(o));
2878
+ if (Hr(o)) i.appendChild(zr(o));
2879
+ else if (tr(o)) if (o = o.trim(), o.length > 0 && "<" === o[0] && !Qr) i.appendChild(Zr(o));
2883
2880
  else if (o.length > 0 && "<" === o[0] && function(e) {
2884
- if (Zr.size >= 100) return;
2881
+ if (Xr.size >= 100) return;
2885
2882
  const t = e.slice(0, 80);
2886
- Zr.has(t) || (Zr.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)}`));
2883
+ 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)}`));
2887
2884
  }(o), n && _) i.textContent = n(_) || o;
2888
2885
  else i.textContent = o;
2889
2886
  else if (er(o)) {
2890
2887
  if (o.length > 0) if (tr(o[0])) i.appendChild(e(o, n));
2891
- else for (let t of o) Array.isArray(t) ? t.length > 0 && i.appendChild(e(t, n)) : t instanceof Node ? i.appendChild(t) : zr(t) ? i.appendChild(Qr(t)) : tr(t) ? i.appendChild(document.createTextNode(t)) : null != t && !1 !== t && hn("createElement2: child ignored, type " + typeof t);
2888
+ 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);
2892
2889
  } else o instanceof HTMLElement || o instanceof Text || o instanceof SVGElement ? i.appendChild(o) : null != o && (hn("content ignored"), vn(o));
2893
2890
  if (s && "object" == typeof s) for (const e of Object.keys(s)) i.addEventListener(e, s[e]);
2894
2891
  return i;
2895
- }, e.createOneHtml = el, e.create_json_record = function(e, t) {
2892
+ }, e.createOneHtml = Zr, e.create_json_record = function(e, t) {
2896
2893
  let n = Fn(e);
2897
2894
  return Mn(n, t), n;
2898
2895
  }, e.create_template_record = function(e, t) {
@@ -2903,21 +2900,21 @@ var gobjJs = function(e) {
2903
2900
  let o = Or(null, t, e, l);
2904
2901
  Yn(n, e, o);
2905
2902
  }), n;
2906
- }, e.current_timestamp = tl, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2907
- let n = kr(ul(e), null, !1), r = {};
2903
+ }, e.current_timestamp = el, e.data_type_t = y, e.db_list_persistent_attrs = function(e, t) {
2904
+ let n = kr(al(e), null, !1), r = {};
2908
2905
  return n && Zn(n) && (r = Rr(e, n, t, !1)), r;
2909
2906
  }, e.db_load_persistent_attrs = function(e, t) {
2910
- let n = Et(e, E.SDF_PERSIST), r = kr(ul(e), null, !1);
2907
+ let n = Et(e, E.SDF_PERSIST), r = kr(al(e), null, !1);
2911
2908
  if (r && Zn(r)) {
2912
2909
  let l = Rr(e, r, t, !1);
2913
2910
  l = Rr(e, l, n, !1), wt(e, l, E.SDF_PERSIST);
2914
2911
  }
2915
2912
  }, e.db_remove_persistent_attrs = function(e, t) {
2916
- let n = Dr(e, kr(ul(e), null, !1), t, !1);
2917
- 0 === zn(n) ? Ir(ul(e)) : Ar(ul(e), n);
2913
+ let n = Dr(e, kr(al(e), null, !1), t, !1);
2914
+ 0 === zn(n) ? Ir(al(e)) : Ar(al(e), n);
2918
2915
  }, e.db_save_persistent_attrs = function(e, t) {
2919
- let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(ul(e), null, !1);
2920
- return r && Zn(r) && Wn(n, r), Ar(ul(e), n);
2916
+ let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = kr(al(e), null, !1);
2917
+ return r && Zn(r) && Wn(n, r), Ar(al(e), n);
2921
2918
  }, e.debounce = function(e, t = 0, n = !1) {
2922
2919
  let r = null, l = null, o = null;
2923
2920
  const s = (...s) => {
@@ -2941,20 +2938,20 @@ var gobjJs = function(e) {
2941
2938
  return t;
2942
2939
  }, e.empty_json = function(e) {
2943
2940
  return 0 === Xn(e);
2944
- }, e.empty_string = ir, e.escapeHtml = qr, e.event_flag_t = R, e.flat2json = function(e) {
2941
+ }, e.empty_string = ir, e.escapeHtml = Jr, e.event_flag_t = R, e.flat2json = function(e) {
2945
2942
  if (null === e || "object" != typeof e || Array.isArray(e)) throw new Error("flat2json: a flat json is an object of id -> value");
2946
2943
  let t = null;
2947
2944
  for (const n of Object.keys(e)) {
2948
- const r = _l(n);
2945
+ const r = il(n);
2949
2946
  if (!r || 0 === r.length) throw new Error(`flat2json: malformed flat id: '${n}'`);
2950
- if (r.length > ol) throw new Error(`flat2json: '${n}' deeper than 256`);
2947
+ if (r.length > ll) throw new Error(`flat2json: '${n}' deeper than 256`);
2951
2948
  const l = "number" == typeof r[0];
2952
2949
  if (null === t) t = l ? [] : {};
2953
2950
  else if (l !== Array.isArray(t)) throw new Error(`flat2json: '${n}' does not fit a ${Array.isArray(t) ? "array" : "object"} root`);
2954
2951
  let o = t;
2955
2952
  for (let t = 0; t < r.length; t++) {
2956
2953
  const l = r[t], s = "number" == typeof l, i = t === r.length - 1, _ = !i && "number" == typeof r[t + 1];
2957
- if (s && l > sl) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2954
+ if (s && l > ol) throw new Error(`flat2json: array index ${l} over the limit (100000) in '${n}'`);
2958
2955
  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"}`);
2959
2956
  if (i) {
2960
2957
  if (Array.isArray(o)) {
@@ -2994,15 +2991,15 @@ var gobjJs = function(e) {
2994
2991
  removed: {},
2995
2992
  changed: {}
2996
2993
  };
2997
- for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? al(n[e], r[e]) || br(l.changed, e, {
2994
+ for (const e of Object.keys(n)) Object.prototype.hasOwnProperty.call(r, e) ? _l(n[e], r[e]) || br(l.changed, e, {
2998
2995
  from: n[e],
2999
2996
  to: r[e]
3000
2997
  }) : br(l.removed, e, n[e]);
3001
2998
  for (const e of Object.keys(r)) Object.prototype.hasOwnProperty.call(n, e) || br(l.added, e, r[e]);
3002
2999
  return l;
3003
3000
  }, e.flat_key_join = function(e) {
3004
- return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : il(e)).join("`") : "";
3005
- }, e.flat_key_split = _l, 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) {
3001
+ return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : sl(e)).join("`") : "";
3002
+ }, 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) {
3006
3003
  if (!e) return {
3007
3004
  top: 0,
3008
3005
  left: 0,
@@ -3021,7 +3018,7 @@ var gobjJs = function(e) {
3021
3018
  right: n + i + r,
3022
3019
  bottom: t + s + l
3023
3020
  };
3024
- }, e.get_function_name = ll, e.get_now = function() {
3021
+ }, e.get_function_name = rl, e.get_now = function() {
3025
3022
  return Math.floor(Date.now() / 1e3);
3026
3023
  }, e.gobj_bottom_gobj = st, e.gobj_change_parent = function(e, t) {
3027
3024
  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 && (Re(e.parent, e), e.parent = null), $e(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);
@@ -3169,10 +3166,10 @@ var gobjJs = function(e) {
3169
3166
  }
3170
3167
  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;
3171
3168
  }, 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 = $t, e.gobj_write_str_attr = Rt, e.gobj_yuno = qe, e.gobj_yuno_id = Qe, e.gobj_yuno_name = He, e.gobj_yuno_role = ze, e.html_markup = function(e) {
3172
- return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new Hr("")) : new Hr(e);
3173
- }, e.id_index_in_obj_list = Pr, e.index_in_list = nl, e.is_array = er, e.is_boolean = rr, e.is_date = function(e) {
3169
+ return "string" != typeof e ? (hn("html_markup: not a string, type " + typeof e), new qr("")) : new qr(e);
3170
+ }, 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) {
3174
3171
  return e instanceof Date && !isNaN(e);
3175
- }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = zr, e.is_metadata_key = function(e) {
3172
+ }, e.is_function = or, e.is_gobj = sr, e.is_html_markup = Hr, e.is_metadata_key = function(e) {
3176
3173
  if (!tr(e)) return !1;
3177
3174
  let t = 0;
3178
3175
  for (; t < e.length && "_" === e[t] && !(t > 2); t++);
@@ -3190,17 +3187,17 @@ var gobjJs = function(e) {
3190
3187
  }, e.is_secret_name = wn, e.is_string = tr, e.jdb_delete = function(e, t, n, r) {
3191
3188
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3192
3189
  if (!l) return hn("jdb_delete: topic not found: " + t), null;
3193
- if (!Zn(r) || ir(r.id)) return hn(`jdb_delete: record without id: ${Yr(r)}`), null;
3190
+ if (!Zn(r) || ir(r.id)) return hn(`jdb_delete: record without id: ${pn(r)}`), null;
3194
3191
  if (!tr(n)) return hn(`jdb_delete: path must be a string: ${String(n)}`), null;
3195
3192
  if ("" !== n && n.split("`").includes("")) return hn(`jdb_delete: empty segment in path: '${n}'`), null;
3196
3193
  let o, s = n.split("`"), i = l;
3197
- for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Br(i, null, o, !1);
3194
+ for (; (o = s.shift()) && !ir(o) && i;) Zn(i) && (i = Or(null, i, e.hook, null, 0)), i = Yr(i, null, o, !1);
3198
3195
  if (!i || 0 !== s.length) return hn(`jdb_delete: path not found in topic '${t}': '${n}'`), null;
3199
3196
  let _ = er(i) ? i : Or(null, i, e.hook, null, 0), a = Pr(_, r.id);
3200
3197
  return a < 0 ? (hn(`jdb_delete: record not found in topic '${t}': '${n}' '${r.id}'`), null) : (_.splice(a, 1), l);
3201
3198
  }, e.jdb_get = function(e, t, n, r) {
3202
3199
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3203
- return l ? (void 0 === r && (r = !0), Br(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3200
+ return l ? (void 0 === r && (r = !0), Yr(l, e.hook, n, r)) : (hn("jdb_get: topic not found: " + t), null);
3204
3201
  }, e.jdb_get_by_idx = function(e, t, n) {
3205
3202
  let r = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3206
3203
  return r ? n < r.length ? r[n] : {} : (hn("jdb_get_by_idx: topic not found: " + t), null);
@@ -3219,11 +3216,11 @@ var gobjJs = function(e) {
3219
3216
  }, e.jdb_update = function(e, t, n, r) {
3220
3217
  let l = Or(null, Or(null, e, "topics", null, 0), t, null, 0);
3221
3218
  if (!l) return hn("jdb_update: topic not found: " + t), null;
3222
- if (!Zn(r) || ir(r.id)) return hn(`jdb_update: record without id: ${Yr(r)}`), null;
3219
+ if (!Zn(r) || ir(r.id)) return hn(`jdb_update: record without id: ${pn(r)}`), null;
3223
3220
  if (!tr(n)) return hn(`jdb_update: path must be a string: ${String(n)}`), null;
3224
3221
  if ("" !== n && n.split("`").includes("")) return hn(`jdb_update: empty segment in path: '${n}'`), null;
3225
3222
  let o, s, i = n.split("`"), _ = l;
3226
- for (; (o = i.shift()) && !ir(o) && _;) Zn(_) && (_ = Or(null, _, e.hook, null, 0)), _ = Br(_, null, o, !1);
3223
+ for (; (o = i.shift()) && !ir(o) && _;) Zn(_) && (_ = Or(null, _, e.hook, null, 0)), _ = Yr(_, null, o, !1);
3227
3224
  if (!_ || 0 !== i.length) return hn(`jdb_update: path not found in topic '${t}': '${n}'`), null;
3228
3225
  if (er(_)) s = _;
3229
3226
  else {
@@ -3231,11 +3228,11 @@ var gobjJs = function(e) {
3231
3228
  if (s = Or(null, _, e.hook, null, 0), null == s) s = [], Yn(_, e.hook, s);
3232
3229
  else if (!er(s)) return hn(`jdb_update: the hook '${e.hook}' of '${n}' is not a list in topic '${t}'`), null;
3233
3230
  }
3234
- let a = Br(s, e.hook, r.id, !1);
3231
+ let a = Yr(s, e.hook, r.id, !1);
3235
3232
  return a ? Gn(a, r) : s.push(r), l;
3236
3233
  }, e.json2flat = function(e) {
3237
3234
  const t = {}, n = (e, r, l) => {
3238
- if (l > ol) throw new Error("json2flat: deeper than 256");
3235
+ if (l > ll) throw new Error("json2flat: deeper than 256");
3239
3236
  if (null === e || "object" != typeof e || Array.isArray(e)) {
3240
3237
  if (Array.isArray(e) && e.length > 0) return void e.forEach((e, t) => {
3241
3238
  const o = `[${t}]`;
@@ -3245,7 +3242,7 @@ var gobjJs = function(e) {
3245
3242
  const t = Object.keys(e);
3246
3243
  if (t.length > 0) {
3247
3244
  for (const o of t) {
3248
- const t = il(o);
3245
+ const t = sl(o);
3249
3246
  n(e[o], 0 === l ? t : r + "`" + t, l + 1);
3250
3247
  }
3251
3248
  return;
@@ -3258,7 +3255,7 @@ var gobjJs = function(e) {
3258
3255
  return t ? (Array.prototype.push.apply(e, t), e) : e;
3259
3256
  }, 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) {
3260
3257
  try {
3261
- let n = Jr(e);
3258
+ let n = Br(e);
3262
3259
  switch (t) {
3263
3260
  case "header": return JSON.parse(n.header);
3264
3261
  case "signature": return JSON.parse(n.signature);
@@ -3267,7 +3264,7 @@ var gobjJs = function(e) {
3267
3264
  } catch (e) {
3268
3265
  return null;
3269
3266
  }
3270
- }, e.jwtDecode = Jr, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3267
+ }, e.jwtDecode = Br, e.kw_clone_by_keys = Rr, e.kw_clone_by_not_keys = Dr, e.kw_collect = function(e, t, n, r) {
3271
3268
  if (e && !sr(e) && hn("GObj bad instanceof"), !t) return null;
3272
3269
  r || (r = $r);
3273
3270
  let l = [];
@@ -3411,9 +3408,9 @@ var gobjJs = function(e) {
3411
3408
  var e;
3412
3409
  }, r.send();
3413
3410
  }, e.log_debug = En, e.log_error = hn, e.log_info = function(e, ...t) {
3414
- let n = mn(e, ...t), r = tl();
3411
+ let n = mn(e, ...t), r = el();
3415
3412
  rn && cn("info", n) && rn("%c" + r + " INFO: " + String(n), "color:cyan"), gn("info", n, r);
3416
- }, 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 = rl, e.parseBoolean = _r, e.parseSVG = function(e) {
3413
+ }, 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) {
3417
3414
  return new DOMParser().parseFromString(e, "image/svg+xml").firstChild;
3418
3415
  }, e.refresh_language = function(e, t) {
3419
3416
  if (!or(t)) return void hn("You must supply a translation function");
@@ -3440,22 +3437,22 @@ var gobjJs = function(e) {
3440
3437
  });
3441
3438
  }, e.register_c_ievent_cli = function() {
3442
3439
  return function(e) {
3443
- if (Ul) return hn(`GClass ALREADY created: ${e}`), -1;
3440
+ if (Pl) return hn(`GClass ALREADY created: ${e}`), -1;
3444
3441
  const t = [
3445
3442
  ["ST_DISCONNECTED", [
3446
3443
  [
3447
3444
  "EV_ON_OPEN",
3448
- Jl,
3445
+ Bl,
3449
3446
  "ST_WAIT_IDENTITY_CARD_ACK"
3450
3447
  ],
3451
3448
  [
3452
3449
  "EV_ON_CLOSE",
3453
- ql,
3450
+ Jl,
3454
3451
  null
3455
3452
  ],
3456
3453
  [
3457
3454
  "EV_TIMEOUT",
3458
- Bl,
3455
+ Yl,
3459
3456
  null
3460
3457
  ],
3461
3458
  [
@@ -3467,22 +3464,22 @@ var gobjJs = function(e) {
3467
3464
  ["ST_WAIT_IDENTITY_CARD_ACK", [
3468
3465
  [
3469
3466
  "EV_ON_MESSAGE",
3470
- Xl,
3467
+ Ql,
3471
3468
  null
3472
3469
  ],
3473
3470
  [
3474
3471
  "EV_IDENTITY_CARD_ACK",
3475
- Ql,
3472
+ zl,
3476
3473
  null
3477
3474
  ],
3478
3475
  [
3479
3476
  "EV_ON_CLOSE",
3480
- ql,
3477
+ Jl,
3481
3478
  "ST_DISCONNECTED"
3482
3479
  ],
3483
3480
  [
3484
3481
  "EV_TIMEOUT",
3485
- zl,
3482
+ Hl,
3486
3483
  null
3487
3484
  ],
3488
3485
  [
@@ -3494,22 +3491,22 @@ var gobjJs = function(e) {
3494
3491
  ["ST_SESSION", [
3495
3492
  [
3496
3493
  "EV_ON_MESSAGE",
3497
- Xl,
3494
+ Ql,
3498
3495
  null
3499
3496
  ],
3500
3497
  [
3501
3498
  "EV_MT_STATS",
3502
- Zl,
3499
+ Xl,
3503
3500
  null
3504
3501
  ],
3505
3502
  [
3506
3503
  "EV_MT_COMMAND",
3507
- eo,
3504
+ Zl,
3508
3505
  null
3509
3506
  ],
3510
3507
  [
3511
3508
  "EV_ON_CLOSE",
3512
- ql,
3509
+ Jl,
3513
3510
  "ST_DISCONNECTED"
3514
3511
  ],
3515
3512
  [
@@ -3520,7 +3517,7 @@ var gobjJs = function(e) {
3520
3517
  ]],
3521
3518
  [null, null]
3522
3519
  ];
3523
- return (Ul = de(e, [
3520
+ return (Pl = de(e, [
3524
3521
  ["EV_ON_MESSAGE", R.EVF_OUTPUT_EVENT],
3525
3522
  ["EV_IDENTITY_CARD_ACK", R.EVF_PUBLIC_EVENT],
3526
3523
  ["EV_ON_ID_NAK", R.EVF_PUBLIC_EVENT | R.EVF_OUTPUT_EVENT],
@@ -3531,36 +3528,36 @@ var gobjJs = function(e) {
3531
3528
  ["EV_ON_OPEN_ERROR", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS],
3532
3529
  ["EV_TIMEOUT", 0],
3533
3530
  [null, 0]
3534
- ], t, to, 0, Il, Pl, 0, 0, Cl, w.gcflag_no_check_output_events)) ? 0 : -1;
3531
+ ], t, eo, 0, Al, Ll, 0, 0, Il, w.gcflag_no_check_output_events)) ? 0 : -1;
3535
3532
  }("C_IEVENT_CLI");
3536
3533
  }, e.register_c_timer = function() {
3537
3534
  return function(e) {
3538
- if (hl) return hn(`GClass ALREADY created: ${e}`), -1;
3535
+ if (ml) return hn(`GClass ALREADY created: ${e}`), -1;
3539
3536
  const t = [["ST_IDLE", [[
3540
3537
  "EV_TIMEOUT",
3541
- yl,
3538
+ hl,
3542
3539
  null
3543
3540
  ]]]];
3544
- return (hl = de(e, [
3541
+ return (ml = de(e, [
3545
3542
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3546
3543
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3547
3544
  [0, 0]
3548
- ], t, El, 0, pl, ml, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3545
+ ], t, yl, 0, bl, pl, 0, 0, 0, w.gcflag_manual_start)) ? 0 : -1;
3549
3546
  }("C_TIMER");
3550
3547
  }, e.register_c_yuno = function() {
3551
3548
  return function(e) {
3552
- if (wl) return hn(`GClass ALREADY created: ${e}`), -1;
3549
+ if (Sl) return hn(`GClass ALREADY created: ${e}`), -1;
3553
3550
  const t = [["ST_IDLE", [[
3554
3551
  "EV_TIMEOUT_PERIODIC",
3555
- Dl,
3552
+ Rl,
3556
3553
  null
3557
3554
  ]]]];
3558
- return (wl = de(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, kl, 0, Ol, Sl, 0, 0, 0, 0)) ? 0 : -1;
3555
+ return (Sl = de(e, [["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]], t, Dl, 0, jl, Ol, 0, 0, 0, 0)) ? 0 : -1;
3559
3556
  }("C_YUNO");
3560
3557
  }, e.safeSrc = function(e) {
3561
3558
  if (!e) return "";
3562
3559
  const t = String(e).trim();
3563
- return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : qr(t);
3560
+ return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Jr(t);
3564
3561
  }, e.sdata_flag_t = E, e.send_http_json_post = function(e, t, n) {
3565
3562
  let r = new XMLHttpRequest();
3566
3563
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
@@ -3584,9 +3581,9 @@ var gobjJs = function(e) {
3584
3581
  }
3585
3582
  } else on = e;
3586
3583
  }, e.set_remote_log_functions = bn, e.set_strings_are_text = function(e) {
3587
- Xr = !!e;
3588
- }, e.set_timeout = Tl, e.set_timeout_periodic = vl, 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() {
3589
- return Xr;
3584
+ Qr = !!e;
3585
+ }, 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() {
3586
+ return Qr;
3590
3587
  }, e.strncmp = function(e, t, n) {
3591
3588
  var r = (e + "").substring(0, n), l = (t + "").substring(0, n);
3592
3589
  return r === l ? 0 : r > l ? 1 : -1;
@@ -3616,9 +3613,9 @@ var gobjJs = function(e) {
3616
3613
  let e = t.split(".");
3617
3614
  for (let t = 0; t < e.length; t++) {
3618
3615
  let r = e[t];
3619
- if (Ur(fl, r)) n.real_type || (n.real_type = r);
3620
- else if (Ur(dl, r)) n.type || (n.type = r);
3621
- else if (Ur(gl, r)) switch (r) {
3616
+ if (Ur(cl, r)) n.real_type || (n.real_type = r);
3617
+ else if (Ur(gl, r)) n.type || (n.type = r);
3618
+ else if (Ur(fl, r)) switch (r) {
3622
3619
  case "writable":
3623
3620
  n.is_writable = !0;
3624
3621
  break;
@@ -3630,7 +3627,7 @@ var gobjJs = function(e) {
3630
3627
  }
3631
3628
  }
3632
3629
  n.real_type || (n.real_type = "string");
3633
- } else Zn(t) ? (n = bl(t), n.name || (n.name = e), n.header || (n.header = e)) : er(t) && (n.real_type = "array", n.enum_list = t);
3630
+ } 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);
3634
3631
  return n.type || (n.type = n.real_type), n;
3635
3632
  }, e.timeTracker = function(e = "Time Tracker", t = !1) {
3636
3633
  const n = e, r = performance.now();
@@ -3642,7 +3639,7 @@ var gobjJs = function(e) {
3642
3639
  total: _
3643
3640
  };
3644
3641
  } };
3645
- }, e.trace_json = vn, e.trace_json_masked = Un, e.trace_level_t = P, e.trace_msg = Tn, e.treedb_decoder_fkey = cl, e.treedb_decoder_hook = function(e, t) {
3642
+ }, 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) {
3646
3643
  if (tr(t)) {
3647
3644
  if (-1 === t.indexOf("^")) {
3648
3645
  let n, r = e.hook;
@@ -3669,9 +3666,9 @@ var gobjJs = function(e) {
3669
3666
  id: t.id
3670
3667
  } : (hn("bad hook 3"), hn(e), hn(t), null);
3671
3668
  }, e.treedb_encoder_fkey = function(e, t) {
3672
- let n = cl(e, t);
3669
+ let n = ul(e, t);
3673
3670
  return n ? n.topic_name + "^" + n.id + "^" + n.hook_name : null;
3674
- }, e.treedb_get_field_desc = bl, e.treedb_hook_data_size = function(e) {
3671
+ }, e.treedb_get_field_desc = dl, e.treedb_hook_data_size = function(e) {
3675
3672
  if (er(e) && 1 === Xn(e)) {
3676
3673
  let t = e[0];
3677
3674
  return gr(t, "size") ? t.size : 1;