@yuneta/gobj-js 7.26.7 → 7.26.9

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.
@@ -140,7 +140,7 @@ var s = "7.0.0a", l = null, i = null, _ = null, a = null, u = null, c = null, f
140
140
  DTP_POINTER: 8
141
141
  });
142
142
  h.DTP_POINTER;
143
- var y = Object.freeze({
143
+ var E = Object.freeze({
144
144
  SDF_NOTACCESS: 1,
145
145
  SDF_RD: 2,
146
146
  SDF_WR: 4,
@@ -163,12 +163,12 @@ var y = Object.freeze({
163
163
  SDF_AUTHZ_S: 524288,
164
164
  SDF_AUTHZ_RS: 1048576
165
165
  });
166
- y.SDF_RD, y.SDF_WR, y.SDF_STATS, y.SDF_PERSIST, y.SDF_VOLATIL, y.SDF_RSTATS, y.SDF_PSTATS, y.SDF_WR, y.SDF_PERSIST;
167
- var E = class {
166
+ E.SDF_RD, E.SDF_WR, E.SDF_STATS, E.SDF_PERSIST, E.SDF_VOLATIL, E.SDF_RSTATS, E.SDF_PSTATS, E.SDF_WR, E.SDF_PERSIST;
167
+ var y = class {
168
168
  constructor(e, t, n = 0, r = null, o = "", s = null, l = null, i = 0, _ = null, a = null, u = null) {
169
169
  this.type = e, this.name = t, this.alias = s, this.flag = n, this.default_value = r, this.header = l, this.fillspace = i, this.description = o, this.json_fn = _, this.schema = a, this.authpth = u;
170
170
  }
171
- }, T = () => new E(0, null), v = (e, t, n, r, o) => new E(e, t, n, r, o), j = class {
171
+ }, T = () => new y(0, null), v = (e, t, n, r, o) => new y(e, t, n, r, o), j = class {
172
172
  constructor(e, t, n, r, o, s, l, i, _) {
173
173
  this.gclass_name = e, this.dl_states = [], this.dl_events = [], this.gmt = t, this.lmt = n, this.attrs_table = r, this.priv = o, this.authz_table = s, this.command_table = l, this.s_user_trace_level = i, this.gclass_flag = Number(_) || 0, this.instances = 0, this.trace_level = 0, this.no_trace_level = 0, this.jn_trace_filter = null, this.fsm_checked = !1;
174
174
  }
@@ -220,7 +220,7 @@ var E = class {
220
220
  };
221
221
  var A = 1;
222
222
  function I(e) {
223
- Xn(e) && (e = JSON.stringify(e)), yn(" ".repeat(Math.max(1, 2 * m)) + String(e));
223
+ Xn(e) && (e = JSON.stringify(e)), En(" ".repeat(Math.max(1, 2 * m)) + String(e));
224
224
  }
225
225
  var C = Object.freeze({
226
226
  TRACE_MACHINE: 65536,
@@ -557,7 +557,7 @@ function ge(e, t, n, r, o, s, l, i, _, a, u) {
557
557
  let n = t[e][0], r = t[e][1];
558
558
  if (!lr(n)) {
559
559
  if (Te(c, n)) return mn(`SMachine: event repeated in input_events: ${n}`), pe(c), null;
560
- Ee(c, n, r);
560
+ ye(c, n, r);
561
561
  }
562
562
  }
563
563
  if (!c.fsm_checked) {
@@ -601,11 +601,11 @@ function he(e, t, n, r, o) {
601
601
  let s = de(e, t);
602
602
  return s ? be(s, n) ? (mn(`event already exists: gclass ${e.gclass_name}, state ${t}, event ${n}`), -1) : (s.dl_actions.push(new $(n, r, o)), 0) : (mn(`state not found: ${t}`), -1);
603
603
  }
604
- function ye(e, t, n) {
604
+ function Ee(e, t, n) {
605
605
  lr(t) || e.push(new k(t, n));
606
606
  }
607
- function Ee(e, t, n) {
608
- return e instanceof j ? ye(e.dl_events, t, n) : (mn("Cannot add state, typeof not GClass"), -1);
607
+ function ye(e, t, n) {
608
+ return e instanceof j ? Ee(e.dl_events, t, n) : (mn("Cannot add state, typeof not GClass"), -1);
609
609
  }
610
610
  function Te(e, t) {
611
611
  if (!(e instanceof j)) return mn("Cannot add state, typeof not GClass"), 0;
@@ -679,7 +679,7 @@ function De(e, t, n) {
679
679
  let s = 0;
680
680
  for (const [l, i] of Object.entries(t)) {
681
681
  const t = fe(o.gclass, l, !1);
682
- t ? (-1 === n || t.flag & n) && (t.flag & y.SDF_DEPRECATED && hn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
682
+ t ? (-1 === n || t.flag & n) && (t.flag & E.SDF_DEPRECATED && hn(`${Ze(o)}: Deprecated attribute used in gobj creation: ${l}`), s += ae(o, e, t, i)) : r && (r(o, l), s--);
683
683
  }
684
684
  return s;
685
685
  })(ue(e), r, -1, e.gclass.gclass_flag & S.gcflag_ignore_unknown_attrs ? 0 : $e, e) < 0 && (mn(`${Ze(e)} json2data() FAILED`), Ln(r));
@@ -944,7 +944,7 @@ function ht(e, t, n) {
944
944
  }
945
945
  return mn(`${Ze(e)}: GClass Attribute NOT FOUND, attr ${t}`), null;
946
946
  }
947
- function yt(e, t, n) {
947
+ function Et(e, t, n) {
948
948
  let r = {}, o = e.gclass.attrs_table;
949
949
  for (let n = 0; n < o.length; n++) {
950
950
  const s = o[n];
@@ -955,7 +955,7 @@ function yt(e, t, n) {
955
955
  }
956
956
  return r;
957
957
  }
958
- function Et(e, t) {
958
+ function yt(e, t) {
959
959
  if (t) {
960
960
  if (0 === ar(t, "__disabled__")) return Ke(e);
961
961
  if (0 === ar(t, "__running__")) return We(e);
@@ -1159,7 +1159,7 @@ function Mt(e, t) {
1159
1159
  }
1160
1160
  function Wt(e, t, n, r, o, s) {
1161
1161
  let l = vr(t, o, "__config__", null), i = vr(t, o, "__global__", null), _ = vr(t, o, "__local__", null), a = jr(t, o, "__filter__", null), u = !0;
1162
- if (t && t !== Tr(null, e, "publisher", null) && (u = !1), s && s !== Tr(null, e, "subscriber", null) && (u = !1), n && n !== Er(null, e, "event", "") && (u = !1), r && r !== Er(null, e, "renamed_event", "") && (u = !1), Qn(l) > 0) {
1162
+ if (t && t !== Tr(null, e, "publisher", null) && (u = !1), s && s !== Tr(null, e, "subscriber", null) && (u = !1), n && n !== yr(null, e, "event", "") && (u = !1), r && r !== yr(null, e, "renamed_event", "") && (u = !1), Qn(l) > 0) {
1163
1163
  let t = vr(null, e, "__config__", null);
1164
1164
  Qn(t) > 0 && Un(t, l) || (u = !1);
1165
1165
  }
@@ -1189,8 +1189,8 @@ function Yt(e, t) {
1189
1189
  return e.indexOf(t);
1190
1190
  }
1191
1191
  function Bt(e, n, r, o) {
1192
- let s = Tr(e, n, "publisher", null, Xt.KW_REQUIRED), l = Tr(e, n, "subscriber", null, Xt.KW_REQUIRED), i = Er(e, n, "event", "", Xt.KW_REQUIRED);
1193
- if (!!(yr(e, n, "subs_flag", null, Xt.KW_REQUIRED) & Ft.__hard_subscription__) && !r) return -1;
1192
+ let s = Tr(e, n, "publisher", null, Xt.KW_REQUIRED), l = Tr(e, n, "subscriber", null, Xt.KW_REQUIRED), i = yr(e, n, "event", "", Xt.KW_REQUIRED);
1193
+ if (!!(Er(e, n, "subs_flag", null, Xt.KW_REQUIRED) & Ft.__hard_subscription__) && !r) return -1;
1194
1194
  let _ = Y(l) || Y(s);
1195
1195
  if (Yt(s.dl_subscriptions, n) < 0) return _ && I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s', ALREADY REMOVED", i || "", Ze(s), Ze(l))), 1;
1196
1196
  _ && (I(t("💜💜👎 unsubscribing event '%s': publisher %s, subscriber'%s'", i || "", Ze(s), Ze(l))), Tn(n)), s.obflag & N.obflag_destroyed || o || s.gclass.gmt.mt_subscription_deleted && s.gclass.gmt.mt_subscription_deleted(s, n);
@@ -1212,7 +1212,7 @@ function Jt(e, n, r, o) {
1212
1212
  }), lr(n)) n = "";
1213
1213
  else if (!(At(e, n, R.EVF_OUTPUT_EVENT) || e.gclass.gclass_flag & S.gcflag_no_check_output_events)) return mn(`event NOT in output event list: ${Ze(e)}, ${n}`), 0;
1214
1214
  let l = Mt(r, n), i = Kt(e.dl_subscriptions, e, n, l.renamed_event, l.kw, o), _ = null;
1215
- for (let t = 0; t < i.length; t++) if (yr(e, i[t], "subs_flag", 0, Xt.KW_REQUIRED) & Ft.__hard_subscription__) {
1215
+ for (let t = 0; t < i.length; t++) if (Er(e, i[t], "subs_flag", 0, Xt.KW_REQUIRED) & Ft.__hard_subscription__) {
1216
1216
  _ = i[t];
1217
1217
  break;
1218
1218
  }
@@ -1223,11 +1223,11 @@ function Jt(e, n, r, o) {
1223
1223
  Yn(o, "event", t), Yn(o, "subscriber", r), Yn(o, "publisher", e);
1224
1224
  let s = 0;
1225
1225
  if (n) {
1226
- let r = vr(e, n, "__config__", null), l = vr(e, n, "__global__", null), i = vr(e, n, "__local__", null), _ = jr(e, n, "__filter__", null), a = Er(e, n, "__service__", "");
1226
+ let r = vr(e, n, "__config__", null), l = vr(e, n, "__global__", null), i = vr(e, n, "__local__", null), _ = jr(e, n, "__filter__", null), a = yr(e, n, "__service__", "");
1227
1227
  if (Qn(l) > 0 && Yn(o, "__global__", Pn(l)), Qn(r) > 0) {
1228
1228
  let n = Pn(r);
1229
1229
  Yn(o, "__config__", n);
1230
- let l = Er(e, n, "__rename_event_name__", "");
1230
+ let l = yr(e, n, "__rename_event_name__", "");
1231
1231
  if (!lr(l)) {
1232
1232
  let r = Vt(l);
1233
1233
  if (r) {
@@ -1287,7 +1287,7 @@ function Qt(e, n, r) {
1287
1287
  }
1288
1288
  let u = Tr(e, a, "subscriber", null, Xt.KW_REQUIRED);
1289
1289
  if (!u || ot(u)) continue;
1290
- let c = yr(e, a, "subs_flag", 0, Xt.KW_REQUIRED), f = Er(e, a, "event", "", Xt.KW_REQUIRED);
1290
+ let c = Er(e, a, "subs_flag", 0, Xt.KW_REQUIRED), f = yr(e, a, "event", "", Xt.KW_REQUIRED);
1291
1291
  if (lr(f) || 0 === ar(f, n)) {
1292
1292
  vr(e, a, "__config__", null, 0);
1293
1293
  let o = vr(e, a, "__global__", null, 0), l = vr(e, a, "__local__", null, 0), f = jr(e, a, "__filter__", null, 0), g = a.renamed_event;
@@ -1408,11 +1408,11 @@ function hn(e, ...t) {
1408
1408
  let n = bn(e, ...t), r = Zr();
1409
1409
  tn && (tn === Zt.warn ? un("warning", n) && tn("%c" + r + " WARNING: " + String(n), "color:yellow") : (un("warning", n) && Zt.warn("%c" + r + " WARNING: " + String(n), "color:yellow"), tn(`${r} WARNING: ${String(n)}`))), fn("warning", n, r);
1410
1410
  }
1411
- function yn(e, ...t) {
1411
+ function En(e, ...t) {
1412
1412
  let n = bn(e, ...t), r = Zr();
1413
1413
  rn && un("debug", n) && rn("%c" + r + " DEBUG: " + String(n), "color:silver"), fn("debug", n, r);
1414
1414
  }
1415
- function En(e, ...t) {
1415
+ function yn(e, ...t) {
1416
1416
  let n = bn(e, ...t), r = Zr();
1417
1417
  rn && un("msg", n) && rn("%c" + r + " MSG: " + String(n), "color:cyan"), fn("msg", n, r);
1418
1418
  }
@@ -1784,7 +1784,7 @@ function hr(e, t, n, r, o) {
1784
1784
  }
1785
1785
  return _ && mr(e, t, n), u;
1786
1786
  }
1787
- function yr(e, t, n, r, o) {
1787
+ function Er(e, t, n, r, o) {
1788
1788
  e && !sr(e) && mn("GObj bad instanceof");
1789
1789
  let s = br(e, t, n, !1);
1790
1790
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT, a = o && o & Xt.KW_WILD_NUMBER;
@@ -1813,7 +1813,7 @@ function yr(e, t, n, r, o) {
1813
1813
  }
1814
1814
  return _ && mr(e, t, n), u;
1815
1815
  }
1816
- function Er(e, t, n, r, o) {
1816
+ function yr(e, t, n, r, o) {
1817
1817
  e && !sr(e) && mn("GObj bad instanceof");
1818
1818
  let s = br(e, t, n, !1);
1819
1819
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT;
@@ -1881,8 +1881,24 @@ function Or(e, t, n, r) {
1881
1881
  }
1882
1882
  function Sr(e, t, n, r, o) {
1883
1883
  if (e && !sr(e) && mn("GObj bad instanceof"), !Xn(t)) return mn("kw is not an object"), -1;
1884
- let s = vr(e, t, n, {}, Xt.KW_CREATE);
1885
- return Xn(s) ? (pr(s, r, o), 0) : (mn("subdict is not an object"), -1);
1884
+ let s = br(e, t, n, !1);
1885
+ if (void 0 === s) {
1886
+ if (!er(n) || function(e, t) {
1887
+ let n = t.split("`"), r = e;
1888
+ for (let e = 0; e < n.length - 1; e++) {
1889
+ if (Zn(r)) {
1890
+ const t = dr(r, n[e]);
1891
+ if (t < 0) return !1;
1892
+ r = r[t];
1893
+ } else r = Object.prototype.hasOwnProperty.call(r, n[e]) ? r[n[e]] : void 0;
1894
+ if (null == r) return !1;
1895
+ if (!Xn(r) && !Zn(r)) return !0;
1896
+ }
1897
+ return !1;
1898
+ }(t, n)) return -1;
1899
+ if (s = {}, Or(e, t, n, s) < 0) return -1;
1900
+ }
1901
+ return Xn(s) ? (pr(s, r, o), 0) : (mn(`subdict is not an object: '${n}'`), -1);
1886
1902
  }
1887
1903
  function wr(e, n, r) {
1888
1904
  let o = "", s = !1;
@@ -1991,7 +2007,7 @@ function Ir(e, t, n, r, o) {
1991
2007
  let s = [];
1992
2008
  if (Zn(t)) for (let l = 0; l < t.length; l++) {
1993
2009
  let i, _ = t[l];
1994
- if (Xn(_)) i = Er(e, _, "id", "", 0);
2010
+ if (Xn(_)) i = yr(e, _, "id", "", 0);
1995
2011
  else {
1996
2012
  if (!er(_)) continue;
1997
2013
  i = _;
@@ -2057,7 +2073,7 @@ function Gr(e, t, n) {
2057
2073
  return lr(n) ? mr(e, t, "__md_iev__`__msg_type__") : Sr(e, t, "__md_iev__", "__msg_type__", n), 0;
2058
2074
  }
2059
2075
  function Mr(e, t) {
2060
- return Er(e, t, "__md_iev__`__msg_type__", "", 0);
2076
+ return yr(e, t, "__md_iev__`__msg_type__", "", 0);
2061
2077
  }
2062
2078
  function Wr(e, t, n) {
2063
2079
  void 0 !== n && er(n) || (n = "");
@@ -2334,17 +2350,17 @@ function ho(e, t, n, r) {
2334
2350
  Ut(e, "EV_TIMEOUT", {}, e);
2335
2351
  }, o.msec) : o.timer_id = -1, rt(e) ? Ut(tt(e), s, {}, e) : Qt(e, s, {}), o.periodic || -1 !== o.timer_id || We(e) && Ue(e), 0;
2336
2352
  }
2337
- var yo = {
2353
+ var Eo = {
2338
2354
  mt_create: function(e) {
2339
2355
  let t = e.priv;
2340
2356
  const n = jt(e, "subscriber");
2341
- n && Jt(e, null, {}, n), t.periodic = Et(e, "periodic"), t.msec = Tt(e, "msec");
2357
+ n && Jt(e, null, {}, n), t.periodic = yt(e, "periodic"), t.msec = Tt(e, "msec");
2342
2358
  },
2343
2359
  mt_writing: function(e, t) {
2344
2360
  let n = e.priv;
2345
2361
  switch (t) {
2346
2362
  case "periodic":
2347
- n.periodic = Et(e, "periodic");
2363
+ n.periodic = yt(e, "periodic");
2348
2364
  break;
2349
2365
  case "msec": n.msec = Tt(e, "msec"), -1 !== n.timer_id && (clearTimeout(n.timer_id), n.timer_id = -1), n.msec > 0 && (n.timer_id = setTimeout(function() {
2350
2366
  Ut(e, "EV_TIMEOUT", {}, e);
@@ -2359,7 +2375,7 @@ var yo = {
2359
2375
  },
2360
2376
  mt_destroy: function(e) {}
2361
2377
  };
2362
- function Eo(e, t) {
2378
+ function yo(e, t) {
2363
2379
  return e instanceof O ? "C_TIMER" !== Xe(e) ? (mn("not C_TIMER GObj"), -1) : (wt(e, "periodic", !1), void Nt(e, "msec", t)) : (mn("not GObj TYPE"), -1);
2364
2380
  }
2365
2381
  function To(e, t) {
@@ -2382,8 +2398,8 @@ var jo = [
2382
2398
  v(h.DTP_STRING, "yuno_version", 0, "", "Yuno version (APP_VERSION)"),
2383
2399
  v(h.DTP_STRING, "yuneta_version", 0, s, "Yuneta version"),
2384
2400
  v(h.DTP_LIST, "required_services", 0, "[]", "Required services"),
2385
- v(h.DTP_DICT, "trace_levels", y.SDF_PERSIST, "{}", "Trace levels"),
2386
- v(h.DTP_DICT, "no_trace_levels", y.SDF_PERSIST, "{}", "No trace levels"),
2401
+ v(h.DTP_DICT, "trace_levels", E.SDF_PERSIST, "{}", "Trace levels"),
2402
+ v(h.DTP_DICT, "no_trace_levels", E.SDF_PERSIST, "{}", "No trace levels"),
2387
2403
  v(h.DTP_POINTER, "trace_ievent_callback", 0, null, "Where the traffic trace goes (C_IEVENT_CLI levels ievents/ievents2); console when null"),
2388
2404
  v(h.DTP_BOOLEAN, "developer", 0, !1, "Developer mode enabled"),
2389
2405
  v(h.DTP_INTEGER, "periodic_timeout", 0, "1000", "Timeout periodic, in miliseconds."),
@@ -2479,20 +2495,20 @@ var $o = {
2479
2495
  }
2480
2496
  };
2481
2497
  var Do = "ievent_gate_stack", ko = [
2482
- v(h.DTP_STRING, "wanted_yuno_role", y.SDF_RD, "", "wanted yuno role"),
2483
- v(h.DTP_STRING, "wanted_yuno_name", y.SDF_RD, "", "wanted yuno name"),
2484
- v(h.DTP_STRING, "wanted_yuno_service", y.SDF_RD, "", "wanted yuno service"),
2485
- v(h.DTP_STRING, "remote_yuno_role", y.SDF_RD, "", "confirmed remote yuno role"),
2486
- v(h.DTP_STRING, "remote_yuno_name", y.SDF_RD, "", "confirmed remote yuno name"),
2487
- v(h.DTP_STRING, "remote_yuno_service", y.SDF_RD, "", "confirmed remote yuno service"),
2488
- v(h.DTP_STRING, "url", y.SDF_RD, "", "Url to connect"),
2489
- v(h.DTP_STRING, "jwt", y.SDF_PERSIST, "", "JWT"),
2490
- v(h.DTP_STRING, "cert_pem", y.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2491
- v(h.DTP_JSON, "extra_info", y.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2492
- v(h.DTP_LIST, "required_services", y.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2493
- v(h.DTP_INTEGER, "timeout_retry", y.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2494
- v(h.DTP_INTEGER, "timeout_retry_max", y.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2495
- v(h.DTP_INTEGER, "timeout_idack", y.SDF_RD, "5000", "timeout waiting idAck"),
2498
+ v(h.DTP_STRING, "wanted_yuno_role", E.SDF_RD, "", "wanted yuno role"),
2499
+ v(h.DTP_STRING, "wanted_yuno_name", E.SDF_RD, "", "wanted yuno name"),
2500
+ v(h.DTP_STRING, "wanted_yuno_service", E.SDF_RD, "", "wanted yuno service"),
2501
+ v(h.DTP_STRING, "remote_yuno_role", E.SDF_RD, "", "confirmed remote yuno role"),
2502
+ v(h.DTP_STRING, "remote_yuno_name", E.SDF_RD, "", "confirmed remote yuno name"),
2503
+ v(h.DTP_STRING, "remote_yuno_service", E.SDF_RD, "", "confirmed remote yuno service"),
2504
+ v(h.DTP_STRING, "url", E.SDF_RD, "", "Url to connect"),
2505
+ v(h.DTP_STRING, "jwt", E.SDF_PERSIST, "", "JWT"),
2506
+ v(h.DTP_STRING, "cert_pem", E.SDF_PERSIST, "", "SSL server certification, PEM str format"),
2507
+ v(h.DTP_JSON, "extra_info", E.SDF_RD, "{}", "dict data set by user, added to the identity card msg."),
2508
+ v(h.DTP_LIST, "required_services", E.SDF_RD, "[]", "Services this LINK requires (identity card). Empty = the yuno's `required_services`, as before. A yuno with several links to DIFFERENT backends must set it per link: the yuno-wide list is the union, so every backend is told the service names of all the others."),
2509
+ v(h.DTP_INTEGER, "timeout_retry", E.SDF_RD, "5000", "First reconnect delay (ms). It BACKS OFF from here, doubling up to timeout_retry_max, and resets when a session is reached"),
2510
+ v(h.DTP_INTEGER, "timeout_retry_max", E.SDF_RD, "60000", "Cap of the reconnect backoff (ms). Set it equal to timeout_retry for the old fixed-interval behaviour"),
2511
+ v(h.DTP_INTEGER, "timeout_idack", E.SDF_RD, "5000", "timeout waiting idAck"),
2496
2512
  v(h.DTP_POINTER, "subscriber", 0, 0, "subscriber of output-events. If null then subscriber is the parent"),
2497
2513
  T()
2498
2514
  ], Ao = [
@@ -2517,7 +2533,7 @@ var Co = {
2517
2533
  function Po(e) {
2518
2534
  e.priv.websocket && mn("Websocket ALREADY setup");
2519
2535
  const t = vt(e, "url");
2520
- yn(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2536
+ En(`====> Starting WebSocket to '${t}' (${Ze(e)})`);
2521
2537
  const n = ++e.priv.ws_seq;
2522
2538
  let r;
2523
2539
  try {
@@ -2529,7 +2545,7 @@ function Po(e) {
2529
2545
  code: 1006,
2530
2546
  reason: r.message,
2531
2547
  was_clean: !1
2532
- }, e) < 0 && Eo(e.priv.gobj_timer, qo(e)), null;
2548
+ }, e) < 0 && yo(e.priv.gobj_timer, qo(e)), null;
2533
2549
  }
2534
2550
  return r ? (r.onopen = () => {
2535
2551
  n !== e.priv.ws_seq || ot(e) || Ut(e, "EV_ON_OPEN", {
@@ -2542,7 +2558,7 @@ function Po(e) {
2542
2558
  data: r.data
2543
2559
  }, e);
2544
2560
  }, r.onclose = (r) => {
2545
- ot(e) || n === e.priv.ws_seq && (Et(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2561
+ ot(e) || n === e.priv.ws_seq && (yt(Je(), "browser_beforeunload") ? hn("Close websocket by unload page") : Ut(e, "EV_ON_CLOSE", {
2546
2562
  url: t,
2547
2563
  ws_seq: n,
2548
2564
  code: r.code,
@@ -2554,7 +2570,7 @@ function Po(e) {
2554
2570
  function Uo(e, t = 1e3, n = "") {
2555
2571
  let r = e.priv, o = r.websocket;
2556
2572
  if (r.websocket = null, o && o.readyState !== WebSocket.CLOSED && o.readyState !== WebSocket.CLOSING) {
2557
- yn(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2573
+ En(`Closing WebSocket (Code: ${t}, Reason: "${n}")`);
2558
2574
  try {
2559
2575
  o.close(t, n);
2560
2576
  } catch (t) {
@@ -2565,9 +2581,9 @@ function Uo(e, t = 1e3, n = "") {
2565
2581
  function Fo(e, t, n) {
2566
2582
  let r = Zr();
2567
2583
  try {
2568
- yn("\n" + r + " " + t + "\n"), Ln(n);
2584
+ En("\n" + r + " " + t + "\n"), Ln(n);
2569
2585
  } catch (e) {
2570
- yn("ERROR in trace_inter_event: " + e);
2586
+ En("ERROR in trace_inter_event: " + e);
2571
2587
  }
2572
2588
  }
2573
2589
  var Vo = class {
@@ -2627,7 +2643,7 @@ function Wo(e) {
2627
2643
  language: "undefined" != typeof window ? window.navigator.language : "",
2628
2644
  required_services: i
2629
2645
  };
2630
- return Fr(e, _, Do, Mo(e, Qe(tt(e)), null)), Gr(e, _, "__identity__"), Eo(t.gobj_timer, Tt(e, "timeout_idack")), Go(e, "EV_IDENTITY_CARD", _);
2646
+ return Fr(e, _, Do, Mo(e, Qe(tt(e)), null)), Gr(e, _, "__identity__"), yo(t.gobj_timer, Tt(e, "timeout_idack")), Go(e, "EV_IDENTITY_CARD", _);
2631
2647
  }
2632
2648
  function Ko(e, t) {
2633
2649
  if (lr(t.event)) return -1;
@@ -2640,7 +2656,7 @@ function Yo(e, t, n, r) {
2640
2656
  return We(e) && (o.websocket = Po(e)), 0;
2641
2657
  }
2642
2658
  function Bo(e, t, n, r) {
2643
- return yn("Websocket opened: " + e.priv.url), Wo(e), 0;
2659
+ return En("Websocket opened: " + e.priv.url), Wo(e), 0;
2644
2660
  }
2645
2661
  function Jo(e, t, n, r) {
2646
2662
  let o = e.priv, s = n.url;
@@ -2657,7 +2673,7 @@ function Jo(e, t, n, r) {
2657
2673
  code: n.code,
2658
2674
  reason: n.reason,
2659
2675
  was_clean: n.was_clean
2660
- })), We(e) && Eo(o.gobj_timer, qo(e))), 0;
2676
+ })), We(e) && yo(o.gobj_timer, qo(e))), 0;
2661
2677
  }
2662
2678
  function qo(e) {
2663
2679
  let t = e.priv, n = Tt(e, "timeout_retry"), r = Tt(e, "timeout_retry_max");
@@ -2671,9 +2687,9 @@ function Ho(e, t, n, r) {
2671
2687
  function zo(e, t, n, r) {
2672
2688
  let o = e.priv;
2673
2689
  vo(o.gobj_timer);
2674
- let s = Vr(e, n, Do, !0), l = Er(e, s, "src_yuno", ""), i = Er(e, s, "src_role", ""), _ = Er(e, s, "src_service", "");
2690
+ let s = Vr(e, n, Do, !0), l = yr(e, s, "src_yuno", ""), i = yr(e, s, "src_role", ""), _ = yr(e, s, "src_service", "");
2675
2691
  Rt(e, "remote_yuno_name", l), Rt(e, "remote_yuno_role", i), Rt(e, "remote_yuno_service", _);
2676
- 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", {});
2692
+ let a = Er(e, n, "result", -1, 0), u = yr(e, n, "comment", "", 0), c = yr(e, n, "username", "", 0), f = jr(e, n, "services_roles", {});
2677
2693
  if (a < 0) {
2678
2694
  Uo(e);
2679
2695
  let t = {
@@ -2736,9 +2752,9 @@ function Qo(e, t, n, r) {
2736
2752
  return Uo(e), -1;
2737
2753
  }
2738
2754
  s = null;
2739
- let _ = Mr(e, i), a = Vr(e, i, Do), u = Er(e, a, "dst_role", "");
2755
+ let _ = Mr(e, i), a = Vr(e, i, Do), u = yr(e, a, "dst_role", "");
2740
2756
  if (u.toLowerCase() !== He().toLowerCase()) return mn(`"It's not my role, dst_role: ${u}, my_role: ${He()}`), 0;
2741
- let c = Er(e, a, "dst_service", "");
2757
+ let c = yr(e, a, "dst_service", "");
2742
2758
  if ("__subscribing__" === _) return hn(`${Ze(e)}: subscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2743
2759
  if ("__unsubscribing__" === _) return hn(`${Ze(e)}: unsubscription event ignored, I'm client (service: ${c}, event: ${l})`), -1;
2744
2760
  if (kt(e, l, R.EVF_PUBLIC_EVENT)) return Ut(e, l, i, e), 0;
@@ -2794,7 +2810,7 @@ var es = {
2794
2810
  mt_stats: function(e, t, n, r) {
2795
2811
  if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2796
2812
  n || (n = {});
2797
- let o = Mo(e, Qe(r), Er(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2813
+ let o = Mo(e, Qe(r), yr(e, n, "service", null, 0)), s = jr(e, n, "__md_stats__", null, Xt.KW_EXTRACT);
2798
2814
  return s || (s = {}), Fr(e, n, "stats_stack", {
2799
2815
  stats: t,
2800
2816
  kw: s
@@ -2803,7 +2819,7 @@ var es = {
2803
2819
  mt_command_parser: function(e, t, n, r) {
2804
2820
  if ("ST_SESSION" !== $t(e)) return mn("Not in session"), null;
2805
2821
  n || (n = {});
2806
- let o = Mo(e, Qe(r), Er(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2822
+ let o = Mo(e, Qe(r), yr(e, n, "service", "", 0)), s = jr(e, n, "__md_command__", null, Xt.KW_EXTRACT);
2807
2823
  return s || (s = {}), Fr(e, n, "command_stack", {
2808
2824
  command: t,
2809
2825
  kw: s
@@ -2813,7 +2829,7 @@ var es = {
2813
2829
  if ("ST_SESSION" !== $t(e)) return window.console.error("Not in session"), -1;
2814
2830
  if (n = Fn({}, Xn(n) ? n : {}), Xn(n.__md_iev__) && (n.__md_iev__ = Pn(n.__md_iev__)), Vr(e, n, Do));
2815
2831
  else {
2816
- let o = Mo(e, Qe(r), Er(e, n, "__service__", 0, 0));
2832
+ let o = Mo(e, Qe(r), yr(e, n, "__service__", 0, 0));
2817
2833
  Wn(n, "__service__"), Fr(e, n, "__message__", t), Fr(e, n, Do, o);
2818
2834
  }
2819
2835
  return Gr(e, n, "__message__"), Go(e, t, n, r);
@@ -2832,7 +2848,7 @@ var es = {
2832
2848
  return Fr(e, r, Do, Mo(e, Qe(_), i)), Gr(e, r, "__unsubscribing__"), Go(e, t.event, r, e);
2833
2849
  }
2834
2850
  };
2835
- exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new E(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new E(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new E(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new E(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new E(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new E(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = E, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2851
+ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) => new y(e, t, n, null, s, r, null, 0, null, o, null), exports.SDATACM = (e, t, n, r, o, s) => new y(e, t, 0, null, s, n, null, 0, o, r, null), exports.SDATACM2 = (e, t, n, r, o, s, l) => new y(e, t, n, null, l, r, null, 0, s, o, null), exports.SDATADF = (e, t, n, r, o, s) => new y(e, t, n, null, s, null, r, o), exports.SDATAPM = (e, t, n, r, o) => new y(e, t, n, r, o), exports.SDATAPM0 = (e, t, n, r, o) => new y(e, t, n, null, o, null, null, 0, null, null, r), exports.SDATA_END = T, exports.SDataDesc = y, exports.YUNETA_VERSION = s, Object.defineProperty(exports, "__yuno__", {
2836
2852
  enumerable: !0,
2837
2853
  get: function() {
2838
2854
  return d;
@@ -2881,16 +2897,16 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2881
2897
  let n = $r(_o(e), null, !1), r = {};
2882
2898
  return n && Xn(n) && (r = Rr(e, n, t, !1)), r;
2883
2899
  }, exports.db_load_persistent_attrs = function(e, t) {
2884
- let n = yt(e, y.SDF_PERSIST), r = $r(_o(e), null, !1);
2900
+ let n = Et(e, E.SDF_PERSIST), r = $r(_o(e), null, !1);
2885
2901
  if (r && Xn(r)) {
2886
2902
  let o = Rr(e, r, t, !1);
2887
- o = Rr(e, o, n, !1), St(e, o, y.SDF_PERSIST);
2903
+ o = Rr(e, o, n, !1), St(e, o, E.SDF_PERSIST);
2888
2904
  }
2889
2905
  }, exports.db_remove_persistent_attrs = function(e, t) {
2890
2906
  let n = xr(e, $r(_o(e), null, !1), t, !1);
2891
2907
  0 === Hn(n) ? kr(_o(e)) : Dr(_o(e), n);
2892
2908
  }, exports.db_save_persistent_attrs = function(e, t) {
2893
- let n = Rr(e, yt(e, y.SDF_PERSIST), t, !1), r = $r(_o(e), null, !1);
2909
+ let n = Rr(e, Et(e, E.SDF_PERSIST), t, !1), r = $r(_o(e), null, !1);
2894
2910
  return r && Xn(r) && Gn(n, r), Dr(_o(e), n);
2895
2911
  }, exports.debounce = function(e, t = 0, n = !1) {
2896
2912
  let r = null, o = null, s = null;
@@ -2976,7 +2992,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2976
2992
  return o;
2977
2993
  }, exports.flat_key_join = function(e) {
2978
2994
  return Array.isArray(e) && 0 !== e.length ? e.map((e) => "number" == typeof e ? `[${e}]` : so(e)).join("`") : "";
2979
- }, exports.flat_key_split = lo, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = Ee, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
2995
+ }, exports.flat_key_split = lo, exports.gclass_add_ev_action = he, exports.gclass_add_event_type = ye, exports.gclass_add_state = me, exports.gclass_check_fsm = ve, exports.gclass_create = ge, exports.gclass_event_type = Te, exports.gclass_find_by_name = je, exports.gclass_flag_t = S, exports.gclass_unregister = pe, exports.getPositionRelativeToBody = function(e) {
2980
2996
  if (!e) return {
2981
2997
  top: 0,
2982
2998
  left: 0,
@@ -2998,7 +3014,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
2998
3014
  }, exports.get_function_name = no, exports.get_now = function() {
2999
3015
  return Math.floor(Date.now() / 1e3);
3000
3016
  }, exports.gobj_bottom_gobj = st, exports.gobj_change_parent = function(e, n) {
3001
- return ot(e) ? (mn("gobj NULL or DESTROYED"), null) : n instanceof O ? (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), Ne(n, e), n.gclass.gmt.mt_child_added && (K(e) && yn(t("👦👦🔵 child_added(%s): %s", et(n), Ze(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (mn(`${Ze(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
3017
+ return ot(e) ? (mn("gobj NULL or DESTROYED"), null) : n instanceof O ? (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), Ne(n, e), n.gclass.gmt.mt_child_added && (K(e) && En(t("👦👦🔵 child_added(%s): %s", et(n), Ze(e))), n.gclass.gmt.mt_child_added(n, e)), 0) : (mn(`${Ze(e)}: gobj_change_parent() BAD TYPE of parent`), -1);
3002
3018
  }, exports.gobj_change_state = xt, exports.gobj_command = function(e, n, o, s) {
3003
3019
  if (ot(e)) return mn("gobj NULL or DESTROYED"), -1;
3004
3020
  if (function(e) {
@@ -3032,12 +3048,12 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3032
3048
  let t = Ht(e, null, null, null);
3033
3049
  for (let n = 0; n < t.length; n++) {
3034
3050
  let r = t[n], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3035
- Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3051
+ Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3036
3052
  }
3037
3053
  let n = zt(e, 0, null, 0);
3038
3054
  for (let t = 0; t < n.length; t++) {
3039
3055
  let r = n[t], o = Tr(e, r, "publisher", null, Xt.KW_REQUIRED), s = Tr(e, r, "subscriber", null, Xt.KW_REQUIRED);
3040
- Yn(r, "s_event", Er(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3056
+ Yn(r, "s_event", yr(e, r, "event", "", Xt.KW_REQUIRED)), Yn(r, "s_publisher", Ze(o)), Yn(r, "s_subscriber", Ze(s));
3041
3057
  }
3042
3058
  return {
3043
3059
  subscriptions: t,
@@ -3069,7 +3085,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3069
3085
  }(n, e), n;
3070
3086
  }, exports.gobj_match_gobj = pt, exports.gobj_name = Qe, exports.gobj_parent = tt, exports.gobj_pause = Me, exports.gobj_play = Ge, exports.gobj_post_event = Lt, exports.gobj_posted_events_size = function() {
3071
3087
  return It.length;
3072
- }, exports.gobj_publish_event = Qt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = yt, exports.gobj_read_bool_attr = Et, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
3088
+ }, exports.gobj_publish_event = Qt, exports.gobj_read_attr = ht, exports.gobj_read_attrs = Et, exports.gobj_read_bool_attr = yt, exports.gobj_read_integer_attr = Tt, exports.gobj_read_pointer_attr = jt, exports.gobj_read_str_attr = vt, exports.gobj_remove_persistent_attrs = function(e, t) {
3073
3089
  return Ye(e) ? _ ? _(e, t) : -1 : (mn(`${Ze(e)}: Only gobj services can load/save writable-persistent`), -1);
3074
3090
  }, exports.gobj_repr_global_trace_levels = function() {
3075
3091
  return L.map(([e, t, n]) => ({
@@ -3087,7 +3103,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3087
3103
  s.name && (n && s.flag & n || (-1 === t || s.flag & t) && (_e(e, e.jn_attrs, s), Xn(e.priv) && Object.prototype.hasOwnProperty.call(e.priv, s.name) && (e.priv[s.name] = e.jn_attrs[s.name]), e.gclass.gmt.mt_writing && e.gclass.gmt.mt_writing(e, s.name)));
3088
3104
  }
3089
3105
  return 0;
3090
- }(e, y.SDF_VOLATIL, 0);
3106
+ }(e, E.SDF_VOLATIL, 0);
3091
3107
  }, exports.gobj_save_persistent_attrs = xe, exports.gobj_search_path = bt, exports.gobj_send_event = Ut, exports.gobj_services = function() {
3092
3108
  let e = [];
3093
3109
  for (const t of Object.keys(p)) Jn(e, t);
@@ -3113,7 +3129,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3113
3129
  const p = [["EV_STATE_CHANGED", R.EVF_SYSTEM_EVENT | R.EVF_OUTPUT_EVENT | R.EVF_NO_WARN_SUBS], [0, 0]];
3114
3130
  for (let e = 0; e < p.length; e++) {
3115
3131
  let t = p[e][0], n = p[e][1];
3116
- ye(f, t, n);
3132
+ Ee(f, t, n);
3117
3133
  }
3118
3134
  return 0;
3119
3135
  }, exports.gobj_stats = function(e, n, r, s) {
@@ -3164,7 +3180,8 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3164
3180
  }, exports.is_secret_name = Sn, exports.is_string = er, exports.jdb_delete = function(e, t, n, r) {
3165
3181
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3166
3182
  if (!o) return mn("jdb_delete: topic not found: " + t), null;
3167
- if (lr(r.id)) return mn("jdb_delete: record without id: " + r), En(r), null;
3183
+ if (lr(r.id)) return mn("jdb_delete: record without id: " + r), yn(r), null;
3184
+ if (!er(n)) return mn(`jdb_delete: path must be a string: ${String(n)}`), null;
3168
3185
  let s, l = n.split("`"), i = o;
3169
3186
  for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, null, 0)), i = Kr(i, null, s, !1);
3170
3187
  if (0 === l.length && i) if (Zn(i)) {
@@ -3183,26 +3200,27 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3183
3200
  return r ? n < r.length ? r[n] : {} : (mn("jdb_get_by_idx: topic not found: " + t), null);
3184
3201
  }, exports.jdb_get_topic = function(e, t) {
3185
3202
  let n = jr(null, e, "topics", null, 0);
3186
- if (!n) return mn("jdb topics section not found"), En(e), null;
3187
- return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), En(n), null);
3203
+ if (!n) return mn("jdb topics section not found"), yn(e), null;
3204
+ return jr(null, n, t, null, 0) || (mn("jdb topic not found: " + t), yn(n), null);
3188
3205
  }, exports.jdb_init = function(e, t, n) {
3189
3206
  n && (e = Pn(e));
3190
- let r = jr(null, e, "type", [], 1);
3191
- Er(null, e, "hook", "data", 1);
3192
- let o = jr(null, e, "schema", {}, 1), s = jr(null, e, "topics", {}, 1);
3207
+ let r = jr(null, e, "type", [], Xt.KW_CREATE);
3208
+ yr(null, e, "hook", "data", Xt.KW_CREATE);
3209
+ let o = jr(null, e, "schema", {}, Xt.KW_CREATE), s = jr(null, e, "topics", {}, Xt.KW_CREATE);
3193
3210
  return Wr(o, function(e, t, n, o) {
3194
- "__" !== t.substring(0, 2) && jr(null, s, o, Pn(r), 1);
3211
+ "__" !== t.substring(0, 2) && jr(null, s, o, Pn(r), Xt.KW_CREATE);
3195
3212
  }, t), e;
3196
3213
  }, exports.jdb_update = function(e, t, n, r) {
3197
3214
  let o = jr(null, jr(null, e, "topics", null, 0), t, null, 0);
3198
3215
  if (!o) return mn("jdb_update: topic not found: " + t), null;
3199
- if (lr(r.id)) return mn("jdb_update: record without id: " + r), En(r), null;
3216
+ if (lr(r.id)) return mn("jdb_update: record without id: " + r), yn(r), null;
3217
+ if (!er(n)) return mn(`jdb_update: path must be a string: ${String(n)}`), null;
3200
3218
  let s, l = n.split("`"), i = o;
3201
- for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, [], 1)), i = Kr(i, null, s, !1);
3219
+ for (; (s = l.shift()) && !lr(s) && i;) Xn(i) && (i = jr(null, i, e.hook, [], Xt.KW_CREATE)), i = Kr(i, null, s, !1);
3202
3220
  if (0 === l.length && i) if (Zn(i)) i.push(r);
3203
3221
  else if (i.id === r.id) Fn(i, r);
3204
3222
  else {
3205
- let t = jr(null, i, e.hook, [], 1), n = Kr(t, e.hook, r.id, !1);
3223
+ let t = jr(null, i, e.hook, [], Xt.KW_CREATE), n = Kr(t, e.hook, r.id, !1);
3206
3224
  n ? Fn(n, r) : t.push(r);
3207
3225
  }
3208
3226
  return o;
@@ -3257,7 +3275,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3257
3275
  if (!n || !Zn(t)) return r && mn("item NULL or kw_list is not a list"), -1;
3258
3276
  for (let e = 0; e < t.length; e++) if (Un(n, t[e])) return e;
3259
3277
  return r && mn("item not found in this list"), -1;
3260
- }, exports.kw_find_path = br, exports.kw_flag_t = Xt, exports.kw_get_bool = hr, exports.kw_get_dict = vr, exports.kw_get_dict_value = jr, exports.kw_get_int = yr, exports.kw_get_list = function(e, t, n, r, o) {
3278
+ }, exports.kw_find_path = br, exports.kw_flag_t = Xt, exports.kw_get_bool = hr, exports.kw_get_dict = vr, exports.kw_get_dict_value = jr, exports.kw_get_int = Er, exports.kw_get_list = function(e, t, n, r, o) {
3261
3279
  e && !sr(e) && mn("GObj bad instanceof");
3262
3280
  let s = br(e, t, n, !1);
3263
3281
  const l = o && o & Xt.KW_REQUIRED, i = o && o & Xt.KW_CREATE, _ = o && o & Xt.KW_EXTRACT;
@@ -3285,7 +3303,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3285
3303
  }
3286
3304
  }
3287
3305
  return _ && mr(e, t, n), u;
3288
- }, exports.kw_get_str = Er, exports.kw_has_key = fr, exports.kw_match_simple = Nr, exports.kw_pop = cr, exports.kw_remove_local_storage_value = kr, exports.kw_select = function(e, t, n, r) {
3306
+ }, exports.kw_get_str = yr, exports.kw_has_key = fr, exports.kw_match_simple = Nr, exports.kw_pop = cr, exports.kw_remove_local_storage_value = kr, exports.kw_select = function(e, t, n, r) {
3289
3307
  if (e && !sr(e) && mn("GObj bad instanceof"), !t) return null;
3290
3308
  r || (r = Nr);
3291
3309
  let o = [];
@@ -3310,7 +3328,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3310
3328
  else Zn(t) && t.forEach(function(t) {
3311
3329
  if (er(t)) lr(t) || n.push(t);
3312
3330
  else if (Xn(t)) {
3313
- let r = Er(e, t, "id", 0, 0);
3331
+ let r = yr(e, t, "id", 0, 0);
3314
3332
  r && n.push(r);
3315
3333
  }
3316
3334
  });
@@ -3320,7 +3338,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3320
3338
  let r = {};
3321
3339
  if (lr(n) || (t = br(e, t, n)), Xn(t)) r = t;
3322
3340
  else if (Zn(t)) for (let n = 0; n < t.length; n++) {
3323
- let o = t[n], s = Er(e, o, "id", "", Xt.KW_REQUIRED);
3341
+ let o = t[n], s = yr(e, o, "id", "", Xt.KW_REQUIRED);
3324
3342
  lr(s) || pr(r, s, o);
3325
3343
  }
3326
3344
  else mn(`${Ze(e)} kwid_new_dict: data type unknown`);
@@ -3383,7 +3401,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3383
3401
  else n && n(r.status);
3384
3402
  var e;
3385
3403
  }, r.send();
3386
- }, exports.log_debug = yn, exports.log_error = mn, exports.log_info = function(e, ...t) {
3404
+ }, exports.log_debug = En, exports.log_error = mn, exports.log_info = function(e, ...t) {
3387
3405
  let n = bn(e, ...t), r = Zr();
3388
3406
  nn && un("info", n) && nn("%c" + r + " INFO: " + String(n), "color:cyan"), fn("info", n, r);
3389
3407
  }, exports.log_warning = hn, exports.mask_secrets_inline = $n, exports.msg_iev_get_msg_type = Mr, exports.msg_iev_get_stack = Vr, exports.msg_iev_push_stack = Fr, exports.msg_iev_read_key = Pr, exports.msg_iev_set_msg_type = Gr, exports.msg_iev_write_key = Ur, exports.node_uuid = to, exports.parseBoolean = ir, exports.parseSVG = function(e) {
@@ -3518,7 +3536,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3518
3536
  ["EV_TIMEOUT", R.EVF_OUTPUT_EVENT],
3519
3537
  ["EV_TIMEOUT_PERIODIC", R.EVF_OUTPUT_EVENT],
3520
3538
  [0, 0]
3521
- ], t, yo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3539
+ ], t, Eo, 0, po, bo, 0, 0, 0, S.gcflag_manual_start)) ? 0 : -1;
3522
3540
  }("C_TIMER");
3523
3541
  }, exports.register_c_yuno = function() {
3524
3542
  return function(e) {
@@ -3534,7 +3552,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3534
3552
  if (!e) return "";
3535
3553
  const t = String(e).trim();
3536
3554
  return /^javascript:/i.test(t) || /^data:/i.test(t) ? "" : Br(t);
3537
- }, exports.sdata_flag_t = y, exports.send_http_json_post = function(e, t, n) {
3555
+ }, exports.sdata_flag_t = E, exports.send_http_json_post = function(e, t, n) {
3538
3556
  let r = new XMLHttpRequest();
3539
3557
  r.open("POST", e), r.setRequestHeader("Accept", "application/json"), r.setRequestHeader("Content-Type", "application/json"), r.onreadystatechange = function() {
3540
3558
  4 === r.readyState && n(r.status, r.responseText);
@@ -3558,7 +3576,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3558
3576
  } else on = e;
3559
3577
  }, exports.set_remote_log_functions = pn, exports.set_strings_are_text = function(e) {
3560
3578
  zr = !!e;
3561
- }, exports.set_timeout = Eo, exports.set_timeout_periodic = To, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Lr, exports.strcasecmp = ar, exports.strcmp = _r, exports.strings_are_text = function() {
3579
+ }, exports.set_timeout = yo, exports.set_timeout_periodic = To, exports.sprintf = t, exports.stats_parser = function(e, t, n, r) {}, exports.str_in_list = Lr, exports.strcasecmp = ar, exports.strcmp = _r, exports.strings_are_text = function() {
3562
3580
  return zr;
3563
3581
  }, exports.strncmp = function(e, t, n) {
3564
3582
  var r = (e + "").substring(0, n), o = (t + "").substring(0, n);
@@ -3615,7 +3633,7 @@ exports.GObj = O, exports.SDATA = v, exports.SDATAAUTHZ = (e, t, n, r, o, s) =>
3615
3633
  total: _
3616
3634
  };
3617
3635
  } };
3618
- }, exports.trace_json = Tn, exports.trace_json_masked = Ln, exports.trace_level_t = C, exports.trace_msg = En, exports.treedb_decoder_fkey = ao, exports.treedb_decoder_hook = function(e, t) {
3636
+ }, exports.trace_json = Tn, exports.trace_json_masked = Ln, exports.trace_level_t = C, exports.trace_msg = yn, exports.treedb_decoder_fkey = ao, exports.treedb_decoder_hook = function(e, t) {
3619
3637
  if (er(t)) {
3620
3638
  if (-1 === t.indexOf("^")) {
3621
3639
  let n, r = e.hook;